Bitcoind

RPC addmultisigaddress 呼叫

  • October 4, 2014

我通過調試視窗嘗試了以下 RPC 呼叫:

addmultisigaddress 2 '["0304a7aadeb1ae96482a10fa634825d86d80dbad8d43cd9177664eaf6f0ff7d890", "022426f087fd017db9f29759efb9d7ff6101a075e46fb591466208a6a6beb321c7"]'

輸出是:

3MGYcBNapbmYkvfj9CD4hBykzWxukEE61w

這是一個 P2SH 地址,對吧?

不過,RPC 呼叫只是提供了公鑰,所以我的錢包實際上無法花費發送到該地址的任何資金,對嗎?

為什麼還要在這裡進行 RPC 呼叫,讓使用者創建一個他們無法使用的地址?如果不知道私鑰,這種方法是否只是一個實用程序,並且結果根本不會在實際錢包中使用?

我想只是對’addmultisigaddress’的解釋比通過控制台的幫助更具描述性會有所幫助。

您的理解是正確的:RPC呼叫的參數只是公鑰(或地址,是公鑰的雜湊),如果您不持有所有對應的私鑰,您將無法花費硬幣發送到結果地址。

但這遠非無用。多重簽名地址的主要應用是需要多個人的批准才能使用它們,就像在一張支票上需要兩個簽名一樣。在這種情況下,不希望任何人或電腦擁有所有相應的私鑰(因為任何有足夠權限訪問該電腦的人都可以單方面花費硬幣)。相反,當需要花費硬幣時,密鑰持有者會一一簽署他們的簽名,而不會彼此共享他們的私鑰。所以事實上,如果addmultisigaddress要求所有私鑰都可用,那幾乎是沒有用的。

有關多重簽名地址以及如何使用它們的更多詳細資訊,請參閱 almel 對多重簽名地址如何工作的相當廣泛的回答?與任何開源軟體一樣,最終的文件是原始碼。

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