
误区一:所有区块链都采用同一种内容结构
区块链通过对前序区块的引用组织历史,但具体字段取决于协议。比特币开发者参考中的结构包含区块头、交易数量和交易列表;以太坊区块说明则区分共识层区块及其包含的执行载荷。理解结构时,应先明确讨论哪条链、哪个层次,不能把一个项目的字段表当成通用模板。
误区二:区块头就是完整区块
比特币的区块头包含前一区块头哈希、交易默克尔根,以及版本、时间和工作量证明相关字段,交易明细另行存放。区块头适合承载关键关联与校验信息,却不能代替完整交易列表。阅读结构图时,要区分字段中保存的是实际内容,还是由内容计算出的摘要。
误区三:默克尔根保存了全部交易内容
默克尔根由交易标识经过分层哈希计算得到,用来承诺相应的交易集合及其组织顺序。它不是可以解压还原的交易文件。比特币还要求 coinbase 交易排在首位,同一区块内的花费依赖也有顺序要求,因此交易列表不能被理解为随意排列的数据集合。
误区四:交易根和状态根表达同一件事
以太坊执行数据中的交易根、状态根和收据根分别对应不同对象。可以从三个问题理解它们:区块包含哪些交易,执行后形成什么状态,以及执行产生什么收据信息。交易记录描述操作,状态描述操作后的结果,二者不能互相替代。
状态根也要结合所在层次理解:共识层状态与执行层全局状态各有含义。只看字段名称相似,就认定它们校验同一份数据,容易混淆验证范围。
误区五:哈希连接就能保证区块有效
哈希引用能够让历史内容的变化体现为关联摘要变化,但区块是否有效还需要按协议验证。以太坊的执行验证涉及重新执行交易并核对结果;共识机制还负责对区块历史形成一致认识。结构连接、交易执行和共识判断解决的是不同问题,不能只检查链接就认定内容正确。
常见问题:旧字段表和容量数字能直接套用吗
不能脱离协议版本套用。字段清单、容量规则和资源限制可能随升级改变;字节描述数据体积,Gas 衡量执行资源消耗,两者也不能直接等同。阅读技术文章时,应把稳定的结构概念与特定版本的参数分开,涉及完整字段或精确限制时,再核对对应版本的协议定义。