欧易研究院:以太坊2.0方案及进展研究报告

okx learn
欧易
2022.04.22

作者:研究员 秀秀Shirley

前言:

近期,以太坊开发者Marius van der Wijden在社交平台上表示,目前正在以太坊上测试PoS机制,并将进行首次主网影子分叉。这意味着以太坊“合并”的即将到来,“合并”是以太坊2.0可扩展蓝图上的一个关键里程碑,届时以太坊整个网络将过渡为PoS共识机制。

另外,以太坊2.0核心开发者dapplion在其社交账号上表示,本周六将再次进行以太坊主网影子分叉测试。

伴随着“合并”临近,以太坊2.0的脚步也更进了一程。其力图在不牺牲去中心化原则的前提下使应用区块链变得更快速、更便宜,具体的方案和进程再次成为大家热切关注的话题。那么以太坊2.0到底是什么方案?包含哪些升级?目前进展如何?它的到来,又会为行业发展造成哪些影响呢?欧易研究院将从以太坊2.0技术进展、以太坊2.0方案、展望和风险三个部分对以太坊2.0展开详细讲解。

注:为迎接合并的到来,以太坊基金会此前宣布,以太坊在升级协议的同时也面临着定位的转变,在2021年底,核心开发人员已经停止使用Eth1.0、Eth2.0术语,分别使用“执行层”和“共识层”来替代。 但改名未影响以太坊的既定的升级路线,因以太坊2.0称谓已深入人心,本文仍将沿用“以太坊 2.0”这一名称。

一、以太坊2.0技术进展

1.1路线规划

以太坊成立至今牢牢占据第一公链的位置,拥有着全球最大的开发者社群,DAPP数量将其他公链远远甩在身后。但是即便是这样首屈一指的地位,也并不意味着就可以高枕无忧了。定位于“世界计算机”的以太坊,目前每秒只能处理大约20笔交易,甚至难以支持一个普通规模的商业应用,频频发生的拥堵事件导致的高gas费和等待打包交易更是让用户的体验变得很差,这在很大程度上限制了以太坊的发展。

以太坊2.0便是解决当前以太坊的网络性能瓶颈的既定规划,致力于在不降低去中心化的前提下大幅提升以太坊网络上的扩展性与性能,从而更好的承载去中心化应用,促进行业应用爆发。

以太坊的目标是成为分布式金融和智能合约执行平台,成为“一台真正的世界计算机”。为了实现世界计算机的目标,其在2014年诞生之初,就设定了4个发展阶段:分别是Frontier (前沿)、Homestead (家园)、Metropolis (大都会)、Serenity (宁静)。前三个阶段都是采用PoW模式,第四个阶段“宁静”则是以太坊的最终形态,也就是我们常说的以太坊2.0。

目前为止,以太坊的前三个阶段都已经完成,正在进行第四阶段的开发工作,这期间将完成从 PoW 到 PoS 的转化,以及分片、由eWASM代替EVM等重要升级,升级完成后以太坊的性能将会大大提升。

当然,第四阶段无法一蹴而就,会分阶段进行升级。据其最新路线图显示,以太坊第四阶段升级的主要节点是2021年Q3信标链上线,2022年“合并”,以及在之后将实施的分片。目前信标链已于2020年12月上线,此后信标链开始以PoS的形式运行,执行层产生区块的过程仍然由原链以 PoW 形式进行,以太坊进入一个PoW+PoS混合挖矿的阶段,为整个网络向PoS过渡做铺垫。

(以太坊升级的最新路线图)

截至4月12日,信标链运行平稳。链上数据显示,信标链已拥有34.13万个节点,累计质押总额约1090.46万ETH,其中有效投票参与率达99.84%。自2021年10月15日至今,节点数量和质押总额稳步增长,每日验证者收入也在缓慢增长中。

