公链常用的共识算法
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,>,<,!,>,<id1001,age>18SQL,>,<,!,>,<id‘1001’&…...
rsa加签验签C#和js以及java互通
js实现rsa加签验签 https://github.com/kjur/jsrsasign 11.1.0版本 解压选择需要的版本,这里选择all版本了 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>JS RSA加签验签</title&g…...
C语言中数组和指针的关系
在C语言中,数组和指针之间存在着密切的关系,尽管它们在概念上是不同的。以下是关于C语言中数组和指针关系的一些要点: 数组名作为指针: 在大多数情况下,数组名在表达式中会被当作指向其第一个元素的指针。例如&#x…...
idea 新建一个 JSP(JavaServer Pages)项目
环境设置: 确保你的开发环境中已经安装了 Java 开发工具包(JDK)和一个 Java Web 开发的集成开发环境(IDE),比如 Eclipse、IntelliJ IDEA 或者 NetBeans。你还需要一个 Web 服务器,比如 Apache T…...
【名词解释】Unity中的表格布局组件及其使用示例
Unity中的表格布局组件通常指的是GridLayoutGroup,这是一个在Unity的UI系统中用来布局子对象的组件。它可以帮助开发者将UI元素按照网格的形式进行排列,非常适合创建表格、网格视图等布局。 名词解释: GridLayoutGroup:Unity UI…...
判断当前设备为移动端自适应 平板和pc端为375移动端样式
在libs的setRem.js中: 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 嵌入网页
需求:C#客户端程序, 窗口里嵌入一个web网页,可通过URL跳转的那种。并且,需要将登录的身份验证信息(token)设置到请求头里。 核心代码如下: // 打开按钮的点击事件 private void openBtn_Click(object sen…...
公司面试题总结(五)
25.谈一谈箭头函数与普通函数的区别,箭头函数主要解决什么问题? 箭头函数与普通函数的区别: ⚫ 语法简洁性: ◼ 箭头函数使用>符号定义,省略了 function 关键字,使得语法更为紧凑。 ◼ 对于单行函…...
Flutter笔记:关于WebView插件的用法(上)
Flutter笔记 关于WebView插件的用法(上) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:htt…...
计算机毕业设计Python+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop Hive
课题研究的意义,国内外研究现状、水平和发展趋势 研究意义21世纪是一个信息爆炸的时代,人们在日常生活中可接触到的信息量非常之巨大。推荐系统逐步发展,其中又以个性化推荐系统最为瞩目。个性化推荐系统的核心在于个性化推荐算法,…...
phpcms仿蚁乐购淘宝客网站模板
phpcms仿蚁乐购网站模板,淘宝客行业模板免费下载,该模板网站很容易吸引访客点击,提升ip流量和pv是非常有利的。本套模板采用现在非常流行的全屏自适应布局设计,且栏目列表以简洁,非常时尚大气。页面根据分辨率大小而自…...
leetcode695 岛屿的最大面积
题目 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值…...
小程序无法调用服务端问题排查
1、问题描述 突然有一天线上的小程序不能登录,经查小程序无法调用。经查无法小程序页面无法调用后台服务。 2、排查过程 由于无法登录小程序发布服务器,无法测试小程序前端服务器到服务端网络,并且小程序无法看到日志。所以就得从服务端和网…...
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服务器暂时动态图表功能(图文)
接下来,我们继续实验示例代码中的Wifi“高级web服务器”,配置相关的无线密码后,开始实验 #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h>const char *ssid "XIAOFE…...
深入浅出服务网格(Service Mesh):现代微服务架构的护航者
什么是服务网格? 服务网格是一种专用于处理微服务间通信的基础设施层,通常以轻量级代理(sidecar)的形式部署在每个服务实例旁边。它主要负责以下几项任务: 服务发现:自动检测和注册服务实例,使…...
node调试
vscode安装插件:JavaScript Debugger (Nightly) 点击后生成一个launch.json文件 打断点,并发送一个请求来执行代码到断点处 按右上的向下箭头,进入源码,进行查看,左边查看变量等值...
docker拉取镜像失败超时的解决方法,docker配置国内镜像源
更换国内源 创建或修改 /etc/docker/daemon.json 文件 安装docker后一般只有 /etc/docker 这个目录 下面并没有 daemon.json 文件 我们直接创建 : vim /etc/docker/daemon.json {"registry-mirrors" : ["https://registry.docker-cn.com"…...
建造气膜结构体育馆需要注意的事项—轻空间
气膜结构体育馆以其快速建造、低成本、灵活性高等优势,越来越受到各类运动场所的青睐。气膜结构利用空气压力支撑膜材,从而形成自持结构,无需传统的钢筋混凝土框架。这类建筑适用于各种气候条件,且可根据需要快速搭建和拆卸。然而…...
使用脚手架创建vue2项目(关闭eslint语法检查 、运行项目时自动打开网址、src文件夹简写方法)
使用脚手架创建vue2项目会默认安装的插件(eslint) 这个插件是检查语法的。 假设我们在main.js中定义了一个变量,没有使用 eslint 就会检测出错误 (事实是我们并没有写错而是eslint 给我们判断是错的,所以这样会很麻烦ÿ…...
谷粒商城实战(036 k8s集群学习2-集群的安装)
Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第343p-第p345的内容 k8s 集群安装 kubectl --》命令行操作 要进入服务器 而且对一些不懂代码的产品经理和运维人员不太友好 所以我们使用可视化…...
复旦微FMQL20SM全国产ARM+FPGA核心板,替代xilinx ZYNQ7020系列
FMQL20SM核心板一款全国产工业核心板。基于复旦微FMQL20S400M四核ARM Cortex-A7(PS端) FPGA可编程逻辑资源(PL端)异构多核SoC处理器设计的全国产工业核心板,PS端主频高达1GHz。 核心板简介 FMQL20SM核心板是一款全国…...
NPM常见问题
文章目录 NPM常见问题1. 使用淘宝源安装包出错2. listen EADDRINUSE 服务端口被占用报错3. npm start 启动后过一会崩溃结束:内存溢出4. npm install的时候使用特定的源安装5. npm安装指定版本、最新版本6. npm ERR! cb() never called! 解决7. Unable to authentic…...
二开版视频CMS完整运营源码/新版漂亮APP手机模板/集成员分销功能等
一个二开的影视CMS,直接上传源码至网站根目录,访问网站域名即可安装。 测试环境:Nginx 1.20.1—MySQL 5.6.50–PHP-7.2(安装拓展/fileinfo) 上传源码,访问域名直接安装 后台地址:域名/MDadmi…...
JavaScript的数组排序
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
从Log4j和Fastjson RCE漏洞认识jndi注入
文章目录 前言JNDI注入基础介绍靶场搭建漏洞验证注入工具 log4j RCE漏洞分析漏洞靶场检测工具补丁绕过 Fastjson RCE漏洞分析漏洞靶场检测工具补丁绕过 总结 前言 接着前文的学习《Java反序列化漏洞与URLDNS利用链分析》,想了解为什么 Fastjson 反序列化漏洞的利用…...
做网站会遇到哪些问题/指数平台
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...
推广网官方推广网站/优化排名推广关键词
给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。进阶:你能否仅使用O(1) 空间…...
云服务器怎么样做网站/seo整站优化新站快速排名
本文面向需要在不同版本的 TensorFlow 之间向后兼容(针对代码或者数据)的用户,以及想要修改 TensorFlow 并同时保持兼容性的开发者。 语义化版本控制 2.0 TensorFlow 的公开 API 遵循语义化版本控制 2.0 (semver)。每个版本的 TensorFlow 都采…...
沈阳德泰诺网站建设公司/建站
那个身高不足一米六零的东方小个子,这次很有可能又搞了一笔大买卖。 据多家外媒报道,日本软银已同意以234亿英镑收购芯片巨头ARM。软银将为每股ARM股票现金支付17英镑,较ARM上周收盘价溢价43%。目前官方还未公开确认。 在此之前,软…...
深圳福田网站优化网络营销培训学校/全国疫情最新数据
20145203 《信息安全系统设计基础》第七周学习总结 第六章 存储器层次结构 教材学习内容总结 绪论 存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。 第一节 存储技术 一、随机访问存储器(RAM) RAM分类: ①静态的SRAM-更…...
网站建设找哪家公司好/路由优化大师官网
2019独角兽企业重金招聘Python工程师标准>>> Bootstrap 图片 在本章中,我们将学习 Bootstrap 对图片的支持。Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来获得图片圆角。.img-circ…...