最新快讯
5分钟前
Aptos Labs:公布钱包地址以保持透明度
ChainCatcher 消息,Aptos Labs 响应 Binance 行业复苏计划表示,保持透明度是 Web3 的关键,并公布其钱包地址,具体地址为:0x1dA550E32fcfbC8C4AE6A84b26640bC27A3B9918。(来源链接)
36分钟前
阿里云已添加对 Avalanche 验证节点和基础设施的支持
ChainCatcher 消息,阿里云已添加对 Avalanche 验证节点和基础设施的支持,用户可使用阿里云服务建立验证节点,并使用阿里云的存储和内容分发网络支持亚洲用户。(来源链接)
37分钟前
去中心化社区 Bankless 收购空投聚合器平台 Earnifi
ChainCatcher 消息,去中心化社区 Bankless 在社交媒体发文确认已完成对空投聚合器平台Earnifi 的收购,但收购金额没有对外披露。 据悉,本次收购完成后,Bankless 也能向其用户提供 DeFi 构建工具,该平台透露目前正在构建Earnifi 机器人服务并将拓展更多产品类别。(来源链接)
38分钟前
新加坡副总理:新加坡没有计划成为加密货币活动的中心
ChainCatcher 消息,新加坡副总理兼财政部长 Lawrence Wong 在该国议会中回答议员质询时表示,由于加密货币的波动性,再加上它们没有内在价值,运营和管理良好的加密货币平台也不能免于崩溃。那些从事加密货币交易的人必须做好失去所有价值的准备,无论怎样的监管都无法消除这种风险,政府和 MAS 已将发展创新和负责任的数字资产生态系统与加密货币投机区分开来,他们不鼓励零售公众参与。 此外,Wong 还指出,新加坡没有计划成为加密货币活动的中心,而是聚焦于成为一个创新且负责任的数字资产参与者。(来源链接)
1小时前
Galaxy Digital 将从 Celsius 处收购自托管平台 GK8
ChainCatcher 消息,据彭博社报道,Galaxy Digital 赢得了 Celsius Network 此前收购的自托管平台 GK8 的拍卖,但并未披露交易条款。 Galaxy Digital 联席总裁 Chris Ferraro 表示,购买价格远低于 Celsius 于 2021 年 11 月收购 GK8 时 1.15 亿美元的收购价格。(来源链接)
查看更多
扫码下载链捕手APP
专业的区块链资讯、数据与研究平台

合并在即:详解以太坊最新技术路线

IOSG Ventures
以太坊 2.0 动态与研究
2022-07-19 00:26
收藏
我们大致可以看到,未来的2至3年内,以太坊路线图的指向性是非常明显的——围绕服务Rollup而展开。

作者:Jiawei 

编辑:Olivia,IOSG Ventures

本文仅做行业学习交流之用,不构成任何投资参考

 

  • 如果「The Merge」进展顺利,分片将成为以太坊在2023年及之后的开发主轴,而距离2015年分片被提出,其含义已经发生了很大变化。

  • 在Vitalik提出「以Rollup为中心的以太坊路线图」和以太坊的「Endgame」之后,以太坊的大方向发生了事实上的转变——「退居幕后」,作为Rollup的安全性保证和数据可用性层。

  • Danksharding和Proto-Danksharding是一系列的技术组合,表现形式在于「发现问题」、引入或提出新技术来「解决问题」的一套组合拳。

  • 时间线拉长到未来几年,Rollup的整体价值将变大:以太坊上呈现多Rollup的发展格局、跨Rollup基础设施高度完善、Rollup生态高度繁荣——甚至超越以太坊本身。

    图片

引言

 

image

图片来源:https://consensys.net/blog/blockchain-explained/the-roadmap-to-serenity-2/

转眼2022年已走过一半。我们回看Vitalik在2018年Devcon演讲中提出的Serenity Roadmap,容易发现以太坊的发展路径几经更迭 — 对比当前的路线图,分片被赋予新的含义,eWASM亦少有人提及。

为了避免潜在的欺诈和用户误导问题,今年1月底,以太坊基金会宣布弃用「ETH2」的说法,而是把当前的以太坊主网改称为处理交易和执行的「执行层」,把原ETH2的说法改称为协调和处理PoS的「共识层」。图片

image

当前,以太坊官方的路线图涵盖了三部分内容:信标链、合并与分片。

其中,信标链(Beacon Chain)作为以太坊向PoS迁移的前置工作,以及共识层的协调网络,于2020年12月1日启用,迄今已运行近20个月。

