关于以太坊2.0的一些知识科普

转载
2096 天前
12643
星球日报

来源:猎豹区块链安全


01

以太坊2.0

3月初,在经历“伊斯坦布尔”升级之后,以太坊正式进入“宁静”阶段。“宁静”也被公认是以太坊的2.0版本,因为在“宁静”阶段的以太坊将会切换成权益证明(POS算法)来达成共识,除此之外,分片技术也将全面上线,在虚拟机层面,将会摒弃原来的EVM,取而代之的是EWASM... ...


如果你是一名计划部署 ETH2.0 智能合约 Solidity 开发者,那么你会遇到很多变化。ETH2.0 会完全替代 ETH1.0,在 ETH1.0 上编写的智能合约,到了 ETH2.0 可能就需要重写了,因为ETH2.0 的合约将会完全重构。但庆幸的是,我们有2年左右的时间来准备和构建生态。

按照Vitalik的说法,宁静将会分为 4 个不同的阶段,一共需要经历 2 年左右时间:

第一阶段,称为beacon chain阶段,这个阶段将专注于beacon chain的证明、验证、启动和运行;

第二阶段,重点添加分片链作为数据的传输层;

第三阶段,将允许跨分片(智能合约)传输数据,这意味着目前的智能合约在新的以太坊上将不再有效;

第四阶段将会对以太坊这台新世界计算机的调整和优化


02

信标链


信标链是以太坊2.0的架构中非常核心的一环,它其实是一条全新的区块链。这条链承担着2个重要的职责,首先是作为质押系统的网关,让验证者能够安全参与质押系统成为新的矿工,另一个则是存储分片状态的索引。

信标链上不会存储现行以太坊区块链上存储的任何信息,包括账户的余额、跟代币相关的合约、dApp 的状态等等。它只存储两样东西:验证者列表和 Attestation(证明信息)。

为了能够平缓的过渡到POS,攻城狮们将会在现有的以太坊链上部署一个注册器合约(registration contract),因此在不久的将来我们会看到POW与POS共生的以太坊。(到第二阶段,PoW 链会成为信标链的一个分片或者一个 master archive contract——主存储合约)。

如果想要成为以太坊2.0 的矿工,需要先在注册器合约中质押 32个ETH,并获得一张收据(也就是区块链客户端可以读取的一个事件(event)),这张收据就是“通行证”,表明 committer(即质押者)具有担任验证节点的资格。值得一提的是,这个过程是单向的,无法从这个系统中撤离回到现有的 PoW 链上。一旦提交了 32ETH 到质押系统里,押金只能退回到某个具体的分片上(在分片部署之后),但不能回到 EVM 上。

在信标链上注册之后,验证者会被随机分配去为一到两个分片做验证。验证者会将他们所在分片上的数据和信标链上的数据相结合,用来形成新的区块。

不同于比特币或现在的以太坊,在POS规则下,成为验证者节点的门槛很低,客户端可以是非常轻量级的,只需质押32个以太坊,并签署他们的 attestation ,在需要的时候将它发回以太坊网络。

验证者客户端将使用信标链节点提供的数据构造区块,若是验证者客户端作恶或是离线,他们自己也要承担后果——抵押的32个ETH将会罚没(即削减权益)。

理论上来说,智能手机之类的设备就可以用于验证,但可能不太好实现——保持网络通信顺畅需要的网络带宽以及频繁的硬盘读写操作,会把手机的电量很快就会耗光(一旦离线,抵押的32个以太坊也将罚没)。

03

分片

最简单的Sharding(分片)方式被称为 Beanstalk,将会运行很多条链,并将一条链称为一个“shard(片区)”。每个片区都会有独立的一组验证者(Validator),通过投票机制来验证交易和生成区块的网络参与者。

分片方案理论上能够增加参与网络的节点数来实现网络无限扩展的解决方案,但信标链(Beacon Chain)概念的解决方案并不太现实。为什么呢?因为信标链需要做一些记账计算工作,它需要将验证者分配到各个分片链中,并对分片链区块做快照,这些计算量是与系统中分片的数量成正比的(即分片数量越多,计算的工作量就越多)。由于信标链本身也是一条区块链,其处理能力受到运行信标链的节点的计算能力的限制,因此分片的数量自然是有上限的。

但是,分片网络的结构确实会使节点改进而产生倍乘效应。因为任何提高节点效率的提升都会使节点能更快地处理交易。如果运行网络的所有节点(包括信标链中的节点)处理交易的速度都变成 4 倍,那每个分片能够处理的交易量将是之前的4倍,且信标链能够维持的分片数量也将是之前的4倍。由此来看,整个系统的吞吐量将变成 4x4=16 倍——这就是为什么这种方案被称为“二次方分片(quadratic sharding)”。

当前还很难准确地衡量划分多少分片是可行的,但在可预见的未来,区块链用户的吞吐量需求不太可能超出二次分片所能提供的。若要安全地处理那么大的交易量,大量的分片所需的节点数量会比现在所有区块链的节点数总量还要大上几个数量级。

总结

信标链是一条新的链,是以太坊 2.0 的核心,所有分片都连接到信标链上并与之通信。信标链一方面是验证者参与质押系统并根据所押权益获得收益的渠道,另一方面是实现分片通信的渠道。因为各分片都将自己的最新状态的哈希存到信标链的区块上。分片网络的结构会使节点改进而产生倍乘效应。

信标节点是信标链的建设者,他们处理大量的数据,并将数据发送给验证者用于验证;验证者会构造区块并发回给信标节点。验证者质押 ETH 来获得出块机会,如果他们提议的区块获得了其它验证者的同意,就能获得奖励。