以太坊 2.0:验证者详解

我们希望你首先理解 Nimbus 就是以太坊 2.0。我们的目标是在 2019 年 3 月之前阐述一种概念验证(PoC)。这意味着团队将会把更多精力侧重于实现以太坊2.0,而不是实现一个可行的以太坊 1.0(不是说我们要放弃 1.0 啊,只是优先考虑 2.0)。这里有个宏大的计划——以太坊 2.0。

以太坊2.0中有各种各样的名词—— Beacon 链、剑手协议、验证者、随机数生成、BLS 签名、状态的确定......就像下面这张图一样:

-¯_(ツ)_/¯-

尤其是最近 Casper 以及分片 Sharding 的合并——Shasper 的出现,怎么会有人能理解这么难懂的东西?我们不想再泛泛而谈,因此写了这篇文章,它不是对技术的炒作,而是理解,所以跟我们一起去深入理解一下吧~

本文是 Nimbus 团队解释以太坊 2.0 系列的第一篇,本系列将把 2.0 分成易于理解的几部分,如果有必要的话,再介绍下 Nimbus 的实现进程。

阅读本文应该不需要什么背景知识。不过以太坊基础知识以及 PoW 和 PoS 之间的区别还是有必要知道的。

以太坊 2.0 概览

我们将从最基本的开始,然后解释新系统中的验证者,但我们首先要了解一下以太坊 2.0 总计划中的一些基本概念。

-啥时候能做完?-

第一课:Serenity(宁静),不是 Shasper

在今年的 Devcon4 中,Vitalik 表达了他对 Shasper 这个词的厌恶(社区对 Casper 和分片合并产物起的名字),希望社区把以太坊的新阶段(以太坊 2.0 )称为“Serenity(宁静)”——下一阶段开发工作的真正的名称。

第二课:多阶段

宁静将会分为 4 个不同的阶段——合在一起大约需要 2 年的时间。

  • 第一阶段,0 阶段(我们开发者就喜欢从 0 开始~)或者说 Beacon 链阶段,将会专注于把 PoS Beacon 链上的验证者跑起来。

  • 第二阶段将会专注于添加分片,我们会在之后的推文中解释。

  • 第三阶段将会完成片间以及片内的交互,即:智能合约。是的,这意味着新的以太坊前期将不能运行智能合约

  • 第四阶段,按 Vitalik 自己的话说,就是对新的世界计算机的微调和优化

第三课:验证者

验证者是一个实体(人或公司),可以为区块链提出新区块,或者确认其他验证者的提议。我们要搞清楚——这种方式是自动的,没有任何手动的操作。从技术上讲,你可以人工操作,但是你可能来不及反应。所以从各方面来讲,验证者是一个节点,一台做这种提议的电脑(我们称为 1C )。

提议的验证者叫提议者(proposer),验证提议的验证者叫证明者(attester)。

这就到了花开两朵各表一枝的地方了。

验证者从一组非常大的验证者列表中选取出来,这组验证者是注册在 Beacon 链上的(我们下篇推文会介绍这个)。他们是由链上主掌随机数的部分(即使用 RANDAO + VDF 的随机数生成器)选出来的,选出的验证者组成一个委员会(committee)。

当验证者被选为委员会成员,他就有责任区证明一个状态,即:构造下一个区块。这种操作发生在一个叫做 slot 的时间框架中(一个 slot 是形成一个区块的时间,即:区块的提议发出及证明其正确性的时间),若在一组 slot 里所有随机选出的验证者都进行了提议,那么这组 slot 就组成了一个 cycle 。

是不是觉得名词和术语太多了?

-人家要弄混了啦-

不要担心,这只是定义而已。还有一个你需要知道的,那就是——如何成为一个验证者!

成为一个验证者

要成为一个验证者,可通过当前以太坊 PoW 主链,向 Beacon 链合约发送 32ETH 的保证金(目前我们用的是这种方法)。智能合约生成一个“验证者委员会成员名片”,可以让你参与到新系统中。验证者会负责一到两个分片(后面才会加上这个功能),能够对分片块进行提议或证明。换句话说就是,1C 的资源最多能验证 2 个分片。如果你想存更多的 ETH ,那你需要再增加 1C 的资源。因此,权益池成为一种不切实际的东西,网络去中心化由此得以加强。

-去中心化万岁!-

所以呢,目标是两个系统(PoW vs PoS)要同时运行一段时间,因为就像我们在上面的阶段部分描述的那样——前两个阶段系统中没有任何的数据流通,所以我们仍然要依赖于 POW 链来处理我们的数据交互。两个系统的过渡是渐进的,没有矿工会突然挖不到区块,或者卡在旧的硬件设备上。实际上,矿工的情况正在好转——这是我们将会在下一篇关于 ProgPoW 的文章中讨论的。

那么,我能做多长时间的验证者?而且什么是Slasher,什么情况下会丢失保证金?还有,如果链上没有交易的话,验证者要验证什么呢?

求知若渴的读者们,先别问这么多,我们一个一个来。

  1. 验证者当然可以无限期地留在系统中,如果不作恶的话。
  2. 验证者如果掉线,会定期损失部分保证金(即被罚没)。罚没的额度会随时间显著上升,这就意味着掉线时间周期越短,越容易被原谅。验证者不会失去所有的保证金,如果被罚没的总额达到一定阈值(即:28ETH ),该验证者就会被系统从验证者集合中剔除。而且几个月之后,验证者才能取出剩余的 ETH 。验证者作恶——声称一个不合法的交易是合法的——也会丢失保证金。这种惩罚会更加严厉,但目前还不清楚其严厉程度。保证金的丢失成为 slashing (你的保证金被罚没一部分),削减的算法被称为 Slasher 。
  3. 新的区块链基本上是空的,或者只是填充了空块。因为还没有数据没有分片可供引用,Beacon 链上的块没有什么实际意义。

一个比较普遍的疑问就是,为什么要销毁作恶者的所有 ETH ,而不是分发给网络中的其他验证者?简单来说,销毁 ETH 会使所有人受益,然而分发给其余验证者会使得验证者互相攻击,来获得其他人被罚没的 ETH 。

Nimbus 的实现

验证者是 beacon 链的一大部分,我们的团队正在致力于在 2019 年 3 月之前发布一个 beacon 链客户端的概念验证。我们会首先发布一个客户端,可以和其他团队的客户端或者 Nimbus 实例的客户端协作一起运行beacon链。

敬请期待后续的更新。

总结

验证者是一种现代的“矿工”,但他们并不消耗电力来确认交易;被系统选中之后,验证者打包交易、构造区块,并在其他验证者的证明下,确认区块。链上的验证者协同形成新链,没有任何一个验证者比其余验证者更有权力。要成为一个验证者,用户可通过当前以太坊 PoW 主链,向一个 beacon 链合约发送 32ETH,合约会生成对应“验证者委员会成员名片”凭证。

 

猜你喜欢

转载自blog.csdn.net/shangsongwww/article/details/90199661
今日推荐