小白也能懂——以太坊2.0测试网

这个月早些时候,Prysmatic Labs 团队发布了目前最接近完成态的以太坊公开测试网络,测试网使用 Prysm 客户端,开发至以太坊 2.0 的第一阶段。本次发布受到以太坊社区的欢迎,许多人立即着手运行客户端并向开发团队报告问题。测试网的验证节

这个月早些时候,Prysmatic Labs 团队发布了目前最接近完成态的以太坊公开测试网络,测试网使用 Prysm 客户端,开发至 以太坊 2.0 的第一阶段。

本次发布受到 以太坊 社区的欢迎,许多人立即着手运行客户端并向开发团队报告问题。测试网的验证节点数量很快超过了 800 个。这表明, 以太坊 社区兴致昂扬地希望为万众瞩目的 以太坊 2.0 的升级作出贡献。

趁热打铁,在此有必要向广大的 以太坊 社区阐述什么是 以太坊 2.0 测试网、为何说它的发布是一个关键的里程碑、为何花了那么久才达成此次发布?本文将尝试用通俗的语言来阐述技术细节。首先我们会讨论 以太坊 2.0 和当前 以太坊 在协议上的区别,其次会概括性地解释此次测试网络的功能。

为何 以太坊 2.0 升级要等待如此之久?

为回答这个问题,我们先阐明一个简单却重要的概念:

以太坊 2.0 并不是对现有 以太坊 网络的升级,而是一次全面的修订和重新设计。

许多人并不知道,甚至不同意这一点,因此有必要澄清下。

    新的 以太坊 2.0 网络将移除 PoW (工作量证明)共识机制,转而使用(新的权益证明(PoS)共识机制)Casper 共识机制。在 PoW 链上,可以用一种很简单的方法来决定在分叉中应该选择哪一条链、如何驱动链生长。该方法就是始终跟随拥有最大累积工作量的链,换句话说,选择耗费了最多算力的链。但因为 以太坊 2.0 使用 PoS,我们必须引入一系列新的分叉选择规则(即 LMD GHOST),来决定链的生长方向。当前的 以太坊 网络只有一条( 有点像 DAG 有向无环图的)单链。 以太坊 2.0 网络则使用 1024 条并行链(即分片),这是 以太坊 雄心勃勃的扩容计划的核心。这些不同的链(分片)可以互相通信,并统一由单一主链 Beacon 链进行控制和验证。Beacon 链就像植物的枝干,掌控着 1024 个平等的分支。这些激进的改变,使得 ETH 持有者无法在新的 以太坊 2.0 网络中使用 ETH 。而是需要先燃烧当前的 ETH ,然后作为回报,在 Beacon 链上获得相同数量的 ETH 。这个交换机制由 以太坊 1.0 上的智能合约完成,并受 Beacon 链的监控。

虽然 以太坊 1.0 和 2.0 之间有太多的不同,在这里我们只讨论主要部分。这将有助于说明完成 以太坊 2.0 的工作量。

为何 以太坊 2.0 测试网的发布如此重要?

从上述讨论的 1.0 和 2.0 网络之间的不同点来看, 以太坊 2.0 还需要做许多功能的整合和调整工作才能正常运行。而且 以太坊 2.0 的许多概念是全新的、从未被其它已公开的 区块链 测试过,比如 Casper 共识机制。

相要实现与 以太坊 2.0 类似目标的 Cosmos 和 Polkadot 协议,都用了超过 2 年的时间才能实现一个工作正常的(从 0 开始开发,具有充分灵活性的)设计。更何况,这些项目无需担心如何将 ETH 和其它 ERC-20 代币从旧链转移到新链,也无需担心如何降低(协议改变)对 dApp 开发者带来的影响。因此, 以太坊 社区需要看到新旧网络迁移过程中的切实而具体的步骤,以提振坚持执行路线图的信心。

以太坊 2.0 蓝宝石(Sapphire)测试网实现了哪些功能?

回顾下上面提到的 以太坊 1.0 和 2.0 的4个不同点,测试网实现了 #1、#2 和 #4,部分实现了 #3。具体来说,蓝宝石测试网实现了 Casper PoS 共识机制(使用新的分叉选择规则);实现了 Beacon 链;实现了将 ETH 1.0 代币转移为测试网的 ETH 2.0 代币。测试网没有实现 1024 个分片以及分片间的通信机制(跨片通信)。

测试网中,另一个值得注意的功能缺失是智能合约,该功能计划在路线图的第三阶段实现。为完成智能合约功能,需要移植 以太坊 虚拟机(EVM)到 以太坊 2.0 中或者在 以太坊 2.0 协议中重新实现一种虚拟机(WASM)作为 EVM 的替代。

以太坊 2.0 测试网是如何工作的?

