Script
如何編寫腳本,使我的資金鎖定在 2-of-2 多重簽名中,並在 365 天后轉換為 1-of-2 多重簽名?
我希望我的比特幣具有 2-of-2 多重簽名提供的額外安全性。通過一個單一的簽名,我擔心如果一個密鑰被黑客入侵,我會失去我的資金。但是,對於 2-of-2 的多重簽名,我擔心如果我失去任何一個密鑰,我的資金就會被困住。
如何編寫腳本,使我的資金被鎖定在 2-of-2 多重簽名中,該腳本在 365 天后轉換為 1-of-2 多重簽名?這樣我就可以兩全其美了。我在 365 天內擁有更高的安全性,然後如果我失去了我的一把鑰匙,我仍然可以在 365 天后訪問我的資金。
要建構腳本,您可以使用 Pieter Wuille 的 Miniscript站點。
如果您轉到策略到 Miniscript 編譯器部分,則策略中有一個範例,即 2-of-2 多重簽名在 90 天后變成 1-of-2 多重簽名。
and(pk(key_user),or(99@pk(key_service),older(12960)))
您需要根據您想要的範例對其進行調整。適合您需求的政策是:
and(pk(key_1),or(99@pk(key_2),older(52560)))
獲得策略後,您可以將其複制並粘貼到策略到 Miniscript 編譯器部分,並獲得與此策略等效的 Miniscript。Miniscript 輸出為:
and_v(v:pk(key_1),or_d(pk(key_2),older(52560)))
再往下,您可以複製並粘貼此 Miniscript,按分析,您將獲得生成的 Script(78 字節)以及實際 Script 的大小:
<key_1> OP_CHECKSIGVERIFY <key_2> OP_CHECKSIG OP_IFDUP OP_NOTIF <50cd00> OP_CHECKSEQUENCEVERIFY OP_ENDIF
值得注意的是,此範例假設您更關心失去一個特定密鑰(
key_2
在此範例中),並且您假設仍然可以訪問key 1
. 如果您很可能失去任何一個鍵 (key_1
或key_2
),您可能需要一個不同的腳本。我建議你先在 testnet 或 Signet 上嘗試這個,因為硬幣一文不值。或者,在您可以承受損失的主網上使用少量資金。您不希望由於錯誤或誤解而損失所有資金。