比特币-多重签名的魅力

概述

比特币的多重签名机制可以实现多方共同管理资产,也可以用于第三方交易担保

表达式:

比特币-多重签名的魅力

一般有 1 of 1, 1 of 2, 1 of 3, 2 of 3, 3 of 3几种模式。

1 of 3: 三个管理者中,任何一方都可以单独的处理该地址的资产。

2 of 3: 三个管理者中,必须有两方共同签署才能处理该地址的资产。

3 of 3: 三个管理者必须都签署才能处理该地址的资产。

本文就以 2 of 2的情形来介绍一下使用多重签名的方法。

  • 全节点钱包多重签名2 of 2使用教程

1、 管理者A地址:mggMgk9kV3MTi5zHZsNnZ3WwEekKQ38ZWa

A输入validateaddress

Commands:

./bitcoin-cli validateaddress mggMgk9kV3MTi5zHZsNnZ3WwEekKQ38ZWa

比特币-多重签名的魅力

2、 管理者B地址:my5ioJEbbhMjRzgyQpcnq6fmbfUMQgTqMZ

B输入validateaddress ,获得公钥pubkey_B,并对外公开

Commands:

./bitcoin-cli validateaddress my5ioJEbbhMjRzgyQpcnq6fmbfUMQgTqMZ
比特币-多重签名的魅力

3、

createmultisig命令来生成多重签名地址,命令基本格式如下:

比特币-多重签名的魅力

Commands:

./bitcoin-cli createmultisig 2 "[\\" 03ca3c9d27c8924f5c63a6090c0b735e24f5add35439bad8155a3223178a4b6d3e\\",\\"03477b6de5381586c6e4ff1b529acb3bebb7afcd44dd84e291e7af439dc95f2e95\\"]"
比特币-多重签名的魅力

上图中的:2N4Anxq1gjsrRPh6AkY2zp9UQSiKFzV8Z4r,就是我们生成的多重签名地址。然后将这个地址增加到钱包里,

Commands:

./bitcoin-cli addmultisigaddress 2 "[\\" 03ca3c9d27c8924f5c63a6090c0b735e24f5add35439bad8155a3223178a4b6d3e\\",\\"03477b6de5381586c6e4ff1b529acb3bebb7afcd44dd84e291e7af439dc95f2e95\\"]"
比特币-多重签名的魅力

此时,需要管理者A和管理者B同时签名,才能进行交易,也就是P2P担保地址。

4、地址A向地址C发送 10个btc的交易

比特币-多重签名的魅力

交易hash为:

e06abfb139ef06afd3167cd8774636dbb74532b5b76a61b3e65759f62f145f34

此时需要管理者A和管理者B同时签名,才能收币

通过交易hash查询交易详情,确认地址吻合

Commands:

./bitcoin-cli getrawtransaction e06abfb139ef06afd3167cd8774636dbb74532b5b76a61b3e65759f62f145f34 true
比特币-多重签名的魅力

5、此时B确认A已经向C发送10个币,手动生成交易并生成<16进制的交易数据>确认到币(注:取零地址设定!!!

Commands:

./bitcoin-cli createrawtransaction "[{\\"txid\\":\\"e06abfb139ef06afd3167cd8774636dbb74532b5b76a61b3e65759f62f145f34\\",\\"vout\\":0}]" "{\\"my5ioJEbbhMjRzgyQpcnq6fmbfUMQgTqMZ\\":10}"
比特币-多重签名的魅力

6、B通过生成的<16进制交易数据>进行签名认证,继而生成新的

Commands:

./bitcoin-cli signrawtransaction 01ff000001345f142ff65957e6b3616ab7b53245b7db364677d87c16d3af06ef39b1bf6ae00000000000ffffffff0100ca9a3b000000001976a914c0ac996e74a3d42e3e7d5840973bb0adeacd2a5688ac00000000
比特币-多重签名的魅力

Complete: false私钥签名未全部完成

7、B将新生成的,发给A,需要A来签名,生成完整签名和交易数据2

Commands:

./bitcoin-cli signrawtransaction 01ff000001c922412b9d145dc2e166554722dc493d3d4bf1b91a98ed42eea3540187c35a42000000006b48304502ec3f1d2673c003eb16f9ae5022026c629c12c9360dd81f4c46b17b21e72d22257355231c079639a81208d18b1b10121023c9367a44b0d9278c41a7f3a5885a914c0ac996e74a3d42e3e7d5840973bb0adeacd2a5688ac00000000

8、发送交易

Commands:

./bitcoin-cli sendrawtransaction +完整签名和交易数据2


分享到:


相關文章: