先抓住核心:比特币没有“账户余额表”

很多人把比特币交易想成银行转账:从A账户扣钱,给B账户加钱。理解比特币交易原理,要先换一个模型:比特币账本记录的是“未花费交易输出”,也就是UTXO。你钱包里显示的余额,是钱包把属于你的多个UTXO加总后的结果。转账时,你并不是修改某个余额数字,而是选择若干UTXO作为输入,创建新的输出给收款人,剩余部分作为找零回到自己控制的地址。

这带来两个实际影响:一是每笔交易都要消耗旧输出、产生新输出;二是钱包需要管理多个地址和找零地址,不能把“地址”简单等同于“账户”。

一笔交易由输入、输出和手续费组成

一笔标准比特币交易通常包含版本号、输入列表、输出列表、锁定时间等字段。输入里引用某笔旧交易的输出,并附带解锁脚本和签名;输出里写明金额和花费条件。手续费不是单独字段,而是“输入总额减去输出总额”的差额,由矿工在打包时收取。

  • 输入:指向你之前收到、尚未花费的UTXO,