Rollup历史
目前Rollup方案主要描述的是基于Ethereum的一种拓展解决方案,Ethereum由于大量DApp的应用造成链上拥堵导致高Gas费,与链的交互成本极速升高,因此社区一直在积极寻找各种拓展解决方案(ETH2.0,Rollup)。
拓展解决方案的类别
拓展解决方案的主要目的是在不降低区块链中心化特性的情况下增加网络的交易处理速度、TPS。当前有两类主要的拓展解决方向
- 链上拓展
- 链下拓展
链上拓展
链上拓展也称为Layer1 拓展,主要是指增加区块链核心层的处理量,通常是指增加区块的交易量;因此在Ethereum中,该方案意味着需要对协议作出修改,同时增加的区块容量也会要求节点需要更高配置的硬件,会使可运行的节点数量减少、影响去中心化。但是在ETH2.0种引入了shading分片的概念(指将Ethereum数据的拆分的过程),通过拆分网络来降低节点的负载,可能会对链上有益。
链下拓展
链下拓展 是指在Layer1上增加多层来处理交易,但这些层在处理交易时不直接使用Layer1的处理能力,从而间接的拓展基础层(Layer1);通常Layer1在该解决方案中作为可信层和仲裁者。因此链下拓展也被称为Layer2拓展,即在以太坊Layer1之上添加了一层。
Layer2拓展可以视为对以太坊的扩容直接解决方案,因为它维护了以太坊社区最有价值的属性:去中心化;但Layer2方案也需要额外的硬件或复杂的软件,所以对Layer1来说也需要一些时间才能感知到Layer2的状态;但Layer2的安全性来源于以太坊主网,可以被个人、社区、组织等基于自身应用自定义构建。
下面是几种Layer2的解决方案:
- Sidechains:侧链是通过桥连接到以太坊的EVM兼容链,它们有自己的共识协议和链上参数
- Rollups:在以太坊主网外执行交易、然后将交易数据发送回以太坊主网
- State channels: 使用多签通道解决主链和参与方的交易,并将状态数据发送回主链。该方案非常安全但用例受限
- Plasma:是一个框架,通过一个Root Contract将侧脸锚定到主链,Root Contract 记录子链的当前状态和子链的规则
Rollups
Layer2解决方案中,Channel技术与以太坊主网具有相同的安全性,但是仅能在特定的用例下工作;侧链技术具有EVM兼容性、可以拓展各种使用场景,但核心缺陷是不依赖于以太坊主网的安全性,通过自己的共识模型来保证状态安全。
Rollup尝试提取两种方案的优点来构建一种通用的拓展解决方案,Rollups通过在以太坊主网外处理交易、但仍将交易数据发送回以太坊主网、且仍从以太坊主网获得其安全性。每个Rollup都在以太坊部署自己的特定合约,在主链外特定的rollup链上执行交易,然后将交易批量打包、压缩后发送回主网,减少实际需要处理交易的主网负载。这减少了与主网交互的费用、增加了区块链的采用,同时当前存在于以太坊主网的合约也可以在几乎不经改动的情况下部署到rollup上。
Rollups的类型
Rollup是以太坊拓展问题的新型解决方案,但如果保证由Rollup发送回主网的数据是有效的呢?不同的Rollup类型具有不同的解决方案,当前有两种方案:Optimistic Rollup(乐观型)和ZK rollup.
Optimistic rollups
乐观型方案假设提交回以太坊主网的数据默认是正确、有效的,每当人们认为存在无效交易时,则使用争议解决方案。如:一个参与方批量提交交易数据至以太坊,当某些人检测到欺诈交易时,则提交该交易的欺诈证明。因此存在两种参与角色:首先质押他们的ETH,然后一方负责提交数据、一方负责检测欺诈提交证明;任何一方不当行为都会丢失质押的ETH。当欺诈证明被提交后,可以的交易会在以太坊主网上再次执行,为了确保交易以在Rollup上的执行状态被重放,需要创建一个管理合约来使用Rollup中一些状态来替换某些函数调用。
ZK-rollups
也叫Zero-Knowledge(零知识证明) rollups,与Optimistic解决方案不同,没有争议解决方案,它使用了一个巧妙的密码学证明。每个提交提交到以太坊主网的交易批次都包含一个密码学证明,称为SNARK(Succinct Non-Interactive Argument of Knowledge ),该证明可以被部署在以太坊主网的合约进行校验。这个合约维护了rollup上的所有状态,并且仅当加密证明有效时该状态才会被更新,这意味着仅有一个有效的证明被存储在以太坊主网上而不是笨重的交易数据。
参考资料
- https://www.quicknode.com/guides/infrastructure/introduction-to-ethereum-rollups
- https://www.optimism.io/
- Rollup即服务(RaaS)的机会:从多链到multi-rollup
- Rollup-as-a-Service Challenges and Opportunities: From Multi-Chain to Multi-Rollup