共识机制(Consensus Mechanism):修订间差异

来自非小号百科
0x YU小鱼留言 | 贡献
创建页面,内容为“== 简述 == 区块链网络中节点达成一致的方法,常见类型包括工作量证明(PoW)、权益证明(PoS)、委托权益证明(DPoS)等。 == 什么是共识机制(Consensus Mechanism)? == '''共识机制(Consensus Mechanism)''' 是分布式网络中用于协调多个节点达成一致的一种协议或算法。它是区块链技术的核心部分,用于确保所有节点对区块链的状态具有统一的认知,从而…”
 
Doge留言 | 贡献
无编辑摘要
 
第1行: 第1行:
== 简述 ==
分布式计算和多智能体系统的一个基本问题是在存在大量故障进程的情况下实现整体系统可靠性。这通常需要协调进程以达成共识,或就计算过程需要的数据值达成一致。共识的示例应用包括就以何种顺序提交哪些事务到数据库达成一致、状态机复制和原子广播。需要共识现实世界应用包括云计算、时钟同步、PageRank、意见形成、智能电网、状态估计、无人机控制(以及一般来说多个机器人/智能体)、负载平衡区块链等。
区块链网络节点达成一致的方法,常见类型包括工作量证明(PoW)、权益证明(PoS)委托权益证明(DPoS)等。


== 什么是共识机制(Consensus Mechanism)? ==
== 起源 ==
'''共识机制(Consensus Mechanism)''' 分布式网络中用于协调多个节点达成一致的一种协议算法区块链技术的核心部分,用于确保所有节点对区块链的状态具有统一的认知,从而实现数据的安全性、可靠性不可篡改性。共识机制不仅决定了区块链网络的运行效率安全性,还影响了其去中心化程度和能源消耗
共识这个词是拉丁语,意思一致,和睦”,源自拉丁语 consentire,意思是“共同感受”。名词共识可以表示普遍接受意见——“普遍同意或致;和谐”、“多数意见”——共识决策过程的结果本文指的过程结果(例如“通过共识决定“达成共识”)


去中心化的区块链网络中由于没有中心化机构管理和验证交易共识机成为网络中不同参者信任彼此、共同维护账致性关键
由于加密货币多数采用去中心化的区块链设计节点是各处分散且平行的,所以必须设计一套度,来维护系统的运作顺序公平性,统一区块链的版本,并奖励提供资源维护区块链的使用者,以及惩罚恶意的危害者。这样的制度,必须依赖某种方式来证明,是由谁取得了一个区块链的打包权(或称记权),并且可以获取打包这一个区块的奖励;又或者是谁意图进行危害,就会获得惩罚,这就是共识机制


== 共识机制的核心目标 ==
== 共识协议 ==
Leslie Lamport提出的Paxos共识算法及其变体如Raft,广泛应用于分布式和云计算系统。这些算法通常是同步的,依赖于选出的领导者来推动进度,并且只能容忍崩溃故障,不能容忍拜占庭故障。


# '''数据致性''':确保分布网络中每个节点对区块链状态相同记录。
Garay和Berman提出的Phase King算法是个能够容忍拜占庭故障的多项时间二元共识协议的例子。该算法在同步消息传递模型中解决共识问题,有n个进程和最多f个故障,前提是n > 4f。在Phase King算法,有f+1个阶段,每个阶段有2轮。每个进程跟踪其首选输出(最初等于进程自己的输入值)。在每个阶段的第一轮,每个进程将自己首选值广播给所其他进程。然后,它接收来自所有进程值,并定哪个值是多值及其计。在阶段的第二轮,其ID与当前阶段号匹配的进程指定为该阶段的国王国王广播它在第一轮观察到多数值,并作为决胜票。然后,每个进程更新其首选值,如下所示如果进程在第一轮观察到的多数值的计数大于n/2 + f,则进程将其偏好更改为该多数值;否则,它使用阶段国王在f+1个阶段结束时进程输出其首选值
# '''防止双花问题''':字货币或据不会重复使用或篡改
# '''抗分叉性''':减少网络因节点分歧而导致链上分叉
# '''去中心化''':实现无中心化机构信任机制
# '''安全性''':抵御网络攻击如女巫攻击、双花攻击和51%攻击


