
区块链、共识与合约的理解入口
这组概念可以围绕三个问题展开:交易记录如何组织,分布式节点如何认可同一份历史,以及交易需要满足哪些条件。区块链的数据结构与共识规则分别回答前两个问题;理解合约,还需要进一步了解对应系统的条件表达与执行规则。不能仅凭一种链的共识方式,推断其合约能力。
哈希、区块头与默克尔树
比特币开发者指南描述了两种连接关系:区块头记录前一区块头的哈希,交易哈希则通过默克尔树汇总为根并写入区块头。交易输出还可以被后续交易作为输入引用。节点根据规则验证这些记录,并跟随累计工作量最大的有效链。

这些结构承担不同职责。哈希连接使历史修改能够被检测,默克尔树支持验证某笔交易是否包含在区块中。但包含证明本身不能代替完整的交易有效性检查,也不能单独证明该区块最终会留在共同历史中。

UTXO与双重支付
UTXO指尚未花费的交易输出。在这一模型中,验证交易需要检查它引用的输出是否可用;同一输出不能在链上被重复花费。这也是理解双重支付的基础。
交易有效性不只取决于数据格式。即使两笔交易分别看起来符合要求,只要它们争用同一输出,账本就不能同时接受两次花费。因此,交易验证与历史排序需要配合。
共识不只是工作量证明或权益证明
以太坊开发者文档将共识机制解释为协议、激励与规则的组合。工作量证明和权益证明参与抵御伪造大量身份的女巫攻击,并影响区块生产者的选择;出现竞争区块时,还需要分叉选择规则。文档所述以太坊机制使用权益加权的验证者投票,并配合奖励和惩罚。
判断一套共识机制,需要同时看参与资格、区块验证和分叉处理。节点数量本身不足以说明决策权重,也不能把所有系统都理解为每个节点各有一票。
这些概念如何关联到合约
理解合约时,可以先沿用交易验证这一入口:哪些条件必须满足,谁负责检查,检查结果怎样进入共同认可的账本。共识提供共同历史的确认框架,具体条件仍须由相应协议定义。
这里的适用范围是账本与共识基础。上述概念不足以说明具体合约语言、虚拟机或执行费用,更不能据此判断某个合约实现是否安全;这些问题需要对应系统的执行规范。
常见问题:最长链和不可篡改怎样理解
比特币语境中的“最长链”应理解为累计工作量最大的有效链,不能只比较区块数量。工作量再多,也不能让违反验证规则的区块自动有效。
“不可篡改”也不表示数据绝对无法改写。哈希结构使修改留下可检测的变化,共识机制进一步提高替换已接受历史的成本。理解其保障范围,需要结合具体机制及其安全假设。