用密钥分割改进 ETH 2.0 的验证者体验
ETH 2.0 上的第三方质押服务
目前,有 12 万个以太坊地址持有成为 ETH 2.0 验证者所必需的 32 ETH 。当然了,不是所有 ETH 持有者都具备运行验证者客户端节点来保护以太坊网络安全性的技术能力和意愿。
好在,有意向的质押者可以选择将 ETH 委托给 “质押即服务” 提供商或交易所来代表他们质押并运行验证者节点。我们进行过一次大范围调查,超过 1/3 的受访者表示有兴趣委托第三方服务提供商来进行质押。如果你是其中之一的话,看这篇文章就对了!
要想参与 ETH 2.0 的共识机制并获得奖励,验证者需要使用他们的验证者私钥来签署见证信息(attestation)并提议区块。如果你不想自己运行基础设施又要参加质押,验证者私钥将交给第三方质押服务提供商来操作。
需要注意的是,将你的验证者私钥托管给某家公司,就等于授权这家公司单方面控制你的验证者节点。如果这家公司因故障停机、有意或无意地触发了罚没机制,或是因为破产必须永久退出系统,你的资金就有可能打了水漂(这也属于所谓的 “单点故障” 问题)。
拥有大量用户的交易所,如币安和 Coinbase ,具有很明显的优势,可以利用现有的获客入口和声誉来扩展现有业务种类,提供 ETH 2.0 质押委托服务。与小型提供商相比,大型公司可能有足够大的规模经济和其他收入流,能够补贴质押服务使其价格低于市场平均值,甚至为了吸引用户或抢占更大的市场份额实行 “0 佣金” 的推广活动。
如果某家公司吸引了大量委托人以至于其持有的权益在整个网络占据较大比重,就有可能对整个网络构成极大风险。鉴于基础设施提供商通常都会在同一套基础设施上为多个客户运行节点,有可能出现同时关机和协同攻击的情况。另外,由于 ETH 2.0 协议中内置了反串谋惩罚机制(anti-correlation penalty structure),如果跟许多验证者同时被处罚,你所遭受的惩罚力度可能上升 3 倍。如果持有大量权益的质押服务提供商、客户端或云服务提供商(如亚马逊)意外掉线或触发罚没机制,作为委托人受到的惩罚会比作为独立运行验证者更重。
私钥分割和多方计算
在我们深入分析私钥分割验证者的优点之前,我们先来快速回顾一下 ETH 2.0 私钥分割验证者的基本机制。私钥计算主要依靠两个核心密码学元件。
第一个元件是私钥分割(secret sharing)。私钥分割机制指的是,一个私钥被分割并分散到不同的参与者手中,每个参与者持有该私钥的一部分。个人持有的部分无法用来重构私钥。只有将达到预定数量(阈值)的个人持有部分结合起来,才能重构私钥。
第二个元件是安全的多方计算(MPC)。MPC 能够让多个参与者秘密地使用他们的输入值计算一个函数。如果我们将 MPC 与私钥分割结合,就可以让私钥分散在不同参与者手中,这些参与者可以使用他们的输入值来执行去中心化计算,并生成私钥分割输出值,无需在单个设备上重构私钥。
ETH 2.0 上的私钥分割验证者
ETH 2.0 使用在椭圆曲线上定义的 BLS 签名机制(ETH 2.0 使用的是 BLS12–381 )。BLS 签名是多项式的,也就是说这类签名支持聚合,可以将多个签名结合成一个。
得益于多项式特性,共享私钥(例如,使用 Shamir 的私钥分割机制)可以直接签署消息,无需重构私钥或进行完整的 MPC 。通过使用门限签名方案,你可以自己设置将验证者私钥分割成几份,以及至少需要几份私钥的签名才能计算出完整的 BLS 签名。
例如,如果 Alice 想要分散风险并为 ETH 2.0 网络的安全性和抗攻击性做贡献,她可以决定将自己的验证者私钥分割成三份,分给她所选择的服务提供商,并需要 2/3 签名机制来重构完整的签名。任何一个提供商都无法单方面控制 TA 的验证者节点,因此不可能出现单点故障。
那么,谁是私钥分割验证者机制的赢家呢?所有人。
ETH 2.0 私钥分割验证者机制产生的附加价值
对于权益者来说:
分散你的风险!该机制可以消除单方面控制和验证者节点单点故障的风险。另外,该机制还可以用来满足反串谋策略,例如,选择来自小型提供商的节点,降低出现关联故障的概率。
对于质押服务提供商来说:
减轻你的责任!ETH 2.0 协议激励验证者(尤其是大型验证者)来降低其验证者节点与其他验证者节点同时故障的可能性。允许运营者将自己的验证者节点分散在多个的硬件设备甚至多个数据中心上,可以降低风险并减轻责任。
创造公平的竞争环境!签署策略较为简单的小型验证者在行为上可能不会与大型验证者存在相关性 —— 因此,不同规模的服务提供商之间可以达成互利合作,并通过提供私钥分割验证者服务来获得权益占比。
对于整个网络来说:
增强安全性!中心化会为整个网络及其参与者带来潜在风险和攻击向量。安全性直接影响到以太坊作为新的全球结算层的价值。通过聚焦私钥分割验证者的发展,我们可以增强系统的去中心化程度,并实现 ETH 2.0 协议的反相关性目标,让网络中的所有权益者都能受益。
具体实现
根据 Joseph Chow 的科普,ETH 2.0 私钥分割验证者机制的实现必须具备以下条件:
私钥分割验证者客户端的规范
私钥分割验证者客户端的实现
在不同的服务提供商之间运行私钥分割验证者的标准
提供对终端用户友好的 UX/UI ,以便在不同的服务提供商之间分割私钥
由于 ETH 2.0 的官方测试网上线在即,主网上线前并不是社区共同努力规范、实现并充分测试私钥分割验证者机制的良好时机。
由以太坊基金会支持的 PlatON 团队已经利用在可行性和性能方面都优化过的 SCALE-MAMBA 实现,实现了设计安全的 MPC 算法的目标。该项目聚焦于 ETH 2.0 上的托管证明机制的 MPC 实现。预知详情,请参见 GitHub 。
如果你想为该项目做贡献,请发送电子邮件至 dankrad@ethereum.org 。
感谢 Ben Edgington、Dankrad Feist、Joseph Chow 和 Collin Myers 的审阅和反馈。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场