公链常用的共识算法

简介: 公链常用的共识算法

1. 工作量证明(Proof of Work, PoW)

  • 工作原理:要求节点(矿工)解决一个数学难题,这个过程称为挖矿。第一个解决难题的矿工将有权添加一个新的区块到区块链上,并获得一定数量的加密货币作为奖励。
  • 优势
  • 安全性高,因为篡改历史记录需要超过50%的网络算力,成本极高。
  • 去中心化,任何拥有足够算力的人都可以参与。
  • 劣势
  • 极高的能源消耗
  • 交易确认时间较长
  • 随着专业挖矿设备的普及,小型矿工越来越难与大型矿池竞争,增加了中心化风险。

2. 权益证明(Proof of Stake, PoS)

  • 工作原理:节点根据持有代币的数量和时间来决定其验证交易和创建新区块的概率。这减少了对能源的消耗,因为不需要大量计算。
  • 优势
  • 显著降低了能源消耗。
  • 通常具有更快的交易确认时间。
  • 劣势
  • “无利益损失”问题,理论上可能造成网络分叉。
  • “富者愈富”现象,代币持有量多的节点有更大机会验证交易,可能导致财富集中。

3. 授权权益证明(Delegated Proof of Stake, DPoS)

  • 工作原理:持币人可以将其权益“委托”给代表,由这些代表负责创建区块和维护网络安全。
  • 优势
  • 极高的交易处理速度,例如EOS可以达到数千TPS。
  • 增加了去中心化,因为任何持币人都可以参与共识过程。
  • 劣势
  • 中心化风险,如果少数代表控制了网络。
  • 代表的道德风险,需要持币人信任他们不会滥用权力。

4. 实用拜占庭容错(Practical Byzantine Fault Tolerance, PBFT)

  • 工作原理:基于消息传递的算法,每个节点都必须达成一致才能确认交易,能够容忍恶意节点的存在,只要不超过总节点数的三分之一。
  • 优势
  • 高效,尤其在节点数量有限的情况下。
  • 能够处理拜占庭故障,即节点可能发送错误信息或拒绝响应。
  • 劣势
  • 不适合大规模去中心化网络,因为性能随节点数量增加而下降。
  • 需要所有节点预先知道,不适合完全开放的公链环境。

5. 拜占庭容错(Byzantine Fault Tolerance, BFT)

  • 工作原理:类似于PBFT,但有多种变体,如HotStuff和Tendermint,这些变体优化了性能和效率。
  • 优势
  • 快速的交易确认和高可用性。
  • 能够容忍恶意行为而不崩溃。
  • 劣势
  • 同样受限于节点数量,不适合大规模去中心化网络。
  • 需要预知的节点集,限制了其在公链上的应用。

6. 随机抽样共识(Randomized Consensus)

  • 工作原理:通过随机选择节点参与共识过程,增加去中心化和安全性。
  • 优势
  • 减少了中心化风险。
  • 增强了网络的安全性。
  • 劣势
  • 实现复杂,可能引入额外的延迟。
  • 随机性可能受到攻击,如“随机性攻击”。

7. 空间证明(Proof of Space, PoSpace 或 PoC)

  • 工作原理:节点通过提供硬盘空间作为抵押品参与共识,类似于PoW但用存储空间代替计算力。
  • 优势
  • 更环保,因为不需要大量电力。
  • 降低了进入门槛,硬盘比专用挖矿设备更容易获得。
  • 劣势
  • 技术成熟度较低,可能存在安全漏洞。
  • 随着技术进步,硬盘成本降低,可能导致中心化风险。

8. 时间证明(Proof of Time, PoTime)

  • 工作原理:通常与PoS或PoC结合使用,确保节点在特定时间内保持活跃。
  • 优势
  • 增加了公平性和安全性。
  • 防止节点突然离线或作弊。
  • 劣势
  • 实现和验证机制复杂,可能引入新的攻击面。

下面列举了一些知名公链及其所使用的共识算法:

1. 比特币(Bitcoin)

  • 共识算法:工作量证明(Proof of Work,PoW)

2. Ethereum

  • 当前共识算法:权益证明(Proof of Stake,PoS);之前使用工作量证明(PoW),在The Merge(合并)之后,正式转向PoS。
  • 升级计划:Casper协议,旨在进一步完善权益证明机制。

