以太坊 2.0 的升级一直备受关注,以太坊计划在 2022 年第二季度由工作量证明(PoW)转向权益证明(PoS),最近对升级路线也做出了调整。

一些言论认为,以太坊成功升级至 2.0 后将完全解决以太坊的现存问题,届时 Polkadot 将再无翻身机会。那么事实是这样的吗?

以太坊 2.0 和 Polkadot 确实有一些相似性,如都采用了分片技术,都采用了 PoS 共识,都随机分配验证人等等。本文将结合以太坊最新的升级路线图,比较以太坊 2.0 和 Polkadot 的异同,和各自的开发进度。

“注:从去年年底开始,以太坊基金会表示将停止使用 “以太坊 2.0” 这个术语,转而以 “共识层” 和 “执行层” 分别表示以太坊 2.0 和现有的以太坊主网。但为了方便大家理解,在本文中我们仍然沿用 “以太坊 2.0” 这个称呼。

1、设计目标

在开始具体的对比之前,我们先来了解以太坊和 Polkadot 的设计目标,这可能也是两者最大的区别。

以太坊旨在成为智能合约执行的平台。以太坊的创新性毋庸置疑,它开创了应用型区块链这个新赛道。但以太坊的局限也很快凸显了出来——网络拥堵、节点运营昂贵、PoW 消耗大量能源等。从 2014 年以来,以太坊社区就一直在寻求解决这些问题的方法,并踏上了旷日持久的升级之路。

因此,以太坊 2.0 还是一个智能合约平台,只是会变得更可扩展、更安全、更可持续。

而 Polkadot 的目标是成为第零层(Layer 0)区块链,帮助大家创建区块链,为这些区块链提供共享的安全性,让它们彼此之间可以方便地跨链交互。

2、分片方式

以太坊 2.0 和 Polkadot 都选择了分片来提升可扩展性。区别在于状态转换函数上,状态转换函数是管理区块链如何改变每个区块状态的规则。

以太坊 2.0 的主链叫做 “信标链”,每个分片都是一条具有 eWasm 接口的链,一共有 64 个分片。每个分片都具有相同的状态转换函数,该状态转换函数提供了智能合约执行的接口。合约存在于单个分片上(并且可以在分片之间发送异步消息),因此可以通过并行执行分片来进行扩展。

不过,以太坊的分片还在概念阶段,社区仍在讨论未来的分片方案。在以太坊官网的最新版本中提到,或许会考虑将分片链只作为数据层,只向网络提供额外的数据,而不处理交易或智能合约,或者仅有一部分的分片处理合约。

在 Polkadot 网络中,主链叫做 “中继链”,分片叫做 “平行链”,每条中继链预计可以支持 100 条平行链。最重要的区别在于,Polkadot 使用 Wasm 作为元协议,因此平行链不会受限于像 eWasm 这样的单一接口,而是可以定义自己的逻辑和接口,只需把自身的状态转换函数提供给中继链验证人来执行即可。也就是说,平行链的开发者享有自由,去定义自己的链如何改变状态的规则,你可以用任何你喜欢的语言来编写任何计算机程序,只要能够编译为 WebAssembly 就行。应用可以存在于某个平行链内,也可以跨平行链部署。

总的来说,以太坊 2.0 的分片是让原有的以太坊模型变得更具扩展性,可以处理更多的智能合约交易。而 Polkadot 的分片并不局限于智能合约,每条平行链可以做成完全不一样的链,比如一条平行链可以是类似以太坊的智能合约链,另一条平行链可以是专为 DeFi 应用打造的链,另一条平行链可以专注于 NFT。

举个可能不太恰当的例子,以太坊 2.0 的分片是工作任务太多了,一个员工干不完,那么就分给 N 个实习生去干,但是能干的活还是那些。Polkadot 的分片是有不同的业务部门,比如有销售部、市场部、技术部,每个部门各自负责自己擅长的业务。

3、共识机制

以太坊 2.0 和 Polkadot 都使用混合共识模型,也就是用不同的协议分管出块和区块终结(fanality)。而且两者的出块协议都将验证人随机分配,终结协议都可以在一轮中终结一批区块。

两者的区别主要在于区块终结时间和每个分片所需的验证人数量。

