'CryptoYC'

Rollup Analysis

image

Layer 2是解决⽅案的统称, 旨在通过在以太坊主⽹(第1层)上处理交易来帮助扩展应⽤程序,同时利⽤强⼤的主⽹分散式安全模型。当前以太坊交易速度慢,电费上涨使⽤⼾量增⼤时出现⽤⼾体验差的问题。第2层协议就是为了解决这个问题诞⽣。

Layer 2是什么

Layer 2是解决⽅案的统称, 旨在通过在以太坊主⽹(第1层)上处理交易来帮助扩展应⽤程序,同时利⽤ 强⼤的主⽹分散式安全模型。当⽹络繁忙时, 交易处理速度会受到影响, 这会使某些类型的dapps的⽤⼾体验变差。随着⽹络的⽇益繁忙, 电费也随着交易发送⽅的竞标⽽上涨。这可能会使使⽤以太坊变得⾮常昂贵。

Rollup是什么

rollup中⽂直译为打包,以前的⽤法为编程语⾔模块打包器,相当于python中的module。现在⽤于第2层协议中的⼀种解决⽅案。总的来说,它们把主链下的很多交易打包,⽣成⼀份声明或者证明,证明此包内的所有交易合法(即交易前Merkle树的根和前⼀包内的交易后根对应的上,且交易内容合 规),然后只将其中⼀部分内容发布到主链,从⽽增加速度,减少电费和交易费消耗。

特点

  • 交易执⾏在主⽹之外;
  • 但交易数据或交易证明存储于主⽹, 以便于验证.

种类

  • 零知识证明 zk-rollup;
  • 优化 optimistic-rollup(笔者⾃译)

ZK-Rollup

简介

这⾥仅为简单介绍,详细部分会另开⽂章介绍。简单来说,零知识证明就是在不暴露秘密的情况下,说服对⽅我有这么⼀个秘密。例如对于A,B两⼈,A知道秘密a, b (和 a+b=7), B知道线性映射 f(x),B发给A映射f, A计算f(a)和f(b)并发给B,B计算f(a)+f(b)=f(a+b)。如果f(a+b)=f(7) ,那么B可以确 信A知道a+b=7。从历史来讲,零知识这⼀概念最早出现于1985年, Shafi Goldwasser, Silvio Micali, and Charles Rackoff “The Knowledge Complexity of Interactive Proof-Systems” 。⽽零知识证明⽤于Rollup 最早出现于2018年Barry的⽩⽪书中。

零知识证明在rollup中的作⽤

这⾥零知识证明主要是⽤于以太坊区块链上发布并公开记录该区块的有效性。在Layer2上被打包的交易将会以⼀个证明的形式发布于主链,这使得每个⼈都有验证它的办法。主要⽬的是防⽌有⼈恶意 利⽤Layer2上的交易来篡改信息。值得注意的是,零知识证明并不是隐私保证,也不是加密系统。因为除了拥有该秘密的⼈以外,没有⼈可以解密。从诞⽣⾄今, 零知识证明或者说ZK-Rollup经历了三个发展阶段:SNARK, STARK, 和Bulletproofs. ⽬前来说Zcash, ZK Sync(Matter Labs), DarkForest(Game)等在使⽤SNARK, Monero 使⽤ Bulletproofs. 从下图中可以对⽐这三种⽅法的区别。具体例⼦将在后⽂介绍。

特点

对⽐Plasma和侧链

  • 由于Plasma和侧链的扩容性问题,Rollup本⾝被视为新兴解决⽅案,⽽ZK-Rollup⼜是其中可扩容性最强的,也是处理交易速度最快的,相对于Plasma和OP-Rollup⽽⾔。它的数据只有很少⼀部分存储于主链上。
  • 单笔交易费降低。

对⽐OP-Rollup

  • ⼀般说来,它的验证速度快,证明⽣成速度很慢。但是由于它的⽣成依赖于智能合约,所以相当于 把所有⼈的⼯作分给了⼀个⼈做,剩下的⼈的⼯作就是简单的验证,这⾥单指SNARK。
  • 不需要欺诈游戏,从⽽使交易快速被验证⼊块(约⼗分钟)。
  • 零知识证明的计算困难要求数据优化以获取最⼤吞吐量。
  • ZK-Rollup需要⽣成⼀个初始串,这会使系统中⼼化⼀些。
  • 量⼦计算可以破解,这⾥指SNARK。STARK可以抵御量⼦攻击。
  • 它需要的安全性假设更⾼。

OP-Rollup

简介

优化Rollup出现于2019年7⽉,由John Adler在以太坊基⾦会研究论坛上提出想法。⽬前使⽤ Optimistic-Rollup的有Optimism, Fuel Labs, Arbitrum 想法较为简单,这⾥OP-Rollup⼀共有两种链下⻆⾊,聚合者(Aggregator)和验证者(Validator)。在 Layer2发⽣的交易被聚合者打包,并⽣成⼀个Merkle树的头,和智能合约。 在聚合者质押⼀笔资⾦ 后,聚合者可以将打包的交易上传⾄主链。验证者审查该打包,可以提出质疑,并给出欺诈证明 (fraud proof)。

欺诈证明:验证者可以审查资⾦状态和总和,对⽐于⾃⼰的本地状态,若发现有⾮正常更新,则验证 者可以提出质疑并更改从该区块到之后的所有区块(区块在从rollup上传⾄主链后会有1–2周的质疑时 间,若此时间内⽆⼈质疑则该区块完结)。提出质疑的验证者可以得到聚合者质押的资⾦。

OP-Rollup使⽤博弈论和验证游戏来确保数据验证,它们的运作假设是每个⼈都遵守道德规范,但如 果有恶意⽅发布交易,则区块回退,因此命名为Optimistic Rollups。

特点

  • 交易周期:相对于ZK-Rollup⽽⾔,OP-Rollup需要1–2周时间完结区块。交易速度不慢,但交易状态完结需要较⻓周期
  • 应⽤性:⽬前⽽⾔两种Rollup均⽀持EVM。ZK-Rollup最近也⽀持EVM,使得OP-Rollup失去了原本优势的其中之⼀。
  • 交易速度与交易费:现实交易速度500笔/每秒,相对于ZK-Rollup的2000笔/每秒存在劣势。
  • 数据记录:所有交易数据均记录在主链,⽆需信任第三⽅,但也加重了交易费。
  • 安全假设:OP-Rollup假设⼤多数验证者是诚实的

另⼀份对⽐表格⻅下图:

总结

总结⽽⾔,Rollup想法并不难掌握,该想法侧重于打包链下交易并设法放⼊主链。打包的交易发⽣并执⾏于链下,从⽽加快交易速度。链上存储的数据减少⾄只需要Merkle树的头或者⼀个证明,从⽽节省费⽤。对⽐⽽⾔,笔者更看好ZK-Rollup在⻓期的前景,OP-Rollup原本最⼤的优势在于其应⽤性及⽤⼾体验良好。这两点优势在ZK-Rollup已经应⽤EVM及⽬前⻜速发展中已经逐渐消失。⽽ZK-Rollup的安全性 更强,理论交易速度更快,存储数据更少从⽽更加节省费⽤。只有⼀点⽬前存疑,就是ZK-Rollup的计算性过⾼,可能还是会导致费⽤上的劣势。另⼀点疑问将在下篇⽂章中给出,当然也可能是笔者对于 SNARK应⽤于实践的过程了解不甚所导致。

References

  1. 零知识证明workshop
  2. Github:https://github.com/matter-labs/awesome-zero-knowledge-proofs
  3. Ethereum: Layer 2 Rollups | ethereum.org
  4. Z-Cash: https://z.cash/technology/zksnarks/
  5. OP-Rollup:https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/

作者:Heng Youzhe