
一、从数据组织到网络一致性
区块链构建技术涉及哪些技术概念,可以从三个问题理解:记录怎样组织,交易怎样验证,多个节点怎样确定共同历史。这分别对应数据结构、状态验证与共识机制。它们相互配合,但不能互相替代:数据具有哈希链接,不等于交易有效;交易有效,也不等于已经进入共同认可的历史。
二、哈希链接与默克尔树
比特币开发者指南介绍,区块通过前一区块头的哈希连接,区块内交易则通过默克尔树汇总为根哈希;全节点独立验证区块,交易输入引用此前未花费的输出,有效分支按累计工作量选择。
哈希链接让历史内容的变化能够被检测,默克尔树则支持用较少的中间哈希证明某笔交易被包含在区块中。这里要区分“包含证明”和“有效性验证”:证明记录存在,并不等于独立检查了它的所有规则。
三、交易状态与防止重复花费
UTXO指未花费交易输出。在这种模型中,验证交易不仅要查看新记录,还要检查它引用的输出是否仍可使用。一个输出不能在同一有效历史中被重复花费。
这一概念适用于采用UTXO模型的系统,不能直接推广成所有区块链的统一账本结构。更一般的构建要求是:节点必须依据一致规则,判断交易能否让已有状态转变为新状态。
四、共识不只是PoW或PoS
以太坊共识机制文档将共识解释为协议、激励与规则的组合。工作量证明和权益证明承担抗女巫攻击及出块者选择等作用,完整机制还需要分叉选择;权益证明体系也会通过奖励和惩罚约束验证者行为。
女巫攻击涉及通过制造多个身份影响系统,因此身份数量不能简单等同于可信权重。讨论共识时,应分别说明参与权重如何确定、谁能提出区块,以及出现竞争分支时节点如何作出选择。
五、适用条件与常见误区
“最长链”是否就是区块最多?在比特币的语境中,关键是有效链的累计工作量,而非只比较区块数量。分支选择也不能让违反验证规则的区块变得有效。
“不可篡改”是否意味着绝对不能改写?更准确地说,历史链接使修改能够被发现,共识机制提高替换历史的难度,安全性仍依赖相应假设。区块高度也不是唯一标识,因为竞争分支可以具有相同高度。
构建或理解区块链时,应把数据证明、交易验证和历史选择分别检查。不同系统可以采用不同实现,不能因为都叫区块链,就默认它们具有相同的状态模型或安全条件。