Address

多重簽名地址也可以是虛地址嗎?

  • June 8, 2017

如果是這樣,三方是否必須就字元序列達成一致?

是的,這是可能的。

事實上,創建地址的一方是唯一需要就字元序列達成一致的一方。

假設您有一個可以用於 2-of-3 多重簽名的地址。這是一個付費腳本雜湊地址(以 3 而不是 1 開頭)。您的腳本可能看起來像這樣:

2 <pubkey A> <pubkey B> <pubkey C> 3 OP_CHECKMULTISIG

這行得通,但是這個腳本的散列(具有壓倒性的可能性)將相當無聊。

假設甲方想要一個更有趣的地址。她知道她的私鑰 k_A、她的公鑰 Q_A 以及其他所有人的公鑰。她所要做的就是執行以下算法:

while not interesting(address):
   Q = Q + G
   k = k + 1
   address = hash160('2 <Q> <pubkey B> <pubkey C> 3 OP_CHECKMULTISIG')

此時她的公鑰是 Q,而她的私鑰是 k。G 是 secp256k1 曲線的生成點。然後 Alice 將這個腳本展示給 Bob 和 Charlie,他們驗證該腳本是否包含他們的公鑰以及它是否散列到預期的地址。

Bob 和 Charlie 無法區分以這種特殊方式生成的地址,而 Alice 在第一次嘗試選擇私鑰時很幸運。

當您告訴 vanitygen 生成以 3 開頭的地址時,vanitygen 已經為 1-of-1 簽名實現了類似的功能。

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