比特币没有账户,也没有余额。它有输出。每笔交易都会创建输出,每个输出都是一笔锁定到某个条件的金额,通常是:任何能够用此密钥签名的人都可以花费它。
UTXO
尚未花费的输出称为未花费交易输出,即UTXO。每个节点都维护着完整的UTXO集。你的余额是你钱包通过加总你的密钥可以花费的UTXO而得出的。
花费意味着消耗
交易的输入指向现有的UTXO,并携带解锁它们的签名。其输出为收款方创建新的UTXO。一旦花费,输出就永远消失了:第二次尝试花费它就是双重支付,节点会拒绝。
- 输入:被花费的UTXO的引用,加上它们的签名。
- 输出:新的金额,每笔都锁定给新所有者的条件。
- 规则:输入必须至少等于输出的总额。
在内存池中,每个代币都是一笔等待中的交易,包含其输入和输出,其高度就是它支付的手续费。