Address-Reuse

比特幣地址可以向自己發送比特幣嗎?

  • November 22, 2021

我看到一些交易,其中輸入地址也顯示為輸出地址。例如,這個交易有一個輸入和三個輸出。

 Input Address/Amount            Output Address/Amount
       A / 3BTC                          B / 0.5BTC
                                         C / 0.5BTC
                                         A / 2BTC

這是否僅僅意味著 A 在這筆交易中支付了自己的費用?還是有別的意思?

是的,在您的範例中,發件人將一些資金分配給他們剛剛花費硬幣的相同輸出腳本。地址重用是允許的,但應該避免,因為它不必要地揭示了交易的共同作者身份。

資金實際上並沒有在地址上累積,而是以未使用的交易輸出(UTXO)的形式單獨跟踪每個輸出。如果您收到兩筆都記入地址 A 的付款,您將擁有兩個具有相同支出條件的 UTXO,即使您想在同一筆交易中花費它們,仍然必須在兩個單獨的輸入中消耗它們。

當花費一個 UTXO 時,它會被完全消耗掉。然後可以將可用值分配給輸出。未分配給收款人的剩餘資金將成為交易費用。如果在您的範例中,Alice 有一個價值 3 BTC 的 UTXO,並且想向 Bob 發送 0.5 BTC,向 Carol 發送 0.5 BTC,那麼她將擁有 2 BTC 的剩餘部分。為了防止支付 2 BTC 的交易費用,她添加了一個所謂的零錢輸出來收回剩餘的資金。如上所述,如果 Alice 使用了她也控制的新地址 A’,那將是更可取的。

總輸入量和總輸出量之間的差額作為交易費用支付給礦工。因此,如果您想發送的金額大大低於您在其中一個 UTXO 中的金額,您需要將一些比特幣發回給自己。它不需要與您發送的地址相同(許多人建議不要重複使用地址),但它確實需要是您控制的地址(擁有私鑰)。

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