合并(The Merge)指当前以太坊主网与信标链的最终合并,也即执行层与共识层的统一,标志着以太坊正式迁移到PoS。在IOSG的文章「黎明将至:以太坊合并近在咫尺」中,我们介绍了合并相关的重要进展:当前以太坊Ropsten与Sepolia测试网成功完成了合并,紧接着是Goerli的合并;如果一切顺利,意味着我们离主网合并不远了。

image

图片来源:https://medium.com/decipher-media/blockchain-scaling-solutions-4-1-ethereum-sharding-e88e8cacdfc

本文我们将着重讨论分片(Sharding)。原因在于:

其一,假定主网合并能够在年内顺利实现,那么分片将紧随其后,作为2023年以太坊的开发主轴。

其二,以太坊分片的概念最早由Vitalik在2015年的Devcon 1中提出,此后GitHub的Sharding FAQ中提出了分片的6个发展阶段(如上图)。然而,随着以太坊路线图的更新和相关EIP的推动,分片的含义和优先级都产生了很大变化。当我们在讨论分片时,需要先确保对其含义的理解达成一致。

综上两点,梳理清楚分片的来龙去脉是很重要的。本文将着重讨论以太坊原分片、 Danksharding和Proto-Danksharding的由来、进展和未来路线,而非具体到每个技术细节。关于Danksharding和Proto-Danksharding的详细内容,可参考IOSG此前的文章:「扩容杀手锏 Danksharding 会是以太坊分片的未来吗」「EIP4844:即将开启L2交易费降低可预见的洼地效应」

图片

Quick Review

 

这篇文章中将会多次提到Rollup、数据可用性和分片。

我们在这里快速回看一遍三者的基本概念。

image

当前主流Rollup分为zkRollup和Optimistic Rollup。前者基于有效性证明,即批量执行交易,依赖密码学证明SNARK来保证状态转换的正确性;后者「乐观地」假设所有状态转换是正确的,除非被证伪;即需要一段时间窗口来确保错误的状态转换能够被发现。

image

数据可用性对zkRollup和Optimistic Rollup都非常重要。对前者而言,用户可以基于数据可用性重建二层的所有交易,以确保抗审查;对后者而言,需要使二层的所有数据都被发布,没有被隐藏任一交易。至于当前数据可用性面临的瓶颈与相应的解决方案,在下文中会提到。

image

图片来源:https://www.web3.university/article/ethereum-sharding-an-introduction-to-blockchain-sharding

以太坊全节点对EVM的完整状态进行存储,并参与所有交易验证,这样确保了去中心化和安全性,但随之而来的是可扩展性的问题:交易线性执行,且需要每个节点进行逐一确认,这样无疑是低效的。

此外,随着时间推移,以太坊网络数据不断积累(当前达786GB),运行全节点的硬件要求随之水涨船高。全节点数量下降将引发潜在的单点故障,并削弱去中心化的程度。

直观地看,分片相当于分工合作,即对所有节点进行分组,每笔交易只需要由单组节点进行验证,并定期向主链提交交易记录,以此实现交易的并行处理(比如有1000个节点,原来每笔交易都必须由每个节点进行验证;如果把他们分为10组,每组100个节点来验证交易,效率显然大大提升了)。采用分片使得在提高可扩展性的同时,也降低了单组节点的硬件要求,从而解决上述两个问题。

 

原分片

 

image

 

以太坊原方案中有64个分片,每个分片中都有独立的提议者和委员会,提议者是被随机选择的一个验证者,收集交易并进行排序;委员会是一组验证者的集合(至少由128个验证者组成),每隔一定时间被随机分配到各个分片上,并验证交易的有效性,如果委员会的2/3投票通过,则调用验证者管理合约(VMC)向信标链提交交易记录。区别于下述的「数据分片」,这种分片也被称为「执行分片」。

 

背景

 

在聊Danksharding之前我们不妨先花点时间了解其背景。个人猜想,Danksharding推出的社区氛围基础主要来自Vitalik的两篇文章。这两篇文章为以太坊的未来发展方向定下了基调。

首先,Vitalik于2020年10月发表了「以Rollup为中心的以太坊路线图」,提出以太坊需要在中短期内对Rollup进行集中支持。其一,以太坊基础层扩容将聚焦于扩大区块的数据容量,而非提高链上计算或IO操作的效率。即:以太坊分片旨在为数据blob(而非交易)提供更多空间,以太坊无需对这些数据进行解释,只确保数据可用。其二,以太坊的基础设施进行调整以支持Rollup(如ENS的L2支持、钱包的L2集成和跨L2资产转移)。长远来看,以太坊的未来应该作为安全性高的、人人可处理的单一执行分片,以及可扩展的数据可用性层。

 

