共识机制(Consensus)是分布式系统中让多个节点对数据状态达成一致的规则与算法,是区块链的核心基石。本词条通俗介绍共识机制的原理、CFT 与 BFT 两大容错分类,以及 PoW、PoS 等常见共识算法的特点与区别。

| 类型 | 分布式系统协议 / 区块链核心技术 |
| 英文名称 | Consensus Mechanism |
| 所属领域 | 分布式系统、区块链 |
| 主要分类 | 崩溃容错(CFT)、拜占庭容错(BFT) |
| 代表算法 | PoW、PoS、DPoS、PBFT、Raft、Paxos |
共识机制(英文 Consensus,也称共识算法)是指在由许多台计算机组成的分布式系统中,让所有节点就某一数据或交易顺序达成一致意见的一套规则和流程,它是区块链能够在没有中心机构的情况下正常运转的核心技术。
在传统系统里,数据由一台中心服务器说了算;而在分布式系统和区块链网络中,成百上千个节点各自保存一份账本副本,节点之间可能出现宕机、网络延迟,甚至有节点故意作恶。共识机制要解决的问题就是:在这些不可靠的条件下,如何让诚实节点最终对「哪笔交易有效、账本长什么样」达成统一结论,避免出现双花(同一笔钱被花两次)等问题。
按照系统能容忍的故障类型,共识协议通常分为两大类:崩溃容错(Crash Fault Tolerant,CFT)和拜占庭容错(Byzantine Fault Tolerant,BFT)。CFT 只假设节点会宕机或失联,不会撒谎,常见于企业内部的分布式数据库和集群,代表算法有 Paxos、Raft;BFT 则进一步假设部分节点可能伪造消息、恶意作恶,源自著名的「拜占庭将军问题」,公链所处的开放网络正是这种环境,因此比特币、以太坊等都必须采用具备拜占庭容错能力的共识机制。
共识机制直接决定了一条区块链的安全性、去中心化程度和交易性能,三者往往难以兼得,这也是常说的「区块链不可能三角」的核心来源。不同项目选择不同共识机制,本质上是在这三者之间做取舍,因此了解共识机制是评估一个区块链项目的重要入口。
问:共识机制只用于区块链吗?答:不是。它源自更早的分布式系统研究,数据库集群、云服务等都依赖 Paxos、Raft 之类的共识协议,区块链只是让这一概念广为人知的应用场景。
问:CFT 和 BFT 有什么区别?答:CFT 只能容忍节点宕机、失联这类「诚实的故障」,而 BFT 还能容忍节点撒谎、伪造消息等恶意行为。公链面对开放网络中的陌生参与者,必须使用 BFT 类机制。
问:PoW 和 PoS 哪个更好?答:各有取舍。PoW 经过比特币长期验证、安全性口碑好,但能耗高;PoS 节能且更容易扩展,但机制相对年轻,两者目前都是主流选择。

| 类型 | 分布式系统协议 / 区块链核心技术 |
| 英文名称 | Consensus Mechanism |
| 所属领域 | 分布式系统、区块链 |
| 主要分类 | 崩溃容错(CFT)、拜占庭容错(BFT) |
| 代表算法 | PoW、PoS、DPoS、PBFT、Raft、Paxos |
登录 后参与讨论
暂无讨论,来发表第一条评论吧