Multi-Signature
比特幣多重簽名地址有多複雜?
根據我的閱讀,M-of-N 多重簽名地址在比特幣中是可能的。但是我讀過的任何內容都沒有談到它的限制(例如,我不確定 M 和 N 是否有限制),也沒有任何更複雜的多重簽名形式。
例如,我想我想做的是有一個可以在以下情況下使用的地址:
- 地址 A 簽名,或
- B、C、D、E、F和G中至少有3個簽名*,* H也簽名
這將允許我擁有一個我可以正常使用的地址,在地址 A 失去或損壞的情況下,許多受信任的第三方*也可以訪問該地址。*這將有助於通過將一些密鑰分發給許多朋友(B、C、D、E、F、G)來備份您的比特幣,並在您的遺囑中附上解釋性說明和最終密鑰(H)。
這種事情在比特幣中完全可能嗎?
此類構造的限制是兌換腳本(其操作碼)的 520 字節。一個簽名大約是 70 個字節(長度程式碼、r-key、s-key …),因此您可以計算出哪些 n-of-m 版本適合 520 個字節。你所有的想法都可以用比特幣來實現。
例如,您可以為 B、C、D、E、F 和 G 創建 6 個多簽中的 2 個。
當您說“A”可以簽名時,我相信它與“H”相同。然後你遇到 8 個鍵(8x70=560 bam…),所以你超出了限制。在創建一個簡單的“智能合約”時,您可能會規避這一點:
if <pubkey A> OR <pubkey B> else <2-of-6 msig>
然後你又在極限了。這些類型的想法在 Andreas 的書“Mastering Bitcoin, 2nd edition”第 7 章“Advanced Transactions and Scripting”中有解釋。