image

图片来源:https://vitalik.ca/general/2021/12/06/endgame.html

此后,Vitalik在2021年12月发表的「Endgame」中描述了以太坊的最终图景:区块产出是中心化的,但区块验证实现去信任且高度去中心化,同时确保抗审查。底层链为区块的数据可用性提供保证,而Rollup为区块的有效性提供保证(在zkRollup中,通过SNARK来实现;在Optimistic Rollup中,只需有一个诚实参与者运行欺诈证明节点)。

类似于Cosmos的多链生态,以太坊的未来将是多Rollup共存的——它们都基于以太坊提供的数据可用性和共享安全性。用户依赖桥在不同Rollup之间活动,而无需支付主链的高额费用。

上述两篇文章基本确定了以太坊的发展方向:优化以太坊的基础层建设,为Rollup服务。以上论点也许基于这样一个看法:既然Rollup已经被验证有效并且得到良好的采用,那么「与其将花上几年时间等待一个不确定且复杂的扩容方案(注:指原分片),不如将注意力放在基于Rollup的方案上」。

在此之后,Dankrad提出了新分片方案Danksharding。以下我们把Danksharding的具体技术组成拆分出来理解。

 

Proto-Danksharding

 

image

图片来源:https://l2fees.info/

Proto-Danksharding提出的背景在于,虽然Rollup方案对比以太坊主链而言显著降低了交易费用,但还没有到足够低的理想程度。这是由于以太坊主链上提供数据可用性的CALLDATA仍然占据较大的花费(16gas / byte)。在原先的设想中,以太坊提出在数据分片中提供每个区块16MB的专用数据空间给Rollup使用,但距离数据分片的真正实施仍旧遥遥无期。

今年2月25日,Vitalik和DankRad等提出了EIP-4844(Shard Blob Transactions)提案,也即Proto-Danksharding,旨在以简单、前向兼容的方式扩展以太坊的数据可用性,使其在Danksharding推出之后仍然可用。该提案的改动仅发生在共识层上,不需要执行层的客户端、用户和Rollup开发者进行额外的适配工作。

Proto-Danksharding实际上并未执行分片,而是为将来的分片引入了一种称为「Blob-carrying Transactions」的交易格式。这种交易格式区别于普通交易在于其额外携带了称为blob的数据块(约为125kB),使区块实际上变大,从而提供比CALLDATA(约为10kB)更加廉价的数据可用性。

然而,「大区块」的普遍问题是对磁盘空间的要求不断累加,采用Proto-Danksharding将使以太坊每年额外增加2.5TB的存储量(当前全网络数据仅为986GB)。因此,Proto-Danksharding设置了一段时间窗口(例如30天),在此之后对blob做删除操作,用户或者协议可以在这段时间内对blob数据进行备份。

即,以太坊的共识层仅仅作为一个高度安全的「实时公告板」,确保这些数据在足够长的时间里是可用的,并使其他用户或协议有足够的时间来备份数据,而非由以太坊永久保留所有的blob历史数据。

这么做的原因是,对存储来说,每年新增的2.5TB不在话下,但对以太坊节点却带来不小的负担。至于可能导致的信任假设问题,实际上只需有一个数据存储方是诚实的(1 of N),系统就可以正常运作,而不需要实时参与验证、执行共识的验证者节点集(N/2 of N)来存储这部分历史数据。

那么,有没有激励来推动第三方对这些数据进行存储呢?笔者暂时没有发现激励方案的推出,但Vitalik本人提出了几个可能的数据存储方:

1、针对应用的协议(例如Rollup)。它们可以要求节点存储与应用相关的历史数据,如果历史数据丢失,会对这部分应用造成风险,因此它们有动力去做存储;

2、BitTorrent;

3、以太坊的Portal Network,这是一个提供对协议的轻量级访问的平台;

4、区块链浏览器、API提供者或者其他数据服务商;

5、个人爱好者或者从事数据分析的学者;

6、The Graph等第三方索引协议。

 

Danksharding 数据可用性采样(DAS)

 

image

图片来源:https://notes.ethereum.org/@hww/workshop_feb_2022

