模块化区块链:以太坊成为“世界计算机”的工程化方案

金色财经 view 14896 2022-9-23 09:39
share to
Scan QR code with WeChat

区块链的模块化趋势

站在2022年的当下看Crypto的发展趋势,在这个时候去做一个L1新公链难免有点牵强,模块化区块链的叙事不可忽视。

The Merge之后,Ethereum的发展路线越来越倾向于模块化区块链(Modular Blockchain)的方向。模块化区块链与单片区块链(Monolithic Blockchain)的区别主要在于:单片区块链在一个基础共识层同时实现执行、结算、共识和数据可用性四个功能,而模块化区块链则分为多个模块负责这些功能实现。事实上,并非只有以太坊在规划模块化的架构:最早提出模块化区块链思路的Celestia正基于Cosmos生态为Rollups搭建一个数据可用性层;Tezos也正在拥抱以Rollup为中心的路线图;NEAR也正在对数据可用性分片进行设计。本文主要讨论以太坊的模块化趋势。

模块化区块链:以太坊成为“世界计算机”的工程化方案

以太坊的拥堵现状,已经反映了单片区块链的弊端——可扩展性差、不可定制、费用高。单片区块链的问题在于:在共识层必须执行许多不同的任务,并且仅针对其中一项功能进行优化无法有效提高区块链的性能。形象地说,单片区块链就像一个由4块木板构成的木桶,它的容量(性能)取决于最短的那根,只要有一个属性短板整体性能就有短板,而“区块链不可能三角”又限制了所有属性同时实现极致发展的可能,所以单纯地基于单片区块链的思路做扩容是无法解决以太坊的困境的。

模块化区块链:以太坊成为“世界计算机”的工程化方案

模块化混合扩容:layer1(data sharding)+layer2(rollups)

实际上模块化区块链本质上是一种混合扩容的方案。在第六届区块链全球峰会上,Vitalik的演讲主题是《以太坊第二层协议生态的崛起》,会上Vitalik认为以太坊生态系统中不单纯是Layer1扩容或者Layer2扩容,采取的是混合扩容的方式。而模块化区块链的本质就类似layer1和layer2混合扩容。

以太坊的模块化架构

以太坊的模块化架构设计主要分为四层:执行层、结算层、共识层、数据可用性层。目前很多情况下,行业内也会把执行层和结算层统一称执行层,共识层和数据可用性层统一称为共识层。

模块化区块链:以太坊成为“世界计算机”的工程化方案

执行层(Execution Layer):负责处理链上交易、执行链上订单并验证转账和智能合约的执行,主要将以Rollup为主。模块化区块链发展到一定阶段后,用户通常是基于执行层与区块链进行交互,包括签名交易、部署智能合约以及转移资产等。执行层解决了区块链的可扩展性。

结算层(Settlement Layer):结算层用于验证Rollup等执行层的执行结果以及解决争议,并结算出状态承诺。

共识层(Consensus Layer):共识层通过全节点网络下载和执行区块的内容,就状态转换的有效性达成共识,从而提供排序和最终确定性,并以PoS机制验证出块。

数据可用性层(Data Availability Layer):保证交易数据可以被使用(保证存储且可验证与可用)。需要将验证状态转换有效性所需的数据发布并存储在这一层,一旦遭遇恶意区块提议者扣留交易数据的事件,数据可用性层的数据可用作验证。

在The Merge后可预见的短中期阶段,以太坊的结算层、共识层和数据可用性层是统一的。未来的Danksharding将会把以太坊L1的数据分片(Data Sharding)转变为数据可用性引擎、信标链作为共识层、原来的以太坊主网成为一个执行层,更多的执行层则是L2的Rollups。此外,在目前L2的基础上,行业里已经开始探索定制化的L3也将是执行层的扩展。

如果说当下的以太坊还只是理论性“世界计算机”,那么模块化区块链则是以太坊成为“世界计算机”的工程化方案。

以太坊接下来的规划

众所周知,The Merge是关于从PoW转换为PoS,Beacon Chain和原以太坊主链合并。The Merge之外,以太坊其实还同时并行推进着The Surge、The Verge、The Purge、The Splurge。这些升级的推出顺序尚不确定,因为它们是相互独立、平行进行的。

模块化区块链:以太坊成为“世界计算机”的工程化方案

The Surge是关于引入分片,届时将允许以太坊网络通过分片来实现大规模扩展。

The Verge是关于Verkle Trees,以帮助优化以太坊上的存储并帮助减少节点大小。这次升级将致力于通过Verkle Trees优化存储,这是一种数学证明,是Merkle Trees的升级。通过减少验证者需要在其电脑上存储的数据量来运行操作,节点规模将缩小,并允许更多用户成为验证者。这将进一步使网络去中心化,提高安全性。

The Purge将减少验证者所需的硬盘空间,因为消除了历史数据和技术债务。这意味着存储简化,从而减少网络拥堵。

The Splurge是对以太坊网络的一系列微调,包含各种较小的升级,让以太坊网络更丝滑。

Vitalik表示,以太坊在完成以上5个关键阶段后可以实现10万TPS,真正成为他当初设想的“世界计算机”。

以上五个并行的关键阶段的命名虽然押韵,但可能还是挺难理解以太坊在未来三四年的具体规划。如果把其中的更关键更具体的升级事件拎出来讲,也许更能看清以太坊的模块化趋势

1、Proto-danksharding(EIP-4844)

