什么是Rollup?

2021-06-20 12:46:06 作者:金色财经
我们先来打个比方。

想象一下,我们回到了初中数学课堂上。「残忍」的初中数学老师给我们每人发了一张卷子,上面列了 100 道数字很大的除法题。我们的任务是解出尽可能多的题。但是,这里面有个陷阱:我们只能将最终的解和每个计算步骤写在一张答题纸上。几分钟后,我们有了一种不祥之感,越想越觉得这个任务荒谬至极。算完几道题之后,这张答题纸就已经满满当当了。

这个噩梦般的故事与 Rollup 有什么关系呢。

在这个故事里,答题纸就是以太坊区块,算术题就是智能合约交易。以太坊目前非常拥堵。每个区块内要包含的交易太多了。更糟糕的是,绝大多数交易都是计算密集型的,例如闪电贷和通过聚合器路由的交易。随着 DeFi 兴起,简单转账和支付已经成了过去时。

这就是问题的关键所在。就像数学老师要求我们将每个计算步骤都写在一张答题纸上那样,以太坊也必须处理并记录每个事务的每一笔计算。

直到 Rollup 出现。

Rollup 将计算转移到链下,只将最少的事务数据存储在链上。从这个基本意义上来讲,Rollup 就是以太坊的草稿纸。Rollup 负责所有复杂的数据处理,让每个以太坊区块都能容纳(叠卷)成倍多的智能合约事务。

这个比喻不仅直观呈现了 Rollup 旨在解决的问题(「因计算过载而导致的网络拥堵」),还让我们大概了解了 Rollup 解决方案需要做到什么(「将计算转移到链下」)。但是,Rollup 的实际运作方式、呈现形式以及魅力所在都是我们需要深入研究的。

什么是 Rollup

Rollup 本质上是一条独立的区块链,但是进行了一些修改。和以太坊一样,Rollup 协议也使用「虚拟机」来执行智能合约代码。Rollup 的虚拟机独立于以太坊自己的虚拟机(EVM)运行,但是由以太坊上的智能合约管理。因此,这种联系可以让 Rollup 和以太坊之间进行通信。Rollup 负责执行事务并处理数据,以太坊负责接收并存储结果(译者注:其实以太坊还储存 Rollup 事务的数据,不仅只储存结果)。

从技术层面来说,Rollup 链和传统区块链之间的主要区别在于出块方式。

通常来说,区块链由一个分布式参与者网络(「矿工」或「验证者」,具体取决于链的类型)维护。这些参与方通过共识创建区块。简单来说,参与方通过投票决定如何处理一组交易(如何创建下一个区块)。获得多数支持的区块将被永远写到区块链上。

相比之下,Rollup 链不按多数原则运行。监控 Rollup 状态的一方可以将「断言」发送至以太坊,来说明交易是如何处理的。重要的是,以太坊将决定是否接受这个断言,无论这个断言是否获得了 Rollup 上多数参与方的支持。这通常意味着,在 Rollup 上,实际只有一方负责处理交易和生成区块。(译者注:这一点也不是绝对的)

Rollup 是中心化的吗

Rollup 之所以能够如此高效地处理交易,一部分原因就在于它在出块方面的中心化特性。但是,这也提出了一个令人担忧的问题:在缺乏多数决共识的情况下,Rollup 如何确保出块的正确性——如果区块创建者作恶怎么办。

由于密码学货币用户已经习惯了基于共识的区块链,这种中心化会令他们感到困惑。确实,如果这篇文章到此结束,我们可能会误以为 Rollup 只是「由单个参与方复制的数据库」,就像 Avalanche 的联合创始人 Kevin Seqniqi 最近在推特上所言。

实际上,我们很快就会明白,与其说人们对 Rollup 的中心化特性的担忧是错误的,不如说是一种逻辑误导。通常情况下,缺乏强大共识机制的中心化区块链确实容易遭到破坏和恶意操控。但是,就 Rollup 解决方案而言,缺乏去中心化并不会影响它们的安全性和完整性。为了弄清楚背后的原因,我们需要更深入理解 Rollup 的原理。

数据可得性的重要性

回想一下文章开头提到的数学试卷。草稿纸就是我们的救命稻草。只要将计算过程写在草稿纸上,我们就只需在答题纸上写下问题和解。Rollup 就好比是草稿纸,「将智能合约计算转移到链下,只将最少的事务数据存储在链上」。

事实上,后半句话(将事务数据存储在链上)对于 Rollup 的运作方式来说至关重要。就 Rollup 而言,只有计算(数据处理)会被转移到链下。Rollup 所处理的每笔事务的输入数据(即「调用数据」)仍存储在以太坊上。

将事务数据保存在链上为何如此重要?再拿数学试卷的例子来看,我们最后交给老师的答题纸上只有数学题和解。这样一来,即使我们没有将每个计算步骤写上去,老师也可以检查我们的作业情况。同理,永恒链上数据可得性意味着,Rollup 上的任何一个计算都可由以太坊基础层重复执行(译者注:吹毛求疵来说,这话是不对的。以太坊单笔事务可执行的计算量是有上限的)。

简而言之,Rollup 的链上数据可得性引入了内置审查流程。在将事务永久写入账本之前,以太坊可以再次确认 Rollup 上处理的事务的完整性——就像是美国最高法院的司法审查权。

局限性优势

Rollup 的主要优势就是其局限性。Rollup 只能将交易发送至基础层,不能强制基础层接受,因为以太坊可以在必要时推翻任何 Rollup 事务。由于存在审查过程,Rollup 事务不具备真正的终局性。

了解了 Rollup 的局限性后,我们回到上文提出的中心化问题。Rollup 的单方出块机制确实存在做恶的可能性。然而,一旦出现这种情况,以太坊会在完成审查流程后拒绝相关交易,并惩罚出块者。

对于 Optimistic Rollup 和 ZK Rollup 来说,「审查流程」的具体运作方式不同(详情请参见此处)。然而,无论是哪种 Rollup,审查流程远比以太坊自己处理交易(不依赖于 Rollup)高效得多。

总之,Rollup 系统以「制衡」为基础,从而保证以太坊的主权链地位。以太坊的共识是事实的最终仲裁者。请注意,侧链的情况完全不同。侧链不像 Rollup 那样存在审查流程,而是另有一套独立的共识机制来处理交易。侧链可以直接赋予交易终局性,而 Rollup 上的交易要等到以太坊确认后才能获得终局性。因此,侧链需要更多信任假设,因为它们无法从以太坊的去中心化安全性中受益。事实上,我认为侧链更像是兼容 EVM 的 Layer 1,而非 Rollup。

结论

总的来说:Rollup 将计算转移到链下,从而释放更多链上空间。链上数据可得性很重要,因为它使得以太坊可以复核 Rollup 交易的完整性。反之,审查流程可以检查 Rollup 出块,免去对共识机制的需求。

Rollup 最终可以让以太坊鱼和熊掌兼得:在释放成倍多链上空间的同时不破坏网络的去中心化安全性。至少在我看来,这正是我们所期望的优雅的可扩展性方案。

感谢 t11s 和 Hasu 富有见地的评论和建议。

相关推荐

图文推荐