说到以太坊2.0,我们就需要知道以太坊2.0到底是什么。据了解,在以太坊社区开发文档中,以太坊2.0被称为A Sharded PoS Ethereum 2.0。这其中包括两个主要事项,分别是“Sharded”和“PoS”。“Sharded”即以太坊分片技术,“PoS”显然是指PoS共识机制,也就是说以太坊2.0的定义是包含了这两项更新后的以太坊网络。遗憾的是,在主链7,080,000高度上激活的硬分叉并不包含这两项升级。
01
被延后的硬分叉:君士坦丁堡
预期在2019年1月中旬激活的以太坊硬分叉,实际上是此前10月在以太坊测试网Ropsten上进行的君士坦丁堡升级,但当时因存在共识问题导致测试网Ropsten不可用。而根据测试网Ropsten的链上数据,自10月13日的4,230,000区块高度,测试网已经实施了君士坦丁堡升级,或部分升级,其区块奖励已经由3ETH减少至2ETH。
有媒体推测,以太坊核心开发者决定在主网7,080,000高度激活硬分叉,说明君士坦丁堡硬分叉已经在测试网络Ropsten部署成功,并测试完成。
君士坦丁堡硬分叉是以太坊“大都会”(Metropolis)阶段预定三个硬分叉中的第二次分叉。
第一次硬分叉被称为“拜占庭硬分叉”,实施于2017年10月16日的4,370,000区块。拜占庭硬分叉部署了ZK-Snarks,延期了难度炸弹,调整出块奖励由5ETH降低至3ETH(EIP-649)等总共8项更新。“大都会”阶段仅仅是以太坊发展路线四部曲中的第三阶段,之后将会迎来以太坊最重要的里程碑:“宁静”(Serenity)阶段。
原定10月份启动的君士坦丁堡硬分叉中,包含了EIP-145、EIP-1052、EIP-1283、EIP-1014和EIP-1234共5项更新方案,其目的是提高以太坊的运行效率,并移除/推迟难度炸弹。
其中EIP-1234提议将拜占庭硬分叉后的出块奖励由3ETH减少到2ETH,它也是本次升级最受关注、最具争议的君士坦丁堡更新项目。
在8月31日,以太坊出块奖励调整投票结束,投票总数170票,投票ETH 151170.1个。但结果上,最终有129票(75.9%)投给“延迟难度炸弹,并将出块奖励降低至1ETH”,31票(18.2%)投给“将出块奖励降低至2 ETH”,而只有7票(4.1%)投给“保持3ETH出块奖励不变”,3票(1.8%)投给“提高出块奖励至5ETH”。
最终以太坊开发者决定将出块奖励减产至2ETH,即提案EIP-1234将作为君士坦丁堡的一部分。
以太坊并没有像Bitcoin一样限制ETH的最大供应量,这也导致ETH严重通胀,矿工、大户所持ETH价值逐渐稀释、贬值。自2017年的拜占庭硬分叉,以太坊开发者连续调低出块奖励,由5ETH降低至3ETH,再由3ETH继续降低。从上面提到的投票数据来看,其中不乏激进主义试图将出块奖励降低至1ETH。
虽然在以太坊白皮书中已经对其货币经济体系的通胀率做出了解释,表示随着时间推移,以太坊的通胀率将趋近于0,但显然ETH产出之快有些超出开发者的预期,以至于不得不加速人为干预,以达到快速降低通胀的目的。所以从经济学角度来说,ETH的减产对其持有者无疑是一种利好。
然而社群中同样有不少反对的声音,认为现在数字货币市场雪崩,ETH大幅折价(自最高点1400美元至今已经跌超90%),大熊市中减产并不会带来ETH价值的稳定提升,反而会使ETH提升的价值无法弥补损失的1ETH,以太坊挖矿将无利可图,加速矿工出走。
在当前市场环境下,减产确实会有极大可能带来负面效果。以ETH现在的市价,在上个月关机潮后剩下的以太坊矿工,可以说是勉强收支平衡。若这个时候直接降低其33%的产量,排除君士坦丁堡硬分叉带来的效率提升,ETH需要上涨50%才能弥补矿工减产的损失。如果减产后的ETH不能在当前熊市环境中大涨,大批矿工将不得不关机卖铁。
其实以太坊既定的减产目的是为了促进PoW向PoS的转化,所以其减产带来的收益更大程度上是ETH远期的升值,而现在这个时间点部署确实不是好时机。
02
以太坊分片技术:Casper & Sharding
2014年,以太坊基金会的Vlad Zamfirt开始主导开发Casper扩容方案;2017年10月25日,V神发表论文介绍了PoW/PoS混合机制的Casper the Friendly Finality Gadget(Casper FFG);2017年11月1日,Vlad Zamfir发布完全PoS机制的Casper CBC草案;2018年6月16日,因Casper和Sharding项目间存在较多重复工作,以及以太坊开发团队为了专注于开发纯PoS的Casper机制,决定融合Casper和Sharding分片技术,Capser FFG项目被终止。
据了解,Sharding分片技术由V神于2018年4月发布公开,并作为与Casper共识同等重要的项目来推进。分片技术简单来说就是将现有的以太坊网络节点划分成多个组,每个组可以独立于其他组进行链上交易的打包和确认,类似于中央处理器的多线程能力,增加了以太坊网络同时处理多个交易的可能,以达到链上扩容的目的。
分片技术的原理,听起来很简单。但实际上,这项技术非常复杂。若要在以太坊上实现,还需要解决很多问题。因为分片实际上牺牲了部分以太坊网络的去中心化程度,开发者不得不考虑如何完善分片的随机节点分布,如何防止单个分片内部遭到诸如双花攻击等的威胁,以及防止多个分片间产生交易冲突等大量问题。
信标链与分片数据链(资料来源:DarrenLangley)
根据高级区块链工程师Darren Langley更详细的解释,每个分片都是一条独立的PoS区块链,具有独立的交易记录、账户余额、智能合约等,作为区块链额外增加的交易通道,使交易可以并行处理,这些PoS链被称为“Shard Chains”分片链或“Shard Data Chains”分片数据链。而每条分片数据链都与其上一层作为协调者角色的“Beacon Chain”信标链相连,并在信标链的协同下运行。这就牵扯到了一项以太坊的新设计Beacon Chain。
03
以太坊PoS:Beacon Chain
在Casper和Sharding技术开始融合之后,以太坊代码库出现了一项新的设计,即信标链Beacon Chain。信标链是一条独立于当前主网的纯PoS共识区块链,作为分片技术以及分片数据链的基础构架,信标链将成为以太坊2.0中第一个落地的主要功能。
根据Github文档,Beacon Chain的主要功能是存储和维护验证者的注册信息;执行交联的处理;管理自身及各个分片链的PoS共识协议;管理验证者和她们的权益;在各时段,为每个分片指定所选的区块提议者;组织验证者形成委员会来对被提议的区块进行投票;对验证者进行奖惩处理等等。
Beacon Chain目前还处于开发阶段,根据V神的演讲,PoS信标链将会是一个区块链仓库,承载着所有的信息,和运行PoS机制的验证者,其作为分片技术与现有PoW主链间的协调者,撑起了整个以太坊网络。而只有当Beacon Chain最终实现运行的时候,以太坊2.0才会真正开始部署。
04
以太坊2.0
根据Github描述文档,以太坊2.0的设计目标是:
尽量降低复杂性,即使以效率损失为代价; 通过主要网络分区,在大部分节点脱机时保持活动状态;所选择的组件,需要它们要么是量子安全的,要么可以在可用时轻松换出量子安全副本;利用加密和设计技术,允许验证者在单位时间内大量参与;允许具有O(C)资源的典型消费者笔记本电脑处理和验证O(1)分片。
以太坊2.0整体架构
根据以太坊核心开发者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原本设计的PoW与PoS共存架构最终在开发者的调整中转变为纯PoS构架,即主链、信标链、分片链均使用PoS共识机制。
而根据以太坊的发展路线,及V神在Devcon4的演讲内容,我们恐怕无法在“大都会”(Metropolis)阶段见到以太坊2.0的真面目了。
但是随着Beacon Chain的逐步完成和部署,下一个被交付的功能将是分片技术,而后是eWASM以太坊虚拟机的状态转换,再之后还有更多更多可以实现的功能与新技术。
可以说,以太坊正在朝着更安全、更高效、更具扩展性的方向发展,而随着各种新技术的落地,将使以太坊网络大规模商用变为可能。
君士坦丁堡硬分叉将大幅降低ETH的通胀率。但在目前环境下,对原本处于收支平衡的矿工来说,是一个巨大的冲击。