Transactions
具有相同雜湊的兩個交易如何導致雙花
讓我們考慮以下情況:
- 供應商擁有地址X。
- 對手使用雜湊Y向X發送交易**T1並從供應商處接收產品。
- 對手將交易T2發送到他擁有的具有相同雜湊 Y 的地址到其他節點。
- 供應商收到的交易T2與**T1具有相同的雜湊值,因此從他的角度來看,這是同一筆交易。他忽略了它。
- 其他節點在T2之後收到交易T1 ,因此它們忽略T1。
- 交易T2被發送到多數,因此T2將包含在下一個塊中的機率高於包含T1的機率。
- 根據機率,交易T2被包含在下一個區塊中。
這種雙花場景正確嗎?
您試圖想像的場景幾乎是正確的。
關鍵是“攻擊者”將從他的地址 X 到“供應商”地址 Y 的相同未使用輸出生成兩個相同的交易。他將同時生成 T1 和 T2,從同一來源獲取資金發送,但他將為每筆交易附加不同的費用。當然,這兩項交易中的一項將收取更高的費用。
費用較高的交易(即“攻擊者”發送回他擁有的地址的 tx,如您所說的 T2)將是網路接受的交易。T1 將被拒絕,因為它來自與 T2 相同的未使用輸出,但它的費用較低,所以一段時間後它會被比特幣網路的記憶體池修剪。
總之,偽雙花,這是一個費用問題,而不是 tx 時間戳。
希望這有幫助。
因為交易 T2 有不同的內容(地址對手擁有而不是地址供應商擁有),它會有不同的雜湊。