Transactions

為什麼比特幣會有“變化”?

  • July 6, 2020

我讀過有關更改地址的內容,想知道為什麼還有更改的概念?

假設我從某個人A收到 1 BTC,然後我想將 0.4 BTC 發送給另一個人B。據我了解,我必須整體發送 1 BTC,然後獲得 0.6 BTC 作為零錢。

那正確嗎?如果是這樣,你為什麼不一開始就發送 0.4 BTC?

比特幣遵循未使用的交易輸出(utxo)模型。

我們的現代銀行系統遵循賬戶模型 - 為您分配一個銀行帳號(類似於地址),並從中發送和接收資金。任何流入的資金都會增加您的賬戶總餘額,而流出的資金則會減少它。銀行不會跟踪哪些資金來自哪些存款。這只是一個單一的平衡。

比特幣更接近現金——您的比特幣錢包中的任何資金都是之前傳入交易的結果,您的實體錢包中的任何票據都是您之前進行的現實交易的結果(無論是 ATM/銀行取款,還是在商店作為零錢收到)。

比特幣跟踪每筆交易的輸出,就像現實生活中的筆記一樣。當您收到 1 BTC 時,您會收到正好 1 BTC 的輸出(注)。這必須全部花費,不能拆分。因此,如果您想發送 0.4 BTC,則將整個 1 BTC 放入交易中,然後將 0.6 BTC 發送到您自己的輸出地址之一。

這與用 20 美元紙幣購買 5 美元商品的方式大致相同——您必須投入整張 20 美元紙幣,您將獲得 15 美元。您不能簡單地將 20 美元鈔票撕成四等份並創建 4 張 5 美元鈔票。

當然,與真實現金不同,在比特幣中,收款人不存在簡單拿走你的 BTC 並拒絕歸還找零的風險——作為交易建構過程的一部分,找零會被發送回你擁有的地址。其餘資金的接收者無法控制它。

一種更簡潔的思考方式是使用Abdussamad在評論中提到的硬幣(實物硬幣,而不是比特幣)類比- 您可以將錢包中的每個輸出視為單個、不可分割的固定價值硬幣。

當你花費這些硬幣時,交易就像一個熔爐——你可以添加多個硬幣來創建一個價值為所有硬幣總和的罐,你可以使用融化的硬幣來鑄造你想要的新值—— 1 個硬幣用於付款,1 個硬幣用於您隨身攜帶的零錢。這甚至考慮了交易費用 - 每次你熔化一些硬幣時,罐子都會要求少量粘在它上面,導致最終輸出略低於輸入。

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