Multi-Signature

多重簽名 誰將第二個簽名放入腳本中?

  • March 10, 2018

我知道腳本如何協同工作,但 Multisig 仍然讓我感到困惑。

輸入腳本:OP_0 [A 的簽名] [B 或 C 的簽名] [序列化兌換腳本]

交易是如何創建的,比如“A”創建了一個交易,他可以在腳本里放一個簽名,但是B的簽名是從哪裡來的呢?A 的錢包終於沒有 B 的私鑰了!

從邏輯上講,交易必鬚髮送給 B,然後 B 將簽名放入腳本中,對嗎?

在“A”簽署交易散列後,散列被更新以顯示他的簽名。“A”會將這個部分簽名的交易雜湊發送給“B”,然後“B”將對該雜湊進行簽名,然後返回反映兩個有效簽名的第三個雜湊。假設只需要花費 2 個簽名,這第三個雜湊就是廣播到網路的內容。

基本上@m1xolyd1an 回答了它,我擴展了一點。所以你會有一個資金交易,它將一些 satoshis 發送到多重簽名交易中。通常到一個“類型 3”地址,即兌換腳本的雜湊,轉換為比特幣地址。

然後您想花費這筆交易,並且此兌換腳本中概述了條件。您已經提供了腳本,redeemscript 的部分將查找 2-of-3,如下所示:

52[pk1][pk2][pk3]53ae

然後,您將創建第一個 tx(“createrawtransaction”)對其進行簽名(“signrawtransaction”),然後將生成的雜湊與另一個私鑰簽名,這會增加 tx 的長度。然後你將它發送到網路。您可以在 testnet 或您的 regtest 環境中重做這個相當簡單的範例,Gavin很久以前就提供了一個非常好的分步範例。

誰將第二個簽名放入腳本中?

這可以是你自己,當你使用冷儲存概念時,這可以是第二個人,你給他散列以使其簽名。

哦,因為這是非常基礎的比特幣,我建議也看看Andreas 的書“掌握比特幣”,在第 7 章關於多重簽名。這本書可以線上閱讀。

引用自:https://bitcoin.stackexchange.com/questions/71766