
误区一:记录类型有统一的分类表
讨论区块链记录类型,首先要明确链和分类对象。交易记录、组织交易的区块,以及描述执行结果的状态,属于不同层次。把这些概念直接并列,容易混淆数据结构与业务含义。
分类还需要统一维度:“做了什么”属于用途,“采用什么编码”属于格式,“是否已被区块收录”属于处理状态。同一笔交易可以同时具有这些属性。
误区二:所有交易记录都是转账
以太坊开发文档按用途区分普通转账、合约部署和合约执行。部署交易没有通常的接收地址,数据用于合约创建;调用已部署合约时,接收地址指向合约。
因此,仅凭接收地址或转账金额,未必能解释交易的完整含义,还需要结合输入数据与合约逻辑。这个分类适用于以太坊语境,不能直接作为所有区块链的通用分类。
误区三:交易格式编号就是业务类型
以太坊的类型化交易机制用于支持不同交易格式,包括费用机制等功能差异。格式类型与转账、部署、调用这样的用途分类,回答的是不同问题。
常见问题是“知道类型编号,是否就知道交易做了什么?”编号能帮助解析字段,但理解具体行为仍需要查看交易内容。
误区四:所有链都记录账户余额的增减
比特币开发指南通过交易输入与输出解释资金流转:普通交易引用此前未花费的输出,创建新的输出;同一个输出不能在有效链上重复花费。这是UTXO模型的基础。
账户余额视角与未花费输出视角不能直接互换。阅读记录时,应先确认底层模型,避免把钱包显示的汇总余额误认为链上记录本身的结构。
误区五:查询合约也会新增链上交易
以太坊可通过eth_call读取合约信息,这类查询本身不需要作为交易写入区块,也不支付链上交易费。但只读函数若在链上交易执行过程中被调用,仍会消耗Gas。
判断是否产生新记录,应区分读取已有状态与提交需要网络执行的交易,不能仅凭“调用了合约”下结论。
误区六:出现交易标识就代表最终确认
交易标识用于定位交易,不能单独证明其已被收录。收录与最终性也需要区分:比特币可能出现竞争分支,以太坊则有相应的最终性过程。
比特币同一高度可能出现不同区块,因此区块高度也不能充当全局唯一标识。核对记录时,交易内容、所属区块和确认状态需要分别理解。