
数据结构:区块、哈希与默克尔树
区块链数据系统涉及哪些技术概念,可以从数据组织、有效性验证和节点协调三个层面理解。区块承载交易,区块头引用前一区块的哈希,形成可核验的历史链接。改动旧记录会影响相关哈希,因此无法在保留后续链接的同时悄悄替换内容。
比特币开发者指南介绍了区块头、交易默克尔树和独立验证机制。默克尔树把交易摘要逐层汇总为根值,支持使用部分中间哈希核验交易是否被某一区块收录。这种包含证明适用于核验收录关系,单凭它不能判断交易是否符合全部规则。

交易验证:记录如何改变系统状态
节点需要检查交易能否合法改变已有记录。比特币采用未花费交易输出,即UTXO模型:普通交易引用先前尚未花费的输出,生成新的输出。同一输出在有效链上只能被花费一次,由此约束重复花费。

这说明交易验证依赖历史状态。数据格式正确、能够计算出哈希,并不足以证明交易有效;还需要检查其引用的资源是否存在、是否已被使用。UTXO是具体的数据模型,不能直接套用于所有区块链。
共识机制:节点如何协调记录
以太坊共识机制文档将共识解释为协议、激励和规则共同组成的体系。工作量证明与权益证明承担抗女巫攻击、参与出块选择等作用;完整共识还需要处理区块验证、分叉选择等问题。
女巫攻击指通过制造大量身份扩大影响力。资源约束使共识权重不能仅靠新增身份获得。理解共识时,需要关注权重依据和协议条件,不能把它简单理解为所有节点按数量投票。
分叉与安全:常见理解边界
网络传播存在延迟,同一高度可能出现多个候选区块。分叉选择规则帮助节点确定继续跟随哪条有效分支。比特币比较累计工作量,因此所谓最长链不能只按区块数量理解;区块高度也不能充当全局唯一标识。
区块链是否绝对不可修改,是常见问题。哈希链接使改动能够被检测,共识机制进一步提高改写被接受历史的难度,其安全性仍依赖相应的资源和网络条件。区块链可以验证记录之间是否符合协议,却不能仅凭记录被收录就证明其中描述的现实事件真实。