五分钟读懂 Rollup

    Rollup将计算转移到链下,只将最少的事务数据存储在链上。从这个基本意义上来讲,Rollup就是以太坊的草稿纸。Rollup负责所有复杂的数据处理,让每个以太坊区块都能容纳(叠卷)成倍多的智能合约事务。本文发表于2021年6月1日。[1]介绍我们先来打个比方。想象一下,我们回到了初中数学课堂上。「残忍」的初中数学老师给我们每人发了一张卷子,上面列了100道数字很大的除法题。我们的任务是解出尽可能多的题。但是,这里面有个陷阱:我们只能将最终的解和每个计算步骤写在一张答题纸上。几分钟后,我们有了一种不祥之感,越想越觉得这个任务荒谬至极。算完几道题之后,这张答题纸就已经满满当当了。这个噩梦般的故事与Rollup有什么关系?在这个故事里,答题纸就是以太坊区块,算术题就是智能合约交易。以太坊目前非常拥堵。每个区块内要包含的交易太多了。更糟糕的是,绝大多数交易都是计算密集型的,例如闪电贷和通过聚合器路由的交易。随着DeFi兴起,简单转账和支付已经成了过去时。这就是问题的关键所在。就像数学老师要求我们将每个计算步骤都写在一张答题纸上那样,以太坊也必须处理并记录每个事务的每一笔计算。直到Rollup出现。

    Rollup将计算转移到链下,只将最少的事务数据存储在链上。从这个基本意义上来讲,Rollup就是以太坊的草稿纸。Rollup负责所有复杂的数据处理,让每个以太坊区块都能容纳(叠卷)成倍多的智能合约事务。这个比喻不仅直观呈现了Rollup旨在解决的问题(「因计算过载而导致的网络拥堵」),还让我们大概了解了Rollup解决方案需要做到什么(「将计算转移到链下」)。但是,Rollup的实际运作方式、呈现形式以及魅力所在都是我们需要深入研究的。什么是Rollup?Rollup本质上是一条独立的区块链,但是进行了一些修改。和以太坊一样,Rollup协议也使用「虚拟机」来执行智能合约代码。Rollup的虚拟机独立于以太坊自己的虚拟机(EVM)运行,但是由以太坊上的智能合约管理。因此,这种联系可以让Rollup和以太坊之间进行通信。Rollup负责执行事务并处理数据,以太坊负责接收并存储结果(译者注:其实以太坊还储存Rollup事务的数据,不仅只储存结果)。[2]从技术层面来说,Rollup链和传统区块链之间的主要区别在于出块方式。通常来说,区块链由一个分布式参与者网络(「矿工」或「验证者」,具体取决于链的类型)维护。这些参与方通过共识创建区块。简单来说,参与方通过投票决定如何处理一组交易(如何创建下一个区块)。获得多数支持的区块将被永远写到区块链上。相比之下,Rollup链不按多数原则运行。监控Rollup状态的一方可以将「断言」发送至以太坊,来说明交易是如何处理的。重要的是,以太坊将决定是否接受这个断言,无论这个断言是否获得了Rollup上多数参与方的支持。[3]这通常意味着,在Rollup上,实际只有一方负责处理交易和生成区块。

    [4](译者注:这一点也不是绝对的)等等……Rollup是中心化的?Rollup之所以能够如此高效地处理交易,一部分原因就在于它在出块方面的中心化特性。但是,这也提出了一个令人担忧的问题:在缺乏多数决共识的情况下,Rollup如何确保出块的正确性——如果区块创建者作恶怎么办?由于密码学货币用户已经习惯了基于共识的区块链,这种中心化会令他们感到困惑。确实,如果这篇文章到此结束,我们可能会误以为Rollup只是「由单个参与方复制的数据库」,就像Avalanche的联合创始人KevinSeqniqi最近在推特上所言。实际上,我们很快就会明白,与其说人们对Rollup的中心化特性的担忧是错误的,不如说是一种逻辑误导。通常情况下,缺乏强大共识机制的中心化区块链确实容易遭到破坏和恶意操控。但是,就Rollup解决方案而言,缺乏去中心化并不会影响它们的安全性和完整性。[5]为了弄清楚背后的原因,我们需要更深入理解Rollup的原理。数据可得性的重要性回想一下文章开头提到的数学试卷。草稿纸就是我们的救命稻草。只要将计算过程写在草稿纸上,我们就只需在答题纸上写下问题和解。Rollup就好比是草稿纸,「将智能合约计算转移到链下,只将最少的事务数据存储在链上」。事实上,后半句话(将事务数据存储在链上)对于Rollup的运作方式来说至关重要。就Rollup而言,只有计算(数据处理)会被转移到链下。Rollup所处理的每笔事务的输入数据(即「调用数据」)仍存储在以太坊上。将事务数据保存在链上为何如此重要?再拿数学试卷的例子来看,我们最后交给老师的答题纸上只有数学题和解。这样一来,即使我们没有将每个计算步骤写上去,老师也可以检查我们的作业情况。同理,永恒链上数据可得性意味着,Rollup上的任何一个计算都可由以太坊基础层重复执行(译者注:吹毛求疵来说,这话是不对的。

    以太坊单笔事务可执行的计算量是有上限的)。简而言之,Rollup的链上数据可得性引入了内置审查流程。在将事务永久写入账本之前,以太坊可以再次确认Rollup上处理的事务的完整性——就像是美国最高法院的司法审查权。[6]局限性优势Rollup的主要优势就是其局限性。Rollup只能将交易发送至基础层,不能强制基础层接受,因为以太坊可以在必要时推翻任何Rollup事务。由于存在审查过程,Rollup事务不具备真正的终局性。了解了Rollup的局限性后,我们回到上文提出的中心化问题。Rollup的单方出块机制确实存在做恶的可能性。然而,一旦出现这种情况,以太坊会在完成审查流程后拒绝相关交易,并惩罚出块者。[7]对于OptimisticRollup和ZKRollup来说,「审查流程」的具体运作方式不同(详情请参见)。然而,无论是哪种Rollup,审查流程远比以太坊自己处理交易(不依赖于Rollup)高效得多。总之,Rollup系统以「制衡」为基础,从而保证以太坊的主权链地位。以太坊的共识是事实的最终仲裁者。请注意,侧链的情况完全不同。侧链不像Rollup那样存在审查流程,而是另有一套独立的共识机制来处理交易。侧链可以直接赋予交易终局性,而Rollup上的交易要等到以太坊确认后才能获得终局性。因此,侧链需要更多信任假设,因为它们无法从以太坊的去中心化安全性中受益。事实上,我认为侧链更像是兼容EVM的Layer1,而非Rollup。结论总的来说:Rollup将计算转移到链下,从而释放更多链上空间。链上数据可得性很重要,因为它使得以太坊可以复核Rollup交易的完整性。

    反之,审查流程可以检查Rollup出块,免去对共识机制的需求。Rollup最终可以让以太坊鱼和熊掌兼得:在释放成倍多链上空间的同时不破坏网络的去中心化安全性。至少在我看来,这正是我们所期望的优雅的可扩展性方案。感谢t11s和Hasu富有见地的评论和建议。脚注注:我最近开始在DeribitInsights上连载关于Rollup的系列文章。其中,Part1探索了ZKRollup和OptimisticRollup之间的差异。很多读者希望我能推荐一篇关于Rollup的非技术入门文章,因为我的文章需要读者有一定的背景知识。实际上,确实有一些科普性文章会带来很大帮助(参见文章1、2、3(中译本见1、2、3))。但是,我还没有看到一篇没有任何技术术语的针对初学者的全面介绍。我写这篇文章的目的就是为了填补这一空缺。顺便一提,这种联系是通过某个叫作「状态根」的东西在链上维护的(状态根追踪Rollup的内部状态,包括账户余额、事务和代码等等)。关于更多详细信息,请阅读Vitalik的介绍。事实上,在OptimisticRollup中,即使其他网络参与者都反对,出块一方也可以(正确!)处理事务。这就是OptimisticRollup的1/n诚实参与者假设(如果你想要深入了解这部分内容,请阅读这篇文章的「SecuirtyConsiderations」一节)。OptimisticRollup和ZKRollup对出块者的职责要求不同。如果你想要了解更多相关内容,请阅读这篇文章的「SecuirtyConsiderations」一节。HaseebQureshi有一篇关于去中心化的文章很发人深省。Qureshi的论点是,去中心化本身不一定就是好的,中心化本身也不一定就是坏的。虽然Qureshi在这篇文章中没有讨论Rollup,他的论据有很高的相关性。在1803年的马伯利诉麦迪逊案中,马歇尔法院判定最高法院有权推翻它认为违宪的国会立法,有效地赋予了最高法院对所有立法事项的最终审查权。事实上,ZKRollup通过密码学方式防止其出块者在处理事务时作恶,因为相关事务的零知识证明本身是无效的。

声明:文章内容不代表本站观点及立场,不构成本平台任何投资建议。本文内容仅供参考,风险自担!

Pixel Artist Pixel Artist
Happy Kittens Puzzle Happy Kittens Puzzle
Penguin Cafe Penguin Cafe
Animal Connection Animal Connection
Snakes N Ladders Snakes N Ladders
Pixel Skate Pixel Skate
BeeLine BeeLine
Draw Parking Draw Parking
Draw Racing Draw Racing
Soccer Balls Soccer Balls
Happy Fishing Happy Fishing
Crashy Cat Crashy Cat

FREE GAMES FOR KIDS ONLINE