Transaction-Malleability
延展性如何運作?
你能解釋一下延展性問題嗎?
這是我在這裡讀到的:https ://qz.com/175565/why-nobody-can-withdraw-bitcoins-from-one-of-the-currencys-largest-exchanges/
“當交易記錄被發送到比特幣礦工網路時,黑客可以對其進行足夠的調整以更改雜湊值,但不足以使傳輸無效。黑客可以做到這一點的方法之一是稍微修改數字簽名以使其仍被辨識為正確的簽名,但同樣會導致完全不同的雜湊值。”
我無法理解,比如說,Bob 如何在 Alice->Bob 交易中更改 Alice 的簽名,如果該簽名一開始不屬於他。
首先,交易所通過其 TXID 跟踪交易。TXID 可以由第三方更改,但不能更改交易數據。
我無法理解,比如說,Bob 如何在 Alice->Bob 交易中更改 Alice 的簽名,如果該簽名一開始不屬於他。
舊版本的比特幣核心使用 OpenSSL 來驗證簽名(現在是 libsecp256k1)。OpenSSL 對簽名編碼很寬容。
- ECDSA 簽名是一
(R,s)
對。(R,-s)
也做出了有效的簽名。- OpenSSL 允許 DER 以外的編碼算法。
這意味著編碼簽名的方法不止一種。不同但等效的簽名允許第 3 方在不知道私鑰的情況下更改簽名,從而更改 TXID。
詳細資訊:BIP 62