Transaction-Malleability
交易輸入的順序是否具有可塑性?
我希望以不可延展的方式跟踪交易。為了實現這一點,我已經閱讀了這個答案中的建議,但我不明白交易輸入的順序是如何不可延展的。我的理解是,每個單獨的輸入都由與其地址關聯的私鑰簽名,因此延展性攻擊可能只是交換輸入的順序,並且依賴於特定順序的跟踪雜湊將變得無用。我在這裡錯過了什麼嗎?
與輸入關聯的簽名不僅對輸入進行簽名,它還對整個交易有效負載進行簽名——基本上是交易的每個部分,除了簽名本身。(從技術上講,它似乎實際上簽署了交易序列化版本的雜湊。)
它必須是這樣的。否則,您可以獲取其他人的簽名交易並修改輸出以將其支付給您自己而不是預期的接收者。
因此,如果您修改輸入的順序,您將修改已簽名的有效負載。簽名將不再驗證,修改後的交易將不會被任何人接受為有效。
可塑性交易攻擊通過將簽名本身修改為不同但仍然有效的替代版本來起作用。交易的有效載荷從未改變。