
局部共识的含义与讨论范围
这里将“局部共识”理解为部分节点在限定范围内,对某些交易或状态形成一致意见。这是一种通用描述,并非具有统一规则的单一协议。讨论其适用性,首先要说明哪些节点参与、确认哪些数据,以及结果对谁有效。
以太坊共识机制文档强调,共识包含协议、激励和状态选择等多个部分。比特币开发者指南则说明,全节点独立验证区块,并通过共同规则维持一致。由此理解局部共识,不能只看参与者是否表示同意,还要看形成一致的规则及其效力边界。

条件一:确认范围和状态边界清楚
局部确认适用于能够明确限定处理对象与影响范围的设计。如果一项状态变更会影响范围之外的资产归属或交易有效性,就需要进一步协调。以防止重复花费为例,两个群体各自认可一笔交易,仍可能因为使用同一笔可用资金而发生冲突。

因此,判断适用性时,需要明确局部结果能否独立成立,以及哪些操作必须等待更大范围的确认。
条件二:参与节点遵循共同验证规则
参与节点需要对交易有效性、状态变更和冲突处理采用一致规则,并获得执行验证所需的数据。仅仅收到相同消息或接受同一个区块,不能代替有效性检查。
如果节点使用不同规则,或缺少判断交易是否已经被处理的必要状态,表面上的一致可能无法维持。局部共识的范围可以有限,但范围内的验证依据必须清楚。
条件三:参与资格与安全假设明确
必须明确谁可以参与、如何计算其影响力,以及如何限制恶意参与者。以太坊文档对抗女巫攻击的讨论说明,节点数量本身不足以代表安全性,因为同一主体可能建立多个身份。
具体采用身份准入、资源约束还是其他安排,需要由协议定义。不能直接把某条链的确认门槛套用于所有局部共识,也不能仅凭参与者较少就推断其安全可靠。
条件四:冲突与对外认可有明确规则
网络延迟可能使不同节点暂时看到不同结果。比特币开发者指南描述的竞争区块说明,暂时分歧需要通过后续的链选择规则解决。局部确认同样需要明确冲突出现后如何处理,以及结果何时可以视为稳定。
如果局部结果要被其他节点或更大范围的网络接受,还需要明确验证与接纳条件。局部同意不会自动获得全网效力,其最终性取决于所采用的完整协议。
常见问题:少数节点一致就算最终确认吗
不能仅凭这一点判断。少数节点一致可能只是暂时观察到相同状态,也可能是协议认可的一项阶段性结果。是否构成最终确认,需要查看对应的确认规则。
局部共识一定更高效吗?缩小参与范围可能减少部分通信,但跨范围协调、结果验证和冲突处理仍有成本。是否适用,应同时考察业务边界、安全要求与协调负担,不能只比较节点数量。