区块链教程之Bitcoin多重签名

Posted 任磊abc

tags:

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

由比特币的签名机制可知,如果丢失了私钥,没有任何办法可以花费对应地址的资金。

这样就使得因为丢失私钥导致资金丢失的风险会很高。为了避免一个私钥的丢失导致地址的资金丢失,比特币引入了多重签名机制,可以实现分散风险的功能。

具体来说,就是假设N个人分别持有N个私钥,只要其中M个人同意签名就可以动用某个“联合地址”的资金。

多重签名地址实际上是一个Script Hash,以2-3类型的多重签名为例,它的创建过程如下:

 const pubkeys = [
        \'026477115981fe981a6918a6297d9803c4dc04f328f22041bedff886bbc2962e01\',
        \'02c96db2302d19b43d4c69368babace7854cc84eb9e061cde51cfa77ca4a22b8b9\',
        \'03c6103b3b83e4a24a0e33a4df246ef11772f9992663db0c35759a5e2ebf68d8e9\'
      ].map((hex) => Buffer.from(hex, \'hex\'));
      const  address  = bitcoin.payments.p2sh(
        redeem: bitcoin.payments.p2ms( m: 2, pubkeys )
      );
      console.log(address); //36NUkt6FWUi3LAWBqWRdDmdTWbt91Yvfu7
     // 使用Base58编码即得到总是以3开头的多重签名地址,这个地址实际上是一个脚本哈希后的编码。
       以3开头的地址就是比特币的多重签名地址,但从地址本身无法得知签名所需的M/N。

以上是关于区块链教程之Bitcoin多重签名的主要内容,如果未能解决你的问题,请参考以下文章

区块链教程之Bitcoin原理简介

区块链教程之Bitcoin公钥和地址生成

区块链(bitcoin)学习

区块链开发_以太坊多重签名

区块链教程区块链信息安全3椭圆曲线加解密及签名算法的技术原理一

Bitcoin是什么意思