Utxo

為什麼有些交易有不止一個輸入?

  • April 16, 2018

我知道一個正常的交易有 1 個輸入和 2 個輸出(如果有變化,那就是第二個輸出)。

但是這種情況呢? 在此處輸入圖像描述

假設我正在從我的雙子座賬戶中提取比特幣並想要計算費用。我怎麼知道是 7 個地址發送(這會使交易的字節大小變大 = 更高的礦工費用)還是只發送 1 個地址?

為了進一步闡述試驗網這裡是我們與退出BTC到另一個錢包系統: <https://test-insight.bitpay.com/tx/8bc3db6a4a119e369752a52f0be39ae3a4d579adcdc49e9d92429b920000f934> <https://test-insight.bitpay.com/tx/553a27e38a73ed90c792b70add3c3f894e94955440205917ee754787c17ea62b> HTTPS: //test-insight.bitpay.com/tx/cecf112c7e3494826b165f4bcbeca9ef20cc800dce3d433c04b070e4fbc1da81

這是我存回我們錢包的時間(來自支持測試網的 copay 錢包): https ://test-insight.bitpay.com/tx/5871e5957ef6ec67a336de01e6f3e4f6f4cffd9986d2f5db181fdcbf6b00d1e0

可能會讓你感到困惑的,這是一個常見的誤解,地址本身以某種方式“持有”比特幣餘額,並通過交易獲得和失去代幣。事實上,區塊鏈所做的只是將之前的輸對外連結接到新的輸入,並且密鑰確保只允許正確的人發送硬幣。

您的餘額只是未使用總輸出的總和,如果您想向某人發送一定數量的款項,您最終會創建一個交易,該交易使用足夠的未使用輸出作為輸入,以提供適量的硬幣。因此,如果您有幾個不同的較小的未使用輸出,並且想要發送大量,則交易最終將使用多個較小的輸出作為輸入。因為輸入和輸出是作為一個整體使用的——它們不能像這樣分開——然後你通常會根據總輸入的總和以及你打算發送的數量收到一些變化。

當然,其中大部分是由您使用的錢包客戶端或網站解決的,因此作為普通使用者,您通常不會提前知道特定交易將涉及多少“地址”。該程序將只選擇足夠的未使用的輸出,您持有的密鑰,並使用它們來創建交易。希望這在一定程度上回答了你的問題。

比特幣中的價值不儲存在“餘額”中,而是儲存在未使用的交易輸出中。UTXO 的行為就像支票一樣,每次收到錢都會得到一張,每張都是簽過的金額,而且你只能用它全額消費一次。

當您創建交易時,您的軟體將搜尋一組可以為您的交易提供資金的 UTXO。這可以是從一個到所有錢包的 UTXO 的任意數量的輸入。

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