Utxo

如果我重複使用相同的地址,可以重複使用以前使用的交易嗎?

  • August 2, 2018

我想知道,如果我使用地址 adr0 在交易 tx0 中花費一些硬幣,將硬幣提供給不同的地址 adr1,最終,一段時間後,我收到一些(完全不相關的)硬幣到同一個地址 adr0。有人可以接受我簽署的交易 tx0 並發布它,以便將新硬幣用於舊交易嗎?(畢竟它們屬於同一個地址,我已經簽署並給出了一筆從該地址花費硬幣的交易)。

如果是這樣,地址重用怎麼沒有被直接禁止?如果沒有,你能詳細說明原因嗎?

有人可以接受我簽署的交易 tx0 並發布它,以便將新硬幣用於舊交易嗎?

不。

首先,已知交易輸入已被使用。任何檢查區塊的節點都會知道重新執行的交易有無效的輸入。

其次,我希望(但尚未檢查)簽名的輸入包括兩個地址。這可以防止簽名以您建議的方式被濫用。(請參閱下面評論中默奇的澄清)

記住比特幣不存在於區塊鏈外部或內部可能會有所幫助(如果不是您,其他一些讀者)。唯一存在的是交易輸入和輸出。您不能使用帶有輸入 A、B 和 C 的簽名交易來使用輸入 D 和 E。簽名可防止您在不使簽名無效的情況下更改簽名內容。

為什麼不直接禁止地址重用?如果沒有,你能詳細說明原因嗎?

地址可以重複使用。最明顯的問題之一是隱私。如果你給某人一個地址,這樣他們就可以從你那裡購買 0.01 美元的帳篷釘,然後他們可以在區塊鏈上看到你最近也收到了 300,000,000 美元到該地址,然後去買一把大錘子,並在凌晨 3 點來拜訪你

為此,您應該查看一個名為“未花費交易輸出”(utxo)的系統。該系統的工作原理如下:

每筆交易都由一個或多個輸入和一個或多個輸出組成。輸入通過引用先前的輸出來指定資金的來源。輸出描述了誰和/或如何花錢。

因此,當您在 tx0 中發送硬幣時,您花費了輸出,您首先收到了錢。由於此輸出現在已用完,因此無法再次引用它。此後,您之前使用的 tx0 由您簽名,您將無法再次使用。這將是無效的,因為它試圖花費已經花費的輸出。對於不應該重複使用地址的原因,請參閱

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