怎么做 社区网站/数据分析师证书
共识算法简介
区块链三要素:
- 去中心化
- 共识算法
- 智能合约
共识算法作为区块链三大核心技术之一,其重要性不言而喻。今天就来简单介绍共识算法的基本知识。
最简单的解释,共识算法就是要让所有节点达成共识,保证少数服从多数!大多数人认定一件事,这件事就是事实,也就意味着如果你要去改变一个既定事实,那么你必须伙同大多数人陪你一起作假。
共识算法分类
区块链共识算法的分类标准不一,且其种类和数量还在增长,但可以大致根据容错类型、部署方式和一致性程度等加以分类。
- 容错类型:区块链共识算法分为拜占庭容错和非拜占庭容错
- 部署方式:将区块链共识算法分为公有链共识、联盟链共识和私有链共识
- 一致性程度:区块链共识算法分为强一致性共识和弱(最终)一致性共识等
- 选主策略:区块链共识算法分为选举类、证明类、随机类、联盟类和混合类
看到这里有些读者开始疑惑了,什么是选主策略呢?下表列出了常见的选主策略:
选主策略 | 具体解释 |
---|---|
选举类共识 | 即矿工节点在每一轮共识过程中通过“投票选举”的方式选出当前轮次的记账节点,首先获得半数以上选票的矿工节点将会获得记账权多见于传统分布式一致性算法,如Paxos和Raft等 |
证明类共识 | 也称为“ProofofX”类共识,即矿工节点在每一轮共识过程中必须证明自己具有某种特定的能力,证明方式通常是竞争性地完成某项难以解决但易于验证的任务,在竞争中胜出的矿工节点将获得记账权;如PoW和PoS等共识算法是基于矿工的算力或者权益来完成随机数搜索任务,以此竞争记账权 |
联盟类共识 | 即矿工节点基于某种特定方式首先选举出一组代表节点,而后由代表节点以轮流或者选举的方式依次取得记账权,这是一种以“代议制”为特点的共识算法,如DPoS等 |
混合类共识 | 即矿工节点采取多种共识算法的混合体来选择记账节点,如PoW+PoS混合共识、DPoS+BFT共识等 |
部分常见的共识算法
常见共识算法表:
共识算法 | 用途 |
---|---|
Paxos | Google Chubby |
Raft | ETCD |
ZAB | Zookeeper |
PoW | 比特币、莱特币、以太坊的前三个阶段 |
PoS | EER Coin、NXT、以太坊第4阶段 |
DPoS | BitShare |
PBFT | Hyperledger Fabric |
Hotstuff | Libra(Facebook/Meta) |
常见共识算法图:
PoX类共识算法
PoX类的共识算法主要包括比特币所采用的PoW共识及一些类似项目(如莱特币等)的变种PoW,即为大家所熟知的“挖矿”类算法。
核心思想:实际是所有节点竞争记账权,而对于每一批次的记账(或者说挖出一个区块)都赋予一个“难题” ,要求只有能够解出这个难题的节点挖出的区块才是有效的。
此类算法的代表有:PoW,PoS,DPoS
- 工作量证明PoW(Proof of Work)算法,也被称为最耗电力的共识算法。在该算法中,所有节点通过提供工作量证明来争夺记账权,即最先提供足够的工作量证明的节点将向全网广播自己记的账(即区块),其他所有节点将该区块同步到自己的账本。
- 权益证明PoS(Proof of Stake)算法类似于股份制公司的股东机制,根据持有数字货币的量和时间,分配相应的利息。是由系统权益替代算力来决定区块链记账权的共识算法。即,拥有权益越大的节点则越有可能成为下一个区块的生产者。
- 委托权益证明DPoS(Delegated Proof of Stake)算法将成千上万个PoS节点,通过某种机制(例如持有代币的数量)选举出若干(奇数)个节点,在这几个节点之间进行投票选举(在一些实现中甚至会在这些节点间以令牌环的方式进行轮询,进一步减少投票开销)出每次的检点(出块)节点,而不用在网络中全部节点之间进行选择。
BFT类共识算法
与PoX类共识算法相比,BFT类共识算法采用了完全不同的思路。它希望所有节点协同工作,通过协商的方式来产生能被所有(诚实)节点认可的区块。
拜占庭容错问题最早由Leslie Lamport等学者于1982年在论文《The ByzantineGenerals Problem》中正式提出,主要描述分布式网络节点通信的容错问题。从20世纪80年代起,提出了很多解决该问题的算法,这类算法被统称为BFT算法。
非拜占庭错误(CFT)与拜占庭错误(BFT):
- CFT(Crash Fault Tolerance):通常用于处理失效节点,即那些停止响应但不会伪造信息的节点。这类错误可以通过如Paxos、Raft等算法来处理,它们往往性能较好,能容忍不超过一半的故障节点。
- BFT(Byzantine Fault Tolerance):用于处理恶意节点,即那些可能发送错误或不一致信息的节点。这类错误更为复杂,因为恶意节点可能会试图破坏系统的一致性。
BFT类代表算法:
其中实用拜占庭(Practical BFT,PBFT)算法是最经典的BFT算法,由Miguel Castro和Barbara Liskov于1999年提出。PBFT算法解决了之前BFT算法容错效率较低的问题,且降低了算法的复杂度,使BFT算法可以实际应用于分布式系统。它能在恶意节点数不超过总结点数1/3的情况下达成共识。
相关文章:

