
先明确共识解决什么问题
联盟链由获准参与的组织协作维护,共识用于使节点就账本记录及其顺序形成一致。NIST《区块链技术概述》将区块链描述为具有篡改可察觉性和抗篡改能力的分布式账本,并强调记录稳定性建立在网络正常运行的条件之上。
因此,适用性首先取决于业务是否需要多方共同确认记录。共识可以维护账本一致性,但不能单独证明录入信息与现实情况相符。

条件一:成员可识别,授权边界清楚
参与组织需要明确谁能加入网络、谁能提交记录、谁能参与共识。这些权限应分别规定,接入网络不意味着自动取得出块或验证资格。

以太坊网站的PoA说明强调由一组获授权签名者出块,信任基础包括身份和声誉。这类机制适合能够识别并管理验证者的环境,其适用前提是参与方接受授权名单及其产生方式。
条件二:存在共同维护账本的协作需求
各方应对记录格式、有效性规则和确认流程达成一致。例如,某项协作记录需要哪些主体确认、重复提交如何处理,都应先形成共同规则。若各方对记录是否有效没有共同标准,共识程序本身无法化解业务争议。
还应说明为什么需要多方维护同一账本。如果所有记录都由单一主体决定,其他参与者只需查询,则需要进一步论证联盟链共识带来的实际价值。
条件三:信任假设与治理措施匹配
身份已知仍可能发生违规操作、签名密钥失窃或节点被控制。选择共识机制时,应区分需要应对的是节点离线,还是节点主动发送冲突信息等恶意行为,并核对具体实现的容错条件。
联盟应预先约定验证者加入、退出、撤权和密钥更换流程。治理不能只依靠声誉,也不能假设所有PoA实现都采用相同的投票门槛或安全规则。
条件四:运行与确认要求能够满足
节点规模、通信条件和维护能力需要与具体协议匹配。评估应覆盖节点掉线、通信中断和恢复后的处理,而不只观察正常情况下的出块速度。
业务还需明确何时可以把记录视为最终确认。PoA的不同实现可能具有不同的分叉处理方式,不能将较快出块直接理解为记录立即不可逆,也不能把某种实现的性能当作所有联盟链的保证。
常见问题
联盟链是否必须使用PoA?不必须。联盟链描述参与和治理方式,PoA描述一类基于授权验证者的机制;选择仍需结合信任假设与确认要求。
权限控制是否自动带来隐私保护?不会。谁有权参与共识与谁能读取数据是不同问题,数据可见范围需要另外设计。
通过共识的记录是否一定真实?不一定。共识确认的是记录符合共同规则并被网络接受,现实信息的真实性仍依赖采集、核验和责任机制。