编者按:本文来自以太坊爱好者,作者:AdityaAsgaonkar,翻译:阿剑,Odaily星球日报经授权转载。验证者与验证者客户端
验证者是信标链相关的概念,一个验证者即是信标链共识过程的一个参与者。验证者之间以公钥来区别身份,而且每个验证者都会在不同时间被分配以验证信标链的任务。成功完成这些任务,就能获得奖赏;反之,如果失职,不仅得不到奖励,还会受到严厉的惩罚。在Phase0阶段,这些指责仅限于在信标链上提议区块和提交见证消息。验证者们需要使用一种叫验证者客户端的软件来执行其职责1。所有的信标链客户端团队都将VC作为他们的客户端套装软件之一。毋庸置疑,验证者肯定希望自己的客户端能全时在线,这样才能获得最大收益、避免所有惩罚。实现高可用的常见方法是设置冗余和故障转移机制。本文会解释冗余机制给验证者带来的危险,并为信标链的VC提议一种合理的故障转移措施。损失/惩罚的类型
若灰度被清算,ETC等9个加密货币或遭重创:金色财经报道,由于 DCG 陷入债务危机,旗下加密资管公司灰度可能会清算部分加密货币信托基金,继而影响相关 Token,主要包括:Basic Attention Token (BAT)、比特币现金(BCH)、Chainlink ( LINK )、Decentraland ( MANA )、Ethereum Classic (ETC)、Litecoin ( LTC )、Solana ( SOL)、恒星币(XLM)和Zcash(ZEC),此外还有一些鲜为人知的加密信托基金,例如 Filecoin ( FIL )、Horizen (ZEN) 和 Livepeer (LPT)。
数据显示,灰度持有的以太坊经典(ETC)价值占到其总市值的 8.5%,一旦清算将会给 ETC 带来“灾难性影响”。Horizen ZEN 也处于危险区域,目前灰度的持有量占到其总上限的 4.6%。Zcash 也可能因 2.5% 的市值被锁定在灰度信托中而受到影响。(beincrypto)[2023/1/3 22:22:57]
验证者会面临三种类型的损失,严重程度从小到大排列如下:奖励落空:当一个验证者在被分配到任务时没能执行,TA就不能获得与该任务对应的奖励。验证者的权益不会减少,只不过失去了一次获得奖励的机会。怠工惩罚:如果一个验证者没有发出见证消息,而那时候信标链又不能敲定区块2,那验证者的权益就会减少很小的一个数额。罚没惩罚:若一个验证者发出了违反CasperFFG规则的见证消息,则该验证者会立即被罚没——该验证者的权益会减少一定的比例3,而且该验证者会被踢出,不能再参与共识。而且,因为现在信标链还不能转让和取回质押的ETH,所以验证者剩下的钱会全部锁在信标链上、无法动用。前两种损失类型是VC掉线的验证者可能会遭遇到的,但第三种,是只有不正确设置VC的验证者才会遇到的。那么谈到故障转移和冗余措施,最要紧的应该是尽一切可能避免罚没,然后才是提高在线时间,以减少奖励落空和怠工惩罚的概率。冗余VC设施的危险性
OXT研究人员通过链上分析验证了灰度的比特币信托持有的BTC数量:金色财经报道,尽管Grayscale未公开,但OXT研究人员Ergo解释称,已经采取措施,根据公共信息和区块链取证来识别可能的GBTC地址和余额。其中发现,持有317,705?BTC的432个地址可能是GBTC托管地址。
此外,在此分析中,使用额外的onchain取证来确认GBTC在Coinbase托管处持有的大约633K?BTC余额。Ergo总结指出,在发现前50%的比特币与Grayscale的BTC相关联后,该团队扫描区块链以寻找符合第1部分中发现的地址的其他地址。[2022/11/25 8:06:40]
有些质押者可能认为,运行冗余的VC是对某一个VC掉线的保险。但实际上,冗余的VC设施是不安全的,最终很有可能导致验证者被罚没!来看一个实际的例子:
灰度创始人:比特币表现仍好于黄金基金:今日,黄金支持者、比特币反对人士Peter Schiff今日在推特上表示,埃隆·马斯克(特斯拉CEO)、Michael Saylor(MicroStrategy创始人)及Barry Silbert(灰度创始人)等比特币精英和其金融媒体上的朋友,花过去六个月的时间都没有说服散户和机构投资者购买他们毫无价值的代币。 对此,灰度创始人Barry Silbert回复道:“还是会比你那破黄金基金表现好。”[2021/6/21 23:52:02]
-冗余的VC导致罚没!-这个验证者运行了两个客户端实例C1和C2,两个都配有在线的VC。不稳定的网络条件,导致两个客户端实例对哪条分叉才是主链没有形成一致,C1和C2分别以B1和B2为当前的顶端检查点。轮到该验证者执行其验证者任务时,两个客户端实例各自发出了一条以自己所认定主链检查点为目标检查点的投票消息。结果就是这两条见证消息的目标检查点不同。这就是双重投票,违反了CasperFFG的规则,会导致该验证者被罚没。VC的故障转移协议
以太坊2.0信标链“随机性”协议证明出现漏洞:金色财经报道,ZenGo的研究人员已正确披露了在Diogenes协议证明中发现的漏洞。该证明旨在为以太坊2.0随机信标链的可验证延迟函数(VDF)提供原始熵。根据ZenGo博客文章,Diogenes背后的团队Ligero Inc.正在重新起草该协议的证明以迭代该漏洞。ZenGo研究人员Omer Shlomovits称,VDF是构建真正安全的随机信标链所必需的。[2020/9/2]
注意:我说“故障转移”,指的是在一个VC停止之后手动或者自动地重启一个新的VC实例,但是,我不建议使用自动化的故障转移机制,因为如果实现不好,就会导致你有两个VC挂在线上!上一节的要点是,验证者在任何时候都只应该部署一个在线的VC实例。但是,VC总有出错的时候,怎么应对这种风险呢?质押者应该提前定义好自己的故障转移协议,来应对这种情况。在开发安全可靠的故障转移协议之前,我们先来了解一种验证者客户端内置的安全特性:罚没保护措施。
声音 | 以太坊核心研究员 Hsiao-Wei Wang:以太坊信标链验证结点的相关说明:金色财经现场报道,6月29日在2019以太坊技术及应用大会上,以太坊核心研究员 Hsiao-Wei Wang指出以太坊信标链上验证节点的职责:提议正确的信标链区块,并予以证明。处罚包括:Casper FFG处罚、不活动泄露的处罚、跨链处罚、提出者slashing处罚、证明者处罚、Proof of custody game处罚。大量验证结点加入,会使系统不太稳定,所以加入两个队列(queue),尽可能减少对于稳定性的影响。验证节点的自愿退出机制:发送自愿退出申请,然后可以提取余额。[2019/6/29]
-罚没保护机制-罚没保护机制:所有信标链客户端团队开发的VC软件都有罚没保护机制,作为应对意外事件的自动防故障装置。根据罚没规则,只有成对的见证消息才会导致罚没,只需检查这一对消息就可判断结果。那么,VC可以存储自己所签名过的所有消息和区块,存储在本地的罚没保护数据库里面。在签名任何新的见证消息/区块时,VC只需检查新消息与数据库中的旧消息是否冲突,并且只签名不会冲突的新消息即可。因此,VC需要三项机制来保证正确和安全的运营:完全同步的信标链节点,来获得关于信标链的信息验证者签名私钥,来实际签署消息及时的罚没保护数据库,作为防故障装置良好的故障转移协议必须把任一机制出错的场景都考虑进去。前两者是很容易保证的——可以维护冗余的BN以备新的VC连接,而签名密钥也可以作为只读文件,从备份文件夹中复制出来。但最后一项——及时的罚没保护数据——不容易备份及保证可用!有很多种可能发生的错误都会导致数据库完全丢失:文件系统崩溃、硬盘故障、不可抗力造成的硬件丢失,等等。数据备份和可用性是一个价值数十亿美元的问题,现在也已经有很多方案了,例如,逐个区块/逐个文件监控备份,RAID可用性,等等。不过,我们有一个小技巧,可以用来重建丢失的罚没保护数据库!数据库可以按最小化格式重建出来,并不需要所有已签名消息的完整历史。此种重建方法的实用程序可以在adiasg/eth2-slashing-protection-rebuild代码库中找到。注意:SD卡不是可靠的存储设备,所以,在树莓派上运行VC的质押者特别容易丢失自己的罚没保护数据库!我所建议的故障转移方案
一个简单但有用的办法是:维护一个冗余的BN,并保证冗余的验证者密钥容易取得。
-初始化的VC设置与多场景的故障转移协议-在这种设置下,多种错误都有分布对应的处理方案:BN出错——那就迁移到冗余的BN上验证者密钥文件丢失——从冷存储备份的密钥文件中复制出来罚没保护数据库丢失——重建该数据库,或者从实时备份中恢复密钥分割验证者
最理想的弹性设施需要密钥分割技术——讲起来需要另写一篇文章了。更多信息可以在这个演讲视频中找到:https://youtu.be/awBX1SrXOhk。注1:验证者和验证者客户端两个概念的区别亦见于JimMcDonald的博客注2:在当前的规范中,如果超过4个时段没有敲定的检查点,怠工惩罚就会出现。注3:在当前规范的参数设置中,这个比例等于验证者有效余额的1/128,如果验证者的有效余额为32ETH,则具体数额为0.25ETH。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。