比特幣-多重簽名的魅力

概述

比特幣的多重簽名機制可以實現多方共同管理資產,也可以用於第三方交易擔保

表達式:

比特幣-多重簽名的魅力

一般有 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


分享到:


相關文章: