主页 > imtokenapp地址 > 干货 | 路印协议 3.0 - 使用 zkSNARK 扩展去中心化交易所

干货 | 路印协议 3.0 - 使用 zkSNARK 扩展去中心化交易所

imtokenapp地址 2024-01-26 05:08:16

世界似乎终于能够开始将去中心化交易所视为未来代币化世界中转移价值的一种方式。

Loopring 3.0 有两个主要优势:

显着提高吞吐量并降低成本

支持即时结算

综合以上两个优势后,该协议将彻底颠覆以往去中心化交易所的交易体验。

完整的设计文档:

基于区块链的资产当然要在区块链上交易! 否则真的会很混乱。 既然存在不以信任为基础的加密货币,为何要把如此珍贵而神奇的资产委托给可信赖的中介机构进行交易呢? 为什么需要交易借条(IOU)? 为什么还要将资产从渗透到整个金融领域的开放平台转移出去?

很多人都无法忍受这样的心灵折磨。 同时,中心化交易所的情况时有发生,我们无法防范外部黑客攻击或交易所监管和自我窃取。 我们甚至无法验证交易量的真实性(但是,有人正在试图弄清楚)。

坦率地说,在中心化交易所交易数字货币和代币确实有(曾经)优势——因为在去中心化交易所交易并不(总是)有趣且容易获得。 通常,存在三个主要障碍:用户体验、流动性和可扩展性。 但是,我们这群朋友,尤其是以太坊 DeFi 社区的开发者,在增强流动性、打造堪比 web 2.0 时代应用的 dapp 方面取得了长足的进步。

然而,可扩展性问题仍有待解决,尤其是涉及到去信任交易时。 我们必须面对这样一个现实,即如果不大规模提高去中心化交易所的可扩展性(或从头开始提高以太坊的性能),这个问题就无法解决。 考虑到这一点,路印协议开发团队在过去六个月中一直专注于解决可扩展性问题。

我们最新发布的路印协议 3.0 直接解决了可扩展性问题的痛点,并使用了最有效的解决方案——零知识证明。

零知识证明概述?

我们一直在思考如何解决可扩展性问题。 这从一开始就影响了我们的设计决策(从1.0到2.0)——实现链下订单消息传递和链上结算相结合的混合模型,即尽可能将大部分交易放在链上,接下来,使用仅在必要时使用区块链以确保关键交易的正确性。

Protocol 3.0 似乎将这种逻辑发挥到了极致。 现在,我们可以在链下做更多的事情,包括结算……同时确保安全。

以太坊链的去中心化交易所_以太坊的私有链_以太坊区块链数据下载

为实现这一目标,我们在协议 3.0 中引入了零知识证明 (ZKP)。 它是一种加密工具,使证明者能够向自己证明“它已经完成了计算或知道密钥”——而无需向验证者透露计算结果或密钥。

零知识证明听起来很适合隐私保护,对吧? 比如一个投资俱乐部要求会员身价超过X美金,我可以用零知识证明证明我已经达到了这个会员门槛,而无需透露具体数额; 俱乐部也可以证实我说的是事实。 这听起来很复杂,但该技术已经用于一些以隐私为中心的加密货币,例如 ZCash。

除了隐私保护,零知识证明还有助于提高复杂系统的可扩展性。 除了自我证明我的价值超过 X 美元外,作为一个去中心化交易所的所有者,我还可以证明用户的账户余额是正确的(没有显示确切的金额),用户的交易被正确结算,并且用户的转账已完成等等——你能想到的关于去中心化交易所操作的一切。 这些操作不是通过智能合约来完成的,而是直接在链下进行,然后生成一个证明,让大家相信我说的是真的。

这就是协议 3.0 的目标:在不牺牲安全性的情况下进行扩展。

在Protocol 3.0中,账户余额、历史交易等相关数据通过Merkle树存储在链下,用户之间的交易结算可以通过链下更新Merkle树来完成,避免链上耗时和昂贵交易。

同时,这不会造成安全性下降的问题,因为零知识证明可以保证这些交易是真实的,并按照所声称的那样执行。 协议 3.0 仍然是 100% 无中介并且对最终用户来说足够安全——即使有恶意的 DEX 运营商,他们也无法窃取代币。

所有的计算都在链下完成,我们可以减少与以太坊主链交互的频率,降低网络负载。 事实上,去中心化交易所提交给以太坊区块链的就是上述去中心化交易所链下计算正确的证明。 借助零知识证明,尤其是 zkSNARKs(我们选择的零知识证明技术形式),验证器或(在路印协议中)用于验证证明的智能合约可以高效快速地(以毫秒为单位)得到验证。

路印协议 3.0 概述?

任何人都可以在路印协议上创建新的交易所——所有者负责处理与业务相关的功能,例如注册代币、设置维护模式、设置运营商等; 操作员负责创建、提交、验证块。

