当前位置: 首页 > 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)。同时,新的公链和共识算法持续出现,推动着区块链技术的边界。

相关文章:

公链常用的共识算法

1. 工作量证明(Proof of Work, PoW) 工作原理:要求节点(矿工)解决一个数学难题,这个过程称为挖矿。第一个解决难题的矿工将有权添加一个新的区块到区块链上,并获得一定数量的加密货币作为奖励。…...

详解 Flink Table API 和 Flink SQL 之函数

一、系统内置函数 1. 比较函数 API函数表达式示例Table API&#xff0c;>&#xff0c;<&#xff0c;!&#xff0c;>&#xff0c;<id1001&#xff0c;age>18SQL&#xff0c;>&#xff0c;<&#xff0c;!&#xff0c;>&#xff0c;<id‘1001’&…...

rsa加签验签C#和js以及java互通

js实现rsa加签验签 https://github.com/kjur/jsrsasign 11.1.0版本 解压选择需要的版本&#xff0c;这里选择all版本了 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>JS RSA加签验签</title&g…...

C语言中数组和指针的关系

在C语言中&#xff0c;数组和指针之间存在着密切的关系&#xff0c;尽管它们在概念上是不同的。以下是关于C语言中数组和指针关系的一些要点&#xff1a; 数组名作为指针&#xff1a; 在大多数情况下&#xff0c;数组名在表达式中会被当作指向其第一个元素的指针。例如&#x…...

idea 新建一个 JSP(JavaServer Pages)项目

环境设置&#xff1a; 确保你的开发环境中已经安装了 Java 开发工具包&#xff08;JDK&#xff09;和一个 Java Web 开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;比如 Eclipse、IntelliJ IDEA 或者 NetBeans。你还需要一个 Web 服务器&#xff0c;比如 Apache T…...

【名词解释】Unity中的表格布局组件及其使用示例

Unity中的表格布局组件通常指的是GridLayoutGroup&#xff0c;这是一个在Unity的UI系统中用来布局子对象的组件。它可以帮助开发者将UI元素按照网格的形式进行排列&#xff0c;非常适合创建表格、网格视图等布局。 名词解释&#xff1a; GridLayoutGroup&#xff1a;Unity UI…...

判断当前设备为移动端自适应 平板和pc端为375移动端样式

在libs的setRem.js中&#xff1a; let html document.querySelector("html"); function setRem() {let ui_w 375;let cl_w document.documentElement.clientWidth || document.body.clientWidth;cl_w > 750 ? cl_w 375 : "";html.style.fontSize …...

Science Advances|用于胃部pH监测和早期胃漏检测的生物可吸收无线无源柔性传感器(健康监测/柔性传感/柔性电子)

2024年4月19日,美国西北大学 John A. Rogers和中国科学技术大学吕頔(Di Lu)团队,在《Science Advances》上发布了一篇题为“Bioresorbable, wireless, passive sensors for continuous pH measurements and early detection of gastric leakage”的论文。论文内容如下: 一、…...

C# 使用 webview2 嵌入网页

需求&#xff1a;C#客户端程序, 窗口里嵌入一个web网页&#xff0c;可通过URL跳转的那种。并且&#xff0c;需要将登录的身份验证信息&#xff08;token&#xff09;设置到请求头里。 核心代码如下&#xff1a; // 打开按钮的点击事件 private void openBtn_Click(object sen…...

公司面试题总结(五)

25.谈一谈箭头函数与普通函数的区别&#xff0c;箭头函数主要解决什么问题&#xff1f; 箭头函数与普通函数的区别&#xff1a; ⚫ 语法简洁性&#xff1a; ◼ 箭头函数使用>符号定义&#xff0c;省略了 function 关键字&#xff0c;使得语法更为紧凑。 ◼ 对于单行函…...

Flutter笔记:关于WebView插件的用法(上)

Flutter笔记 关于WebView插件的用法&#xff08;上&#xff09; - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:htt…...

计算机毕业设计Python+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop Hive

课题研究的意义&#xff0c;国内外研究现状、水平和发展趋势 研究意义21世纪是一个信息爆炸的时代&#xff0c;人们在日常生活中可接触到的信息量非常之巨大。推荐系统逐步发展&#xff0c;其中又以个性化推荐系统最为瞩目。个性化推荐系统的核心在于个性化推荐算法&#xff0c…...

phpcms仿蚁乐购淘宝客网站模板

phpcms仿蚁乐购网站模板&#xff0c;淘宝客行业模板免费下载&#xff0c;该模板网站很容易吸引访客点击&#xff0c;提升ip流量和pv是非常有利的。本套模板采用现在非常流行的全屏自适应布局设计&#xff0c;且栏目列表以简洁&#xff0c;非常时尚大气。页面根据分辨率大小而自…...

leetcode695 岛屿的最大面积

题目 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff09;包围着。 岛屿的面积是岛上值…...

小程序无法调用服务端问题排查

1、问题描述 突然有一天线上的小程序不能登录&#xff0c;经查小程序无法调用。经查无法小程序页面无法调用后台服务。 2、排查过程 由于无法登录小程序发布服务器&#xff0c;无法测试小程序前端服务器到服务端网络&#xff0c;并且小程序无法看到日志。所以就得从服务端和网…...

Linux:多线程的操作

多线程操作 进程与线程线程的创建 create_pthread创建线程池给线程传入对象的指针 线程等待 pthread_join退出线程 pthread_exit线程等待参数 retval 与 线程退出参数 retval 线程中断 pthread_cancel获取线程编号 pthread_self线程分离 pthread_detach 进程与线程 进程是资源…...

kunpeng的aarch64架构cpu、openeuler系统、昇腾服务器适配文档转换功能(doc转docx、ppt转pptx)

一、安装flatpak sudo yum install flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo二、安装libreoffice flatpak install flathub org.libreoffice.LibreOffice三、使用 对于使用 flatpak 安装的 LibreOffice,不需要手…...

unity 打包PC安装包中常见文件的功能

目录 前言 一、打包好的文件 二、常用文件 1.文件夹XXX_Data 2.文件夹MonoBleedingEdge 3.文件夹XXX_Data内部 三、文件的应用 1.如果你替换了一个图片 2.如果你新增了或减少了图片和资源 3.场景中有变动 4.resources代码加载的资源改了 5.如果你代码替换了 四、作…...

【Ardiuno】实验使用ESP32单片机实现高级web服务器暂时动态图表功能(图文)

接下来&#xff0c;我们继续实验示例代码中的Wifi“高级web服务器”&#xff0c;配置相关的无线密码后&#xff0c;开始实验 #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h>const char *ssid "XIAOFE…...

深入浅出服务网格(Service Mesh):现代微服务架构的护航者

什么是服务网格&#xff1f; 服务网格是一种专用于处理微服务间通信的基础设施层&#xff0c;通常以轻量级代理&#xff08;sidecar&#xff09;的形式部署在每个服务实例旁边。它主要负责以下几项任务&#xff1a; 服务发现&#xff1a;自动检测和注册服务实例&#xff0c;使…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...