什么是分布式验证者技术?
分布式验证者技术 (DVT) 是一种保障验证者安全的方法,它将密钥管理和签名职责分散给多方,以减少单点故障并提高验证者的弹性。
DVT 通过将用于保护验证者的私钥拆分到组成“集群”的多台计算机上,来分配密钥管理和签名工作。这样做允许集群中的某些节点离线,同时保持验证者节点处于活跃状态,因为必要的验证工作可以由每个集群中的一部分机器完成。这种分布式架构减少了单点故障,使验证者更加健壮。DVT 签名分布的另一个好处是,它使攻击者极难获取密钥,因为完整的密钥不会存储在任何单台机器上。
DVT 不是一种独立的质押方式。它是一个任何质押设置都可以使用的软件层:
- 独立质押者可以组队共同运行一个验证者,或者单个独立质押者可以使用 DVT 为其独立质押设置增加弹性。
- 质押服务和质押池可以使用 DVT 来增加弹性并加固其质押基础设施,或者将验证者操作分布到许多独立的操作员之间。
为什么我们需要 DVT?
安全性
验证者生成两对公私钥对:用于参与共识的验证者密钥和用于访问资金的提款密钥。虽然验证者可以将提款密钥安全地保存在冷存储中,但验证者私钥必须全天候在线,以签署验证者被分配的日常职责,例如证明和区块提议。保持密钥在线会增加其被盗的风险,而 DVT 限制了这种风险:只有密钥份额会在线,完整的密钥永远不会在线。
如果验证者私钥被泄露,攻击者就可以控制验证者,这可能会导致罚没或质押者的 ETH 丢失。DVT 降低了这种风险。借助 DVT,原始的完整验证者密钥被加密并拆分为密钥份额。密钥份额在线存在,分布在共同操作验证者的多个节点上,而完整的“主”密钥则安全地保持离线状态。这种分布之所以可行,是因为以太坊验证者使用具有可加性的 BLS 签名,这意味着可以通过对各个组成部分求和来重构完整的密钥。使用密钥份额生成的部分签名组合成对完整密钥有效的签名,因此日常签名永远不需要完整的密钥本身。当集群使用分布式密钥生成来生成新的验证者密钥时,完整的私钥永远不会存在于任何单台机器上。
无单点故障
当一个验证者被划分到多个操作员和多台机器上时,它可以承受个别硬件和软件故障而不会离线。通过在集群中的节点上使用不同的硬件和软件配置,也可以降低故障风险。单节点验证者配置原生不支持多操作员分布;它来自 DVT 中间件层。
如果集群中某台机器的一个组件发生故障(例如,如果验证者集群中有四个操作员,其中一个使用的特定客户端存在漏洞),其他操作员可以确保验证者继续运行。
去中心化
以太坊的理想场景是拥有尽可能多的独立运行的验证者。然而,少数质押提供商变得非常受欢迎,并占据了网络上质押 ETH 总量的很大一部分。DVT 可以允许这些操作员存在,同时保持质押的去中心化。这是因为每个验证者的密钥分布在许多机器上,验证者要变得恶意需要更大程度的串谋。
如果没有 DVT,质押提供商更容易为其所有验证者仅支持一两种客户端配置,从而增加了客户端漏洞的影响。DVT 可用于将风险分散到多种客户端配置和不同的硬件上,通过多样性创造弹性。
DVT 为以太坊提供以下好处:
- 以太坊权益证明 (PoS) 共识的去中心化
- 确保网络的活跃性
- 创造验证者容错性
- 信任最小化的验证者操作
- 最小化罚没和停机风险
- 提高多样性(客户端、数据中心、地理位置、监管等)
- 增强验证者密钥管理的安全性
DVT 是如何工作的?
DVT 实现通常作为附加软件运行在集群中的每台机器上。该软件充当中间件,位于节点的验证者客户端和共识客户端之间,它与集群中的其他节点进行协调,以便共同签署验证者的职责。
DVT 解决方案包含以下组件:
- Shamir 密钥分享 (在新标签页中打开) - 验证者使用 BLS 密钥 (在新标签页中打开)。验证者私钥可以拆分为多个“密钥份额”,并且由于 BLS 签名具有可加性,使用这些密钥份额生成的部分签名可以组合成对完整验证者密钥有效的单一签名。
- 门限签名方案 (在新标签页中打开) - 决定签署职责所需的单独密钥份额的数量,例如 4 个中的 3 个。
- 分布式密钥生成 (DKG) (在新标签页中打开) - 生成密钥份额的密码学过程,用于将现有或新验证者密钥的份额分发给集群中的节点。
- 多方计算 (MPC) (在新标签页中打开) - 完整的验证者密钥是使用多方计算秘密生成的。任何单个操作员都永远不知道完整的密钥——他们只知道自己那部分(他们的“份额”)。
- 共识协议 - 共识协议选择一个节点作为区块提议者。他们与集群中的其他节点共享区块,其他节点将他们的密钥份额添加到聚合签名中。当聚合了足够的密钥份额时,该区块就会在以太坊上被提议。
分布式验证者具有内置的容错能力,即使某些个别节点离线也能继续运行。即使验证者节点集群中的某些节点被证明是恶意的或消极怠工的,该集群也具有弹性。
生产环境中的 DVT
如今,分布式验证者在主网上运行,涵盖独立质押、质押服务和联合质押。有两个网络占据了大部分此类活动:
- Obol 开发了 Charon,这是一个开源的 DVT 中间件客户端,允许机器集群共同操作一个验证者(“小队质押”)。各个小组通过 Obol 的 DV Launchpad (在新标签页中打开) 执行分布式密钥生成并配置其集群。Obol 集群在生产环境中被质押协议和质押服务使用,包括 Lido 的 Simple DVT 模块和 EtherFi 的 Operation Solo Staker 计划,该计划将家庭操作员引入容错集群。
- SSV Network 是一个由独立节点操作员组成的无需许可的网络。验证者密钥被拆分为密钥份额,并分发给选定的一组操作员,他们共同履行验证者的职责;没有任何单个操作员持有完整的密钥。质押服务和质押池在 SSV 上运行大型验证者集,并且与 Obol 一样,它也被 Lido 的 Simple DVT 模块使用。
DVT 用例
DVT 对更广泛的质押行业具有重大意义:
独立质押者
DVT 实现了小队质押:一小群人(例如朋友、社区成员或通过启动平台协调的陌生人)在他们自己的机器上共同运行一个验证者。该小组必须达到一定的在线门限(例如 4 人中的 3 人),验证者才能履行其职责,因此任何单个成员的停机、硬件故障或错误都不会导致验证者离线。当使用分布式密钥生成创建密钥时,没有任何成员持有完整的签名密钥。
DVT 还通过允许你将验证者密钥分布在远程节点上,同时保持完整密钥完全离线,从而实现非托管质押。这意味着质押者不一定需要运行自己的硬件,并且分发密钥份额有助于防范潜在的黑客攻击。
质押即服务 (SaaS)
管理许多验证者的操作员(例如质押池和机构质押者)可以使用 DVT 来降低风险。通过分布式基础设施,他们可以为操作增加冗余,并使他们使用的硬件类型多样化。
DVT 在多个节点之间分担密钥管理的责任,这意味着一些运营成本也可以分担。DVT 还可以降低质押提供商的运营风险和保险成本。
质押池
由于标准的验证者设置,质押池和流动性质押提供商过去不得不对每个单独的操作员寄予极大的信任,因为收益和损失在整个池中是社会化的。他们还依赖操作员来保护签名密钥,因为在 DVT 出现之前,他们没有其他选择。
尽管传统上人们努力通过将质押分布在多个操作员之间来分散风险,但每个操作员仍然独立管理着大量的质押。如果单个操作员表现不佳、遇到停机、被攻破或采取恶意行动,依赖他们会带来巨大的风险。
通过利用 DVT,可以减少对每个单独操作员所需的信任。质押池可以使操作员在不需要托管验证者密钥的情况下持有质押(因为只使用密钥份额)。它还允许将管理的质押分布在更多操作员之间(例如,DVT 允许这些验证者由多个操作员共同运行,而不是由单个操作员管理 1000 个验证者)。多样化的操作员配置有助于确保如果一个操作员发生故障,其他操作员仍然能够进行证明。由此产生的冗余和多样化可以带来更好的性能和弹性,同时最大化奖励。
最小化单操作员信任的另一个好处是,质押池可以允许更开放和无需许可的操作员参与。今天一些质押池在生产环境中就是这样做的。多操作员 DVT 集群让协议将家庭质押者和较小的操作员与较大的专业操作员配对,结合了精选和无需许可的操作员集。
使用 DVT 的潜在缺点
- 额外的组件 - 引入 DVT 节点增加了一个可能出现故障或存在漏洞的部件。这可以通过拥有 DVT 软件的多种实现来缓解,就像共识层和执行层有多个客户端一样。
- 运营成本 - 由于 DVT 将验证者分布在多方之间,因此操作需要更多节点而不是单个节点,这带来了运营成本的增加。
- 潜在的延迟增加 - 由于 DVT 利用共识协议在操作验证者的多个节点之间达成共识,因此它可能会带来延迟的增加。
常见问题
不是。“4 个中的 3 个”只是最小的常见配置,在本页面中作为示例使用。集群大小和签名门限是在创建集群时选择的。
集群的大小通常设置为门限是节点的三分之二绝对多数,这使得集群能够继续签名,同时容忍出现故障或离线的成员。一个 4 节点集群用 3 个节点签名并容忍 1 个故障;7 个节点用 5 个签名并容忍 2 个故障;10 个节点用 7 个签名并容忍 3 个故障。更大的集群以运行更多机器和它们之间更多协调为代价,换取了更高的容错能力。