(信标链区块数据,图片来源于https://beaconscan.com/)

1.2“合并”来临

接下来,以太坊计划于2022年第二季度进行“合并”。将会把共识层(PoS信标链)与执行层(PoW原链)合并,并停止原链的 PoW 部分,这次升级代表着以太坊正式切换到PoS共识。

  • 值得注意的是,本次合并将停止原链的 PoW 验证,且不会解锁此前质押到信标链的 ETH,解锁将在合并后的第一次硬分叉中进行。这意味解锁前既没有 PoS 增发的 ETH 能够释放流通,也停止了通过PoW 方式增发的途径,以太坊进入更强的通缩。此外,本次合并只是以太坊共识的改变,并不能实现性能的提升,因此GAS费并不会因为这次升级产生变化,需要等到之后升级中引入分片才能切实提升以太坊的可扩展性。

二、以太坊2.0方案

2.1以太坊2.0架构模型

以太坊2.0方案模型图中从上至下分别为:

1.PoW Main Chain是原以太坊主网。在以太坊2.0中,它将会作为信标链的一个分片继续运行。

2.Beacon Chain是信标链,它是整个以太坊2.0系统的中枢部分。通过Casper共识协调管理所有独立并行的分片链,负责为分片链随机分配验证者,对整个系统的安全性起到至关重要的作用。通过交联作为各分片的锚定点以实现跨分片通信,并追踪每条分片当前的状态,为以太坊提供最终确定性保证。

3.Shard Chains是分片链,以太坊2.0是可扩展性的来源,目前规划是建立 64条分片链,每一个分片都有一组验证者委员会负责对区块进行打包和验证。它能在没有提高节点硬件要求且没降低去中心化程度的情况下,实现网络性能和容量的大幅提升。

4.VM层是虚拟机,它是智能合约运行的基础环境,驱动着整个以太坊的运转。以太坊2.0将以eWASM 将替代当前的 EVM,这会提升智能合约的兼容性和执行效率。因为相比于EVM,eWASM具有更好的性能以及更好的扩展性,可以支持Solidity,C++,Rust,AssemblyScript等编程语言,开发合约会更容易。此外,eWASM 也与当前的Web标准兼容,因而更容易在普通浏览器中运行,用户无需扩展程序即可访问 dApp。

(以太坊2.0 架构模型)

2.2关键解决方案

区块链有一个著名的不可能三角问题,即区块链系统无法同时在可扩展性、安全性、和去中心化程度这三项指标上做到最优,需要在这三者之间做一个取舍进行优化权衡。即使如BCH对区块大小进行扩容,效率提升的作用也很有限,EOS通过DPoS共识牺牲去中心化来保证性能,但随之引来人们对安全的问题担忧。种种解决方案并不能完美解决不可能三角问题,目前公链无论是在扩展性、交易效率还是安全性能等多个方面都无法满足实际商业应用的需求。

定位于下一代分布式社会底层平台的以太坊,针对不可能三角问题提出了以下解决方案:

通过分片提升网络性能和容量,解决性能问题;

通过共识机制PoW转PoS,降低节点门槛,支持更多用户参与,解决去中心化问题;

通过信标链和Casper共识机制解决由分片和PoS引入的安全性问题。

(以太坊2.0解决不可能三角问题的具体方案,图片来源于欧易研究院)

2.2.1解决性能问题——分片(Shards)

分片(Shards)——提升网络性能和容量

分片是区块链扩容最佳方案,它能在没有提高节点硬件要求且没降低去中心化程度的情况下,实现网络性能和容量的大幅提升。物理空间上,分片是将公链网络中的所有节点划分为不同的分组,每一个分组叫做一个分片。原本公链中所有节点都要执行同样计算,在所有节点比对结果一致后写入区块数据中,整个网络严重受制于网络中单个节点所能处理任务的上限。现在将区块里的任务分组后分配给不同的分片处理,单个分片内的节点仅需承担全网的部分工作。假设分片数为n,则每个节点需要承担的工作量为全网工作量的1/n。于是各个分片可以并行工作,从而提升整个网络的承载能力。同理,全网容量也将变为原来的n倍。

(分片物理空间图,图片来源于TokenInsight《分片技术研究报告》)

2.2.2解决去中心化问题——共识机制PoW转PoS

共识机制PoW转PoS——降低节点门槛,支持更多用户参与

PoW机制下,成为验证节点的门槛较高,需要昂贵的专业矿机产生足够的算力来和同行竞争。采用PoS机制,以太坊可以有效降低验证节点的准入门槛。任何用户质押32枚Eth即有机会进入验证者委员会,这由信标链随机算法选出区块验证者和区块提议者,不需要比拼算力。其中区块提议者打包交易提议新区块,另外的区块验证者检验新区块,最终协作完成出块过程,对比PoW共识节点的工作大大简化。

如此一来,以太坊网络节点对硬件设备的要求大大降低,支持更多用户参与。而参与验证的节点越多,以太坊网络也更加去中心化和分散,面临攻击时将会更加安全,同时也解决了PoW需要大量算力造成资源浪费的问题。

(节点出块过程,图片来源于欧易研究院)

2.2.3解决安全性问题——信标链、Casper共识机制

分片和PoS共识机制的引入,为以太坊增加了新的安全性的挑战。比如由分片导致的单分片51%攻击问题、分片间双花攻击问题,以及PoS共识机制导致的无利害攻击问题、长程攻击、简单攻击问题。以太坊通过信标链和共识机制Casper 来弥合这两类风险,解决安全性问题。

1)信标链——解决分片51%攻击问题、分片间双花攻击问题