3. Cardano(ADA)

  • 共识算法:Ouroboros,这是一种权益证明(PoS)的变体。

4. Polkadot(DOT)

  • 共识算法:Nominated Proof of Stake(NPoS),一种授权权益证明(Delegated Proof of Stake,DPoS)的变体。

5. Algorand

  • 共识算法:Pure Proof of Stake(PPoS),一种权益证明(PoS)的变体,结合了拜占庭容错(BFT)机制。

6. Cosmos(ATOM)

  • 共识算法:Tendermint Core,基于拜占庭容错(BFT)的权益证明(PoS)。

7. Tezos(XTZ)

  • 共识算法:Formalized Proof of Stake(FPoS),一种权益证明(PoS)的变体,强调形式化验证。

8. EOS

  • 共识算法:Delegated Proof of Stake(DPoS),一种授权权益证明的实现。

9. NEO

  • 共识算法:Delegated Byzantine Fault Tolerance(dBFT),基于拜占庭容错(BFT)的变体。

10. Stellar(XLM)

- **共识算法**:Federated Byzantine Agreement System(FBAS),一种拜占庭容错(BFT)的变体,旨在提供更高效的共识。

11. Tron(TRX)

- **共识算法**:Delegated Proof of Stake(DPoS),与EOS类似。

12. Solana

- **共识算法**:History Proof of Stake(HPoS),结合了权益证明(PoS)和时间证明(Proof of History,PoH)。

13. Avalanche

- **共识算法**:Snowball+,一种新颖的拜占庭容错(BFT)变体。

14. Binance Smart Chain(BSC)

- **共识算法**:Delegated Proof of Stake(DPoS),与EOS和Tron相似。

15. Near Protocol

- **共识算法**:Nightshade,一种权益证明(PoS)的变体,结合了分片技术。

值得注意的是,一些公链会随着时间的推移而改变其共识算法,以适应技术和网络需求的变化。

相关文章
|
1月前
|
存储 算法 NoSQL
(七)漫谈分布式之一致性算法下篇:一文从根上儿理解大名鼎鼎的Raft共识算法!
Raft通过一致性检查,能在一定程度上保证集群的一致性,但无法保证所有情况下的一致性,毕竟分布式系统各种故障层出不穷,如何在有可能发生各类故障的分布式系统保证集群一致性,这才是Raft等一致性算法要真正解决的问题。
84 11
|
1月前
|
存储 算法 索引
(六)漫谈分布式之一致性算法上篇:用二十六张图一探Raft共识算法奥妙之处!
现如今,大多数分布式存储系统都投向了Raft算法的怀抱,而本文就来聊聊大名鼎鼎的Raft算法/协议!
|
2月前
|
算法
共识协议的技术变迁问题之Raft的选举算法进行如何解决
共识协议的技术变迁问题之Raft的选举算法进行如何解决
|
4月前
|
算法 Go 分布式数据库
构建高可用的分布式数据库集群:使用Go语言与Raft共识算法
随着数据量的爆炸式增长,单一数据库服务器已难以满足高可用性和可扩展性的需求。在本文中,我们将探讨如何使用Go语言结合Raft共识算法来构建一个高可用的分布式数据库集群。我们不仅会介绍Raft算法的基本原理,还会详细阐述如何利用Go语言的并发特性和网络编程能力来实现这一目标。此外,我们还将分析构建过程中可能遇到的挑战和解决方案,为读者提供一个完整的实践指南。
|
4月前
|
分布式计算 算法
分布式系统设计之共识算法—2PC、3PC、 Paxos
分布式系统设计之共识算法—2PC、3PC、 Paxos
106 1
|
4月前
|
存储 分布式计算 负载均衡
浅谈分布式共识算法概念与演进
浅谈分布式共识算法概念与演进
150 0
|
算法
raft共识算法动态演示
raft共识算法动态演示
74 0
|
4月前
|
存储 算法 NoSQL
分布式一致性与共识算法(一)
分布式一致性与共识算法(一)
99 0
|
存储 算法 NoSQL
分布式一致性与共识算法(一)
分布式一致性与共识算法(一)
150 1
|
22天前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。