
区块链特点与共识机制的关系
区块链通过区块之间的哈希关联组织记录,由多个节点按规则验证和维护账本。共识机制解决的核心问题是:当节点收到的信息不同,或有人试图提交冲突记录时,网络如何确定共同接受的历史与状态。
以太坊开发者文档将共识机制解释为协议、激励与相关规则构成的整体。工作量证明和权益证明主要承担抗女巫攻击及出块者选择等作用,还需配合分叉选择等规则。比特币开发者指南则说明,全节点独立验证区块,并在有效分支之间依据累计工作量选择链。

适用条件一:确有多方共同维护账本的需求
当多个参与方需要共享记录,又不能仅依赖某一方决定记录内容和顺序时,共识机制才有明确用途。设计前应确认谁能提交记录、谁负责验证,以及各方是否采用相同的有效性规则。

链式结构使历史修改能够被察觉;阻止修改后的历史被网络接受,还依赖共识规则与安全资源。评价“难以篡改”时,需要同时考察这两层条件。
适用条件二:参与方式与安全成本相匹配
开放参与的网络需要应对女巫攻击,即同一主体创建大量身份来获取影响力。因此,不能简单按节点数量判断可信程度,还要明确共识权重由什么决定。
工作量证明以计算工作作为竞争出块的基础,适用评估涉及算力、能源成本及算力分布。权益证明以质押资源及奖惩约束验证者,评估重点包括权益分布、验证者运行条件和惩罚规则。两者的安全性都需要检验相应假设,不能只凭机制名称判断。
适用条件三:通信与确认要求可以兼容
节点收到区块的时间可能不同,同一位置也可能出现多个候选区块,因此系统必须规定如何处理分歧。业务需要明确:记录被接收、进入区块和达到所需确认程度,分别代表什么。
若业务要求即时且不可撤回的结果,就必须检查所选协议的最终性条件及网络异常时的行为。暂时失联、消息延迟和参与资源集中,也应纳入适用性评估。
常见问题:共识是否保证一切数据真实
共识能够让节点按规则接受一致的记录,但不能自动证明录入的现实信息真实。例如,一条业务记录即使被写入账本,其原始凭证仍需独立核验。
共识是否意味着所有节点都同意?不必然。不同协议采用不同的权重和门槛,不能把某个百分比当作全部区块链通用的节点数量要求。比特币所说的链选择,也应理解为在有效链中比较累计工作量,而非单纯比较区块个数。