Transactions

交易簽名如何防止交易重複?

  • July 11, 2017

假設 Alice 向 Bob 發送了 1 個 BTC。然後我們用 Alice 私鑰簽名(Alice 向 Bob 發送 1 個 BTC)。鑑於 Bob 已經擁有 Alice 的簽名(Alice 向 Bob 發送 1 個 BTC),是什麼阻止了 Bob 複製這個完全相同的交易並將其發送到網路以獲取另一個 BTC(或更多)?

非常感謝 :)

當 Alice 向 Bob 創建一個 1 BTC 的交易時,她通過使用她擁有密鑰的未使用的交易輸出給他一個特定的比特幣。區塊鏈跟踪硬幣從交易到交易的流動,它沒有“餘額”。因此,當 Alice 進行新交易時,她為該交易提供至少 1 BTC的輸入,並將 Bob 的地址放入**輸出中. 然後,該交易被探勘到一個區塊中,Bob 可以將他持有的密鑰的輸出用於另一個交易,等等。但是在 Alice 廣播了第一筆交易之後,她已經花費了她在其中使用的輸出,她不能在另一筆交易中再次使用它們(雙花)。因此,如果 Bob 試圖“重放”該交易,他將只是重新發送與以前相同的內容,不會有任何改變,因為網路已經看到並接受了該交易,並且 Bob 已經“擁有”了 Alice 發送給他的比特幣。事實上,沒有其他節點會對交易感興趣,因為他們可以看到它已經寫入區塊鏈。

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