在Proto-Danksharding中我们提到新的交易格式使得区块实际上变大了,并且Rollup也累积了大量数据,节点需要下载这些数据来保证数据可用性。

DAS的想法是:如果可以把数据分为N个块,每个节点随机地下载其中的K个块,就能验证所有数据是否可用,而无需下载所有数据,这样就能大大减少节点的负担。但如果某个数据块丢失了怎么办?仅仅通过随机下载K个块很难发现某个块丢失了。

为了实现DAS,引入了纠删码(Erasure Coding)技术。纠删码是一种编码容错技术,基本原理是把数据分段,加入一定的校验并使各个数据段之间产生关联,即使某些数据段丢失,仍然能通过算法将完整的数据计算出来。

如果把纠删码的冗余比例设置为50%,那么意味着只需要有50%的区块数据可用,网络中的任何人就可以重建所有区块数据,并且进行广播。如果攻击者想要欺骗节点,则必须隐藏掉超过50%的区块,但只要进行多次随机采样,这种情况几乎不会发生。(例如,假设对区块进行了30次随机采样,这些区块都恰好被攻击者隐藏掉的几率是图片

既然节点不下载所有数据,而是依靠纠删码来重建数据,那么首先需要确保纠删码被正确编码,否则用错误编码的纠删码当然没法重建数据。

这样,进一步引入了KZG多项式承诺(KZG Polynomial Commitments),多项式承诺是一个「代表」多项式的简化形式,用于证明多项式在特定位置的值与指定的数值一致,而无需包含该多项式的所有数据。Danksharding中通过采用KZG承诺来实现对纠删码的验证。

如果我们可以把所有数据都放在一个KZG承诺中当然很省事,但是构建这个KZG承诺,或者一旦有部分数据不可用,重建这个数据——两者的资源要求都是巨大的。(实际上,单个区块的数据需要多个KZG承诺来保证)而同样为了降低节点负担从而避免中心化,Danksharding中把KZG承诺进行了进一步的拆分,提出了二维KZG承诺框架。

当我们依次解决上述问题之后,依靠DAS,节点或者轻客户端只需要随机下载K个数据块,就能够验证所有数据是可用的;这样一来,即便引入「大区块」之后,也不会过多地加重节点的负担。

(注:特别地,Danksharding中采用的纠删码算法是Reed-Solomon编码;KZG承诺是由Kate、Zaverucha和Goldberg发表的多项式承诺方案。在此暂不做展开,对算法原理感兴趣的读者可自行拓展。此外,确保纠删码正确性的方案还有在Celestia中采用的欺诈证明)

区块提议者与构建者分离(PBS)

在当前情况下,PoW矿工和PoS验证者既是区块构建者(Builder),又是区块提议者(Proposer)——在PoS中,验证者可以用MEV的利润获取更多新的验证者席位,从而有更多机会去实现MEV;此外,大型验证池显然比普通验证人有更强大的MEV捕获能力,这样导致了严重的中心化问题。于是,PBS提出把Builder和Proposer进行分离。

PBS的想法如下:Builder们构建一个排好序的交易列表,并且把出价提交给Proposer。Proposer只需要接受出价最高的交易列表,且任何人在拍卖的获胜者被选出之前,无法知道交易列表的具体内容。

这种分离和拍卖的机制引入了博弈和Builder之间的「内卷」:毕竟每个Builder捕获MEV的能力不尽相同,Builder需要权衡潜在的MEV利润、以及拍卖出价之间的关系,这样实际上减少了MEV的净收入;而无论最终Builder提交的区块是否能够顺利产出,都需要向Proposer支付竞价的费用。这样一来,Proposer(广义上是所有验证者集,一定时间内随机重选)相当于分享了一部分MEV的收入,削弱了MEV的中心化程度。

以上介绍了PBS在解决MEV方面的优势,而引入PBS还有另一个原因。在Danksharding中,对Builder的要求是:在1秒左右计算出32MB数据的KZG证明,这需要32-64核的CPU;并且在一定时间内以P2P的方式广播64MB的数据,这需要2.5Gbit/s的带宽。显然验证者无法满足这样的要求。

于是PBS把两者分开,Proposer仍然作为一般验证者节点,负责选择交易列表,并广播区块头;而Builder作为一个专门的角色,负责上述工作和构建交易列表。

image

图片来源:https://ethresear.ch/t/two-slot-proposer-builder-separation/10980

去年10月,Vitalik提出了双Slot PBS方案(注:每个Slot为12秒,是信标链的时间单位),但具体的PBS方案仍然在讨论中。

抗审查列表(crList)

image

图片来源:https://notes.ethereum.org/@hww/workshop_feb_2022

但PBS也带来一个问题,如果某个Builder总是出最高价(甚至宁愿承担经济损失)来赢得拍卖,那么他实际上有了审查交易的能力,可以选择性地不把某些交易包含在区块中。

为此,Danksharding进一步引入了抗审查列表crList(即Censorship Resistance List),即Proposer有权利指定一个交易列表,这个交易列表必须被Builder所包含;在赢得拍卖后,Builder需要证明crList中的交易都已经被包含在内(或区块已满),否则该区块将被视为无效。

小结

image

图片来源:https://notes.ethereum.org/@hww/workshop_feb_2022

把上述的数据可用性采样(DAS)、区块构建者和提议者分离(PBS)以及抗审查列表(crList)组合起来,就得到了完整的Danksharding。我们发现,「分片」的概念其实已经被淡化了,尽管保留了Sharding的叫法,但实际上的重点已经放在对数据可用性的支持上。

那么Danksharding对比原分片有哪些优势呢?

(Dankrad本人在这里列举了Danksharding的10个优点,我们选取两个来具体解释)

在原分片中,每个单独的分片都有其提议者和委员会,分别对分片内的交易验证进行投票,并由信标链的提议者收集所有投票结果,这项工作很难在单个Slot内完成。而在Danksharding中只在信标链上存在委员会(广义的验证者集,一定时间内随机重选),由这个委员会来验证信标链区块和分片数据。这相当于把原来的64组提议者和委员会简化为1组,无论是理论还是工程实现的复杂度都大大降低了。

Danksharding的另一个优点是,以太坊主链和zkRollup之间有可能实现同步调用。上文我们谈到,在原分片中信标链需要收集所有分片的投票结果,这会产生确认的延迟。而在Danksharding中,信标链的区块和分片数据由信标链的委员会进行统一认证,也即同个信标区块的交易可以即时访问分片的数据。这样激发了更多可组合性的想象空间:例如StarkWare提出的分布式AMM(dAMM),能够跨L1/L2进行Swap或共享流动性,从而解决流动性碎片化的问题。

在Danksharding得到实施之后,以太坊将变成Rollup的统一结算层和数据可用性层。

图片

Closing Thoughts

 

image

在上图中,我们对Danksharding进行一个总结。

综上,我们大致可以看到,未来的2至3年内,以太坊路线图的指向性是非常明显的——围绕服务Rollup而展开。尽管在此过程中路线图改动与否仍然是未知数:Danksharding 预计将在未来18-24个月内实现,而Proto-Danksharding将在6-9个月内实现。但至少我们明确了Rollup作为以太坊的扩容基础,占据着一定的主导地位。

根据Vitalik提出的展望,在此我们也提出一些预测性思考和猜想:

  • 一是类似Cosmos的多链生态,未来以太坊上将出现多Rollup的竞争格局,由以太坊为它们提供安全性和数据可用性的保证。

  • 二是跨L1/Rollup基础设施将成为刚需。跨域MEV将带来更加复杂的套利组合,类似上述提到的dAMM带来更丰富的可组合性。

  • 三是多Rollup的生态应用将超越以太坊本身。由于以太坊的定位退居其次,作为Rollup的数据可用性层,我们猜测更多的应用会迁移到Rollup上面去做(若第二点成立);或者至少在以太坊和Rollup上面同时做应用。


参考材料:

https://consensys.net/blog/blockchain-explained/the-roadmap-to-serenity-2/

https://www.web3.university/article/ethereum-sharding-an-introduction-to-blockchain-sharding

https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698

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

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

https://twitter.com/pseudotheos/status/1504457560396468231

https://ethos.dev/beacon-chain/

https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance#How-does-proposerbuilder-separation-PBS-work

https://notes.ethereum.org/@fradamt/H1ZqdtrBF

https://cloud.tencent.com/developer/article/1829995

https://medium.com/coinmonks/builder-proposer-separation-for-ethereum-explained-884c8f45f8dd

https://dankradfeist.de/ethereum/2021/10/13/kate-polynomial-commitments-mandarin.html

https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum

https://vitalik.ca/general/2019/09/22/plonk.html

以太坊 2.0 动态与研究
追踪以太坊2.0进展,分析相关影响与前景
链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 如发现站内内容含敏感信息,可点击 “举报”, 我们会及时处理。