与普通区块链不同,信标链是以Slot 和 Epoch而不是 “区块”作为基本时间单位的。

Slot(时隙):未来在以太坊中每一个分片都有一个验证区块的验证者委员会,验证者委员会完成一次区块确认的时间(当前为12秒),分为区块提议和区块验证两个步骤。如果验证者委员会内部能达成共识,该Slot便能成功产生一个区块,否则该 Slot 就无法出块,形成了一个 “跳过” 的 Slot,所以链上的出块速度并不确定。

Epoch(时段):多个Slot(当前为 32 个)组合而成的时间段,为6.4分钟。验证者委员会的节点们会在每个Epoch后被洗牌重新分配,它们的奖惩金额也是在每个Epoch结束后进行确定。 Epoch 中最后一个 Slot 称为Checkpoint(检查点)。

(Slot 和 Epoch图示,图片来源于《区块的产出和确认》)

为系统随机分配验证者,解决分片51%攻击问题

区块链系统出块过程中的随机性至关重要,它必须是分布式、可验证、不可预测的,并且是不可剥夺的。对于公链来说,在将全网任务划分到不同分片的同时,也就把算力划分到了相应分片中。对于单个分片来说,只能得到原来1/n的算力保证,此时对单个分片发起51%攻击的难度也会降到原来的1/n,这会导致分片更容易被恶意矿工掌控。因此对于一个分片系统来讲,需要很好的随机性来防止特定分片被单独攻击,而信标链就是负责向系统提供这种随机性的,它会为每个分片随机选出验证者委员会。

验证者委员会是由信标链随机选择的一组验证节点,负责见证信标链和各分片产生的区块。信标链有其对应的委员会,每一个分片也各有一组验证者委员会。委员会负责保证它们所在分片的安全性和完整性,并负责证明信标链上的分片状态。

在每一次Slot中,信标链会在验证者委员会中随机为该链选出一位验证者负责出块,一定数量的其他验证者则检查该区块并验证正确性。到下一次出块时,则再从委员会中随机选出一个验证节点提议生成区块,同时换另一组不同的验证节点验证正确性。

在完成一个Epoch的出块和验证任务后,信标链会将所有的验证节点重新洗牌,给每一分片随机选出下一个Epoch的新的验证者委员会。验证节点的选举过程在随机数生成算法的帮助下,从根本上避免了验证节点间的勾结串通,提高了协议的安全性。

跨分片通信,解决分片间双花攻击问题

双花攻击是指将同一笔资金分别发给两个人或者多个人。在分片中也存在双花问题,攻击者完全可以尝试将同一笔资金发送给不同分片中的帐户来实施双花攻击,这就需要做好跨分片通信来避免双花攻击。

跨分片通信需要借助信标链来完成,分片与信标链直接通信,信标链会同步更新所有分片的区块头作为验证的信息,不同的分片就能通过信标链通信。当信标链区块完成时,相应的分片区块就被认为是最终确定的,而其余分片则可依赖其进行跨分片交易。信标链作为枢纽能够记录所有分片的状态和信息,避免出现双花问题。

具体来看:当分片1向分片2发出消息时,分片1会将相关信息打包到它的区块头中。等待信标链将分片1的区块头打包到新的区块中,信标链完成区块共识后,分片2会接收到信标链广播的包含分片1区块头的信息。在此之后,分片 2 会验证关于 分片 1 的信息然后开始执行相关操作,并将执行完成的区块信息发送给信标链。

(跨分片通信过程,图片来源于欧易研究院)

2)共识机制Casper——解决无利害攻击、长程攻击、简单攻击问题,以奖惩机制规范节点行为

Casper是以太坊 2.0 的核心共识协议,负责管理系统节点,对验证者施行奖励和惩罚。

通过节点质押解决PoS无利害攻击问题,以奖惩机制规范节点行为

