
一、误区:所有transfer都只是余额加减
transfer通常表示转移资产,但不能仅凭名称判断底层机制。以太坊交易文档描述了账户发起的状态更新;比特币开发者指南则以未花费交易输出,即UTXO,解释资产支出。两种模型都记录价值转移,却不是同一套记账方法。
本文讨论这两类机制及以太坊代币调用,不把它们推广为所有链的统一规则。理解转账时,首先要区分网络和资产类型,而不是把钱包中相似的界面当成底层实现相同的证据。

二、误区:交易的to一定是最终收款人
在简单ETH转账中,to表示接收地址;调用代币合约时,交易的to通常是合约地址,代币接收地址和数量则放在调用数据中。因此,“交易发给哪个地址”和“资产最终记到谁名下”可能是两个不同问题。

同样,交易的value表示随交易转移的ETH数量,并不直接表示代币数量。不能只看一个金额字段,就断定整笔交易没有转移资产或已经转移了某种代币。
三、误区:看到transfer名称就能确定实际行为
以太坊合约通常按照ABI解释调用数据,函数选择器用于识别调用入口。但选择器可能对应不同函数,名称也不能替代合约实际逻辑。判断含义需要结合目标合约和参数,不能只依据浏览器显示的一行标签。
数字签名用于验证授权,不负责判断操作是否符合人的真实意愿。“签名有效”和“内容理解正确”是两个层面,不能互相替代。
四、误区:比特币余额就是一个账户字段
比特币钱包展示的余额,可以来自多个UTXO。交易输入引用此前的输出,满足相应支出条件后,再创建新的输出。因此,钱包显示一个合计数字,并不意味着链上保存着同样形式的单一余额字段。
这也解释了为什么不能直接套用账户转账的字段含义:账户模型关注状态如何更新,UTXO模型关注哪些旧输出被支出、哪些新输出被创建。
五、误区:有交易哈希就代表完成,gas上限就是实付费用
交易哈希是标识,不是成功证明。广播、等待纳入区块、执行结果和最终确认属于不同阶段;描述一笔转账时,应明确所说的是哪个阶段,而非笼统地称为“已完成”。
以太坊gas用于衡量执行资源消耗,gasLimit是用量上限,不等于实际扣费。简单ETH转账的gas示例也不能直接套用于合约调用。常见疑问应分开理解:转移金额回答资产变化多少,手续费回答执行付出多少成本,确认状态回答记录处于什么阶段。