多重签名(Multisig)

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多重签名(Multisig)相关的知识,希望对你有一定的参考价值。

1. 定义

在数字签名应用中,有时需要多个用户对同一个文件进行签名和认证。

在这里插入图片描述

2. 签名过程

2.1 有序多重签名

签名者之间的签名次序是一种串行的顺序
eg.
在这里插入图片描述

2.2 广播多重签名

即签名者之间的签名次序是一种并行的顺序,互不干涉。
eg.
在这里插入图片描述

3. 用途

  • 1-2,两人只要有一人同意即可使用资金;
  • 2-2,两人必须都同意才可使用资金;
  • 2-3,3人必须至少两人同意才可使用资金;
  • 4-7,7人中多数人同意才可使用资金。

eg1.
BitGo 多重签名钱包由三个私钥组成:一个由 BitGo 持有,一个由用户持有,另一个由 Coincover 等密钥恢复服务 (KRS) 代表用户持有。BitGo 钱包上的每笔交易都需要两个签名,通常情况下,这将由 BitGo 和用户完成。

eg2.

Bitcoin脚本内容:
52
21 026477115981fe981a6918a6297d9803c4dc04f328f22041bedff886bbc2962e01
21 02c96db2302d19b43d4c69368babace7854cc84eb9e061cde51cfa77ca4a22b8b9
21 03c6103b3b83e4a24a0e33a4df246ef11772f9992663db0c35759a5e2ebf68d8e9
53
ae
翻译成指令:
OP_2
PUSHDATA(33) 026477115981fe981a6918a6297d9803c4dc04f328f22041bedff886bbc2962e01
PUSHDATA(33) 02c96db2302d19b43d4c69368babace7854cc84eb9e061cde51cfa77ca4a22b8b9
PUSHDATA(33) 03c6103b3b83e4a24a0e33a4df246ef11772f9992663db0c35759a5e2ebf68d8e9
OP_3
OP_CHECKMULTISIG

以上是关于多重签名(Multisig)的主要内容,如果未能解决你的问题,请参考以下文章

Python开发区块链之04如何生成多签名的bitcoin address

多重签名

一种增强隐私的多重签名:树签名

一种增强隐私的多重签名:树签名

区块链教程之Bitcoin多重签名

《Nodejs开发加密货币》之十九:签名和多重签名