
误区一:所有账本都直接记录账户余额
比特币开发文档的交易章节说明,普通交易的输入引用此前的输出,尚未被花费的输出称为UTXO;钱包余额对应一个或多个相关UTXO的金额总和。以太坊账户文档则介绍了账户状态,包括余额、nonce以及与代码和存储有关的字段。
因此,相同的余额显示不代表相同的底层结构。理解账本模型,首先要区分系统记录的是可花费输出,还是账户及其状态,不能用界面的相似性推断数据组织方式。

误区二:UTXO可以直接扣减一部分
在比特币普通交易中,被引用的UTXO作为整体被花费,新的金额分配由新输出表达;需要保留的部分通常通过找零输出承接,而不是修改旧输出的金额。这里不包含具有特殊规则的coinbase交易。

所以,UTXO模型中的余额变化不是对某个余额字段做减法。分析交易时,应同时观察消耗了哪些输出、创建了哪些输出,而不只是看收款金额。
误区三:钱包、地址和账户是同一个东西
以太坊账户文档明确区分钱包与账户:钱包是与账户交互的界面或应用,账户才是链上状态所描述的实体;合约账户由代码逻辑控制,并没有对应的私钥。
由此不能把钱包应用理解成资产本身的存放容器,也不能看到一个地址就断定背后必然有一把能够直接控制它的私钥。地址用于标识或表达接收条件,具体控制方式仍需结合模型和账户类型判断。
误区四:签名正确就代表交易必然有效
签名解决的是授权验证问题,并不替代全部账本规则。比特币交易还需满足所引用输出的花费条件;以太坊外部账户的交易则涉及nonce等状态约束。
判断交易有效性,需要区分“是否获得授权”和“是否符合当前状态”。即使授权数据没有问题,也不能忽略相关输出是否已经花费,或账户交易序号是否符合要求。
常见问题:哪种模型更好,能否直接推广
模型首先描述状态如何表示和更新,并非性能、安全性或功能强弱的排行榜。仅凭余额表达方式,无法推出某条链运行更快或更安全,还需考察具体执行规则与实现。
上述例子分别适用于比特币普通交易和以太坊账户的基础机制,不意味着其他区块链完全相同。阅读其他系统时,可以依次核对状态单位、花费或调用条件、重复执行限制,以及钱包展示与底层记录的对应关系。