800+验证者节点!以太坊2.0测试网的发布到底意味着什么? Unitimes 2019-05-31 07:43发布在
在我们为之兴奋的同时,有必要让更广泛的以太坊社区了解有关以太坊2.0测试网的信息:为什么 Prysm 测试网的发布是一个重要的里程碑?为什么花了很长时间才实现这个里程碑?
本文将试图通过揭开相关技术细节的神秘面纱,并使用一种简单的语言加以阐明。我们将首先讨论以太坊 2.0与当前的以太坊协议的不同之处,然后对该测试网的功能进行深入的解释。
01
为何以太坊2.0升级需要很长的时间?
为了回答这个问题,让我们从一个简单但非常重要的事实开始:
以太坊 2.0并不是对当前以太坊网络的升级。相反,它是对以太坊的全面改革和重新设计。
1. 全新的以太坊 2.0网络不再使用 PoW 共识协议,而是使用一种全新的、创新性的 PoS 共识机制--Casper。[1]
2. 当前基于 PoW 共识的区块链 (包括当前的以太坊和比特币等网络) 使用一种简单的方法来选择区块链如何运行,以及在出现分歧 (分叉) 时应该遵循哪条链--即遵循最长的那条链。PoW 链建立在累积工作量最多的链的基础上,也就是使用了最多算力的链。相比之下,由于以太坊2.0使用 PoS 机制,它引入了一组分叉选择规则 LMD GHOST[2],该分叉选择规则将用于确定哪条链才是正确的链。
3. 当前的以太坊网络是一条由一个个区块 (DAG 数据结构) 组成的区块链,而以太坊2.0网络将使用 1024 条并行的分片链 (shard chains)。这是以太坊改善其扩展性的雄心计划的核心,该计划就是我们所说的 Sharding (分片)。这些不同的分片链将可以相互通信,所有这些分片链都将由一条称为信标链 (beacon chain) 的主链控制和验证。这条信标链就类似于一株植物的茎,上面长着1024条相同的分支 (分片链)。
以太坊 1.0和2.0之间有很多不同之处,上文讨论的只是其中的一些主要区别。这说明了交付以太坊 2.0将需要很大的工作量。
02
为何以太坊2.0测试网的发布很重要?
从上文讨论的不同之处可以看出,以太坊2.0的设计中有许多组成部件需要组合在一起并加以调整改进,以使整个全新网络正常运行。以太坊 2.0的许多概念都是全新的,以前从未在任何公共区块链中测试过,比如 Casper 共识机制就是如此。
其他试图实现类似目标的协议 (如 Cosmos 和 Polkadot) 需要两年以上的时间来完成运行设计,同时它们具备从零开始的灵活性。这些项目不必担心将 ETH 和其他 ERC20 代币从旧链转移至新链的问题,也不必担心需要去降低相关变更对 dApp 开发人员的影响。而以太坊社区需要看到以太坊从旧链迁移至新链的过程,以增加对这一发展路线图的信心。
03
在Sapphire测试网中实现了什么功能?
让我们回到前面提到的以太坊 1.0和2.0之间的四个主要不同之处,Sapphire 测试网实现了#1、#2和#4,部分实现了#3。具体来说,Sapphire 测试网使用新的分叉选择规则,实现了 Casper PoS 共识机制,实现了信标链,也实现了一种将 ETH 1.0 代币传输为将在该测试网上使用的 ETH 2.0 代币的机制。Sapphire 测试网尚未实现1024条分片,也没有实现跨分片通信机制。
Sapphire 测试网的另一个值得注意的缺失部分是以太坊智能合约功能的实现,该功能计划在路线图的阶段2实现。因为智能合约功能要求迁移以太坊虚拟机(EVM),或者在以太坊 2.0协议中实现WASM。[3]
04
该测试网如何运行?
以太坊 2.0是一个 PoS 网络,由参与质押 (staking) 的验证者 (validators) 来运行网络和生产区块。因此,第一个难题是为验证者分配代币,以激励他们来运行整个网络。
以太坊2.0网络最终将使用当前以太坊1.0链上发行的 ETH 代币,这些代币需要被传输至全新的以太坊2.0网络中。
为了实现和测试这种传输功能,Prysmatic Labs 团队的开发人员使用了一个称为 Goerli 的以太坊 1.0测试网 (在 Goerli 测试网中,任何人都可以获取任意数量的 ETH 测试代币),同时该团队也开发了一个用于测试的 Deposit Contract (存款合约[4]),该合约将无限期地存储任何发往并存储在其中的 ETH 测试代币。
用户将代币存储在这个 Deposit Contract 合约中之后,信标链就会发行相同数量的 ETH 2.0 测试代币。为简单起见,我们将把这些 ETH 2.0 代币称为:Beacon Chain ETH (bETH)。
将 ETH 1.0 转移生成 bETH 的操作步骤如下:
1. 首先验证者安装针对以太坊2.0网络的 Prysm 软件并在以太坊2.0上创建一个账户 (验证者账户)。创建帐户将生成“存款数据 (Deposit Data)”,用于将以太坊 1.0钱包链接到生成的以太坊 2.0帐户。
3. 接下来,以太坊2.0信标链会检查在 Deposit Contract 合约中的存款,并在新创建的验证者账户中发行相同数量的 bETH 代币。现在,验证者在等待一段安全性时间延迟之后,就可以参与到验证过程中了。这段延迟的时间是为了增强信标链的安全性。
4. 之后,验证者客户端就开始参与到共识机制中来了,并通过验证来获取奖励,当然也会因为不遵循协议规则而被罚没 (get slashed)。
05
验证者的任务究竟是什么?
在以太坊 2.0中,每6秒就会生成一个新的区块 (当前的以太坊 PoW 网络为15秒左右)。在每个区块中,验证者池中的一名验证者将提议一个区块,许多其他的验证者将查看被提议的区块并对其正确性进行证明 (attest)。在之后的每个区块中,将会由不同的验证者来提议区块,并由一组不同的验证者来证明被提议区块的正确性。
每生成64个区块 (称为一个 epoch),所有的验证者 (不管是信标链还是1024条分片链上的验证者) 都将被重新打乱,从而为下一个 epoch 分配新的区块提议者 (block proposers) 和证明者 (attesters)。区块提议者和证明者都可以称为验证者。在重新分配验证者时将借助于随机数生成技术,本质上是为了防止验证者串谋,从而增强协议的安全性。
06
接下来的工作是什么?
Sapphire 测试网只是抵达以太坊2.0目的地的第一步,它只是实现了以太坊2.0路线图的阶段0。在以太坊2.0完全正常运转之前,还有两个阶段需要完成:阶段1和阶段2。
首先,我们还处于该测试网的初期,该测试网还存在大量的问题、bug和优化有待解决。
其次,该测试网只是一个单一客户端测试网,即只有 Prysm 客户端可以在 Sapphire 测试网中使用。其他以太坊2.0客户端开发团队 (如 Nimbus [5] 和 Lighthouse [6]) 正致力于实现以太坊2.0网络的其他客户端,解决这些不同的客户端之间的兼容性是实现一个多客户端测试网的先决条件。
第三,阶段0的规范允许 bETH 在不同的账户之间转移,这项功能还不可用。
最后,以太坊基金会的研究团队依旧在对阶段0的规范进行小的更改。预计阶段0主网上线有望在2019年底实现,在这之前,这些规范需要敲定、完全实现并在多个以太坊2.0客户端中进行审核。
总之,Sapphire 测试网的启动是交付以太坊2.0路线图中的关键一步。其重要性源于以太坊社区的参与和测试,以明确问题和瓶颈,从而指导以太坊2.0开发人员解决这些问题。该测试网的启动在很大程度上增强了社区对以太坊2.0路线图的信心。此外,以太坊基金会也宣布了将拨出1,900万美元用于支持以太坊2.0和其他扩展性解决方案的研究和开发。这些资源将使开发和测试工作取得更快的进展。
正文中涉及的链接:
- [1]https://arxiv.org/abs/1710.09437
- [2]https://github.com/ethereum/eth2.0-specs/blob/dev/specs/core/0_fork-choice.md
- [3]https://webassembly.org/
- [4]https://goerli.etherscan.io/address/0x399e76005f408301556525b599ded6dc3b0c9349
- [5]https://our.status.im/the-nimbus-mvp-testnet-is-here/
- [6]https://lighthouse.sigmaprime.io/update-09.html
https://www.tokendaily.co/blog/eli5-explanation-of-the-ethereum-2-0-testnet
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:msy2134。