Vitalik Buterin 提出 The Blockchain Trilemma 已经有 5 年之久,⽆论是 ETH-core 社区,还是其他公链的开发者们,都试图找到打开下⼀代区块链的钥匙。
Vitalik 在其 Endgame 一文中,描绘了他认为的 Ethereum 终极形态,其中花费⼤量篇幅描绘了⼀个由 Rollups 和 DA 构建起来的新以太坊。这⽆疑在某种程度上,指明了以太坊未来⼗年的破局之路 ⸺ 模块化。
⽽我们知道,其实不管是以太坊还是新公链们,都早就开始了⾃⼰的模块化之路,只是“答卷”⽅式各有不同,也形成了截然不同的技术路线。
其实以太坊本⾝已经将区块链分为了多层,只是在 1.0 时代中,节点承担了所有层级的职责。我们可以遵循以太坊的思路,将区块链拆分成四个层级:
共识层 (Consensus Layer):决定交易的顺序性、有效性以及节点之间的⼀致性
数据可⽤性层 (Data Availability Layer):保证交易数据可以被使⽤ (保证存储且可验证与可⽤)
结算层 (Settlement Layer):结算出状态承诺
执⾏层 (Execution Layer):计算状态转换
回归到以太坊是“世界计算机”的叙事逻辑中,将区块链的模块和计算机结构进⾏类⽐, 那么:
区块链的共识层 ⇒ 维护分布式计算机集群的⼀致性算法
区块链的执⾏层 ⇒ 计算机的操作系统 (真正执⾏指令的环境)
区块链的 DA 层 ⇒ 计算机的内存 (实现短期数据存取)
区块链的结算层 ⇒ 计算机的 CPU (硬件保证指令执⾏的正确性)
值得⼀提的是,EigenLayr 项⽬中⼗分具有开创性地将共识层进⾏了进⼀步的分割,他将 PoS 共识层 的作⽤理解成负责维护分布式系统的⼀致性以及通过质押等机制来维护⽹络的信任基础。从⽽⼜产⽣了两个⼦层:
信任层:由最底层的验证者节点构成,或者说由质押加⼊以太坊⽹络的硬件实体构成
⼀致性层:连接各个节点,从⽽维护这个庞⼤的分布式系统的⼀致性
正是这些层级(模块)的区分,为区块链的模块化发展提供了基础,从⽽出现了对主链各种各样的拆 解⽅案。
在我们上⾯提到的分层逻辑中,信任是从共识(信任)端逐渐传递到执⾏层的,⽽分离模块的核⼼出 发点,就是在尽可能不伤害原有信任体系的前提下,减轻主⽹的负担。
显然第⼀个被拆解出来的,就是位于信任体系末端的执⾏层。于是基于以太坊的各种 Rollups 应运⽽ ⽣,⽆论是基于欺诈证明的乐观性 Rollups, 还是基于有效性证明的 zk-Rollups,现有的解决⽅案都是 将执⾏层交给链下,⽽结算、DA和共识则交给了 Layer1 去继续承担,这当然是最符合直觉的⽅案。
我们将其称为 Secured Rollups,可以理解为被 Layer1 保护着的 Rollups,这⼀名字来源于以太坊官 ⽅⽂档中,关于 Scailing 的描述:
For some solutions the layer 2 instance then batches them into groups before anchoring them to layer 1, after which they are secured by layer 1 and cannot be altered. The details of how this is done vary significantly between different layer 2 technologies and implementations.
然而,有“拆解”往往就意味着“连接”的问题就会浮出⽔⾯,当下⼏乎所有主流的 Rollups 都掌握着交易定序的中⼼化权⼒。当然,作为连接执⾏层和主⽹的重要组件,Sequencer 的中⼼化必然是有助于提升系统效率的,但是交易定序权⼒的⾼度集中所构成的“⿊暗森林”让⼈不免陷⼊对于 MEV 攻击的担忧中(Shutter Network 正致⼒于通过引⼊阈值加密技术来使 Sequencer 去信任化)。
当前以太坊上的 Rollup 将其区块直接发布到基于 EVM 的智能合约,也称为桥合约。该合约有效地实现了⼀个⽤于 Rollup 的链上轻客⼾端,该客⼾端接收区块头并处理欺诈或有效性证明。
在这个模型中,我们认为以太坊被奉为 Rollup 的耦合结算层,其中 Rollup 是以太坊的“婴⼉链”,⽽不是⼀种 拥有⾃⼰权利的独⽴链。
打个不恰当的⽐⽅,仅分离出执⾏层的以太坊 Rollups ,就像是只进⾏“搬砖”(计算)的“打⼯仔”,⽽没有任何参与终局(结算)的权⼒,砖头最终以什么⽅式、什么顺序摞起,都还是 L1 说了算。
Celestia 的设计显然为 Rollups 争取到了更多的权⼒,它定义了⼀种新的模块分割的⽅式:Sovereign Rollups,即主权 Rollups.
Celestia 上的主权 Rollup 不会将他们的区块发布到智能合约中,⽽是直接作为原始数据发布到链上。Celestia 共识和数据可⽤性层不解释或对 Rollup 区块执⾏任何计算,也不为 Rollup 运⾏链上轻客⼾端。
不管是 Danksharding 还是原先的数据分⽚的⽅案,本质上都是希望解决 DA 层的问题。在模块化区块链的语境下,Danksharding 显然提升了以太坊主⽹对数据可⽤性层的承担能⼒。
Danksharding 借助数据可用性采样(Data Availability Sampling, DAS)技术来实现“去中心化的验证者”,这一点上与 Celestia 的解决方案是很相似的。
尽管我们知道以太坊共识层的终极形态仍然会承担结算和数据可用性的职责。但 DAS 技术实现的验证工作的下放,大大降低了参与网络验证的成本,从而进一步释放了主网的性能。
在 Danksharding 分叉后,以太坊主⽹承担着部分对数据可⽤性审查的权⼒,⽽ Rollups 除了原先执 ⾏层的职责,还承担着 DA 层的权⼒。
我们上⾯提到了 EigenLayr 对于共识层的进⼀步细分,它将以太坊的信任层从整个⽹络中剥离出来, 并试图在信任层上构建独⽴的⼀层 ⸺ EigenLayer. 这⼀层依托于以太坊信任层⽹络(或者说以太坊庞
⼤的质押资本)来提供给基础设施/中间件服务商⼀个可以⾃由构建共识、应⽤的平台。
⽽这其中,如何连接以太坊信任层和 EigenLayer 便是整个设计的关键之处。EigenLayr 巧妙地提出了⼀个全新的概念 ⸺ Restaking。以太坊上的质押节点们可以⾃愿选择加⼊ EigenLayr。⽽另⼀边,对于 性能层⾯有更多需求的中间件/基础设施服务商也可以选择将⾃⼰的⽹络搭建在 EigenLayr 上。
EigenLayr 的分离⽅案相当于仅“借⽤”了以太坊的信⽤(共识)基础,⽽在此基础之上,我们可以展 开⽆尽的联想,⽆论是构建全新的主权链,还是搭建基础设施⽹络,都有了可能性。⽽在这些可能性背后,是以太坊主⽹庞⼤的信⽤基础在背书。
我们可以发现,以太坊模块化之路上可⻅的未来⾥,主⽹依旧要保持着对共识层的控制,或者说共识 层作为以太坊灵魂的存在,是汇集参与者和价值的“圣杯”。
同样是模块化区块链,Arweave 显然独树⼀帜,它跳出了以太坊的叙事逻辑,即构建了⼀套基于存 储共识的设计范式。
在 Arweave 的设计中,主⽹作为整个图灵机的纸带,在底层记录这些状态以 及各个修改状态的交易,实现了存储和计算资源的分离。
可以说 Arweave 重新定义了我们的模块化分割,它使⽤ DA 层来保障共识,⽽执⾏、结算都交给了链外。
当然代价就是:⽤⼾为了获得最新状态数据的有效性保证,需要在本地执⾏链下计算前,先下载 所有历史状态数据并进⾏⼀遍验证计算,这显然会带来效率问题(KYVE Network 正致⼒于解决这部分⼯作引发的效率低下问题)。
纵观这些区块链模块化之路的探索,虽百花⻬放,但仍然有迹可循。究其根本,不同的路线选择的源动⼒往往还是来⾃于其对于市场需求的不同理解。
这轮 DeFi 掀起的⼤⽜市,让⼤家对于以太坊可扩展性、不同链的可组合性产⽣了迫切的需求。也正是基于这些需求,致⼒于缓解主⽹压⼒的众多解决⽅案粉墨登场。如果说,未来区块链⽹络的叙事逻辑仍然是以⾦融原语构建的,那么也许以 Rollups 为核⼼的 ETH2.0 将是模块化之路可⻅的终点。
如果我们跳出去中⼼化⾦融语境的束缚,尝试想象区块链更⼴⼤的应⽤呢?⼤型游戏、真实世界资产 交易、去中⼼化社交⽹络等等,那我们也许就需要⼀个新的模块化⽅案来充分释放每个模块的效能。
⽽另⼀⽅⾯,对于公链本⾝的发展⽽⾔,共识才是公链最核⼼的价值。就如同我们上⾯提到的那样,以太坊⽆论如何发展,都不会抛弃其共识层去换取性能。
⽽区块链模块化的道路,绝不仅是考虑性能上的⼀味扩张,更重要的要回到区块链本⾝的属性上来,从共识中获取价值,再通过价值回馈共识,从⽽构建更强的共识。