这里所说的区块并不是以太坊链上的区块,只是指去中心化交易所上与交易(比如交易结算)相关的数据段。 这类区块会根据打包的交易改变状态,将 Merkle 树从当前状态更新到新状态。 然后需要证明区块中打包交易的正确性,向以太坊主网提供证明。 这一步是通过零知识证明来实现的。

为了最大化吞吐量,Protocol 3.0 目前仅支持链下结算。 所有余额都存储在 Merkle 树上; 用户向我们的智能合约存入或取出代币,余额在 Merkle 树上更新(注意:您不需要依赖中间方,因为整个过程是去信任的,没有资金损失的风险)。

独立运作

块提交必须按顺序发生,以便 Merkle 树从已知的旧状态按顺序更新到新状态。 为了让独立的各方同时结算,协议 3.0 允许创建独立的交易合约; 即每个合约独立运行,用户账户和订单不能与其他合约共享。

以太坊链的去中心化交易所_以太坊的私有链_以太坊区块链数据下载

联营

或者,去中心化交易所也可以选择共享交易合约,以便共享订单簿和用户账户——如果他们愿意的话。 这样,这些交易所就不必构建自己的基础设施来创建块和生成证明。

运营商可以是一个简单的以太坊地址,也可以是一个复杂的合约,允许多个运营商共同提交/验证区块,这可以由交易所自行设定。

这种协作运营商合约也可以用于实现链下数据可用性系统——一个简单的解决方案是每个运营商在提交之前需要签署一个区块,其有效性可以通过运营商合约进行检查。 只要运营商之一信守承诺并实际共享数据,数据可用性就得到保证。

同样,交易所的所有者也可以是合约! 例如,交易所所有者可以是某种治理合约或能够同时管理多个去中心化交易所的去中心化自治组织。 这些都是由去中心化交易所自己决定的,可以在不中断交易所业务的情况下,根据需要进行更新迭代。

有状态+用户粘性

基于以上分析,我们的假设是大多数交易将通过合约完成,其中交易所的所有者/经营者由合约来执行。 由于所有去中心化交易所的运行都包含在区块中,这不仅可以增加资产流动性,还可以有效提高交易效率,减少延迟,增加吞吐量。

还需要注意的是,这样做大大增加了路印协议“有状态”的可能性——能够存储有价值的状态、用户、流动性等。一群协调良好、蓬勃发展的去中心化交易所很难解散或分叉,这也增加了 Loopring 的安全性、可持续性和价值。

【如何在同一个合约上搭建一组去中心化交易所,实现灵活的业务逻辑,共享订单/手续费,详见这里。 ]

最后,还有一点。 考虑到账户余额是在链下结算的,使用(和喜欢)交易框架的交易者将产生原生用户粘性。 因此,一个性能良好的去中心化交易所,或者一组共享同一个合约的去中心化交易所,可以聚集一批忠实的用户。 我们很期待这一点,因为我们的目标是支持在该协议上成功进行去中心化交易。

吞吐量和成本数据?

让我们听听好消息——性能提高了多少?

根据目前的实施情况,在不提供链上数据可用性的情况下,以太坊可以实现每秒 450 笔交易; 实现每秒 80 个事务。 相比之下,之前版本的路印协议(和其他去中心化交易所)每秒只能实现大约 2 笔交易。

以太坊的私有链_以太坊链的去中心化交易所_以太坊区块链数据下载

-不包括创建链下证明的成本(保守的 0.005 美元,实际上应该更低)-

这仅仅是开始,短期内吞吐量将大幅增加。 更高效的哈希函数和更简单的费用循环也将在不久的将来推出。 如果没有链上数据可用性,我们可以实现每个以太坊区块 10,000-20,000 个订单循环或每秒 1000 个交易。

[在此处查看更多性能数据。 ]

这是非常令人兴奋。 我们终于拥有了将去中心化交易所商业化并帮助它们与中心化交易所竞争的工具。

当然,当数百万资产被代币化并需要不断易手时,我们距离所需的吞吐量还有几个数量级。 不过,我们对此还是很有信心的。 毕竟有零知识证明等二层扩展方案,也有分片等单层(以太坊)扩展改进方案。

【数据上链是指去中心化交易所的所有历史记录都可以在以太坊主网上查到,任何第三方都可以随时重构交易所的状态; 有关更多详细信息,请参见此处。 ]

其他功能?

可扩展性是 Protocol 3.0 的重点和驱动力,但还有其他很酷的功能已经实现。 部分功能继承/优化自协议2.0,部分功能仅适用于协议3.0。 单击此文档可查看完整的功能列表; 如需完整说明,建议阅读设计文档。 有几个关键点:

LRC的其他附加功能??

上面提到的功能就不一一展开了,我就说说后三个吧。 这三点很有趣,因为:

答:它们有助于确保去中心化交易所更加公平公正地运作。

