以太坊2.0的研究人员表示,在10月8日的Devcon 以太坊开发者大会上,他们将展示2.0的部分研究成果,比如演示分片链执行环境。而最近,以太坊创始人V神更是频频发声,为以太坊2.0造势。这一切昭示着,以太坊2.0呼之欲出。
当我们在谈论以太坊2.0时,通常会提到0阶段、1阶段、2阶段,还有信标链、分片链,对于一般人来说,听到这些概念很容易懵圈。本文尽可能以简单的语言,来解释2.0中的这些设计,帮助大家理解以太坊2.0。
01.什么是以太坊2.0?
以太坊的终极目标是成为一台去中心化的全球计算机,允许世界上任何地方的开发者将应用程序上传到区块链上,进而取代我们目前所使用的各种中心化应用程序。
为了实现这个目标,以太坊在2014年诞生之初,就设定了4个发展阶段:Frontier (前沿)、Homestead (家园)、Metropolis (大都会)、Serenity (宁静)。
前3个阶段被称为以太坊1.0,采用的都是 PoW(工作量证明)机制,而宁静阶段就是以太坊 2.0,从2.0开始,它将用PoS(权益证明)机制取代资源消耗大,且效率低下的PoW,从而提升以太坊网络的扩展性。
当然,以太坊1.0跟2.0的区别,不仅仅是PoW和PoS的区别,它还引入了信标链、分片、新虚拟机eWASM等。2.0的这些功能,并不是一步到位的,会再分为3个阶段,即阶段0、阶段1、阶段2。
02.阶段0:信标链
阶段0主要是发布信标链,信标链是采用PoS机制的区块链,是一条全新的区块链,与当前的以太坊链并行,它可以说是以太坊 2.0的核心,它本质上是一个智能管家,系统内的所有参与者都由它来指挥、协调。
信标链的功能主要有:管理验证者、提供随机性、区块提议者、委员会、奖励和处罚。为了便于理解这些概念,在这里,有必要先说说分片技术。
以太坊网络目前之所以拥堵严重,是因为它的每一个节点都需要处理全网的每一笔交易,这种方式自然会导致效率低下。
分片技术的解决思路是:每一笔交易不必发动全网节点都去处理,只让部分节点处理就好了。具体做法是,将以太坊全网节点分成1024个独立的小组,称为“片”,这些“片”可以在同一时间内同时处理不同的交易,它们是并行的。这样,处理速度自然会大大提升。
当然,这种方式由于不是全节点记账,会在去中心化和安全性上有所牺牲,不过,通过定期以随机数生成来决定选取达成共识的节点,再进行分组,可以最大程度降低恶意节点的作恶成功率,从而尽可能地保留去中心化的特质。
此外,从阶段0开始,会产生新的以太币,为了区分,我们把它称作BETH。BETH有两种获取途径:一是成为信标链(以及阶段1之后的分片链)的验证者,参与验证可以获得BETH奖励,二是,任何以太坊1.x的用户都可以通过以太坊1.x合约购买BETH。
信标链的一个至关重要的功能就是管理验证者,而以太坊2.0链上交易数据的的打包、区块的提出和确认,都需要验证者来完成。用通俗的话来说,验证者其实就是矿工,只不过以太坊2.0的矿工不再需要消耗电力,即可完成交易确认。
那么,如何成为验证者呢?
要成为一个验证者,需要通过当前的以太坊 PoW主链上的一个合约,发送32个ETH1(押金),经过一系列审查之后,会收到一个“验证者委员会成员名片”,这就表明,你成为信标链验证者集合中的一员了。
而验证者又分为两种,一种叫提议者(proposer),他们可以打包交易数据,只有“活跃”的验证者才可以成为提议者;另一种叫证明者(attester),他们不能打包交易,但可以选择新的区块,如果你不够“活跃”,只能成为证明者。
成为验证者后,信标链就会安排任务。
验证者会被随机分派到1024个分片中的1个或者2个分片中,分派给分片的一组验证者,称为委员会,委员会有128个验证者。每个分片的委员会成员,一起选择出新的区块,然后由该分片的提议者收集交易数据,并把它们放入选出的新区块中,此时,证明者可以验证提议者的行为是否违规。
在以太坊 2.0 中,每6秒会产生一个新区块,每产生64个区块,各分片的验证者会被重新洗牌,以此来避免验证者之间勾结作恶,提高安全性。
如果验证者表现良好,就可以获得奖励,如果说谎或作弊,就会受到惩罚,即扣除验证者抵押的32个ETH中的一部分,当押金不足16 个ETH,该验证者会被移出。
值得注意的是,如果验证者退出,他抵押的ETH和获得的奖励不会返回到以太坊 PoW主链中,而是会被存进分片链中,因为一旦抵押ETH到注册器合约后,ETH就会被兑换成BETH,ETH会被销毁。
在阶段0,分片链还没有启用,交易和智能合约仍然在以太坊1.0的主链上进行,这让信标链看起来没有实际用途,但要知道,信标链解决的是共识问题,而共识是区块链的核心基石,有了信标链,以太坊2.0才能成真。
阶段0的开发工作目前已经完成,只是还需要进行大量的测试才能启动,预计会在2020年1月正式上线。
03.阶段1:分片链
这一阶段的主要目标是分片,上文中,已经介绍了什么是分片技术。描述起来很简单,其实它很复杂。
每个分片都是一条单独的区块链,具有属于自己的账户余额、交易记录以及智能合约,但它们又不是孤立的,因为每条分片链都与信标链共享同一个PoS共识协议,每条分片链的数据都会及时地被记录在信标链上。
不过,与当前的以太坊链不同的是,信标链并不是直接存储这些数据信息,它存储的是经过哈希计算而生成的字符串。分片链中的验证者验证了一笔交易,交易数据经过哈希计算后,生成了一串字符串,信标链会把它记录下来,这样一来,就不必去深究这笔交易到底发生在哪个分片中。
信标链实时跟踪着各分片的变化,并借此建立起了各个分片间的联系与通信(交联)。
跨分片间的交易,也是基于此。
阶段1的分片链,依然不可用账户、资产和智能合约,也就是说,它还是没有实际的用途,只是一个试运行的版本,分片链区块主要是进行一个简单的数据收集,且数据没有任何结构和意义。这一切,都是在为阶段2做准备。
04.阶段2:智能合约
进入这一阶段,将引入新的虚拟机eWASM,新的智能合约需要通过它来创建和运行。
以太坊 1.0 的虚拟机称为 EVM,只允许Solidity语言编写,并编译成EVM代码,EVM臃肿繁复的编译工作会消耗大量Gas燃料费,其本身的性能并不高效,目前已成为以太坊网络的一个瓶颈。
eWASM将基于WASM(WebAssembly)指令集,这意味着它将支持多种编程语言的编写,且可以在任何地方执行,让以太坊的开发工作变得更加简单,性能大大提升,从而增加系统交易吞吐量。
阶段2有了新的智能合约后,会把之前所有重要的功能聚合起来,让分片链真正地投入运行,进而承担起以太坊网络的扩容重任。
自此,分片链上的BETH不再处于锁定状态,可以自由转移,每个分片链都将通过基于 eWASM 的以太坊虚拟机进行管理。
最后,我们需要知道的是,在阶段0、阶段1以及阶段2,当前以太坊1.0的PoW链不会消失(未来可能会),以太坊2.0和它是并存的关系,2.0的验证者和1.0的矿工都会有获得区块奖励,但在这个逐步升级的过程中,以太坊1.0PoW链的奖励会越来越少,最后变为0。
当然,阶段2的以太坊2.0并不是以太坊的终极形态,它依然处于非常早期的阶段,只是在为后续的扩展搭建一个基础。区块链技术的发展日新月异,以太坊也必将与时俱进。
网友评论