以太坊正在朝着更安全,更高效,更具扩展性的方向发展,而随着各种新技术的落地,将使以太坊网络大规模商用变为可能。

12 月 7 日举行的以太坊核心开发人员大会上,以太坊核心开发者最终决定将在以太坊主链 7,080,000 高度,约 2019 年 1 月中旬时激活硬分叉,于是近期许多媒体在说,期待已久的以太坊 2.0 终于要来了。

然而对不起,以太坊 2.0 我们还要再等等。

要说以太坊 2.0,就需要知道以太坊 2.0 到底是什么。据了解,在以太坊社区开发文档中,以太坊 2.0 被称为 A Sharded PoS Ethereum 2.0。这个名称中包含两项主要形容词,分别是「Sharded」和「PoS」。Sharded 即以太坊分片技术,PoS 显然是指 PoS 共识机制,也就是说以太坊 2.0 的定义是包含了这两项更新后的以太坊网络,遗憾的是,在主链 7,080,000 高度上激活的硬分叉并不包含这两项升级。

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?

被延后的硬分叉:君士坦丁堡

预期在 2019 年 1 月中旬激活的以太坊硬分叉,实际上是此前 10 月在以太坊测试网 Ropsten 上进行的君士坦丁堡升级,但当时因存在共识问题导致测试网 Ropsten 不可用。而根据测试网 Ropsten 的链上数据,自 10 月 13 日的 4,230,000 区块高度,测试网已经实施了君士坦丁堡升级,或部分升级,据推测,据其区块奖励已经由 3 ETH 减少至 2 ETH。以太坊核心开发者决定在主网 7,080,000 高度激活硬分叉,说明君士坦丁堡硬分叉已经在测试网络 Ropsten 部署成功,并测试完成。

君士坦丁堡硬分叉是以太坊「大都会」(Metropolis)阶段预定三个硬分叉中的第二个,第一次硬分叉被称为拜占庭硬分叉,实施于 2017 年 10 月 16 日的 4,370,000 区块。拜占庭硬分叉部署了 zk-Snarks,延期了难度炸弹,调整出块奖励由 5 ETH 降低至 3 ETH (EIP-649)等总共 8 项更新。「大都会」阶段仅仅是以太坊发展路线四部曲中的第三阶段,之后将会迎来以太坊最重要的里程碑:「宁静」(Serenity)阶段。

原定 10 月份启动的君士坦丁堡硬分叉中,包含了 EIP-145、EIP-1052、EIP-1283、EIP-1014 和 EIP-1234 共 5 项更新方案,其目的是提高以太坊的运行效率,并移除 / 推迟难度炸弹。

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?

其中 EIP-1234 提议将拜占庭硬分叉后的出块奖励 3 ETH 减少到 2 ETH,也本次升级是最受关注,最具争议的君士坦丁堡更新项目。在 8 月 31 日,以太坊出块奖励调整投票结束,投票总数 170 票,投票 ETH 151170.1 个。但结果上,最终有 129 票(75.9%)投给「延迟难度炸弹,并将出块奖励降低至 1 ETH」,31 票(18.2%)投给「将出块奖励降低至 2 ETH」,而只有 7 票(4.1%)投给「保持 3 ETH 出块奖励不变」,3 票(1.8%)投给「提高出块奖励至 5 ETH」。最终以太坊开发者决定将出块奖励减产至 2 ETH,即提案 EIP-1234 将作为君士坦丁堡的一部分。

以太坊并没有像 Bitcoin 一样限制 ETH 的最大供应量,这也导致 ETH 严重通胀,矿工、大户所持 ETH 价值逐渐稀释、贬值。自 2017 年的拜占庭硬分叉,以太坊开发者连续调低出块奖励,由 5 ETH 降低至 3 ETH,再由 3ETH 继续降低。从上面提到的投票数据来看,其中不乏激进主义试图将出块奖励降低至 1 ETH。

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?

虽然在以太坊白皮书中已经对其货币经济体系的通胀率做出了解释,表示随着时间推移,以太坊的通胀率将趋近于 0,但显然 ETH 产出之快有些超出开发者的预期,以至于不得不加速人为干预,以达到快速降低通胀的目的。所以从经济学角度来说,ETH 的减产对其持有者无疑是一种利好。

然而社群中同样有不少反对的声音,认为现在数字货币市场雪崩,ETH 大幅折价(自最高点 1400 美元至今已经跌超 90%),大熊市中减产并不会带来 ETH 价值的稳定提升,反而会使 ETH 提升的价值无法弥补损失的 1 ETH,以太坊挖矿将无利可图,加速矿工出走。

在当前市场环境下,减产确实会有极大可能带来负面效果。以 ETH 现在的市价,在上个月关机潮后剩下的以太坊矿工,可以说是勉强收支平衡,若这个时候直接降低其 33% 的产量,排除君士坦丁堡硬分叉带来的效率提升,ETH 需要上涨 50% 才能弥补矿工减产的损失。如果减产后的 ETH 不能在当前熊市环境中大涨,大批矿工将不得不关机卖铁。

其实以太坊既定的减产目的是为了促进 PoW 向 PoS 的转化,所以其减产带来的收益更大程度上是 ETH 远期的升值,而现在这个时间点部署确实不是好时候。

以太坊分片技术:Casper &Sharding

