以太坊 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,什么情况下会丢失保证金?还有,如果链上没有交易的话,验证者要验证什么呢?
求知若渴的读者们,先别问这么多,我们一个一个来。
- 验证者当然可以无限期地留在系统中,如果不作恶的话。
- 验证者如果掉线,会定期损失部分保证金(即被罚没)。罚没的额度会随时间显著上升,这就意味着掉线时间周期越短,越容易被原谅。验证者不会失去所有的保证金,如果被罚没的总额达到一定阈值(即:28ETH ),该验证者就会被系统从验证者集合中剔除。而且几个月之后,验证者才能取出剩余的 ETH 。验证者作恶——声称一个不合法的交易是合法的——也会丢失保证金。这种惩罚会更加严厉,但目前还不清楚其严厉程度。保证金的丢失成为 slashing (你的保证金被罚没一部分),削减的算法被称为 Slasher 。
- 新的区块链基本上是空的,或者只是填充了空块。因为还没有数据没有分片可供引用,Beacon 链上的块没有什么实际意义。
一个比较普遍的疑问就是,为什么要销毁作恶者的所有 ETH ,而不是分发给网络中的其他验证者?简单来说,销毁 ETH 会使所有人受益,然而分发给其余验证者会使得验证者互相攻击,来获得其他人被罚没的 ETH 。
Nimbus 的实现
验证者是 beacon 链的一大部分,我们的团队正在致力于在 2019 年 3 月之前发布一个 beacon 链客户端的概念验证。我们会首先发布一个客户端,可以和其他团队的客户端或者 Nimbus 实例的客户端协作一起运行beacon链。
敬请期待后续的更新。
总结
验证者是一种现代的“矿工”,但他们并不消耗电力来确认交易;被系统选中之后,验证者打包交易、构造区块,并在其他验证者的证明下,确认区块。链上的验证者协同形成新链,没有任何一个验证者比其余验证者更有权力。要成为一个验证者,用户可通过当前以太坊 PoW 主链,向一个 beacon 链合约发送 32ETH,合约会生成对应“验证者委员会成员名片”凭证。
以太坊 2.0:验证者详解相关推荐
- eth转入地址_ETH周报 | 资金净流入再创年内新高;以太坊2.0验证者数量增加(4.20-4.26)...
作者 | 秦晓峰 编辑 | 郝方舟 出品 | Odaily星球日报 一.整体概述 两名消息人士透露,以太坊开发商ConsenSys将再次裁员.其中一名消息人士称,ConsenSys公司上周一宣布将裁员 ...
- 以太坊智能合约ABI详解
在以太坊生态系统中, ABI 是从区块链外部与合约进行交互以及合约与合约间进行交互的一种标准方式.本文让我们了解一下智能合约的 ABI 是什么. ABI是什么 在计算机科学中,ABI(应用程序二进制接 ...
- linux attach 指令,以太坊实战-attach命令详解
在前面的实战教程中我们经常提到attach这个命令,今天就针对此命令做更深一步的介绍. 官方对此参数的解释如下:attach Start an interactive JavaScript envir ...
- 以太坊怎么注册_以太坊2.0将至,牛市即将到来??
以太坊2.0是一个宏大的项目,我们说它"宏大"不仅表现在性能的提升上,而且体现在整体架构的改变上.而以太坊性能的提升根本也是因为它整体架构的改变,当以太坊进化到20时,它现在架构中 ...
- 以太坊2.0文档------以太坊2.0阶段(一)
以太坊2.0阶段 由于以太坊2.0正在进行大量的研究和开发,这一页可能会自动过时.它是在尽力而为的基础上不断更新的.最近更新日期为2019年11月16日. 介绍 以太坊主网的升级,被称为Ethereu ...
- 【转】以太坊 2.0 中的验证者经济模型
自从 11 月在 DevCon4 上正式宣布 Serenity 以来,我们见证了自我组织的思想者团体聚集在一起讨论,定义与规划以太坊 2.0.尤其对网络膨胀.经济激励措施.罚没机制.取款周期.攻击媒介 ...
- 以太坊 2.0 中的验证者经济模型,Part-1
自从 11 月在 DevCon4 上正式宣布 Serenity 以来,我们见证了自我组织的思想者团体聚集在一起讨论,定义与规划以太坊 2.0.尤其对网络膨胀.经济激励措施.罚没机制.取款周期.攻击媒介 ...
- 过去几小时,以太坊2.0信标链主网超过75位验证者被Slash罚款
Prysmatic Labs的开发人员Terence Tsao发推表示,过去几小时,以太坊2.0信标链主网超过75位验证者被Slash罚款. 据悉,:Slash是从节点中质押的32枚ETH中收取罚款. ...
- V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里!
编辑 | 晋兆雨.Carol 8月8日 ,「2020以太坊技术及应用大会·中国」顺利举行.CSDN 创始人&董事长.极客邦创投创始人蒋涛.以太坊创始人Vitalik Buterin .Unit ...
- 以太坊 2.0:信标链
本文是 "以太坊 2.0" 系列的一部分.在本文中,我们将解释信标链. 阅读本文需要一些背景知识,不过不多,都在这篇 Explaining Validators 里面了.话说回来, ...
最新文章
- mac上安装dart环境
- 超详细派克斯使用安装教程
- 第22条:理解NSCopying 协议
- 非名企非名校,我是如何入职顶级互联网公司的
- php html xml,xml和html之间的区别有哪些
- lede 命令 启用 ssh_PHP imap_open函数任意命令执行漏洞
- 入门机器学习(二)--多变量线性回归
- (转)Vue 爬坑之路(四)—— 与 Vuex 的第一次接触
- java中13%(-3)_Java面试题汇总(十三)《算法分析及手写代码661-675》
- Java 11 将至,除了 Oracle JDK 还有这些版本!
- Python 基础知识 D7
- python vue token_Flask与Vue的token认证
- Mac-录屏软件-视频转gif动图
- Java方法及方法的重载
- Spring学习笔记(二十三)——实现网站微信扫码登录获取微信用户信息Demo
- 基于汇编语言的文本对比算法
- 语音芯片JQ8400的使用心得
- 如何判断PHP数组是否为空
- wince下SD卡驱动开发
- 函数的节流(throttle)
热门文章
- mysql count sending data_mysql查询sending data占用大量时间的问题处理
- 纽约大学Gary Marcus等撰文:人类思维对于AI的11个启示
- Go游戏服务器开发的一些思考(三十八):MMO游戏移动同步
- 计算机一直响内存硬盘都不见了,常见电脑内存故障现象与处理方法!
- 30. Python------(面向对象练习)搬家具
- 百度网址安全中心怎么取消拦截的详细解决办法
- Ubuntu 20.04 server乌班图服务器部署django,uwsgi,mysql,nginx细节
- 崔希凡-javaWeb-笔记day07-day09(2016年7月26日23:17:27)
- hazy的leetcode刷题笔记(四)
- delphi去掉字段前后的引号_delphi 单引号在字符串中使用方法