== 常见的共识类型 ==
Google实现了一个名为Chubby分布式锁服务库。Chubby将锁信息保存在小的文件中,这些文件存储在复制数据库中,以实现高可用性,以应对故障。该数据库是在基于Paxos共识算法的容错日志层之上实现的。在这种方案中,Chubby客户端与Paxos主服务器通信以访问/更新复日志;即读写文件。


# '''工作量证明(Proof of Work, PoW)'''
许多点对点在线实时策略游戏使用修改后锁步协议作为共识协议以管理游戏中玩家之间游戏状态每个游戏动作都会产一个游戏状态增量,该增量广播给游戏中的所有其他玩家以及总游戏状态哈希值每个玩家通过将增量应用于自己游戏状态并比较游戏状态哈希来验证更改如果哈希不匹配则投出投票,游戏状态处于少数的玩家会被断开连接并从游戏移除称为不同步)。
#* '''简介''':PoW 是区块链中最早使用的共识机制比特币首先采用。通过让节点进行复杂数学计算(称为“挖矿”),第一个解出问题节点获得记账权并添加区块
#* '''优点''':
#*# 高安全性,抵御恶意攻击的成本高。
#*# 去中心化程度较高。
#* '''缺点''':
#*# 高能耗,对环境不友好。
#*# 处理速度较慢,交易吞吐量有限。
#* '''应用''':比特币(BTC)、莱特币(LTC)。
# '''权益证明(Proof of Stake, PoS)'''
#* '''简介''':节点的区块成权和验证权基于其持有的代币数和持有时间而非计算能力。持币越多、时间越长,被选生成区块概率越大。
#* '''优点''':
#*# 能耗低环保性好。
#*# 更快交易处理速度
#* '''缺点''':
#*# 初期持币分配可能导致中心化风险。
#*# “富者愈富”效应。
#* '''应用''':以太坊 2.0(ETH)、Cardano(ADA)、Polkadot(DOT)。
# '''委托权益证明(Delegated Proof of Stake, DPoS)'''
#* '''简介''':通过投票选出有限数的“代表”(超级节点)负责区块生产和交易验证。
#* '''优点''':
#*# 高效,交易确认速度快。
#*# 社区治理性强。
#* '''缺点''':
#*# 节点集中化风险。
#*# 权力可能被少数大户控制。
#* '''应用''':EOS、TRON(TRX)。
# '''权威证明(Proof of Authority, PoA)'''
#* '''简介''':由预先选定的验证者节点负责区块验证,验证者的“权威性”基其身份和信誉。
#* '''优点''':
#*# 低能耗。
#*# 交易确认速度极快。
#* '''缺点''':
#*# 高度中心化,依赖可信节点。
#* '''应用''':VeChain、Ripple。
# '''股份证明(Proof of Stake Authority, PoSA)'''
#* '''简介''':结合 PoS 和 PoA 特性混合共识机制,节点既需要抵押代币,也需要获得授权才能参与验证。
#* '''应用''':币安智能链(BSC)。
# '''拜占庭容错(Byzantine Fault Tolerance, BFT)'''
#* '''简介''':专注于解决“拜占庭将军问题”确保网络在部分节点作恶的情况下仍能达成共识。
#* '''种类''':
#*# '''PBFT(实用拜占庭容错)''':通过投票在一定节点达成共识。
#*# '''Tendermint''':改进型 BFT 算法,专注于高效性。
#* '''应用''':Hyperledger Fabric、Cosmos(ATOM)。
# '''混合共识机制'''
#* '''简介''':结合多种共识机制的特点,以实现最佳性能。
#* '''示例''':
#*# 比特币和闪电网络的 PoW + 第二层扩展。
#*# Polkadot 的 NPoS提名权益证明)。


== 共识机制的工作流程 ==
另一种著名的方法称为MSR型算法,已广泛应用于从计算科学到控理论各个领域。


