这是扩容的圣杯,因为它允许在不牺牲安全性的情况下,在以太坊上部署所有现有智能合约,几乎没有变化。
难怪rollups可能是所有解决方案中最受期待的扩展方案。
但是,首先,什么是rollups?
Rollups
Rollup是一种扩展解决方案,它通过在第1层之外执行交易,但在第1层发布交易数据来工作。这使得rollup可以扩展网络,并仍然从以太坊共识中获得其安全性。
将计算移到链下实际上允许处理更多的交易,因为只有rollup交易的部分数据必须适合以太坊区块。
为了实现这一点,rollup交易在单独的链上执行,该链甚至可以运行特定于rollup的EVM版本。
执行rollup交易后的下一步是将它们批处理在一起,并将它们发布到以太坊主链上。
整个过程本质上是执行交易、获取数据、压缩数据,并将其以单个批次的形式汇总到主链上,因此得名“rollup”。
尽管这看起来是一个潜在的好解决方案,但接下来自然会出现一个问题:
“以太坊如何知道发布的数据是有效的,并且不是由试图使自己受益的不良行为者提交的?”
确切的答案取决于特定的rollup实现,但一般来说,每个rollup在第1层部署一组智能合约,负责处理存款和取款以及验证证明。
证明也是不同类型的rollup之间的主要区别所在。
Optimistic rollups使用欺诈证明。相比之下,ZK rollups则使用有效性证明。
让我们进一步探讨这两种类型的rollups。
Optimistic与ZK Rollups比较
Optimistic rollups将数据发布到第1层,并假设它是正确的,因此被称为“乐观的”(optimistic)。如果发布的数据是有效的,我们就在快乐的道路上,不需要做其他事情。Optimistic rollups得益于在乐观的情况下不需要做任何额外的工作。
在发生无效交易的情况下,系统必须能够识别它,恢复正确的状态并惩罚提交此类交易的一方。为了实现这一点,Optimistic rollups实现了一个争议解决系统,该系统能够验证欺诈证明,检测欺诈交易,并抑制不良行为人提交其他无效交易或错误的欺诈证明。
在大多数Optimistic rollups实现中,能够向第1层提交成批交易的一方必须提供保证金,通常以ETH的形式。任何其他网络参与者如果发现错误的交易,都可以提交欺诈证明。
提交欺诈证明后,系统进入争议解决模式。在这种模式下,这次可疑交易在以太坊主链上再次执行。如果执行证明交易确实是欺诈性的,则提交此交易的一方将受到惩罚,通常是通过削减其抵押的 ETH。
为了防止不良行为者使用不正确的欺诈证明向网络发送垃圾邮件,希望提交欺诈证明的各方通常还必须提供可能会受到削减的保证金。
为了能够在第1层执行rollup交易,Optimistic rollups必须实现一个系统,能够以交易最初在rollup上执行时的确切状态重放交易。这是Optimistic rollups的复杂部分之一,通常通过创建一个单独的管理器合约,用rollup的状态替换某些函数调用来实现的。
值得注意的是,即使只有1个诚实的一方监控rollup的状态,并在需要时提交欺诈证明,该系统也能按预期工作并检测出欺诈。
还值得一提的是,由于rollup系统内有正确的激励机制,进入争端解决程序应该是一种特殊情况,而不是经常发生的事情。
当涉及到ZK rollups时,根本没有争议解决方案。这是通过利用一种称为零知识证明的巧妙加密技术来实现的,因此命名为ZK rollups。在这个模型中,发布到第1层的每个批次都包含一个称为ZK-SNARK的加密证明。该证明可以在提交交易批次时由第1层合约快速验证,并且可以立即拒绝无效批次。
听起来很简单吧?也许表面上是这样。在实践中,为了使其发挥作用,多名研究人员花费了无数的时间来迭代这些巧妙的密码学和数学作品。
Optimistic和ZK rollups之间还有一些其他的区别,因此让我们一一介绍它们。
由于争议解决过程的性质,Optimistic rollups必须给所有网络参与者足够的时间来提交欺诈证明,然后再在第1层最终确定交易。这段时间通常相当长,以确保即使在最坏的情况下,欺诈性交易仍然可以被争辩。
这导致从Optimistic rollups中提取资金的时间相当长,因为用户必须等待甚至多达一两周才能将他们的资金提取回第1层。
幸运的是,有一些项目正在努力通过提供快速的“流动性存在”来改善这种情况。这些项目提供几乎即时的提款回到第1层,另一个第2层甚至一个侧链,并为这种便利收取少量费用。Hop协议和Connext是值得关注的项目。
ZK rollup不存在长时间提现的问题,因为只要将rollup批次连同有效性证明提交到第1层,资金就可以提现。
到目前为止,看起来ZK rollup只是Optimistic rollups的更好版本,但它们也有一些缺点。
由于该技术的复杂性,创建与EVM兼容的ZK rollup要困难得多,这使得在无需重写应用程序逻辑的情况下,扩展通用应用程序变得更加困难。话虽如此,ZKSync在这方面正在取得重大进展,他们可能很快就会推出与EVM兼容的ZK rollup。
Optimistic rollups程序在EVM兼容性方面要容易一些。他们仍然需要通过一些修改来运行自己的EVM版本,但是99%的合约可以在不做任何更改的情况下移植。
ZK rollup也比Optimistic rollups的计算量更大。这意味着计算ZK证明的节点必须是高规格的机器,这使得其他用户很难运行它们。
在扩展改进方面,两种类型的rollups都应该能够将以太坊从每秒15到45笔交易(取决于交易类型)扩展到每秒1000到4000笔交易。
值得注意的是,通过为第1层上的rollup批次提供更多空间,可以每秒处理更多事务。这也是Eth2可以与rollup产生巨大协同作用的原因,因为它通过创建多个分片来增加可能的数据可用性空间——每个分片都能存储大量的数据。Eth2和rollup的结合可以使以太坊的交易速度提高到每秒10万笔交易。
现在,让我们谈谈在Optimistic和ZK rollups上工作的所有不同项目。
Optimistic Rollups
Optimism和Arbitrum是目前最流行的Optimistic Rollups选择项目。
Optimism已经部分推广到以太坊主网上,与Synthetix或Uniswap等有限的合作伙伴一起,以确保该技术在全面启动之前按预期工作。
Arbitrum已经将其版本部署到主网上,并开始将不同的项目纳入其生态系统中。与其只允许有限的合作伙伴能够首先部署他们的协议,他们决定为所有想要在其rollup中启动的协议提供一个时间窗口。当这段时间结束后,他们将一次性向所有用户开放。
在Arbitrum上启动的一些最著名的项目有Uniswap、Sushi、Bancor、Augur、Chainlink、Aave等等。
Arbitrum最近还宣布与Reddit建立合作伙伴关系。他们将专注于启动一个单独的rollup链,这将允许Reddit扩展他们的奖励系统。
Optimism正在与MakerDAO合作创建Optimism Dai桥,并使DAI和其他代币能够快速提取回第1层。
尽管Arbitrum和Optimism都试图实现相同的目标——构建与EVM兼容的Optimistic Rollups解决方案,但它们的设计存在一些差异。
Arbitrum有一个不同的争议解决模式。他们没有在第1层重新运行整个交易来验证欺诈证明是否有效,而是提出了一个交互式的多轮模型,该模型允许缩小争议范围,并可能仅在第1层执行一些指令来检查可疑的交易是否有效。
这也产生了一个很好的副作用,即部署在Arbitrum上的智能合约可能大于以太坊上允许的最大合约大小。
另一个主要区别是处理事务排序和MEV的方法。
Arbitrum最初将运行一个负责交易排序的排序器,但从长远来看,他们希望将其去中心化。
Optimism更喜欢另一种方法,在这种方法中,交易的顺序以及MEV可以在一定时期内拍卖给其他方。
值得一提的还有其他一些致力于Optimistic Rollups的项目。Fuel、OMG团队与OMGX和Cartesi等等。他们中的大多数人也试图为他们的rollups开发一个与EVM兼容的版本。
ZK rollups
虽然看起来以太坊社区主要关注的是Optimistic Rollups,至少在短期内是这样的,但我们不要忘记,致力于ZK rollups的项目进展也非常迅速。
对于ZK rollups,我们有几个可用选项。
Loopring使用ZK rollup技术来扩展其交易和支付协议。
Hermez和ZKTube正在使用ZK rollup扩大支付规模,Hermez还在建立一个与EMV兼容的ZK rollup。
Aztec正专注于将隐私功能引入其ZK rollup技术。
DeversiFi、Immutable X和dYdX等项目已经广泛使用基于StarkWare的rollup技术。
正如我们之前提到的,ZKSync正在开发一个兼容EMV的虚拟机,它将能够完全支持任何用Solidity编写的任意智能合约。
总结
正如我们所看到的,在optimistic和ZK rollup阵营中都有很多事情在进行,不同rollup之间的竞争将会很有趣。
Rollup也应该对DeFi产生重大影响。以前由于交易费用高而无法在以太坊上进行交易的用户,将能够在下一次网络活动频繁时留在生态系统中。它们还将支持需要更便宜的交易和更快的确认时间的新型应用程序。所有这一切都得到了以太坊共识的完全保护。看起来rollup可能会触发DeFi的另一个高增长时期。
但是,在rollup方面仍存在一些挑战。
可组合性就是其中之一。为了组合使用多个协议的事务,所有这些协议都必须部署在同一个rollup上。
另一个挑战是流动性断裂。例如,如果没有新资金作为一个整体进入以太坊生态系统,Uniswap或Aave等协议中存在于第1层的现有流动性将在第1层和多个rollup实现之间共享。较低的流动性通常意味着较高的滑点和较差的交易执行。
这也意味着,自然会有赢家和输家。目前,现有的以太坊生态系统还不足以利用所有扩展解决方案。从长远来看,这很可能会发生改变,但在短期内,我们可能会看到一些rollups和其他扩展解决方案成为无人之地。
未来,我们可能还会看到用户完全生活在一个rollup生态系统中,并且长时间不与以太坊主链和其他扩展解决方案进行交互。如果我们将看到更多的中心化交易所能够实现直接的存款和取款,这可能尤其明显。
尽管如此,rollups似乎是扩展以太坊的最终策略,而且挑战很可能会以某种方式得到缓解。看到rollups如何获得越来越多的用户的采用显然非常有趣。
在讨论rollups时经常出现的一个问题是它们是否对侧链构成威胁。就我个人而言,我认为侧链仍将在以太坊生态系统中占有一席之地。这是因为,尽管第2层上的交易成本将比第1层低得多,但它很可能仍然高到足以给某些类型的应用程序(例如游戏和其他高容量应用程序)定价。
当以太坊引入分片时,这种情况可能会改变,但届时侧链可能会产生足够的网络效应来长期生存。看看这在未来会如何发展一样非常有趣。
此外,rollups的费用高于侧链,因为每个rollup批次仍然需要支付以太坊区块空间的费用。
值得记住的是,以太坊社区非常关注以太坊扩展策略中的rollups——至少在短期到中期,甚至可能更久。我建议阅读Vitalik Buterin关于以rollup为中心的以太坊路线图的文章。
Optimism Arbitrum