来源 | vitalik.ca
特此感谢 Optimism 和 Flashbots 的成员参与讨论并为本文提供思路,感谢 Karl Floersch、Phil Daian、Hasu 和 Alex Obadia 的反馈和评论。
先来看一下一般 “具有大区块的区块链” 有什么特点 —— 出块频率非常高、区块尺寸非常大、每秒处理数千笔交易,但同时中心化程度非常高:由于区块过于大,以至于只有几十个或几百个节点可以负担得起运行一个完全参与的节点,而这个节点可以创建区块或验证当前的链。要怎么做才能够让这样的链可接受地实现去信任和抗审查,至少按照我的标准来看?
以下是一个可行的路线图:
- 添加一个二级的 Staking (质押) 层,对资源要求较低,从而实现分布式的区块验证。单个区块中的交易被分到 100 个存储器 (bucket) 中,每个 bucket 中包含一个 Merkle 或 Verkle tree 状态根。每个二级 Staker 被随意分派到其中一个 bucket 中。只有当每个 bucket 中拥有至少 2/3 验证者对这个 bucket 签名时,某个区块才能被接受。
- 引入欺诈证明或 ZK-SNARK 来让用户直接 (且低成本地) 检查区块的有效性。ZK-SNARK 可以直接通过密码学手段证明区块的有效性;欺诈证明是一个更简单的方案 —— 如果某个区块中包含一个无效的 bucket,那么任何人都可以针对该 bucket 发布一个欺诈证明。这在随机分配验证者的基础上又提供了另一层安全性。
- 引入数据可用性采样 (data availability sampling, DAS),从而让用户检查区块的可用性。通过使用 DAS 检查,轻客户端只需下载一些随机选择的片段 (pieces) 就可以验证某个区块是否被发布了。
- 添加二级交易通道以抗审查。做到这一点的一个方法就是,允许二级 staker 提交一些交易清单,而这些交易必须在下一个主要区块被打包进去。
做完这些之后,我们能得到什么?**我们会得到一条这样的区块链:区块生产方式仍是中心化的,但是区块验证方式是去信任且高度去中心化的,而且专门的抗审查机制可以防止这些区块生产者对交易进行审查。**这条链在结构上虽然不甚美观,但它确实提供了我们正在寻找的基本保证:即使每一个主要 staker (区块生产者) 都意图攻击或审查他们所在的链,他们所能做到最糟糕的事就是全部离线了。这时这条链会停止接受交易,直到社区聚集其资源来设置一个主要的诚实 staker 节点。
现在,为 rollup 想象一个可能的长期未来...
想象一下,某个特定的 rollup (不管是 Arbitrum、Optimism、Zksync、StarkNet 或是其他全新的方案) 在节点实现的设计方面做得非常好,以至于如果有足够强大的硬件,它真的可以实现 10,000 TPS。原则上,实现这一点所需的技术众所周知,Dan Larimer 和其他人在很多年前就完成了实现:将执行分成一个 CPU 线程 (运行不可并行但便宜的业务逻辑) 和大量其他线程 (运行昂贵但高度可并行的密码学)。还可以想象,以太坊实现了具有数据可用性采样的分片,并且在 64 个分片之间有足够的空间存储该 rollup 的链上数据。结果是,每个人都迁移到这个 rollup 上。那个世界会是怎么样的呢?
同样,我们又得到了这样一个世界:区块生产方式是中心化的,区块验证方式是去信任且高度去中心化的,以及依然抗审查。Rollup 区块生产者必须处理大量的交易,所以这是一个难以进入的市场,但他们没有办法推动无效区块的通过。区块的数据可用性由底层链提供安全保障,而区块有效性由 rolllup 逻辑提供保证:ZK-rollup 由 SNARK 提供保证;在 optimistic rollup 中,只要有一个诚实参与者运行一个欺诈证明节点,rollup 就是安全的 (那些参与者能够通过 Gitcoin grants 获得补贴)。此外,由于用户总是能够选择通过链上二级打包通道来提交交易,因此 rollup 的定序者实际上也不能进行审查。
现在,想象 rollup 的其他可能长期未来...
没有任何一个 rollup 能成功承载接近于以太坊上大多数的活动,且相距甚远。相反,它们每秒最高只能执行几百笔交易。由此,我们得出以太坊以后是多 rollup 的未来—— 类似于 Cosmos 的多链愿景,但建基于提供数据可用性和共享安全性的基础链。到时,用户会频繁依赖跨 rollup 桥在不同 rollup 上的跳转,而无需支付在主链上的高额费用。那会是个什么样的世界?
似乎这些东西我们都可以拥有:去中心化的验证、强大的抗审查能力,甚至是分布式出块,因为 rollup 都是各自独立、小型且很容易开始出块的。但区块生产的去中心化可能不会持久,因为可能会出现跨域的 MEV。能够同时在多个域构建下一个区块有很多好处:你可以构建利用套利机会的区块,这些套利机会发生在两个 rollup 上的交易、或在一个 rollup 和主链上的交易,或甚至更复杂的组合。
因此,在一个多域世界里,由相同的人控制所有域的区块生产是有很强压力的。这种情况可能不会发生,但很可能会发生,我们必须为这种可能性做好准备。我们能做什么呢?到目前为止,我们知道的最好办法是结合使用两种技术:
- rollup 在每个 slot 里执行用于出块竞拍的一定机制,或以太坊基础链实现区块提议者/构建者分离 (proposer/builder separation, PBS) (或两者都实现)。这确保至少任何区块生产中心化的倾向都不会导致完全精英捕获和中心化质押池市场主导的区块验证。
- rollup 执行抗审查绕行通道 (bypass channel),以太坊基础层实施 PBS 抗审查技术。这确保了如果潜在的高度中心化“纯”区块生产市场赢家试图审查交易,是有办法绕开审查的。
那么结果是什么?区块生产中心化、区块验证去信任且高度去中心化,以及仍然可以抗审查。
这意味着什么呢?
尽管有很多路径通往构建一个可扩展和安全的长期区块链生态系统。但似乎它们都朝着非常相似的未来发展。出块很有可能最终会是中心化:无论是 rollup 间的网络效应,还是跨域 MEV 的网络效应,都以各自不同的方式将我们推向这个方向。但我们能做的是使用协议层的技术,例如委员会验证、数据可用性采样和绕行通道,来”规范“这个市场,确保赢家不能滥用它们的权力。
这对区块构建者意味着什么?区块生产可能会发展出一个专门化市场,且这个域的专业知识很可能通用于不同的域。90% 成为优秀的 Optimism 区块生产者的要素也能成为优秀的 Arbitrum 区块构建者,同理于 Polygon 和以太坊基础层。如果有很多个域,跨域的套利可能也会成为重要的收益来源。
这对以太坊意味着什么?首先,尽管存在固有的不确定性,但以太坊可以很好地适应这个未来世界。以太坊以 rollup 为中心的路线图的深远好处是,以太坊对所有这些未来发展是开放的,而不需要给出哪种 rollup 一定会胜出的意见。用户会非常强烈地希望在一个单一 rollup 上吗?按照现有的路线,以太坊可以成为其基础层,自动提供反欺诈和抗审查的“盔甲”,这是大容量域所需的安全性。无论是因为创建一个高容量域在技术上太复杂,还是这只是用户对多样性有非常大的需求,以太坊都可以成为两者的基础层,而且性能非常好,因为共同的信任根基使得在 rollup 间安全且低成本地转移资产变得容易得多。
但是,以太坊的研究员也应该认真思考区块生产实际上能实现什么程度的去中心化。如果跨域 MEV (或甚至跨分片 MEV,即在一个占多个分片的 rollup 里) 使其不可持续,通过添加复杂的管道来使区块构建易于实现高度去中心化可能是不值得的。
这对大型区块链来说意味着什么?它们有一条路可以走向去信任和抗审查,我们很快会发现它们的核心开发者和社区是否真的足够重视抗审查和去中心化,让它们可以做到这一点!
把这些都实现可能需要几年的时间。分片和数据可用性采样实现起来需要复杂的技术。它们的完善和审计还需要几年的时间,人们才能完全放心将他们的资产放在运行一个完整 EVM 的 ZK-rollup 上。而跨域 MEV 的研究仍然处于起步阶段。但是,可扩展区块链是可行且拥有光明未来的,这一点看起来越来越清楚了。
ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系eth@ecn.co进行授权。