以太坊 2.0 是一个 PoS 网络,由质押代币的验证节点来生产 区块 并维持网络运行。因此,首先要解决的问题是如何将代币分配给验证节点以运行网络。

以太坊 2.0 网络中,最终将使用与我们 1.0 网络同样有价值的 ETH 代币,因此 ETH 代币需要被转移到新的 以太坊 2.0 网络中。为了实现和测试该转移功能,Prysmatic Labs 开发了一个叫作 Goerli 的 以太坊 1.0 的测试网络和一个叫做存款合约的智能合约,在Goerli 网络上任何人都可以获得任意所需的伪 ETH ,而存款合约可以储存不限量的 ETH 代币。当充币到存款合约后,测试网的 Beacon 链将生成等量的 ETH 2.0 代币。为了简化,我们将 ETH 2.0 代币称作:Beacon 链 ETH (b ETH )。

- ETH 在 以太坊 1.0 和 2.0 之间转移的示意图 -

从 ETH 1.0 到 b ETH 的步骤:

    首先,验证节点安装支持 以太坊 2.0 网络的 Prysm 软件,并创建账户。创建的账户将生成“存款数据”,用来打通 以太坊 1.0 钱包和 以太坊 2.0 账户在 以太坊 1.0 测试网 Goerli 上,用户发送 3.2 个 ETH (实际网络将需要 32 个 ETH )到存款合约中,以参与 以太坊 2.0 的验证工作。这实际上就是燃烧 ETH 1.0 代币。当 以太坊 2.0 的 Beacon 链发现存款合约中有币打入时,将在验证节点的账户中生成相同数量的 b ETH 代币。现在,验证节点已经准备好参与验证,只需再等待一段安全延时即可,该延时用来增强 Beacon 链的安全性。验证客户端开始参与共识机制并获得验证奖励,如果不遵循协议规则,他们的 b ETH 就会被罚没。

验证节点到底做什么?


在 以太坊 2.0 中,每 6 秒会产生一个新块(当前 PoW 网络约为 15 秒)。每一次,都会由验证节点池中的一个节点来提议生成新 区块 。一定数量的其它验证节点则检查该 区块 并验证正确性。到下一次出块时,则换另一个验证节点提议生成 区块 ,同时换另一组不同的验证节点验证正确性。

每产出 64 个 区块 (称为一个 epoch),所有的验证节点会重新洗牌,为新一个 epoch 选择新的 区块 提议者和 区块 验证者。验证节点的选举过程在随机数生成算法的帮助下,从根本上避免了验证节点间的勾结串通,提高了协议的安全性。

验证节点需要一直在线以完成分配给它们的任务。如果它们诚实工作,将获得 b ETH 代币奖励。如果他们行为不端、勾结串通或离线,他们所质押的代币将被罚没。如果验证节点的余额减小到验证阈值以下(测试网中为 3.2 b ETH ),则将被踢出验证节点池,无法继续参与验证工作。

后续的发展方向?

蓝宝石测试网只是漫长的抵达 以太坊 2.0 的征程中的一步。 它实现了 以太坊 2.0 路线图中的 Phase 0。距离实现 以太坊 2.0 的完整功能还有 2 个阶段。

但即使是阶段 0,想要上主网,仍有巨大的工作量。首先,我们尚在测试网的早期阶段,有众多的问题、bug 和优化项需要解决;其次,目前测试网上只有 Prysm 一个客户端可以使用。其它团队也在开发支持 以太坊 2.0 网络的客户端,比如 Nimbus 和 Lighthouse。兼容不同的客户端,是完成一个支持多客户端的测试网的前提条件;再次,阶段 0 的设计要求 b ETH 能够在不同账户间转帐,当前的测试网并不满足;最后,阶段 0 的设计仍处在细节的修订中(由 以太坊 基金会研究团队进行)。这些设计需要在众多的 以太坊 2.0 客户端中最终确定、完整实现和审计通过,才有望于 2019 年底主网上线阶段 0。

总之,测试网上线是 以太坊 2.0 发布路线图中的关键一步。它的重要意义在于 以太坊 社区的公众都能参与到测试中来,提出问题发现瓶颈,以引导 以太坊 2.0 的开发者们解决。测试网的发布有效提振了社区对 以太坊 2.0 路线图的信心。另外, 以太坊 基金会宣布将投入 1900 万美元来支持 以太坊 2.0 的开发及其它 以太坊 扩容方案的开发。此举将有效加加快开发和测试工作的进度。

原文链接: https://www.tokendaily.co/blog/eli5-explanation-of...

作者: Mohamed Fouda

翻译&校对: Wuwei & 阿剑

声明:本文来自金色财经平台用户投稿,观点仅代表作者本人,不代表【金色财经-www.jsgu.cn】立场,文章内容仅供参考,如若转载请标注文章来源:【当前页面链接】

区块链相关

区块链媒体相关

区块链技术相关

挖矿相关

比特币相关