【区块链】共识算法简介
共识算法简介 区块链三要素: 去中心化共识算法智能合约 共识算法作为区块链三大核心技术之一,其重要性不言而喻。今天就来简单介绍共识算法的基本知识。 最简单的解释,共识算法就是要让所有节点达成共识,保证少数服从多数&#x…...

Qt---day2-信号与槽
1、思维导图 2、 拖拽式 源文件 #include "mywidget.h" #include "ui_mywidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::MyWidget) { ui->setupUi(this); //按钮2 this->btn2new QPushButton("按钮2",th…...

Python中设计注册登录代码
import hashlib import json import os import sys # user interface 用户是界面 UI """ 用户登录系统 1.注册 2.登陆 0.退出 """ # 读取users.bin def load(path): return json.load(open(path, "rt")) # 保存user.bin def save(dic…...

AI伦理和安全风险管理终极指南
人工智能(AI)正在迅速改变各个领域的软件开发和部署。驱动这一转变的两个关键群体为人工智能开发者和人工智能集成商。开发人员处于创建基础人工智能技术的最前沿,包括生成式人工智能(GenAI)模型、自然语言处理&#x…...

golang testing使用
testing包服务于自动化测试 基本测试 Table Drvien Test 基于表的测试通过表形式进行测试每种情况的输入和期望输出,从而测试程序的正确性 func TestFib(t *testing.T) {var fibTests []struct {in int // inputexpected int // expected result}{{1, 1}…...

在Excel中使用正则提取单元格内容
在办公自动化的浪潮中,Excel 作为数据处理的利器,一直在不断进化。最近,我注意到了不坑盒子Office插件一个非常实用的功能更新——bk_regex_string 公式。这个功能对于我们这些日常需要处理大量文本和数据的办公人员来说,无疑是一…...

SQL查询语句(二)逻辑运算关键字
上一篇文章中我们提到了条件查询除了一些简单的数学符号之外,还有一些用于条件判断的关键字,如逻辑判断 关键字AND,OR,NOT和范围查找关键字BETWEEN,IN等;下面我们来介绍一些这些关键字的用法以及他们所表达的含义。 目录 逻辑运算关键字 AND…...

矿山机械自动化中的激光雷达技术探索
在矿山机械自动化技术的快速发展中,激光雷达技术作为其关键组成部分,正发挥着越来越重要的作用。本文将深入探讨激光雷达在矿山机械自动化中的应用,以及其所面临的挑战与未来发展趋势。 一、激光雷达在矿山机械自动化中的应用 激光雷达技术…...

MOSFET场效应管栅极驱动电流的计算
MOSFET驱动 MOSFET场效应管是电压驱动器件,输入有电容,因此为可靠驱动MOSFET,栅极需要施加较大的驱动电流。 功率MOSFET开关模型 该模型显示了影响开关性能的最重要的寄生器件。 栅极所需驱动电流计算公式 一个很重要的参数是计算栅极驱…...

Python 爬虫:Spring Boot 反爬虫的成功案例
前言 在当今数字化时代,网络数据成为了信息获取和分析的重要来源之一。然而,随着网络数据的广泛应用,爬虫技术也逐渐成为了互联网行业的热门话题。爬虫技术的应用不仅可以帮助企业获取有价值的信息,还可以用于数据分析、市场研究…...

计算机毕业设计Python+Vue.js天气预测系统 中国气象质量采集与可视化 天气数据分析 天气可视化 天气大数据 天气爬虫 大数据毕业设计
摘要 随着科技技术的不断发展,人民物质生活质量不断提高,我们越来越关注身边的气象、空气等地理环境。对于普通居民我们会选择合适的气象进行出游,提高精神层面的生活质量;对于企业会关注气象变换状况,来定制相关的生产…...

【busybox记录】【shell指令】tr
目录 内容来源: 【GUN】【tr】指令介绍 【busybox】【tr】指令介绍 【linux】【tr】指令介绍 使用示例: 转换字符 - 默认 转换字符 - 不翻译指定字符数组 此指令目前接触少,用得少,把精力放到其他常用指令上 常用组合指令…...

Mac虚拟机软件哪个好用 mac虚拟机parallels desktop有什么用 Mac装虚拟机的利与弊 mac装虚拟机对电脑有损害吗
随着多系统使用需求的升温,虚拟机的使用也变得越来越普遍。虚拟机可以用于创建各种不同的系统,并按照要求设定所需的系统环境。另外,虚拟机在Mac电脑的跨系统使用以及测试软件系统兼容性等领域应用也越来越广泛。 一、Mac系统和虚拟机的区别 …...

Type-C转音频(USB2.0数据传输)+PD充电芯片乐得瑞LDR6500/LDR6023
LDR6500 USB-C DRP 接口 USB PD 通信芯片概述 Type-C转音频(USB2.0数据传输)PD充电芯片乐得瑞LDR6500LDR6500是乐得瑞科技针对USB Type-C标准中的Bridge设备而开发的USB-C DRP(Dual Role Port,双角色端口)接口USB PD(Power Deliv…...

【busybox记录】【shell指令】expand
目录 内容来源: 【GUN】【expand】指令介绍 【busybox】【expand】指令介绍 【linux】【expand】指令介绍 使用示例: 把制表符转化为空格 - 默认输出 把制表符转化为空格 - 修改制表符转空格的个数 把制表符转化为空格 - 修改制表符转空格的个数…...

软件测试—— 接口测试之通讯流程相关概念
通讯流程 1、协议 通讯规则 2、HTTP协议 协议的一种 3、接口规范文档 如何发请求的要求文档,获取什么响应内容的说明文档(相当于菜单)...

AT32 雅特力CAN详细使用说明配置细则
CAN 过滤器使用说明 CAN 过滤器相当于关卡,每当收到一条报文时,CAN 要先将收到的报文从这些过滤器上"过滤"一下,能通 过的报文是有效报文,收进相关联 FIFO(FIFO0 或 FIFO1),不能通过的…...

【机器学习】集成方法---Boosting之AdaBoost
一、Boosting的介绍 1.1 集成学习的概念 1.1.1集成学习的定义 集成学习是一种通过组合多个学习器来完成学习任务的机器学习方法。它通过将多个单一模型(也称为“基学习器”或“弱学习器”)的输出结果进行集成,以获得比单一模型更好的泛化性…...

AI大模型探索之路-训练篇11:大语言模型Transformer库-Model组件实践
系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…...

鸿蒙内核源码分析(工作模式篇) | CPU的七种工作模式
本篇说清楚CPU的工作模式 工作模式(Working mode) 也叫操作模式(Operating mode)又叫处理器模式(Processor mode),是 CPU 运行的重要参数,决定着处理器的工作方式,比如如何裁决特权级别和报告异…...

5月6(信息差)
🌍一次预测多个token,Meta新模型推理加速3倍,编程任务提高17% https://hub.baai.ac.cn/view/36857 🎄 LeetCode 周赛超越 80% 人类选手,推理性能超 Llama3-70B。 ✨ 我国量子计算机实现“四算合一” 实现通算、…...

Qt在任务栏图标和系统托盘图标上显示红点
在任务栏图标上显示红点 关键类:QWinTaskbarButton #include <QWinTaskbarButton>QPointer<QWinTaskbarButton> taskbarBtn nullptr; if (!taskbarBtn) {taskbarBtn new QWinTaskbarButton(window);taskbarBtn->setWindow(window->windowHand…...

springboot拦载器
1、拦载器 package com.Interceptor;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.security.auth.login.Log…...

知道创宇安全服务实习
自我介绍攻防演练讲一下,我讲到了内网利用,用到了frp/nps这种nps直接扫不会有被发现吗?cs搭建在vps,有做什么隐藏吗,(端口或者cdn之类的)域前置了解吗cs上传的木马免杀了吗问了linux怎么查看进程…...

SGP.22-V.3.1-安全1
有任何关于GSMA\IOT\eSIM\RSP\业务应用场景相关的问题,欢迎W: xiangcunge59 一起讨论, 共同进步 (加的时候请注明: 来自CSDN-iot). 2.6.4.4 Command TLV MACing and Encryption 在提供的文件 "RSP Technical Specification Version 3.1 Final" 中&a…...

STM32单片机ADC功能详解
文章目录 1. ADC概述 2. ADC结构图 3. 引脚定义 4. 转换模式 5. 数据对齐 6. 转换时间 7. 硬件电路 8. STM32使用ADC单/多通道检测数据 1. ADC概述 功能:ADC是一个将模拟信号(如电压)转换为数字信号的设备。在微控制器中,…...

47.Redis学习笔记
小林coding -> 图解redis的学习笔记 文章目录 Rediswindwos安装docker安装redis启动redis使用RDM访问虚拟机中的redispython连接redis缓存穿透、击穿、雪崩基本数据类型高级数据类型高并发指标布隆过滤器分布式锁Redis 的有序集合底层为什么要用跳表,而不用平衡…...

数控六面钻适用场景-不止家具制造
在快节奏的现代生活中,家具作为我们生活的重要组成部分,其美观度和实用性日益受到人们的关注。而在这背后,一个不可或缺的“工匠”正默默地发挥着它的作用——那就是数控六面钻。 数控六面钻,顾名思义,是一种高度自动…...

【力扣】86. 分隔链表
86. 分隔链表 题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1: 输入:head […...

海云安受邀参加诸子云 4.27南京「金融互联网」私董会
4月27日,“安在新媒体网安用户行业活动”第四期私董会在南京顺利举办。活动以“金融&互联网”为主题,邀请十余位业内资深的甲方用户以及典型厂商代表。摒弃传统的议题分享,采取“随时问答,自由讨论”的形式,提问题…...