干活丨通往以太坊2.0之路
作者 | Lucas Campbell
编译 | Jhonny
以太坊 2.0,即 Serenity,是一个历时多年的雄心勃勃项目,旨在对当前以太坊1.0链进行一些列重大变革,为世界提供更易于使用的可编程货币。在接下来的几年里,以太坊将经历多次升级和分叉,以实现以太坊白皮书中所描述的愿景。
截至目前,以太坊每秒大约可以处理25笔交易。但由于以太坊的目标是成为下一代应用程序的世界计算机,这种吞吐量在很大程度上是不够的。幸运的是,随着以太坊 2.0的引入和一些新的扩展性解决方案 (特别是分片和 Casper) 的出现,以太坊网络的吞吐量将在未来几个月 (和几年) 得到极大的改进。
什么是分片?
就传统的区块链结构而言,通常网络中的每个节点都必须验证和处理每笔交易。如果系统中有数千个节点,并且每个节点都必须验证每笔交易,那么这种方式将增强网络免受恶意攻击。然而,这也会造成延迟问题,并最终导致交易处理的低效。人们认为这种区块链结构本质上限制了网络第一层的扩展性。
鉴于此,分片 (sharding) 在诸多扩展性解决方案中脱颖而出。分片就是将区块链网络的交易处理分成更小的部分,也即分摊给“分片链 (shards)”来完成。每条分片链都代表着网络中的一条链,每条分片链都是由一组节点 (即验证者) 组成。因此,节点 (验证者) 只负责处理和验证在各自分片链中的交易。
通过将交易验证委托给多个分片链,每个节点需要处理的交易数量就大大减少,最终使整个区块链网络在不牺牲去中心化和安全性的情况下获得更高的扩展性。
什么是 Casper?
与比特币或者以太坊1.0链使用的 PoW 机制不同,以太坊2.0链将会使用 PoS 机制,也即 Casper 机制来达成网络共识。PoW 机制要求用户 (矿工) 提供算力来保护网络安全,而 PoS 机制要求用户 (验证者) 提供财富来保证网络安全。在实践中,Casper 将要求用户质押 32 ETH 来成为网络的验证者并获取验证奖励 (奖励以 ETH 的形式给予验证者)。
以太坊2.0发展路线图
阶段0:信标链
迈向以太坊2.0的第一步 (阶段0) 是迁移到一条全新的区块链,即信标链。信标链是以太坊2.0的基础,因为它包含了最初的 Casper/PoS 实现 (尚未实现分片),以及一些能为将来的分片阶段提供基础设施的功能。
此外,阶段0不会包含智能合约或者 EVM (以太坊虚拟机) 相关的功能,这些功能计划在阶段2时期实现。根据 ConsenSys 此前发布的文章,信标量将主要负责以下职责:
更重要的是,在阶段2实现之前,所有的用户交易和智能合约执行都将依旧发生在当前的 PoW 以太坊1.0链上。
尽管如此,在阶段2实现之前,新旧两条链 (以太坊1.0链和信标链) 上的矿工和验证者都将获得奖励。因此,在以太坊2.0的早期阶段,ETH 的发行率将会更高,但最终会随着时间的推移而趋向0-1%范围。也就是说,在以太坊2.0的阶段2 实现之后,当前的以太坊1.0链将被弃用,以太坊网络的 ETH 发行率将计划大幅下降至低于1%。
在阶段0 (信标链阶段) 期间,想要成为以太坊2.0验证者的用户需要通过将他们在当前1.0链上的 ETH 存储在一个抵押合约 (deposit contract) 之中,该合约将销毁这些 ETH 并在信标链上铸造相同数量的 ETH。
为了成功地启动信标链,当前设置的门槛值是将需要至少 16,384 名验证者 (也即总共质押 524,288 ETH) 参与进来。一旦这个门槛值达到了,验证者将获得约11%的年收益率 (根据实际质押的 ETH 数量,此年收益率将相应调整)。
*备注:年收益率会随着质押的 ETH 数量的增多而相应降低,当前相关的数值还没有最终敲定。
在2019年以来,阶段0已经取得了重大的进展。5月7日,Prysmatic Labs 团队在 Goerli 上发布了针对信标链的公开测试网 Sapphire,其客户端允许用户在该测试网中质押 2.3 ETH (测试代币) 成为验证者,并获得参与奖励,具体信息请参阅 Unitimes 此前发布的文章《800 验证者节点! 以太坊2.0测试网的发布到底意味着什么?》。
今年6月底在以太坊开发者电话会议期间,宣布将在今年10月份的 DevCon 5 会议期间将抵押合约部署到当前的以太坊 1.0 链上,并将信标链创世区块的诞生日期定在了 2020 年 1 月 3 日。
7月初,以太坊研究员 Danny Ryan 宣布以太坊 2.0 阶段 0 的代码规范按照此前计划被冻结,标志着该规范将为实施人员们朝着信标链多客户端测试网进发,为正在进行的形式化验证、模糊测试和审计工作等方面提供一个稳定的目标。7月5日,以太坊研究员 Justin Drake 表示预计未来两年内 ETH 增发率将减少10倍。
阶段1:基本的分片 (未实现EVM)
在信标链实现之后 (预计2020年1月),阶段1将引入基本的分片结构。总体而言,这个阶段结合信标链将大大地改善网络的吞吐量,这将是以太坊扩展性的一个重要里程碑。
但是,鉴于此阶段只是基本的分片实现,并不会实现状态执行 (即智能合约功能)。信标链将主要负责通过执行 BLOBs (二进制大对象) 来确保分片中的数据的有效性和一致性。
除了实现基本的分片结构,阶段1还将引入交联 (crosslinks)。
交联允许每个分片的状态在信标链上被记录和敲定。最终,交联将作为之后阶段的跨分片交易的基础。
有关交联的实现,根据当前的以太坊2.0规范,信标链将可以支持1024条分片链,每条分片链都由128个全节点组成 (所有全节点的数量将是131,072个)。因此,根据当前的规范,我们可以认为在阶段1时期,总共质押的 ETH 数量将大约是419万枚 (约占2025年 ETH 总供应的3.38%)。
*需要注意的是,由于以太坊2.0规范会根据进一步的研究和测试而相应地调整,本文中使用的一些数据和细节将可能将在整个 Serenity 实现期间过时。
阶段2:实现 EWASM 的分片
阶段2将是以太坊2.0真正成熟的时候。此阶段将在网络中引入账户平衡、智能合约执行等功能。阶段2带来的最大提升就是整合 eWASM (基于 WebAssembly 的下一代以太坊虚拟机 (EVM))。
eWASM 将实现更快的代码执行,提升开发者的体验。eWASM 的主要吸引力就是使开发者能够使用 C、C 、Rust、Go 编写智能合约,并且能够访问现有的 WASM 开发者工具。
如果你对 eWASM 感兴趣,可以前往此 GitHub 链接 [1] 获取更多信息。
阶段2的另一个有趣的进展就是可能引入状态租金 (state rent)。状态租金将允许以太坊网络收取存储费,并要求用户为这项“服务”向 eWASM 付费。在以太坊社区的早期讨论中,这是一个颇有争议的实现,作者想说的是状态租金只是在一定程度上可能在 Serenity 发展中实现。
阶段3及以后: 轻客户端、跨分片交易、超二次分片等
不幸的是,阶段2之后的情况在很大程度上是推测性的,因为几乎没有关于这些阶段的固定信息。但官方的 Ethereum Sharding FAQ 为阶段3-6提供了高度概括。这些阶段将增加一些功能助力最初预期的以太坊扩展性。其中的一些实现包括:
如果你想要了解更多有关阶段3及以后的实现信息,可以通过此GitHub链接[2]和 此 ethresear.ch 链接 [3] 更深入地研究现有的文件和讨论。
谁在搭建以太坊2.0?
随着许多改变游戏规则的特性即将出现,毫无疑问,以太坊2.0的开发人员是由顶级人才组成的。下图展示了正在为以太坊2.0研究和开发客户端的8个团队信息:
结语
Serenity 是一个技术上雄心勃勃的发展路线图,旨在交付一台真正的世界计算机。如果以太坊社区能够成功地交付这个备受瞩目的网络,那么对于开发人员、投资者和用户来说,这个承载着稀缺资产且实现扩容的智能合约平台将是极具吸引力的。
相关链接: