什么是多重签名?多重签名的概念

多重签名,就是多个用户对同一个消息进行数字签名,可以简单地理解为一个数字资产的多个签名。

签名标定的是数字资产所属及权限,多重签名表示该数字资产可由多人支配与管理。在加密货币领域,如果要动用一个加密货币地址的资金,通常需要该地址的所有人使用他的私钥(由用户专属保护)进行签名。由此,动用这笔资金就需要多个私钥签名,通常这笔资金或数字资产会保存在一个多重签名的地址或账号里。

blob.png

A和B两人怎么对同一个数字文件进行签名呢?

(1)不用单向散列函数,

①A和B分别对文件的副本签名,签名消息的数据大小是原文的两倍。

②A先签名,然后B在A的签名基础上再进行签名。这是可行的,但是在不验证B签名的情况下就验证A的签名是不可能的。

(2)采用单向散列函数,可以很简单地实现多重签名

①A对文件的散列签名。

②B对文件的散列签名。

③B将他的签名交给A。

④A把文件及其签名和B的签名发给C。

⑤C验证A和B的签名。

在采用单向散列函数的情况下,A和B是能同时或顺序地完成第①步和第②步的,且在第⑤步中,C可以只验证A、B其中一人的签名而不用验证另一人的签名。

在实际操作过程中,一个多重签名地址可以关联N个私钥,在需要转账等操作时,只需要M个私钥签名就可以把资金转移了。其中M要小于或等于N,也就是说M/N小于1,可以是2/3、3/5等,需要在建立这个多重签名地址的时候确定好M/N的具体模式。

从原理上讲,多重签名本身并不复杂,用一句话就可以说明:“用W把钥匙生成一个多重签名的地址,需要其中的从把钥匙才能花费这个地址上的比特币,N≥M,这就是M/N的多重签名。”

多重签名实现第三方的适当介人保障,也增加了数字货币的信任度,多重签名地址允许多个用户使用一个公钥单独发送部分地址。当一些人想要使用比特币时,他们需要除他们本人以外其他一部分人的签名,且需要签名用户的数量在最初创建地址的时候就已经商定。使用资金前需要的多个签名,除了本人以外,其他的签名可以是你的商业伙伴,或与你关系密切的人,甚至是你所拥有的另一个设备,由此来为你成功使用比特币增加一个可控因素,使比特币交易过程接近绝对安全。

相关参考文章:

多重签名——典型的数字签名技术

NEM链上多重签名功能——NEM功能介绍

NEM的多重签名

868区块链学习网为您整理《什么是多重签名?多重签名的概念》仅供参考。