
先明确账本能够保证什么
NIST《区块链技术概述》将区块链描述为分布式实现、能够显现篡改并抵抗篡改的数字账本;记录发布后不能更改的描述,以网络正常运行为前提。因此,讨论区块链账本技术需要注意哪些问题,首先要说明保障成立的条件,避免把抗篡改理解为任何情况下都无法改变。
共享账本有助于参与者保存和核对记录,但记录符合协议,并不自动证明记录所描述的现实事件真实。理解应用能力时,需要分别考察账本内部的验证规则与外部信息的可信依据。

共识需要验证规则支撑
比特币开发者指南说明,全节点独立验证区块,并按照共识规则维护账本;出现竞争分支时,节点在有效链之间依据累计工作量作出选择。这表明账本一致性依赖验证与分支选择机制,不能仅靠复制相同的数据来实现。

评估一种账本设计时,需要弄清参与者如何判定记录有效、发生冲突时依据什么规则处理。比特币采用工作量证明,但这一机制及其安全条件不能直接套用于所有区块链系统。
哈希关联与共识承担不同作用
哈希关联能够让历史数据的改动影响后续校验结果,共识机制则决定网络接受哪一份有效历史。理解抗篡改能力,需要把这两部分结合起来:能够发现数据变化,与能够抵抗替换历史的行为,是两个相关但不同的问题。
因此,仅说明账本使用了哈希,仍不足以完整说明其安全性。还需要解释网络按照什么规则接受记录,以及这些规则在怎样的运行条件下发挥作用。
常见问题:入块是否代表状态永久确定
以比特币为例,短暂分叉可能使节点暂时持有不同的链末端,随后某个分支被取代。因此,看到交易进入某个区块时,还需要结合后续链状态理解该记录的位置,不能忽略链重组的可能性。
另一个容易混淆的问题是区块高度与区块身份。竞争分支可以存在高度相同的区块,所以高度适合表示位置,不能单独充当全局唯一标识。
适用范围与证据边界
上述原则适合用于理解共享账本的验证和一致性问题。其中,工作量证明、累计工作量选择及相关分叉行为属于比特币示例。解释其他系统时,应依据其自身协议核对确认规则与冲突处理方式;通用技术介绍也不足以证明某个具体系统已经具备相同的安全保障。