# '''节点验证交易''':
=== 无需许可的共识协议 ===
#* 户将交易广播到网络。
比特币使工作量明(Proof-of-Work,PoW机制,通过难度调整函数和重组函数来实现其开放式点对点网络中的无许可共识为了扩展比特区块链或分布式账本,矿工试图解决一个密码学难题,其中找到解决方案的概率与每秒哈希计算量成正比。第一个解决此类难题的节点将他们提出的下一个交易块版本添加到账本中,最终被所有其他节点接受由于网络中的任何节点都可以尝试解决工作量明问题,因此原则上 Sybil 攻击是不可行的,除非攻击者拥有超过网络 50% 计算资源
#* 节点验交易合法性(如资金余额、签名有效性
# '''竞争/选举区块生产者''':
#* PoW:通过算力竞争
#* PoS:按代持有权重选举。
#* DPoS:通过投票选出验证者。
# '''生成区块''':
#* 验证者节点将合法交易打包成区块并广播
# '''节点区块''':
#* 所有节点验证区块正确性更新账本。
# '''达成共识''':
#* 区块链网络最终接受新区块


== 不同共识制的==
其他加密货币(如以太坊、NEO、STRATIS 等)使用权益证明(Proof-of-Stake,PoS)机制,节点根据其质押的加密货币数量来竞争添加区块和获得奖励。PoS 的一个优势是比 PoW 系统消耗的能源更少。例如,比特币挖矿(2018 年)估计消耗的可再生能源与整个捷克共和国或约旦国家相当,而以太坊(最大的 PoS 网络)的总能耗仅略低于 205 个美国家庭的平均能耗<ref>[https://www.vox.com/2019/6/18/18642645/bitcoin-energy-price-renewable-china Bitcoin mining: a report finds the network mostly runs on renewables] | Vox</ref>。
 
一些加密货币,如瑞波币,使用验证节点系统来验证账本。瑞波币使用的这种系统称为瑞波协议共识算法(RPCA),分轮工作:
 
# 每个服务器编译一份有效的候选交易列表;
# 每个服务器合并来自其唯一节点列表(UNL)的所有候选者并对其真实性进行投票;
# 通过最低阈值的交易进入下一轮;
# 最终轮需要 80% 的意。
 
无许可共识协议中使用的其他参与规则,如权威证明(Proof-of-Authority,PoA)、空间证明(Proof-of-Space)、烧毁证明(Proof-of-Burn)或时间证明(Proof-of-Elapsed-Time),旨在设置进入壁垒并抵Sybil 攻击。
 
与上述无许可参与规则(奖励参与者与其对某种行动或资源投资金额成例)相反,人格证明(Proof-of-Personhood)协议旨在为每个真实的人类参与者提供恰好一个单位的投票权,而不管其经济投资如何。实现人格证明的每人一票共识权分配的提议方法包括物理化名聚会、社交网络、匿名政府颁发的身份和生物识别<ref>[https://link.springer.com/chapter/10.1007/978-3-030-60975-7_24 Genuine Personal Identifiers and Mutual Sureties for Sybil-Resilient Community Growth] | SpringerLink</ref>。
{| class="wikitable"
{| class="wikitable"
|+
|+类型对比
!特性
!特性
!PoW
!PoW
第129行: 第77行:
|}
|}


== 共识机制的挑战 ==
== 常的共识机制 ==
 
# '''去中心化与效率的平衡''':
#* 完全去中心化通会降低交易速度和效率,而高效机制可能带来中心化风险。
# '''能耗问题''':
#* PoW 共识的高能耗备受批评,尤其在环保政策日益严格的背景下。
# '''安全性与可扩展性''':
#* 安全性高的共识机制往往需要牺牲一定的扩展性。
# '''网络攻击''':
#* 如51%攻击(PoW)、女巫攻击(PoS)等,威胁网络安全。
# '''激励机制设计''':
#* 如何设计合理的经济模型,防止恶意节点行为,保持网络的长期运行。
 
== 共识机制的未来趋势 ==


# '''低能耗与绿色发展''':
* 工作量证明(Proof-of-Work,PoW)典型案例[[比特币(BTC)|比特币]]
#* 更多区块链将采用 PoS 或类似机制减少能源消耗。
* 权益证明(Proof-of-Stake,PoS,又译持有量证明)典型案例[[以太坊(ETH)|以太坊]]
# '''混合机制优化'''
* 股份授权证明(Delegated-Proof-of-Stake,DPoS)典型案例[[EOS]]
#* 结合 PoW、PoS 和 BFT 等多种机制平衡去中心化、安全性与效率。
* 证明(Proof-of-space,PoSpace,又称 Proof-of-Capacity,PoC)典型案例:[[Filecoin]]
# '''更智能的治理机制'''
* Paxos算法
#* 借助 AI 和链上治理增强共识机制的灵活性和自动化。
* Raft
# '''抗量子攻击'''
* PBFT
#* 针对子计算可能带来的威胁开发量子安全的共识算法。
* LibraBFT(Byzantine fault-tolerance):Libra上使用


== 总结 ==
== 参考链接 ==
共识机制是区块链系统的核心,为去中心化网络提供信任基础。随着区块链技术的发展,共识机制也在不断演化,以更好地满足不同场景的需求。未来,优化能效、增强安全性和扩展性将成为共识机制的重要方向,为区块链技术的广泛应用奠定基础。
<references />

2024年12月4日 (三) 02:51的最新版本

分布式计算和多智能体系统的一个基本问题是在存在大量故障进程的情况下实现整体系统可靠性。这通常需要协调进程以达成共识,或就计算过程中需要的数据值达成一致。共识的示例应用包括就以何种顺序提交哪些事务到数据库达成一致、状态机复制和原子广播。需要共识的现实世界应用包括云计算、时钟同步、PageRank、意见形成、智能电网、状态估计、无人机控制(以及一般来说多个机器人/智能体)、负载平衡、区块链等。

起源[编辑 | 编辑源代码]

共识这个词是拉丁语,意思是“一致,和睦”,源自拉丁语 consentire,意思是“共同感受”。名词共识可以表示普遍接受的意见——“普遍同意或一致;和谐”、“多数意见”——或共识决策过程的结果。本文指的是过程和结果(例如“通过共识决定”和“达成共识”)。

由于加密货币多数采用去中心化的区块链设计,节点是各处分散且平行的,所以必须设计一套制度,来维护系统的运作顺序与公平性,统一区块链的版本,并奖励提供资源维护区块链的使用者,以及惩罚恶意的危害者。这样的制度,必须依赖某种方式来证明,是由谁取得了一个区块链的打包权(或称记账权),并且可以获取打包这一个区块的奖励;又或者是谁意图进行危害,就会获得一定的惩罚,这就是共识机制。

共识协议[编辑 | 编辑源代码]

Leslie Lamport提出的Paxos共识算法及其变体如Raft,广泛应用于分布式和云计算系统。这些算法通常是同步的,依赖于选出的领导者来推动进度,并且只能容忍崩溃故障,不能容忍拜占庭故障。

Garay和Berman提出的Phase King算法是一个能够容忍拜占庭故障的多项式时间二元共识协议的例子。该算法在同步消息传递模型中解决共识问题,有n个进程和最多f个故障,前提是n > 4f。在Phase King算法中,有f+1个阶段,每个阶段有2轮。每个进程跟踪其首选输出(最初等于进程自己的输入值)。在每个阶段的第一轮,每个进程将自己的首选值广播给所有其他进程。然后,它接收来自所有进程的值,并确定哪个值是多数值及其计数。在阶段的第二轮,其ID与当前阶段号匹配的进程被指定为该阶段的国王。国王广播它在第一轮观察到的多数值,并作为决胜票。然后,每个进程更新其首选值,如下所示。如果进程在第一轮观察到的多数值的计数大于n/2 + f,则进程将其偏好更改为该多数值;否则,它使用阶段国王的值。在f+1个阶段结束时,进程输出其首选值。

Google实现了一个名为Chubby的分布式锁服务库。Chubby将锁信息保存在小的文件中,这些文件存储在复制数据库中,以实现高可用性,以应对故障。该数据库是在基于Paxos共识算法的容错日志层之上实现的。在这种方案中,Chubby客户端与Paxos主服务器通信以访问/更新复制日志;即读写文件。

许多点对点在线实时策略游戏使用修改后的锁步协议作为共识协议,以管理游戏中的玩家之间的游戏状态。每个游戏动作都会产生一个游戏状态增量,该增量广播给游戏中的所有其他玩家,以及总游戏状态的哈希值。每个玩家通过将增量应用于自己的游戏状态并比较游戏状态哈希来验证更改。如果哈希不匹配,则投出投票,游戏状态处于少数的玩家会被断开连接并从游戏中移除(称为不同步)。

另一种著名的方法称为MSR型算法,已广泛应用于从计算机科学到控制理论的各个领域。

无需许可的共识协议[编辑 | 编辑源代码]

比特币使用工作量证明(Proof-of-Work,PoW)机制,通过难度调整函数和重组函数来实现其开放式点对点网络中的无许可共识。为了扩展比特币的区块链或分布式账本,矿工试图解决一个密码学难题,其中找到解决方案的概率与每秒哈希计算量成正比。第一个解决此类难题的节点将他们提出的下一个交易块版本添加到账本中,并最终被所有其他节点接受。由于网络中的任何节点都可以尝试解决工作量证明问题,因此原则上 Sybil 攻击是不可行的,除非攻击者拥有超过网络 50% 的计算资源。

其他加密货币(如以太坊、NEO、STRATIS 等)使用权益证明(Proof-of-Stake,PoS)机制,节点根据其质押的加密货币数量来竞争添加区块和获得奖励。PoS 的一个优势是比 PoW 系统消耗的能源更少。例如,比特币挖矿(2018 年)估计消耗的不可再生能源与整个捷克共和国或约旦国家相当,而以太坊(最大的 PoS 网络)的总能耗仅略低于 205 个美国家庭的平均能耗[1]

一些加密货币,如瑞波币,使用验证节点系统来验证账本。瑞波币使用的这种系统称为瑞波协议共识算法(RPCA),分轮工作:

  1. 每个服务器编译一份有效的候选交易列表;
  2. 每个服务器合并来自其唯一节点列表(UNL)的所有候选者并对其真实性进行投票;
  3. 通过最低阈值的交易进入下一轮;
  4. 最终轮需要 80% 的同意。

无许可共识协议中使用的其他参与规则,如权威证明(Proof-of-Authority,PoA)、空间证明(Proof-of-Space)、烧毁证明(Proof-of-Burn)或时间证明(Proof-of-Elapsed-Time),旨在设置进入壁垒并抵制 Sybil 攻击。

与上述无许可参与规则(奖励参与者与其对某种行动或资源的投资金额成比例)相反,人格证明(Proof-of-Personhood)协议旨在为每个真实的人类参与者提供恰好一个单位的投票权,而不管其经济投资如何。实现人格证明的每人一票共识权分配的提议方法包括物理化名聚会、社交网络、匿名政府颁发的身份和生物识别[2]

类型对比
特性 PoW PoS DPoS PoA
能耗
去中心化程度 较低
安全性 极高 较高 较高 较低
交易速度 极慢 很快 极快
复杂性
代表项目 比特币、莱特币 以太坊 2.0、Cardano EOS、TRON VeChain、Ripple

常见的共识机制[编辑 | 编辑源代码]

  • 工作量证明(Proof-of-Work,PoW),典型案例:比特币
  • 权益证明(Proof-of-Stake,PoS,又译持有量证明),典型案例:以太坊
  • 股份授权证明(Delegated-Proof-of-Stake,DPoS),典型案例:EOS
  • 容量证明(Proof-of-space,PoSpace,又称 Proof-of-Capacity,PoC),典型案例:Filecoin
  • Paxos算法
  • Raft
  • PBFT
  • LibraBFT(Byzantine fault-tolerance):Libra上使用。

参考链接[编辑 | 编辑源代码]