由于PoS存在“无利害攻击”问题,即在PoS机制下,恶意的节点验证者可以在没有任何损失的情况下把自己的币押在分叉链上推动硬分叉。因此在持币者需要向信标链抵押一定数量的Eth(目前为32Eth)申请成为节点,当被标记为“active” 之后,才能运行协议。

同时信标链也会跟踪和管理验证节点。节点们每成功打包一个区块,就会获得一个与他们所持有的Token成比例的以太坊系统奖励。节点负责出块、验证区块,还需要一直在线以完成系统分配给它们的任务。如果大多数验证者拒绝他们所建立的区块,节点将面临失去抵押token的风险;如果验证者没有履行对区块投票的责任,他们质押的Eth也会被罚没;如果验证节点的余额减小到验证阈值以下,则将被踢出验证节点池,无法继续参与验证工作。因此,Casper迫使验证者诚实行事,并通过奖惩制度遵守共识规则。

确保链的最终确定性,避免PoS长程攻击、简单攻击

长程攻击指的是从创世区块开始,创建一条比原主链还要长的链,并篡改交易历史来代替原来的主链。简单攻击指的是分叉链在单位时间里面尽可能多的创造区块,以此来超过原主链长度所形成的攻击。对比PoW, PoS 没有两次出块之间强制延时的机制,攻击者可以短时间内让重写历史的链追赶上原本的主链,根据最长链原则来决定的话,很有可能出现真正的主链被篡位的情况。

以太坊将通过每Epoch周期一个的检查点实现链的最终确定性,避免这类风险。具体来看,以太坊将每个Epoch里的第一个Slot区块设置为一个检查点。参与共识的验证节点会对检查点投票。当检查点收到了超过2/3的的投票,且上一个检查点也是确定性检查点,那么这个检查点即是确定性检查点,这段区块就成为确定性不可更改的。所以Casper共识的一大改进是引入了显式的最终确定性,只要是在最终性检查点之前的区块都是被确认的,区块信息无法再被篡改,没有被颠覆的可能,也无需后续的矿工用为已经确认的区块增加安全性。

(检查点,图片来源于欧易研究院)

三、展望和风险

3.1展望

3.1.1奠定行业地位

以太坊2.0如果成功实施,将彻底解决以太坊的性能瓶颈。凭借其目前最大的生态规模,升级后更低的 Gas 费、更快的交易速度,加之eWASM 更好的开发者体验和更高的可访问性,以太坊将成为公链领域不可颠覆的存在。

3.1.2促进生态繁荣

受限于底层公链的性能瓶颈,目前区块链无法服务于实体应用,超过千万月活用户的Dapp还没有出现。以太坊2.0如果成功实施,便可以支持大规模商业应用,届时,必定会将公链赋能于实体,助推Web3的腾飞,千万用户级的Dapp也将涌现。

3.2风险

3.2.1落地风险

以太坊2.0开发难度较大,虽然以太坊的框架已经确定了下来,但很多细节还在持续讨论和修改中,存在落地风险。由架构图可以看出,完成以太坊2.0需要有几个大的技术创新,实现智能合约分片与状态分片本身就有极高设计与开发难度,除此之外还需要考虑与原链的过渡与兼容,更进一步的增加了实现难度。以太坊作为一个发展几年的平台,代码结构已经变得非常复杂,底层重则修改难,对于原有架构的修改牵一发则动全身,需要考虑很多因素。

3.2.2竞争风险

根据公链TVL对比数据,虽然左边饼图中以太坊公链依然是以55.4%占比位居第一位,但右图面积图能清晰反映出以太坊上的TVL比例正在不断下降且被其他公链蚕食。

(公链TVL图,图片来源于defillama)

许多公链致力于解决以太坊当前面临的扩展与性能问题,他们大都会在智能合约层兼容以太坊代码,可以最快速、最方便的让开发者能转移到自己的公链上来,所以以太坊面临的竞争压力是非常大的,如果以太坊不能及时的完成升级,将会给其他公有链超越的机会。高性能公链赛道里,Solana、Avalanche和Terra等公链激烈角逐,地址数量迅猛增长,留给以太坊2.0的时间是紧迫的。

作者:欧易研究员 秀秀(Shirley)

参考文章:

TokenInsight《分片技术研究报告》

以太坊2.0 都要来了你还不知道 Casper 吗?

以太坊2.0系列 :区块的产出和确认

读懂以太坊升级:了解最新路线图,消除对合并转PoS的误解