由于比特币没有余额的概念,只有输入和输入,因此在管理钱包的时候,记录的是交易的记录,而不是余额,这是为了节省交易的空间。
在比特币中,每笔交易都会花费先前交易的产出,并产生新的产出,这些产出可能会在未来通过交易消耗。 所有未使用的事务都保存在每个完全同步的节点中,因此该模型被命名为“UTXO”。 用户的钱包跟踪与用户拥有的所有地址相关联的未使用交易的列表,并且钱包的余额被计算为这些未使用的交易的总和。
钱包内的UTXO已经接受到3笔比特币,1BTC,3BTC,5BTC,因此有了3个UTXO。
如果进行消费,消费了4个BTC,系统将5 BTC的消费转账交易给收款方,系统找零1BTC,收款方收到4BTC
交易记录的哈希值 付款钱包地址 花费 收款钱包地址
仅仅保存交易记录,对余额并不保存
这是从性能的角度进行考虑,比特币运行至今天整个交易记录仅仅只有几百个G
还能避免双重支付,任何一个钱包中的所有交易都写入了整个区块链网络,无法篡改。
传统中心化的应用中账户(用户名和密码)相当于区块链比特币中的钱包地址(钱包地址包含有公钥和私钥) 传统中心化的应用中余额UTXO