零知识证明 - Loopring DEX 3.0

2019-10-21 20:50 栏目:经验之谈 来源: 查看()
Loopring,道路印刷,一直专注于高性能的分散交易协议。道路印刷协议的目标是基于以太坊的订单匹配达成分散交易协议。从2017年起,Lu Yin从1.0、2.0和3.0的三个主要版本升级为最初的“循环”设计。 1.0/2.0相对而言,以太坊自身的性能局限性有限,交易过程复杂,与集中式交易所相比,经验差距更大。道路印刷协议3.0是一个大胆的设计,它试图通过零知识证明技术(ZKP)平衡分散和交易性能。

本文比较了道路印刷协议2.0/3.0,并分析了在Lu Yin 3.0协议中如何使用zkSNARK零知识证明技术。

零知识证明 - Loopring DEX 3.0

1.道路印刷协议1.0/2.0 在2.0版的《道路印刷协议》之前,尽管有一些细致的功能和改进,但该框架没有实质性的更改:

零知识证明 - Loopring DEX 3.0

在该链下,主要使用订单管理引擎(Order Management)和完成订单(结算引擎)。需要将完成的订单记录在链上(由链上的智能合约来实现)。简而言之,在2.0协议之前,采用了“在链下链接并在链上记录”的方法。这样,所有交易状态都记录在链上,并且链上的智能合约需要实现很多逻辑: ·检查订单的签名信息 ·检查订单的执行率并取消 ·检查订单时间 ·计算费率 ·上述检查和计算完成后,令牌之间的传输完成。 通常会包含多个订单的组合,并且需要20w至30w的GAS费用才能完成此类匹配。也就是说,在以太坊块的最大GAS 800w为15秒的前提下,Lumin 2.0协议的耦合性能可能是:每秒约2个笔画。 2.道路印刷协议3.0 借助零知识证明(ZKP)技术,打印协议3.0的所有逻辑都在链下完成。每套和解都将生成证书并将其提交给链,证明链下的匹配是正确的。印刷协议3.0的设计文件发布在Github上: https://github.com/Loopring/protocols/blob/master/packages/loopring_v3/DESIGN.md 道路印刷协议3.0的框架如下:

零知识证明 - Loopring DEX 3.0

2.1链/链同步 道路印刷协议使用与以太网一致的“帐户”模型,所有帐户的“状态”(余额)都记录在该链下。 链下所有与状态相关的操作都已更改,将证明提交到链记录中。由于链下存在状态同步,因此帐户的任何操作都有三种状态: 1 /已提交(已提交操作)2 /已验证(此操作已提供相应的证明)3 /已完成(之前的所有操作均已提交给正确的证明) 以用户的存款“收费”操作为例:

零知识证明 - Loopring DEX 3.0

用户将智能合约转移到道路印刷协议,并在链上确认转移(在链中完成充值)。此操作的状态为“已提交”。链下的中继在监视“已提交”的状态之后,更改链下的状态,生成证明,然后将证明提交给链。此时,“充电”操作的状态为“已验证”-链条也已完成。充值。如果先前的所有操作都已验证,则操作的状态为“已完成”(即状态为ok,不会被篡改)。 2.2链下状态和操作 为了支持DEX业务场景,结合ZKP的技术要求,Lu Yin 3.0使用三层四叉Merkle树来表示链下的状态:

零知识证明 - Loopring DEX 3.0

第一层是N级四叉树,它维护DEX的所有帐户信息(也就是说,它可以支持约400w的用户)。 第二层是M树四叉树,它支持一个帐户下的所有令牌信息。令牌是叶节点。 第三层是K层的四叉树,即帐户下令牌的订购信息。 所有操作将更改Merkle的三层,完成状态的更改。 Lu Yin 3.0协议支持以下操作: 1 /链上存款 2 /链上取款(在线硬币) 3 /链下定居点 4 /脱链取款(硬币下方的链) 5 /取消链下订单 6 /链外转移(链转移) 大多数操作比较容易理解,因此需要说明2和4。因为每个操作都需要经历三种状态,并且需要在链下进行同步,所以用户可以从链上或从链中启动硬币操作。 2.3 ZKP证书 庐隐3.0使用zrSNARK的Groth16算法提供零知识证明。对于每次操作,继电器都会提供相应的ZKP认证电路。以链条组合为例,相应电路证明的逻辑如下:

零知识证明 - Loopring DEX 3.0

假设帐户X链已转移到帐户Y.ZKP认证电路,包括: 1/TradeHistory中订单Ox的更改导致TraderHistory根的更改 2/TradeHistory中订单Oy的更改导致TraderHistory根源的更改 3/Balance Bx的变化导致Balance根源的变化 4/Balance通过更改导致Balance树根的更改 5 /两个账户的余额一致 6 /帐户树根更改导致帐户X和帐户Y发生更改 注意,不同的操作将具有不同的电路副本。简而言之,链下的状态变化将对应于不同的电路,并且电路生成的证明将提交给链。状态在链下改变,“固化”为规则,并由ZKP电路表示。这种想法与以太坊的zk Rollup的想法一致。 在链中,尽管智能合约不再需要验证和记录匹配信息,但它需要提供订单信息和各种操作的证明。订单信息可以通过Calldata存储在链上。验证链上的Groth16证明仍然很昂贵。验证验证目前需要大约50w的GAS费用。在君士坦丁堡升级后,可以减少到大约1/4。 为了进一步节省链中GAS的成本,Lu Yin 3.0设计了“批处理”操作处理(批处理),即多个类似的操作以及一个证明。多个类似的操作打包在一起,称为“块”(而在块链中,“块”不是含义)。 3.性能比较 有了足够的交易,TPS 3.0 TPS在当前的以太坊上达到了350。在君士坦丁堡升级后,TPS可以达到1400。每笔交易的平均成本约为1美分。

零知识证明 - Loopring DEX 3.0

总结一下: Loopring,道路印刷,一直专注于高性能的分散交易协议。从2017年起,Lu Yin从1.0、2.0和3.0的三个主要版本升级为最初的“循环”设计。通过零知识证明技术(ZKP)的道路印刷协议3.0考虑了分散化和交易性能。帐户模型的帐户状态在此链下维护。每个操作都通过ZKP,生成证书并将其存储在链上,以确保链下的状态可靠且安全。如果有足够的交易,则当前的TPR 3.0协议TPS可以达到350。每笔交易的平均成本约为1美分。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发