
先明确核验对象
“完整的网络参数”不是一组脱离环境的固定数字。核验前应记录网络类型、目标区块及其高度、采用的软件版本和规则依据。主网与测试环境不能混用,历史区块也需要结合当时适用的规则理解。
适用范围同样需要明确:区块头核验可以检查格式和工作量证明,但不能单独证明全部交易有效。矿机显示的运行数据,也不能替代区块原始数据。

核对区块头与哈希输入
Bitcoin Developer Reference 的区块链说明列出了80字节区块头,包含版本、前一区块哈希、Merkle根、时间、nBits和nonce;工作量证明对序列化区块头执行两次SHA-256。

实际核验时,应先检查字段长度、排列和字节序,再重算哈希。十六进制显示文本与其代表的原始字节是不同输入;若直接对文本求哈希,即使算法名称正确,也无法得到预期结果。前一区块引用和交易生成的Merkle根也应分别比对。
核验目标值及链上约束
nBits是目标阈值的紧凑编码,区块头哈希对应的数值必须小于或等于该目标。时间还受到前序区块时间中位数及节点时间相关规则约束。
因此,核验不能停在“哈希达标”:还要确认目标编码有效,并符合该网络、该高度及前序链状态要求。自行放宽目标后得到的达标哈希,不能据此证明区块有效。nonce只是区块头中的可变字段,其数值大小不代表完成了多少有效工作。
区分算法正确与共识有效
NIST的哈希函数说明将哈希定义为把消息映射为固定长度摘要的算法,并将SHA-256列入SHA-2家族。抗碰撞、抗原像等性质用于描述算法安全性。
这类算法依据适合帮助核对哈希实现,却不能证明某个比特币区块符合共识。核验记录应区分三个结果:输入字节是否正确、摘要计算是否正确、区块是否满足适用规则。前两项通过,仍不能替代第三项。
常见问题与结论边界
为什么不能照搬网页上的所有数字?历史技术说明可能保留旧版升级机制、奖励和容量描述。引用这些内容时,需要识别其时间背景,不能据此宣布已经取得完整的现行参数。
只有区块头能否完成全部核验?不能。完整区块验证还涉及交易、coinbase及奖励等规则。最终记录应写明核验对象、数据依据、复算结果和未覆盖范围,让“通过核验”对应明确的检查项目。