当前位置: 首页 > news >正文

公链常用的共识算法

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

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

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)的变体,结合了分片技术。

值得注意的是,一些公链会随着时间的推移而改变其共识算法,以适应技术和网络需求的变化。例如,以太坊从工作量证明(PoW)过渡到了权益证明(PoS)。同时,新的公链和共识算法持续出现,推动着区块链技术的边界。

http://www.lryc.cn/news/371898.html

相关文章:

  • 详解 Flink Table API 和 Flink SQL 之函数
  • rsa加签验签C#和js以及java互通
  • C语言中数组和指针的关系
  • idea 新建一个 JSP(JavaServer Pages)项目
  • 【名词解释】Unity中的表格布局组件及其使用示例
  • 判断当前设备为移动端自适应 平板和pc端为375移动端样式
  • Science Advances|用于胃部pH监测和早期胃漏检测的生物可吸收无线无源柔性传感器(健康监测/柔性传感/柔性电子)
  • C# 使用 webview2 嵌入网页
  • 公司面试题总结(五)
  • Flutter笔记:关于WebView插件的用法(上)
  • 计算机毕业设计Python+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop Hive
  • phpcms仿蚁乐购淘宝客网站模板
  • leetcode695 岛屿的最大面积
  • 小程序无法调用服务端问题排查
  • Linux:多线程的操作
  • kunpeng的aarch64架构cpu、openeuler系统、昇腾服务器适配文档转换功能(doc转docx、ppt转pptx)
  • unity 打包PC安装包中常见文件的功能
  • 【Ardiuno】实验使用ESP32单片机实现高级web服务器暂时动态图表功能(图文)
  • 深入浅出服务网格(Service Mesh):现代微服务架构的护航者
  • node调试
  • docker拉取镜像失败超时的解决方法,docker配置国内镜像源
  • 建造气膜结构体育馆需要注意的事项—轻空间
  • 使用脚手架创建vue2项目(关闭eslint语法检查 、运行项目时自动打开网址、src文件夹简写方法)
  • 谷粒商城实战(036 k8s集群学习2-集群的安装)
  • 复旦微FMQL20SM全国产ARM+FPGA核心板,替代xilinx ZYNQ7020系列
  • NPM常见问题
  • 二开版视频CMS完整运营源码/新版漂亮APP手机模板/集成员分销功能等
  • JavaScript的数组排序
  • 从Log4j和Fastjson RCE漏洞认识jndi注入
  • 7-25 数字三角形问题