Proto-danksharding是一个提议,用于实现构成完整Danksharding规范的大部分逻辑和基础规则(例如:交易格式、验证规则等),但这个阶段尚未实现任何分片。在Proto-danksharding阶段,所有验证者和用户仍然必须直接验证完整数据的可用性。

Proto-danksharding引入的主要特征是新的交易类型,称为“携带blob的交易”。携带blob的事务类似于常规事务,主要区别是它还携带一个称为blob的额外数据。Blob大概128kb,比类似大小的Calldata便宜很多。但是EVM执行无法访问blob数据,EVM只能查看对blob的承诺。

目前以太坊的区块大小是由Gas容量决定,在EIP-4844实施后Blob的数量将会成为决定区块大小的另一个维度。Blob是一种二元数据结构,大小约为128kb,以太坊区块对每个区块中可以容纳的Blob做了限制,目标Blob数量是8个,最大可以为16个,因此每个区块将额外增加1-2MB(128*8-128*16)的存储空间。

Blob主要用于存储Layer2的数据,在此之前Layer2数据的存储是通过Calldata实现的。在引入Blob后,区块内可用于存储的空间将得到大幅增加。但由于Blob数据较大,如果每个区块额外增加1MB的Blob数据,那么以太坊区块链一个月就会多出数TB的数据,为了解决数据量快速增加的问题,这些Blob数据将会采取离线存储的方式,而且30天后会自动删除

由于Blob的数据没有与现有以太坊交易的Gas使用量竞争,因此仍然可以获得很显著的扩容效果。如果要比较简单地理解Proto-Danksharding的这个EIP-4844提议,可以理解为——以太坊layer1在保持1MB的区块大小的基础上,通过采取30天短期、离线存储的方式以Blob这种形式来存储Layer2的数据,以此实现扩容效果。

2、Danksharding

Danksharding是为以太坊提出的新分片设计。以前计划的分片是状态分片(State Sharding),后来决定以Rollups为中心的路线图,实施layer1(data sharding)+layer2(rollups)模块化混合扩容方案后,实施的是数据分片(Data Sharding)。数据分片本质上是模块化区块链的思路,将以太坊分成多个数据分片,每个数据分片连接一个或多个Rollup,Rollup作为执行层,以太坊作为共识层和数据可用性层。

Danksharding引入的核心机制主要:PBS和DAS。

PBS(Proposer builder separation)是指构建区块时区块提议者(Proposer)和区块构建者(builder)分离。由Proposer提议区块,Builder竞拍交易的排序权并计算区块头,Proposer根据Builder的计算结果打包交易并将区块头写入区块完成出块。在PBS之前的区块提议者(Merge前是Miner,Merge后是Validator)可以通过查看mempool中有哪些交易并采取一些策略来获得MEV的机会以最大化他们的挖矿收益。引入PBS机制后,这种角色分离机制结合Builder排序权的竞拍机制可以一定程度上解决MEV问题,最后的MEV收益相当于会被全网验证者共享。除此之外,PBS还有助于解决分片与信标链的同步问题、以太坊网络的抗审查问题等。

模块化区块链:以太坊成为“世界计算机”的工程化方案

DAS(数据可用性抽样,Data Availability Sampling)是解决区块链状态爆炸的有效方法。让验证节点检查区块可用性,通过使用DAS检查,轻客户端可以通过仅下载一些随机选择的块来验证一个块是否已发布。由于DAS可以对区块数据做并行化验证,所以未来数据分片(Data Sharding)的数量即使很多,也不会增加单个验证节点的负担,反而会刺激更多验证节点加入,从而保证验证节点的充分去中心化。

最终,Danksharding能够通过PBS实现以太坊的中心化出块,通过DAS实现去中心化验证,并且具备一定程度的抗审查性,从而确保以太坊成为可扩展的共识层和数据可用性层,并且能够承接住执行层的更多Rollups。(PS:中心化出块、去中心化验证也是Vitalik在Endgame中提出的对以太坊未来发展的构想。)

总结

我其实一直觉得以太坊创始团队是很有情怀的,有很多细节让我觉得他们会不忘初心、砥砺前行。

在以太坊历次升级中,有三个升级让我印象深刻,分别是:437万区块高度的拜占庭硬分叉、728万区块高度的君士坦丁堡硬分叉、906.9万区块高度的伊斯坦布尔网络升级。

很有意思的是,拜占庭、君士坦丁堡和伊斯坦布尔是同一个城市。这个城市横跨欧亚,北濒金角湾、南临马尔马拉海、东与小亚西亚半岛隔海相望、只有西边与陆地相连。拿破仑曾对这座城市慷慨陈词:“如果世界是一个国家,他的首都一定是伊斯坦布尔”。这座古城因为以太坊的缘故,与区块链世界构建了微妙的联系,这三次升级的命名也传递了一种讯息——以太坊始终如一。

也许以太坊的模块化区块链之路不会走得那么快,但可以确定的是,无论大主题的The Merge、The Surge、The Verge、The Purge、The Splurge等旨在实现10万TPS的五阶段,还是具体的关键升级Proto-danksharding、Danksharding,最终目的都是要推动以太坊实现“世界计算机”的初衷。

参考文章:

https://notes.ethereum.org/@vbuterin/proto_danksharding_faq

https://vitalik.ca/general/2021/12/06/endgame.html

https://www.blocktempo.com/vitalik-say-merge-surge-verge-purge-splurge-are-all-happening-in-parallel/

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 从 DAO 国库入手 如何分析 DAO 财务健康状况? Next: OpenSea已推出NFT稀有度开放标准OpenRarity!附简易上手教程

Related