---
title: "共识机制"
description: "解释分布式系统中的共识协议及其在以太坊中扮演的角色。"
lang: zh
authors: ["帕特里克·柯林斯"]
---

术语“共识机制”在口语中经常被用来指代“权益证明 (PoS)”、“工作量证明 (PoW)”或“权威证明”协议。然而，这些只是共识机制中用于防范[女巫攻击](/glossary/#sybil-attack)的组件。共识机制是使一组分布式节点能够对区块链状态达成一致的完整理念、协议和激励机制栈。

## 前提条件 {#prerequisites}

为了更好地理解本页面，我们建议您先阅读我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。

## 什么是共识？ {#what-is-consensus}

共识是指达成普遍一致。想象一群人去看电影。如果对提议的电影选择没有异议，那么就达成了共识。如果存在分歧，这个群体必须有办法决定看哪部电影。在极端情况下，这个群体最终会分裂。

对于[以太坊](/)区块链而言，这个过程是形式化的，达成共识意味着网络上至少 66% 的节点对网络的全局状态达成一致。

## 什么是共识机制？ {#what-is-a-consensus-mechanism}

术语共识机制是指允许节点网络对区块链状态达成一致的整个协议、激励机制和理念栈。

以太坊使用基于权益证明的共识机制，其加密经济安全性源于对质押者锁定的资金施加的一套奖励和惩罚机制。这种激励结构鼓励个人质押者诚实地运行验证者，惩罚那些不诚实的人，并使攻击网络的成本变得极高。

此外，还有一种协议规定了如何选择诚实的验证者来提议或验证区块、处理交易以及对他们所认为的链头进行投票。在多个区块处于链头附近同一位置的罕见情况下，会有一种分叉选择机制来选择构成“最重”链的区块，其衡量标准是为这些区块投票的验证者数量，并以他们质押的以太币余额作为权重。

有些对共识很重要的概念并没有在代码中明确定义，例如潜在的带外社会协调所提供的额外安全性，这是抵御网络攻击的最后一道防线。

这些组件共同构成了共识机制。

## 共识机制的类型 {#types-of-consensus-mechanisms}

### 基于工作量证明 {#proof-of-work}

像比特币一样，以太坊曾经使用基于**工作量证明 (PoW)** 的共识协议。

#### 区块创建 {#pow-block-creation}

矿工竞争创建填满已处理交易的新区块。获胜者与网络的其余部分共享新区块，并赚取一些新铸造的 ETH。能够最快解出数学难题的计算机将赢得这场竞赛。这在当前区块和前一个区块之间产生了密码学链接。解出这个难题就是“工作量证明”中的工作量。然后，规范链由分叉选择规则决定，该规则选择完成最多挖矿工作量的区块集合。

#### 安全性 {#pow-security}

网络的安全性在于，你需要网络 51% 的计算能力才能欺骗该链。这将需要在设备和能源上进行巨额投资；你花费的成本很可能超过你的收益。

了解更多关于[工作量证明](/developers/docs/consensus-mechanisms/pow/)的信息

### 基于权益证明 {#proof-of-stake}

以太坊现在使用基于**权益证明 (PoS)** 的共识协议。

#### 区块创建 {#pos-block-creation}

验证者创建区块。在每个时隙中会随机选择一个验证者作为区块提议者。他们的共识客户端从其配对的执行客户端请求一批交易作为“执行负载”。他们将其包装在共识数据中以形成一个区块，并将其发送到以太坊网络上的其他节点。这种区块生产会获得 ETH 奖励。在单个时隙存在多个可能区块，或者节点在不同时间听到区块的罕见情况下，分叉选择算法会挑选构成具有最大证明权重（权重是进行证明的验证者数量乘以其 ETH 余额）的链的区块。

#### 安全性 {#pos-security}

权益证明系统在加密经济上是安全的，因为试图控制链的攻击者必须销毁大量的 ETH。奖励系统激励个人质押者诚实行事，而惩罚机制则阻止质押者恶意行事。

了解更多关于[权益证明](/developers/docs/consensus-mechanisms/pos/)的信息

### 视觉指南 {#types-of-consensus-video}

观看更多关于以太坊上使用的不同类型共识机制的视频：

<VideoWatch slug="understanding-consensus-mechanisms" />

### 女巫攻击抵抗与链选择 {#sybil-chain}

单独的工作量证明和权益证明并不是共识协议，但为了简单起见，它们通常被称为共识协议。它们实际上是女巫攻击抵抗机制和区块作者选择器；它们是决定谁是最新区块作者的一种方式。另一个重要组件是链选择（又名分叉选择）算法，它使节点能够在同一位置存在多个区块的情况下，在链头挑选出一个正确的区块。

<strong>女巫攻击抵抗</strong>衡量协议抵御女巫攻击的能力。抵抗这种类型的攻击对于去中心化区块链至关重要，并使矿工和验证者能够根据投入的资源获得平等的奖励。工作量证明和权益证明通过让用户消耗大量能源或提供大量抵押品来防范这种情况。这些保护措施是对女巫攻击的经济威慑。

<strong>链选择规则</strong>用于决定哪条链是“正确”的链。比特币使用“最长链”规则，这意味着无论哪条区块链最长，都将被其余节点接受为有效并基于其进行工作。对于工作量证明链，最长链由该链的总累积工作量证明难度决定。以太坊过去也使用最长链规则；然而，既然以太坊现在运行在权益证明上，它采用了一种更新的分叉选择算法来衡量链的“权重”。权重是验证者投票的累积总和，以验证者质押的以太币余额作为权重。

以太坊使用一种名为 [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) 的共识机制，它将 [Casper FFG 权益证明](https://arxiv.org/abs/1710.09437)与 [GHOST 分叉选择规则](https://arxiv.org/abs/2003.03052)结合在一起。

## 延伸阅读 {#further-reading}

- [什么是区块链共识算法？](https://academy.binance.com/en/articles/what-is-a-blockchain-consensus-algorithm)
- [什么是中本聪共识？完整新手指南](https://blockonomi.com/nakamoto-consensus/)
- [Casper 是如何工作的？](https://medium.com/unitychain/intro-to-casper-ffg-9ed944d98b2d)
- [论工作量证明区块链的安全性和性能](https://eprint.iacr.org/2016/555.pdf)
- [拜占庭故障](https://en.wikipedia.org/wiki/Byzantine_fault)

_知道对您有帮助的社区资源吗？编辑本页面并添加它！_

## 相关主题 {#related-topics}

- [工作量证明](/developers/docs/consensus-mechanisms/pow/)
- [挖矿](/developers/docs/consensus-mechanisms/pow/mining/)
- [权益证明](/developers/docs/consensus-mechanisms/pos/)
- [权威证明](/developers/docs/consensus-mechanisms/poa/)