Security

具有相同 ScriptSig 的交易是否存在安全問題?

  • March 25, 2019

例如,在查看我的地址的交易堆棧,追踪它到我使用的交易所時,我遇到了這個:

<https://www.blockchain.com/btc/tx/543f319e52123528847681ffc62941219196983b6b2daa51aa7fd44c9bc5c981>

腳本簽名:PUSHDATA(34)[0020431a072cb6352277b34d2bd4b7963939c37c2f121feb288106f64369eb1467d6]

相同的 ScriptSig 在同一事務中在此頁面上出現兩次?

我知道幾年前有人在論文中概述瞭如何從腳本中獲取私鑰,但我記得您需要在該欄位中擁有更多數據……換句話說:兩個輸入之間的值應該匹配,但是是其他不同的值嗎?這裡只是完全相同的字元串,但出現了兩次?

又名,簽名範例我確信它是可破解的:

(一些標頭數據)+(其他輸入中出現的易受攻擊的數據)+(更多數據)

非常愚蠢的例子:

00207777777777777777777777777123123 <-輸入1;00217777777777777777777777777000000 <-輸入2

然後通過做一些簡單的數學運算,人們可以從 input1 和 input2 獲取私鑰(乘法/除法等,忘記了它是如何工作的,只是因為兩個輸入的中間值相同)。

我也不知道什麼是“證人”,猜猜礦工是誰證實的?

在您指定的範例中,scriptsig 是重複的,因為它們是 p2sh-p2wpkh 地址。實際簽名仍然不同,具有唯一的 R 值。

只有當您有來自使用相同 R 值的同一密鑰的兩個不同簽名時,才能恢復私鑰。遵循rfc6979可以在任何理智的錢包中避免這種情況,它會根據正在簽名的數據確定性地創建 R 值。

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