B. 随着机制的优化,LRC 将具有更多的原生使用价值。

保证

以太坊区块链数据下载_以太坊的私有链_以太坊链的去中心化交易所

创建交易所需要质押 LRC。 任何人(不仅仅是所有者和经营者)都可以在交易所质押 LRC; 只有在交易所正常关闭并提取所有用户账户余额后才能提取保证金。

存款保证交易所的正确运作。 这是可能的,因为 1) 如果没有及时生成区块证明以太坊链的去中心化交易所,押金将被销毁, 2) 交易所会自动将资金返还给用户,然后关闭,用户才能拿回押金。 如果支付大额保证金的交易所作恶,就会损失惨重,一无所获以太坊链的去中心化交易所,因为经营者防不胜防。

注意:因为协议默认是安全的,所以抵押不是强制性的。 然而,抵押可以实现风险分担,并用于区分不同的去中心化交易所; 重要的是,质押可以防止用户遇到数据可用性问题。 当不需要实现数据可用性时,即使只有运营商可以重构 Merkle 树,质押机制仍然可以保证所有资金正确地返还给用户,否则交易所将损失押金。

维护模式

交易所所有者可以暂时中止交易所。 例如,在更新交易所后端时可以使用此功能。

交易所所有者可以购买停机时间,即通过销毁LRC来兑换停机时间; 停机时间也可以通过多次购买来延长。

此功能是必需的,因为运营商必须处理链上请求,否则交易所将进入不可逆的退款(关闭)模式。 维护模式允许交易所暂时停止处理链上请求(避免处理不及时)。 但是,用户请求是为了保证用户可以在需要的时候退出——因此,收取维护费的目的是为了确保交易所不能无限期地停留在维护模式。

及时执行存款/取款

每个人都讨厌等待,尤其是涉及到钱的时候。

如果交易所经营者没有及时处理用户的存取款请求,手续费将直线下降; 如果用户发起取款请求后,运营商没有自动将代币转移到目标地址,将被罚款(从保证金中扣除)-罚款的50%用于奖励其他愿意处理该提现的运营商request(用户可以选择自己做),另外50%销毁。

其实还有一个功能

订单别名非常酷,这里有更多解释。 订单别名允许交易者在多个订单中重复使用相同的交易历史时期。 除了能够更安全地更新订单,避免新旧订单同时交易外,它还支持一些有趣的接单逻辑。

例如,用户可以在同一交易“会话”中创建“用 X 代币 Z 购买 N 个代币 A 或 M 个代币 B(或其他代币)”的买单; 在这种情况下,用户不会花费超过 X 个代币 Z,但可以购买 [0, N] 个代币 A 和/或 [0, M] 个代币 B。

以太坊区块链数据下载_以太坊链的去中心化交易所_以太坊的私有链

此功能的一个实际用例是使用代币购买任何稳定币,或使用代币购买 ETH 或 WETH。 在这些情况下,用户可能并不关心他们会购买哪种币,而只是想增加交易的概率。

收费模式保持灵活

协议 3.0 仍然使用协议 2.0 中引入的收费模型。 交易者可以继续支付任何代币作为费用,去中心化交易所赚取这些费用。 但是LRC受协议层通缩设置的影响。 随着网络使用量的增加,总供应量将减少。

如果去中心化交易所像中心化交易所一样工作怎么办?

正如开头所说,去中心化交易所的交易体验将发生翻天覆地的变化; 事实上,未来我们可能懒得提“去中心化交易所”这个词——未来,加密交易只是未来。 在中心化交易所。 协议 3.0 是这种转变的开始。

未来,基于路印协议3.0的去中心化交易所将带来与去中心化交易所一样快速便捷的交易体验。 结算也能及时签字核实。

交易流程

用户通过账户在交易所创建订单,该订单将记录在去中心化交易所的订单簿中。

去中心化交易所通过环撮合私钥和双重授权秘钥撮合订单并签署订单。 订单环中的订单完成流程如下:

订单交易完成后,去中心化交易所会显示“已验证”标识。 订单具有以下状态标识符:

只有区块敲定后,订单环的结算结果才真正不可逆。

我们仍然面临一些挑战,其中最值得注意的是 SNARK 需要“可信设置”; 构建虚假的风险证明。 好消息是这个问题几乎已经解决了——Sonic: Approximate Trustless Boot Setup。

相关的想法?

Loopring 3.0 的前景非常令人鼓舞。 似乎世界终于开始将去中心化交易所视为未来代币化世界中转移价值的一种方式; 我们很荣幸能够做出贡献。

我们也对去中心化交易领域的创新步伐感到惊讶。 目前有很多协议和项目,让我们意识到,虽然我们已经是链条上的“老人”,但我们还需要继续行动和思考,否则就会被淘汰; 对此,我们仍然保持谦虚和积极的态度。