2014 年,以太坊基金会的 Vlad Zamfirt 开始主导开发 Casper 扩容方案;2017 年 10 月 25 日,V 神发表论文介绍了 PoW/PoS 混合机制的 Casper the Friendly Finality Gadget (Casper FFG);11 月 1 日,Vlad Zamfir 发布完全 PoS 机制的 Casper CBC 草案;2018 年 6 月 16 日,因长 Casper 和 Sharding 项目间存在较多重复工作,以及以太坊开发团队为了专注于开发纯 PoS 的 Casper 机制,决定融合 Casper 和 Sharding 分片技术,Capser FFG 项目被终止。

据了解,Sharding 分片技术由 V 神于 2018 年 4 月发布公开,并作为与 Casper 共识同等重要的项目来推进。分片技术简单来说就是将现有的以太坊网络节点划分成多个组,每个组可以独立于其他组进行链上交易的打包和确认,类似于中央处理器的多线程能力,增加了以太坊网络同时处理多个交易的可能,以达到链上扩容的目的。

分片技术听起来在原理上很简单,但实际上这项技术非常复杂,且要在以太坊上实现还需要解决很多问题。因为分片实际上牺牲了部分以太坊网络的去中心化程度,开发者不得不考虑如何完善分片的随机节点分布,如何防止单个分片内部遭到诸如双花攻击等的威胁,以及防止多个分片间产生交易冲突等大量问题。

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?信标链与分片数据链(资料来源:DarrenLangley)

根据高级区块链工程师 Darren Langley 更详细的解释,每个分片都是一条独立的 PoS 区块链,具有独立的交易记录、账户余额、智能合约等,作为区块链额外增加的交易通道,使交易可以并行处理,这些 PoS 链被称为「Shard Chains」分片链或「Shard Data Chains」分片数据链。而每条分片数据链都与其上一层作为协调者角色的「Beacon Chain」信标链相连,并在信标链的协同下运行。这就牵扯到了一项以太坊的新设计 Beacon Chain。

以太坊 PoS:Beacon Chain

在 Casper 和 Sharding 技术开始融合之后,以太坊代码库出现了一项新的设计,即信标链 Beacon Chain。信标链是一条独立于当前主网的纯 PoS 共识区块链,作为分片技术以及分片数据链的基础构架,信标链将成为以太坊 2.0 中第一个落地的主要功能。

根据 Github 文档,Beacon Chain 的主要功能是存储和维护验证者的注册信息;执行交联的处理;管理自身及各个分片链的 PoS 共识协议;管理验证者和她们的权益;在各时段,为每个分片指定所选的区块提议者;组织验证者形成委员会来对被提议的区块进行投票;对验证者进行奖惩处理等等。

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?

Beacon Chain 目前还处于开发阶段,根据 V 神的演讲,PoS 信标链将会是一个区块链仓库,承载着所有的信息,和运行 PoS 机制的验证者,其作为分片技术与现有 PoW 主链间的协调者,撑起了整个以太坊网络。而只有 Beacon Chain 最终实现运行的时候,以太坊 2.0 才会真正开始部署。

以太坊 2.0

根据 Github 描述文档,以太坊 2.0 的设计目标是:

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?

  • 尽量降低复杂性,即使以效率损失为代价;
  • 通过主要网络分区,在大部分节点脱机时保持活动状态;
  • 所选择的组件,需要它们要么是量子安全的,要么可以在可用时轻松换出量子安全副本;
  • 利用加密和设计技术,允许验证者在单位时间内大量参与;
  • 允许具有 O(C) 资源的典型消费者笔记本电脑处理和验证 O(1) 分片。

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?以太坊 2.0 整体架构(资料来源:以太坊核心开发者 Hsiao-Wei Wang)

根据以太坊核心开发者 Hsiao-Wei Wang 对以太坊 2.0 最新构架的描述,以太坊 2.0 主要分为四层:

  • 主链:主要提供权益管理,包括类 Casper 的 PoS 机制,共享验证者池,分片链提议者,分片链公证人;
  • 信标链:主要作为随机数生成器,包括选择区块提议者,选择公正委员会等;
  • 分片链:作为数据层,只包含数据共识;
  • 虚拟机:提供状态执行结果,以及以太坊风格的虚拟机 eWASM。

对比 Hsiao-Wei Wang 之前的 ppt 文档,以太坊 2.0 构架的第一层主链由「PoW Main Chain」(PoW 主链)变成了「Main Chain」,且描述修订为「provides staking」。

「君士坦丁堡」硬分叉离以太坊 2.0 还有多远?

这或许说明以太坊 2.0 原本设计的 PoW 与 PoS 共存架构最终在开发者的调整中转变为纯 PoS 构架,即主链、信标链、分片链均使用 PoS 共识机制。

而根据以太坊的发展路线,及 V 神在 Devcon4 的演讲内容,我们恐怕无法在「大都会」(Metropolis)阶段见到以太坊 2.0 的真面目了。但是随着 Beacon Chain 的逐步完成和部署,下一个被交付的功能将是分片技术,而后是 eWASM 以太坊虚拟机的状态转换,再之后还有更多更多可以实现的功能与新技术。可以说以太坊正在朝着更安全,更高效,更具扩展性的方向发展,而随着各种新技术的落地,将使以太坊网络大规模商用变为可能。

虽然此次的君士坦丁堡硬分叉还无法实现以上这些功能,但此次硬分叉之后,以太坊「大都会」阶段就接近尾声了,大都会的喧闹之后,「宁静」(Serenity)还会远吗?