
验证需要回答哪些问题
区块链验证包含多个层次:记录是否被改动、交易是否满足规则,以及网络采用哪条有效历史。理解这些层次,有助于区分数据校验、交易检查与共识形成,避免把某一种验证结果当作全部安全保证。
哈希、区块链接与默克尔树
比特币开发者指南说明,区块通过前一区块头的哈希建立链接,交易哈希则汇总为默克尔根。节点依据交易规则检查输入是否尚未花费、金额关系是否成立,并在有效分支中比较累计工作量。

哈希提供可重新计算的数据摘要。修改历史内容会改变相关摘要,使原有链接无法直接保持一致。默克尔证明则利用中间哈希核对某笔交易与区块头中默克尔根的关系,适合检查交易是否被包含。

交易有效性与防止双重花费
验证交易需要结合账本状态。同一笔可花费输出即使被两笔交易分别引用,也不能在同一有效历史中重复使用。因此,记录格式正确或哈希匹配,只完成了部分检查。
未花费交易输出称为UTXO。这个概念适用于采用该模型的系统;分析其他区块链时,需要依据其状态模型与交易规则,不能直接套用比特币的所有检查条件。
共识、抗女巫攻击与分叉选择
以太坊共识机制文档将共识描述为协议、激励与规则的组合,并区分抗女巫攻击和链选择。工作量证明、权益证明通过计算投入或质押资源约束参与权重;以太坊的权益证明机制还结合验证者投票、分叉选择及奖惩。
抗女巫攻击关注的是:参与者能否通过大量创建身份获得不相称的影响力。分叉选择关注的是:出现多个候选分支时,节点如何确定继续采用的分支。两者处理不同问题,需要与有效性检查配合。
适用条件与常见问题
交易有默克尔证明,是否就代表完全有效?证明能够支持包含关系的核验,但不能单独证明交易满足全部规则,也不能单独确定其所在分支最终被网络采用。
区块越多,分支就一定优先吗?对于比特币,应比较有效分支的累计工作量,不能仅按区块数量判断。其他机制需要使用各自规定的选择规则。
达成共识是否就是按节点数量投票?不能这样概括。影响力可能与计算资源或质押权重有关。理解验证结果时,应明确采用了什么规则、核验了哪些数据,以及仍依赖哪些条件。