ETH 2.0本就是一种形式的rollup

以太坊爱好者 阅读 188179 2020-10-18 08:33
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

当我们向一种新的扩容范式转变时,回顾被抛弃的旧范式是一种很好的做法。

这篇文章旨在让读者相信,“以 rollup 为中心” 的方法并不会背离分片,并且有望构建对整个(假设性)系统更直观的理解。

Optimistic Rollup 的定义

出于本文的目的,我们先详细说明最简单的 Optimistic Rollup (ORU)实现。

ORU 需要具备以下几个特性:

将所有交易数据提交到链上

将状态根提交到链上

假设状态根是正确的

一些节点负责验证 ORU 的状态转换

设有链上欺诈证明执行程序,可以撤销无效状态转换

分片为什么不可行

在证明 ETH 2.0 分片只是一种复杂的 ORU 系统之前,我们先来探究一下为什么原生分片系统并非安全的可扩展性解决方案。其背后原因不是特别直观。

从数学角度证明分片的安全性

假设一条区块链上有 16384 个验证者和 64 条分片链,每条分片链都由 128 名验证者组成的委员会负责验证。委员会成员选举是不可预见的:每个 slot 结束后,所有委员会都会解散,并随机从全体验证者中重新选出 64 个委员会,因此每个验证者都不知道其他验证者所在的委员会。假设一个区块需要获得委员会中 2/3 成员(即,不少于 86 名成员)的认可才能被添加到分片链上,这就意味着在全体验证者中包含 1/3 恶意验证者的情况下,通过随机的方式选出恶意委员会的概率是:

ETH 2.0本就是一种形式的rollup

b)哈希承诺(其中 b 指的是区块的字节大小)。

关于该技术的详解,可以参见这篇文章。

分片就是 Rollup

ETH 2.0 的分片设计模糊了它们是信标链的 ORU 这样一个事实。如果将重点从分布式处理转向有序的数据可用性层,就变得一目了然了。

ETH 2.0本就是一种形式的rollup

如上图所示,验证者集起到以下 4 种作用:

验证并执行信标链

对分片所提供的数据进行抽样验证

组成分片委员会

提交关于无效状态转换的欺诈证明

我们已经作了两个假设:i) 数据具有可用性,ii)区块链会从最近一个具有数据可用性的区块开始进行分叉。则要么人们可以构建欺诈证明,要么系统将缺乏数据可用性归咎于签署该区块的分片委员会,并回滚状态转换。

从定义上来说,ETH 2.0 是一种 ORU

这时,考虑到我们之前对 ORU 的定义,我们应该能够证明分片实际上就是 rollup:

1. 所有交易数据都提交到链上

分片区块数据被集中到数据可用性层上,在一定概率上会由全网进行验证。

2. 状态根被提交到链上

分片委员会为包含在信标链区块中的分片状态根提供证明。

3. 状态根被假定为有效的

信标链在没有进行额外验证的情况下,假定分片委员会的证明是有效的

4. 一些节点负责验证 ORU 的状态转换

分片委员会验证分片的状态转换。

5. 有一个可以撤销无效状态转换的链上欺诈证明执行器

信标链支持分片状态转换欺诈证明。

解构 ETH 2.0

既然我们已经解释了 ETH 2.0 和 ORU 系统之间不可思议的相似性,我们能够如何利用这一信息来更好地理解整个系统的设计?让我们通过 ORU 系统的角度来探索 ETH 2.0 的一些设计决定:

数据吞吐量

在当前设计中,系统的数据吞吐量与分片机制紧密耦合。

这里可以采用的一种方法是,将数据可用性检查视为协议中的头等公民。这样可以对数据层进行独立优化,执行层也可以更细的粒度控制(参与协议的)硬件要求。

例如,ETH 2.0 可以提供 64 个数据中心和一个在信标链上的 ORU 合约,以此代替分片链。ORU 合约可以让 rollup 决定领导者选举机制,它们想要将数据发送到多少个数据中心上,以及它们是否想与其它 rollup 绑定(例如,如果一个 rollup 发生回滚,与之绑定的 rollup 也会发生回滚)。使用的数据中心越多,验证 rollup 所需的硬件要求就越高。

严格来说,上述系统是当前分片设计的超集。除了由协议定义的 64 个分片之外,还会有其它具有自己特征的 rollup 构建在安全数据层上,并且独立于协议分片。

回滚最小化

在简单的 ORU 中,当选的领导者有权提交无效状态转换。虽然这不会影响系统的安全性,因为无效状态转换是可以通过欺诈证明撤销的,但这确实会破坏 rollup 的进程。单独来看,这种破坏对作恶者来说通常是不划算的。然而,在 ETH 2.0 中,跨分片通信让这个问题变得特别棘手。处于 slot N 的分片预期自己可以获得其它分片在 slot N-1 时的状态。假设分片 S~i~ 提交了一个无效的状态转换,除了单方面发起回滚之外没有其它合理的方法来撤销该状态对分片 S~j~(0≤j≤64;i≠j)的负面影响。

为避免灾难性事件,必须有适当的机制来防止这类回滚。其中最明显的两个机制是分片委员会和托管比特检查(custody bit check)。正如 “从数学角度证明分片的安全性” 一节中所述,即使考虑到各种攻击向量,贿赂分片委员会中 2/3 以上成员的概率也很低。托管比特可以确保诚实的验证者不会因为懒惰而被骗签署无效的状态转换。

如果我们认为这些机制的目的是防止无效状态转换,而非维护系统安全,就能选择既有实用价值,又能实现相同效果的参数。例如,将分片委员会的规模减少到 64 人,随机组成恶意委员会的概率依然低至 3.1×10-8。但是从网络和签名聚合的角度来看,这样能够极大减轻负担。

以 rollup 为中心的以太坊路线图

本文最初撰写于斯坦福区块链大会 2020(SBC20)期间。那时,我开始充分领会到 ETH 2.0 和 ORU 之间的相似性。在看过 Vitalik 的文章后,我决定发布这篇文章,来表示对以太坊将来采用以 rollup 为中心的扩容方案的支持。但是,如本文所述,“以 rollup 为中心” 的扩容方案没有让我们偏离方向,而是一个超集。我们在分片设计中遇到的问题与我们在整合跨 rollup 通信时遇到的问题是同构的。这就意味着,已经开展的大部分工作都可以继续进行,不会被中断。

以 rollup 为中心的路线图会降低分片执行所必需的协议复杂性。这使得我们能够不断迭代类似分片的复杂的 rollup 机制。这样可以让更多开发者为不同的 rollup 格式做贡献,让现有核心开发者和研究者可以专注于构建一个健壮的数据可用性层。

可以说,通往功能完善的 ETH 2.0 的道路从未如此清晰。

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来源链接:https://ethfans.org/
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
标签: Rollup ETH 2.0
上一篇:USDC继续远离Ethereum,走向恒星 下一篇:Block.one推出EOSIO区块链的商业版本

相关资讯