
先明确模型讨论的范围
“区块链技术的模型”可以指不同层面的设计。围绕共识讨论时,核心问题是:哪些参与者能够提出区块,其他节点如何验证,以及出现不同历史版本时怎样形成一致判断。若把这些问题统称为一种算法,容易遗漏系统正常运行所依赖的条件。
NIST《区块链技术概述》将区块链概括为分布式实现、具有篡改可察觉性与抗篡改能力的数字账本,并强调正常网络运行这一前提。这说明,讨论模型时需要同时说明运行条件,不能只列举技术名称。

问题一:把工作量证明等同于完整共识
以太坊共识机制文档区分了工作量证明、权益证明与完整共识机制:前两者承担抵抗女巫攻击、选择区块生产者等作用;完整机制还包括分叉选择、协议规则与激励安排。女巫攻击是通过制造大量身份来影响系统的攻击方式。

因此,介绍一个模型使用工作量证明或权益证明,只回答了部分问题。还需要解释节点接受什么区块,以及多个候选区块并存时依据什么规则选择后续历史。
问题二:忽略安全依赖的资源与规则
工作量证明通过计算工作设置参与成本,权益证明通过质押及相应奖惩约束参与者。两者适用条件不同:前者需要考察计算资源及其分布,后者需要考察权益分布和具体约束规则。
不能仅凭机制名称判断系统安全,也不能把某一协议的攻击门槛推广到所有区块链。安全分析应先明确攻击目标、参与者能够控制的资源,以及协议对异常行为的处理方式。
问题三:把分叉视为必然故障
不同节点接收区块的时间可能不同,也可能出现竞争区块。模型需要用分叉选择规则处理这种情况。对于采用累计工作量规则的链,判断依据是累计工作量,不能简单理解为区块数量最多。
评估模型时,应区分暂时存在不同候选历史与无法继续达成一致。适用性取决于业务能否接受等待,以及协议如何确定一段历史的确认程度。
问题四:把抗篡改理解为内容绝对真实
抗篡改能力主要针对账本记录被事后改变的问题。它不能单独证明记录对应的现实事件真实发生,也不能代替对数据输入的核验。
例如,系统能够一致地保存一条外部信息,不代表该信息天然准确。涉及链外事实时,仍需明确数据由谁提供、如何检查,以及错误记录如何按规则处理。区分记录的一致性与内容的真实性,才能准确理解区块链模型的能力边界。