比特币签名验证(比特币的多重签名)

上传日期:2023-08-24 浏览次数:

比特币的多重签名


多重签名脚本设置了这样一个条件,假如记录在脚本中的公钥个数为N,则至少需提供其中的M个公钥才可以解锁。这也被称为M-N组合,其中,N是记录在脚本中的公钥总个数,M是使得多重签名生效的公钥数阀值(最少数目)。例如,对于一个2-3多重签名组合而言,存档公钥数为3个,至少同时使用其中2个或者2个以上的公钥时,才能生成激活交易的签名,通过验证后才可使用这笔资金。最初,标准多重签名脚本的最大存档公钥数被限定为15个,这意味着可采用1-1乃至15-15的任意多重签名组合,或者组合的组合来激活交易。15个存档公钥数的限制也许在本书出版时已有所增加,读者通过检索Standard()函数可以获得最新存档公钥数上限值的相关信息。

通用的M-N多重签名锁定脚本形式为:

M ... N OP_CHECKMULTISIG

其中,N是存档公钥总数,M是要求激活交易的最少公钥数。

2-3多重签名条件:

2 3 OP_CHECKMULTISIG

上述锁定脚本可由含有签名和公钥的脚本予以解锁:

OP_0

或者由3个存档公钥中的任意2个相一致的私钥签名组合予以解锁。


之所以要加上前缀OP_0,是因为最早的CHECKMULTISIG在处理含有多个项目的过程中有个小漏洞,CHECKMULTISIG会自动忽略这个前缀,它只是占位符而已。

两个脚本组合将形成一个验证脚本:

OP_0 2 3 OP_CHECKMULTISIG

当执行时,只有当未解锁版脚本与解锁脚本设置条件相匹配时,组合脚本才显示得到结果为真(Ture)。上述例子中相应的设置条件即为未解锁脚本是否含有与3个公钥中的任意2个相一致的私钥的有效签名。

比特币的多重签名

#欧易OKEx##比特币[超话]##数字货币#

上一篇:比特币 兄弟(Diem卖身背后,是Meta加密货币梦碎的声音)

下一篇:瑞士币 虚拟货币(瑞士零售银行提供加密货币服务)

免费获取您的专属营销方案

验证码