ALI:以太坊分布式验证者规范

原文标题:《EthereumDistributedValidatorSpecification》

原文作者:AdityaAsgaonkar

原文编译:ETH中文

动因

传统的验证者客户端设置

以太坊验证者通过用他们的质押私钥对消息签名(例如区块或证明)来参与权益证明(PoS)协议。质押私钥只能通过客户端软件来访问,客户端根据分配给验证者的职责安排消息的创建和签名。传统的验证者客户端设置会有一些风险:

·质押私钥存在一个地方。如果一个攻击者获得了这个密钥,它可以创建冲突的消息,从而导致验证存款被罚没。

不运行自己的验证者的质押者需要把他们的质押私钥交给运营商。为了保证他们质押私钥的安全,他们必须信任该运营商。

V神:ZK-EVM是以太坊Layer 1安全和验证过程的重要组成部分:金色财经报道,以太坊联合创始人“V神”Vitalik Buterin在其官方博客上发布文章《以太坊的多客户端理念将如何与ZK-EVM交互?》(How will Ethereum's multi-client philosophy interact with ZK-EVMs?),其中指出ZK-EVM将在未来发展成为以太坊Layer 1安全和验证过程的重要组成部分,但关键在于如何为零知识证明以太坊区块的正确性创建一个“多客户端”生态系统。V神建议采取开放的多个ZK-EVM,因为不同的客户端有不同的ZK-EVM实现,每个客户端可以在接受一个区块为有效之前等待与自己兼容的证明。此外,Vitalik Buterin还对人工智能最近的快速发展大加赞扬,他觉得人工智能的进步可以“加速”证明ZK-EVM实现的发展。“从长远来看,当然任何事情都有可能发生。也许AI会加强形式验证,使其可以轻松证明ZK-EVM实现等效并识别导致彼此之间差异的所有错误。”[2023/4/2 13:40:23]

·如果验证者客户端软件不能创建及时的消息以履行验证者职责,该验证者会遭受怠工惩罚(inactivity),余额会减少。

处于亏损状态的以太坊地址数创历史新高:金色财经消息,据Glassnode数据显示,处于亏损状态的以太坊地址数达35,281,992.315(7日均值),创历史新高。[2022/6/3 4:00:52]

这可能是由于软件崩溃、断网、硬件故障等原因造成的。

·如果验证者客户端连接的信标节点出现故障,验证者可能跟在一个少数节点所在的分叉上,导致在PoS协议的其他部分显示是离线状态。

分布式验证者协议

分布式验证者协议提供了一个解决方案,以减轻与传统的单个验证者设置相关的风险与担忧。此外,该协议还可以用来实现先进的质押设置,例如去中心化的质押池。

基本概念

请注意:请参考词汇表,了解分布式验证者规范中引入的新术语的解释。

印度马哈拉施特拉邦政府将使用以太坊区块链验证文凭证书:印度马哈拉施特拉邦政府最近宣布与印度区块链初创公司LegitDoc合作,以实施基于以太坊的防篡改文凭证书的认证系统。为了打击此类文件伪造情况的增加,马哈拉施特拉邦技能发展委员会(MSBSD)并不认同印度禁止使用以太坊公共区块链的这一说法。LegitDoc首席执行官Neil Martis强调,虽然该证书是使用传统的手动方法验证的,但MSBSD将开始在今年的所有手动验证请求中只提倡数字验证方法。(Cointelegraph)[2021/7/27 1:18:22]

分布式验证者背后的两个基本概念是:

·共识:单个验证者的职责被分给几个共同验证者(co-validator),他们必须协作,在对任何消息签名之前就如何投票达成一致。

数据:以太坊平均交易费用飙升至11美元:1月4日消息,以太坊24小时内价格上涨35%,超过1100美元,市值达到1293亿美元峰值,上次达到这一高点是在2018年1月,以太坊目前在整个加密生态系统内的市场份额为12.5%。根据BitInfoCharts的数据,以太坊平均交易费用已飙升至11美元,是历史第三高水平。(beincrypto)[2021/1/4 16:24:05]

·M-of-N门限签名(thresholdsignatures):验证者的质押私钥被分割为N个部分,每个共同验证者持有一个share。当至少有M个共同验证者对如何投票达成共识时,他们分别用各自的share来对消息签名,一个组合签名可以由这些share重构出来。

PoS以太坊使用的是BLS签名方案,其中私钥可以使用M-of-N秘密共享技术(使用Shamir'sSecretSharing方案),以实现M-of-N门限签名。

以太坊众筹平台Gitcoin为与抗击新冠病相关项目提供开发资金:金色财经消息,以太坊众筹平台Gitcoin承诺为与冠状病相关的项目提供至少5万美元的开发资金。3月14日,以太坊的众筹平台GitcoinGitcoin在推特上表示,它的第五轮拨款已经有5万美元用于“公共卫生”项目。但是,它正寻求达到最低10万美元的目标,目的是为多次努力分配足够的资金。(Cointelegraph)[2020/3/16]

(译者注:Shamir'sSecretSharing被用于以分布式的方式来保护秘密。秘密被分割为多个部分,这些部分被称为share,这些share可以用来重构原来的秘密。而通过Shamir'sSecretSharing解密需要一个最低数量的share,被称为门限。)

通过把一个合适的(偏重于安全性的)共识算法和一个M-of-N门限签名方案组合起来,这个DV协议确保共识是得到密码学保证的,且至少有M个共同验证者对任何决定达成一致。

总体架构

本规范提出一种实现分布式验证者客户端(DistributedValidatorClient,DVC)软件的方法,作为信标节点和一个远程签名者(RemoteSigner,RS)之间的中间件:

·信标节点和远程签名者之间的所有通信都由DVC管理,以便它能提供额外的分布式验证者功能。

·信标节点和远程签名者不知道DVC的存在,也就是说,它们以为彼此像往常一样相互连接。

假设

·我们假设总共有N个节点,以及一个M-of-N门限签名方案。

为了与拜占庭容错共识协议兼容,我们假设M=ceil(2*N/3)。

·本规范假设某种基于领袖的、偏重安全性的共识协议,让共同验证者选定相同的证明/区块进行签名。我们假设共识协议在M个正确节点下成功运行,且在N个总节点中不超过F=(N-1)/3个拜占庭节点和不超过N-M-F防失败节点(fail-stopnode)。(译者注:拜占庭节点指的是在网络里故意撒谎或误导其他节点的背叛节点。)

·我们假设验证者客户端安全运行的通常前提条件包括最新的抗罚没数据库、正确的系统时钟等。

·我们暂时不考虑对“正确”以太坊分叉的投票——这个功能将在未来的更新里加上。

规范

关于规范的技术细节描述在src/dvspec/:https://github.com/ethereum/distributed-validator-specs/blob/dev/src/dvspec。

以太坊概念

·验证者:参与权益证明以太坊验证的公钥。在阶段0,验证者预期会为信标链区块履行证明和区块提议的职责。

·验证者客户端(ValidatorClient,VC):履行验证者职责的软件。VC能访问验证者的私钥。

·远程签名者(RS):负责以太坊私钥管理的软件,特别是用于对以太坊消息(例如区块、证明等)的签名。RS运行一个服务器,用于接受传入的对该类消息签名的请求。

分布式验证者概念

·分布式验证者(DV):一组参与者共同履行一个验证者的职责。验证者的私钥在多个参与者中是秘密共享的,因此在没有参与者的一定多数门限下,一个完整的签名是无法形成的。

·共同验证者(Co-Validator):参与DV协议成为一个特定验证者的BLS公钥门限验证者。

分布式验证者客户端(DVC):通过运行DV协议(或者,作为多个共同验证者来参与,每个共同验证者身份与不同的验证者相关联)参与成为一个共同验证者的软件。DVC能访问共同验证者的私钥,即所对应的验证者的秘密共享门限私钥。

实例

使用上述术语的实例说明:

·公钥为0xa5c91...的以太坊验证者作为一个分布式验证者在运行。

·有4个共同验证者参与到验证者0xa5c91...的分布式验证者中。

·与0xa5c91...相关联的私钥在4个共同验证者中使用3-of-4的秘密共享方案来拆分,这样就建立了一个3-of-4的门限签名方案。

更简单地说,0xa5c91...的私钥被拆分为4份,每一份由共同验证者中一名来托管,这样必须至少有共同验证者中的三名合作才能从0xa5c91...产生一个签名。

每个共同验证者都在运行分布式验证者客户端软件来参与分布式验证者。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-0:729ms