加密货币

多重签名

定义

多重签名是一种加密授权方法,在这种方法中,交易需要多个密钥的批准才能移动资金。

什么是多重签名?

多重签名是一种控制加密账户的方法,使得没有单个个人(或单个私钥)可以单方面支出资金;相反,交易只有在提供多个独立批准后才有效。在实践中,多重签名通常以“m of n”规则实现——例如,3个签名者中必须有2个批准才能执行转账。这个概念在许多钱包设计和治理设置中出现,是加密钱包类型解释中讨论的核心模式,因为它将安全模型从“一个密钥=完全控制”转变为“共享控制与定义的阈值”。多重签名钱包多重签名钱包是一种在账户级别强制多重批准支出规则的钱包设置。它不是依赖于一个种子短语,而是将权力分配给多个签名者——通常是不同的人、设备或组织——因此丢失一个密钥或一个签名者失控并不意味着自动失去资金。许多现代多重签名钱包被构建为智能合约钱包,其中合约编码了签名者是谁、批准阈值是什么以及任何额外规则(如每日限额或支出白名单)。当提出付款时,钱包会收集所需数量签名者的签名,然后在链上提交最终交易。对于典型流程和安全权衡的更深入讲解,读者通常会寻找多重签名钱包的解释。

多重签名

多重签名(通常缩写为“多签”)指的是基础的加密和协议理念:需要多个不同的签名来授权一个行动。最简单的心理模型是一个共享的银行账户,需要两个管理者签署电汇——只不过在加密中,“签名”是由私钥生成的数字证明。根据区块链和钱包设计,多重签名可以以不同方式实现:(1)作为协议级别的本地脚本或账户规则(在UTXO风格系统中常见),或(2)作为智能合约钱包内部的逻辑(在基于账户的链上常见)。在以太坊类网络上,基于合约的账户也可以使用ERC-1271等标准验证签名,这使得合约可以确认给定的批准集是否满足其内部规则。关键点是,多重签名将授权从单一密钥检查转变为阈值检查。多重签名加密在多重签名加密设置中,“m of n”阈值是使系统实用的特性:您可以要求多个批准,同时仍然允许操作在一个签名者不可用时继续进行。例如,一个2-of-3钱包即使丢失一个设备仍然可以继续工作,同时防止任何单个被攻破的密钥耗尽资金。这就是为什么多重签名被广泛用于DAO金库、协议管理员控制和团队管理的储备:它减少了单点故障,并使内部控制明确。了解多重签名不是很重要。多重签名通常意味着多个独立的密钥每个都产生一个批准,而钱包检查阈值是否满足。相比之下,MPC(多方计算)可以将单个签名密钥分割给参与者,使他们共同产生一个签名,而无需在一个地方重建完整的私钥。这两种方法都旨在降低密钥风险,但它们有不同的操作和信任假设:多重签名通常更容易审计(您可以看到阈值和签名者集),而MPC在某些保管设计中可以提供更流畅的用户体验。为什么多重签名很重要

多重签名很重要,因为它将现实世界的安全控制——职责分离、冗余和共享责任——引入自我保管。对于个人来说,它可以减少因单个被攻破的设备或种子短语造成的灾难性损失的风险。对于团队和链上组织,它提供了一个明确、可执行的资金转移和更改关键设置的政策,这在钱包还对智能合约拥有管理权时尤其重要。

没有多重签名,许多加密系统将默认“谁拥有密钥,谁就拥有权力”,使得盗窃、胁迫和操作错误造成的损害更大。通过多重签名,您可以设计更安全的工作流程(例如,要求来自不同部门或设备的批准),同时保持规则在链上透明和可验证。如果您在比较保管选项,多重签名是理解的最重要模式之一,和加密钱包类型解释中涵盖的其他设计一起。[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

常见问题

多重签名在加密货币中是如何工作的?

多重签名通过要求在执行交易之前获得一定数量的批准来工作。钱包配置有 n 个签名者和类似“m of n”的规则,只有在收集到至少 m 个有效签名时,转账或操作才会被接受。

什么是 m of n 多重签名钱包?

“m of n”多重签名钱包是一个拥有 n 个总授权签名者的钱包,其中任何 m 个签名者都可以批准一笔交易。例如,2-of-3 意味着两个签名就足够,而 3-of-5 则需要三个签名。

多重签名比普通钱包更安全吗?

通常是的,因为如果阈值高于 1,破解一个密钥不足以窃取资金。然而,多重签名增加了操作复杂性,糟糕的签名者管理(或串通)仍然可能带来风险。

多重签名和 MPC 之间有什么区别?

多重签名使用多个独立的密钥,并检查是否存在足够的独立签名。MPC 通常将一个密钥拆分成多个份额,以便参与者共同创建一个单一的签名,这可以改善用户体验,但可能比明确的多重签名阈值更难审计。

多重签名钱包使用智能合约吗?

在许多基于账户的区块链上,多重签名作为智能合约钱包实现,强制执行签名者和阈值规则。在某些网络上,多重签名也可以在协议层面原生实现,而无需合约。

相关术语