以太坊 2.0 的终结协议 Casper FFG 基于时间周期(epoch)来终结区块,每 6 分钟(最长 12 分钟)终结一批区块。相比之下,Polkadot 的终结协议 GRANDPA 是基于可用性来终结区块的,一批区块的预计终结时间在 12-60 秒。

以太坊 2.0 的每个分片需要大量的验证人来提供有效性保障。Polkadot 通过给系统中的所有验证人分配纠删码来克服了这个问题,这让任何人都可以重构某个平行链区块并检验其有效性,从而让 Polkadot 可以用每个分片更少的验证人来提供强大的有效性保障。

4、Staking 机制

以太坊 2.0 采用权益证明(PoS)机制,每轮验证周期(epoch)打包 32 个区块。验证人每个 epoch(预计 6.5 分钟)获得一次奖励。信标链随机将验证人分到多个委员会(commitee)中,并且在验证过程中分配给特定的分片区块。为了提供有效性保障,ETH 2.0 需要大量的验证人。为了正常运行网络,每个分片至少需要 256 个验证人,才能在一个 epoch 中完成所有分片的终结工作,那么 64 个分片就需要 26384 个验证人。

Polkadot 则采用提名权益证明(NPoS)机制,也就是让部分持有者(提名人)通过质押来提名验证人,从而不用自己运行验证人也能分享区块奖励。使用 NPoS 机制,让 Polkadot 的验证人可以更少,每条平行链大约只需要 10 个验证人,那么 100 条平行链就只需要 1000 个验证人。虽然目前还没有 100 条平行链,但是 Polkadot 已经早早推出了 “1000 个验证人” 计划,来帮助提高节点的去中心化程度。

5、治理

以太坊 2.0 仍然没有解决治理问题。目前以太坊主要依靠链下治理,比如 Github 讨论,开发者会议,Ethereum Magicians 论坛讨论等。

Polkadot 采用链上治理机制。提出议案的渠道有多种,例如链上议会、技术委员会或者公众。所有的议案都需要通过公众投票才能执行,投票掌握在 token 持有人手中。投票通过后的议案会在链上自主执行。从链上国库的资金如何分配,到修改链的底层代码,都是经过链上治理流程来决定和执行的。

6、升级方式

以太坊 2.0 的升级方式还是靠常规的硬分叉,要求验证人升级其节点来实现协议更改。

Polkadot 使用 Wasm 元协议,无需硬分叉就可以进行链的升级。

7、进展

以太坊 2.0 升级是一个分阶段进行的宏大的工程,原计划是在 2022 年完成升级。最近以太坊更新了升级路线,考虑到 “Rollups 等二层网络解决方案已经一定程度缓解了可扩展性问题”,以太坊将分片的优先级下调,先专注于从 PoW 到 PoS 的转变。最新的以太坊升级路线包括三个阶段:

信标链:信标链为以太坊增添了 staking,并为未来的升级打下基础。信标链已经在 2020 年 12 月 1 日上线。合并:将现有的以太坊主网和信标链合并,将以太坊从 PoW 网络转变为 PoS 网络。该阶段预计在 2022 年完成。分片链:分片链将提高以太坊的交易处理和数据储存能力。预计在 2023 年完成。

Polkadot 在 2020 年 5 月上线了中继链,2021 年 12 月上线了平行链。Polkadot 已经完成了核心功能的上线,接下来的重点是平行链的持续上线,以及跨链消息传递协议的升级和添加平行线程等功能。

截止发文,Polkadot 上运行了 14 条平行链,其先行网络 Kusama 上运行着 29 条平行链,并且在持续增加。

可以看出,虽然以太坊 2.0 和 Polkadot 有些许相似之处,两个项目开始的时间也相差无几,但是 Polkadot 的进度毫无疑问是超前了不少的,至于具体多少,就要看以太坊 2.0 到底什么时候能上线了。

总结

以太坊 2.0Polkadot设计目标智能合约平台支撑平行链的 Layer 0 区块链分片同构分片异构分片共识Casper/RandDAO/LMDBABE/GRANDPAStakingPoSNPoS治理链下链上升级方式硬分叉无需分叉进展预计在 2023 年完成已上线

参考资料:

https://ethereum.org/en/upgrades/

https://wiki.polkadot.network/docs/learn-comparisons-ethereum-2