以太坊分布式验证者规范_以太坊:Metagame Arena

分布式验证者 (Distributed Validators, DV) 是一种将一个以太坊验证者的工作分配给一组分散节点的技术,以提高与在一个单一机器上运行一个验证者客户端相比的韧性 (安全性、活性,或两者兼有)。

引介

动因

传统的验证者客户端设置

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

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

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

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

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

Kava 10主网升级成功,已上线以太坊和Cosmos共链:金色财经消息,Kava已于北京时间5月26日顺利完成Kava 10升级的主网启动,激活了Kava网络的以太坊虚拟机(EVM)并上线以太坊和Cosmos共链。

Kava 10主网支持用户在MetaMask上将KAVA作为ERC-20进行封装和解封,目前超过35个Web 3协议已通过Kava先锋计划宣布即将部署到Kava网络。同时,Kava推出25万美元的主网跨链体验活动。[2022/5/26 3:42:44]

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

分布式验证者协议

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

基本概念

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

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

数据:以太坊桥TVL达到251.1亿美元:金色财经报道,Dune Analytics数据显示,以太坊桥当前TVL达到251.1亿美元。其中锁仓量最高的5个桥分别是Polygon Bridges(55.9亿美元)、Avalanche Bridge(55.36亿美元)、Fantom Anyswap Bridge(42.66亿美元)、Ronin Bridge(34.13亿美元)、Arbitrum Bridges(28.95亿美元)。[2022/2/6 9:33:24]

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

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

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

StarkWare的以太坊扩容方案StarkEx发布4.0版源代码,移除用户注册流程:10月14日消息,StarkWare的以太坊扩容方案StarkEx在GitHub上发布4.0版本源代码,该版本移除了用户需要注册的流程,只有在取消存款等场景下才需要进行注册,另外,提现功能可以在资产所有者授权下直接执行到以太坊地址上。[2021/10/14 20:29:49]

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

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

资源

实现

以下是分布式验证者技术的现有实现 (但不一定是本规范的实现)。

动态 | 以太坊二层网络 Connext 2.0 已上线以太坊主网:以太坊二层网络 Connext 2.0 宣布经过两个多月的 Rinkeby 测试、审核和错误修复后,已经正式上线以太坊主网。根据其官方公告,Connext 表示其 2.0 版本的变化包括:进一步简化 Connext 集成,致力于更快的链上交易;将 Connext 重新架构为连接钱包端到钱包端的网络;简化了用户存提款功能,并集成 DApp;改善信任假设。此前消息,Connext 基于 Counterfactual 框架,这是一种全新的开发区块链应用的方式,让通道尽可能模块化和链上交易最小化的方案,在首次充值和最后提款的操作之间,其他的操作不需要依赖链上交易。Connext 在 Counterfactual 之外还扩展了一个(之后还会增加为多个)非托管的中间人角色,这样就不需要与每一个第三方应用建立不同的多签合约,而只需要一个多签合约就可以和多个应用交互。Connext 在今年 3 月基于以太坊主网推出 Dai Card,一款浏览器内的非托管钱包,允许用户进行即时、低成本、信任最小化的交易。[2019/9/24]

python-ssv:Python 中分布式验证者协议实现的概念证明,与以太坊客户端 Prysm 交互。

分析 | 以太坊30天ROI持续上行 与BTC 180天关联度持续下滑:据 TokenGazer 数据分析显示,截止至 9?月 10?日 11 时,以太坊价格为$183.04,总市值为$19,717.80M,主流交易所交易量约为$153.35M,环比昨日增量16.89%;以太坊对比特币汇率保持上升趋势;基本面方面,以太坊链上交易量有一定反弹,活跃地址数、链上DApp交易量保持稳定,算力持续下滑;以太坊 30 天开发者指数约为 2.24;以太坊与 BTC 180 天关联度持续下滑,目前约为0.782;以太坊 30 天 ROI 持续上行;ERC20 代币总市值约为以太坊总市值的 68.65%,持续下滑。[2019/9/10]

ssv:分布式验证者协议的 Go 实现,与以太坊客户端 Prysm 交互。

文档

分布式验证者架构视频介绍

总体架构

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

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

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

假设

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

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

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

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

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

理想的保证

安全性 (防止密钥被盗):

除非 N 个共同验证者中有多于 M 个验证者的安全受到影响,否则质押者私钥是安全的。

安全性 (防止罚没):

在异步网络的假设下,除非多于三分之一的共同验证者成了背叛者,否则验证者永远不会被罚没。

在同步网络的假设下,除非多于三分之二的共同验证者成了背叛者,否则验证者永远不会被罚没。

活性:在部分同步的网络里,除非多于三分之一的共同验证者成了叛徒,否则协议最终都会产生一个新的证明/区块。

规范

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

词汇表

以太坊概念

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

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

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

密码学概念

私钥分片 (Key Share):作为门限签名方案一部分的单个密钥。

签名分片 (Signature Share):对来自单个私钥 share 的一些数据的签名。多个这样的签名 share 需要组合起来生成一个完整的签名。

分布式验证者概念

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

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

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

实例

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

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

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

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

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

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

原文链接:https://github.com/ethereum/distributed-validator-specs

ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ETH中文站。若需长期转载,请联系eth@ecn.co进行授权。

来源 |?github.com/ethereum

作者 | Aditya Asgaonkar

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

水星链

[0:0ms0-1:30ms