Utxo
為什麼我們在每筆交易中都引用之前的交易?
每筆交易只有輸入地址、輸出地址、金額和簽名還不夠嗎?
我們不是指以前的交易,而是指以前交易的特定輸出。當交易將錢簽署給接收者時,它們會創建一個唯一可辨識的“未使用的交易輸出”或 UTXO。交易輸入反過來使用這些“UTXO”來推動交易。由於地址可以重複使用,僅地址不足以準確辨識正在使用的比特幣。
如果您只有“每筆交易的輸入地址、輸出地址、金額和簽名”。這很容易被打破:
假設 Alice 將她所有的資金都保存在 address
A1
中,並向 Bob 支付 0.1BTC 的租金到 addressB1
。B1
Bob使用從 Alice 那裡收到的資金支付 Mallet 來修理 Alice 的加熱器。當 Alice 下個月再次從一個地址A1
到另一個地址向 Bob 付款時B1
,Mallet 可以將 Bob 的交易重播給自己,以便再次獲得付款。
比特幣不像傳統會計那樣跟踪賬戶餘額,它只記錄 BTC 的來源和發送到的地址。因此,您的收款地址在技術上沒有記錄的餘額,只有在該地址收到的所有交易的計算餘額。一旦您發送比特幣,您在發送時引用的未使用交易輸出將變為已使用,並且您最初收到的該地址的計算餘額為零。
你可能會發現這個幫助影片: