以太坊 2.0 实现秘密共享验证节点离不开两个密码学原语:秘密共享与安全多方计算。

撰文:Mara Schmiedt
翻译:PlatON

以太坊 2.0 的第三方质押服务

截至目前,已经有 120,000.00 个以太坊地址持有 32 个 ETH,这是成为以太坊 2.0 (以下简称「ETH2」)公链验证节点的最低要求。当然,并非所有现有和未来的 ETH 持有者都具有操作自己的验证客户节点并帮助和保护以太坊网络的技术能力或愿望。

幸运的是,潜在的质押者有权决定是否通过质押服务提供商代表他们来运行验证节点。根据我们大规模的调查,超过三分之一的质押者表示他们有兴趣通过第三方服务在 ETH2 上进行质押。如果你正有此意,且看下文。

一文了解以太坊 2.0 秘密共享验证节点技术实现Source: Ethos, 2018

为了参与 ETH2 的共识发现并获得相应奖励,验证节点需要使用私钥签署证明以及出块。如果参与者不打算运行任何个人验证节点,同时又希望在 ETH2 上进行质押,这些操作将会由第三方质押服务提供商来进行。

需要注意的是,虽然将验证节点的私钥托管给供应商,可以授予其拥有验证节点高效的单边操作控制权,但这有可能面临单点故障的风险。如果该公司遇到停机、有意或无意地触发处罚、或因破产清算而提前终止系统服务,质押的资本将面临极大的风险。

当前,高用户流量的交易所例如 Binance 和 Coinbase 处于非常有利的位置,他们可以利用现有的客户规模和声誉来扩展现有的业务线,为其用户提供 ETH2 质押服务。与较小的供应商相比,较大的公司可能也有足够的经济规模和替代收入来源,以低于市场平均水平补贴质押服务以便进一步夺取更大的市场份额。

如果一家特定的公司在整个网络的相当大份额上集中了「委托质押权」,这可能会给整个网络带来更大的规模风险。考虑到基础设施提供商通常为多个客户运营相同的基础设施,可能会引发同时停机和协同攻击等安全性问题。此外,由于 ETH2 在协议中内置了「相关性处罚机制」,因此与所有现有验证节点几乎在同一时间受到惩罚相比,很容易招致三倍惩罚。如果因为拥有大量份额的质押提供商、客户或云提供商 (例如亚马逊) 意外下线或犯下巨大过错,巨大的惩罚后果不堪设想。

秘密共享与安全多方计算

在我们深挖以太坊 2.0 进行秘密共享的验证节点能获得的收益之前,我们首先要了解它的基本机制。秘密计算依赖于密码学中的两个基本原语。

第一个基本原语是秘密共享。通过秘密共享机制,秘密 (或私钥) 被拆分,并以「每个参与者仅持有该秘密的一部分(即秘密碎片)的方式」在不同参与者之间进行分发,个人持有部分碎片无法用于恢复秘密。为了恢复秘密,需要凑齐预定义数量 (或门限) 的碎片。

第二个基本原语是安全多方计算(MPC)。MPC 允许多个参与者以隐私保护的方式隐藏各自的输入,并共同计算一个函数。将 MPC 应用于秘密共享,可以允许在参与者之间分发秘密的碎片,通过分布式计算的方式生成共享的计算输出,而无需借助单个设备恢复秘密后进行计算。

以太坊 2.0 秘密共享验证节点

使用 BLS 签名,这是在椭圆曲线上定义的签名方案 (ETH2 的 BLS12-381)。BLS 签名具备「可累加」的结构特性,这意味着它们对聚合操作是友好的,支持将多个签名合并为一个签名。

得益于该附加属性,共享私钥 (例如使用 Shamir 的秘密共享机制) 允许对消息进行签名,而不需要重建秘密或完整的 MPC。通过使用门限签名方案,可以将验证节点私钥拆分成任意数量的私钥碎片,以及计算完整的 BLS 签名需要多少个数量的签名碎片。

譬如,用户 Alice 想要降低她的资产风险,凑巧又能对 ETH2 网络的安全性和弹性做出贡献,她可以决定将她的私有验证节点私钥分成三份,将每一份分发给她选择的提供商,并且设定需要三分之二的签名碎片来重建完整的签名。任何单独的第三方提供者都不会单方面控制她的验证节点,也不会再有单点故障的风险。

所有人将会是秘密共享验证节点方案的赢家。

以太坊 2.0 的秘密共享验证节点增值

对于质押者

分散风险——通过消除验证节点的单边控制和单点操作故障来实现。此外,可以利用该方案来实现降低相关性处罚的策略,例如,从具有较低的同类型故障风险的小型服务提供商中选择节点。

对于质押服务提供商

减轻责任——ETH2 协议鼓励验证节点 (尤其是大型验证节点) 降低其验证服务与其他验证服务同时失败的可能性。允许运营商将他们的验证服务分布在多台机器甚至数据中心,以减轻这种故障风险和相关的责任。

公平的竞争环境——具有简单签名策略的小型验证节点与大型的服务提供商的行为方式差别很大-通过提供秘密共享验证节点服务,为不同规模和不同比例的提供商之间的互利协作开辟了途径。

对于网络

加强安全措施——集中化给网络及其参与者带来了潜在的风险和攻击载体。安全性直接影响以太坊作为新的全球结算层的价值。专注于秘密共享验证节点的开发提供了一条途径,可以切实实现 ETH2 协议的一些去中心化和反相关性的目标,从而使网络中的所有利益相关者受益。

秘密共享验证节点实现的底层之基

回到 Joseph Chow 的宣传活动中,ETH2 上秘密共享验证节点的实际实施将需要:

  • 秘密共享验证节点客户端规范
  • 秘密共享验证节点客户端的实现
  • 在不同提供商之间操作秘密共享验证节点的标准
  • 对终端用户友好的 UX/UI,可在不同提供商之间拆分私钥

随着官方 ETH2 测试网络即将推出,对于社区来说,大型网络发布之前推动集体行动来指定、实施和充分测试秘密共享验证节点的时机已来。

在以太坊基金会的支持下,PlatON 团队已经完成了设计安全多方计算算法的工程交付,该算法利用优化后的 SCALE-MAMBA 框架实现,展现出了理想的可行性和性能目标。该项目的重点是 ETH2 中监护权证明方案的 MPC 实现。请 参阅 Github 了解更多参考信息。

如果您愿意贡献和支持这项工作,请联系 dankrad@ethereum.org

感谢 Ben Edgington,Dankrad Feist,Joseph Chow 和 Collin Myers 的审查和反馈。

来源链接:medium.com