PBFT实用拜占庭容错算法深入详解

【区块链】PBFT(实用拜占庭容错)算法详解 拜占庭将军问题: 寻找一个方法,使得将军们能在一个有叛徒的非信任环境中建立对战斗计划的共识。 共识算法的核心是在正常的节点间形成对网络状态的共识。 共识算法协议的属性: 1)一致性:所有的非缺陷进程必须同意同一个值 2)正确性:如果所有的非缺陷进程有相同的初始值,那么所有的非缺陷进行所同意的值是同一个初始值。 3)可结束性:非缺陷进程必须最终必须确定一个值。 BFT拜占庭容错系统: ... 阅读详情

PBFT即实用拜占庭容错算法,由Miguel Castro和Barbara Liskov在1999年提出,可以在作恶节点少于三分之一的情况下,保证系统的正确性(避免分叉)。与原始的BFT算法相比,算法复杂度从指数级降低到了多项式级,从而使得BFT算法的实际应用成为可能。实际上,Tenermint就是PBFT的一个简化版本的实现。

基本概念

首先了解一下几个基本概念:(从区块链的视角)

  • replica:即区块链节点,提供“副本复制”服务
  • client:向primary发起请求的客户端节点,在区块链中往往跟primary合二为一
  • primary:区块发起者,在收到请求后生成新区块并广播
  • backup:区块验证者,在收到区块后进行验证,然后广播验证结果进行共识
  • view:一个primary和多个backup形成一个view,在该view上对某个区块进行共识
  • sequence number(n):由primary指定的一个数字,可以理解为区块高度
  • checkpoint:如果某个sequence number对应的区块收到了超过2/3的确认,则称为一个checkpoint

另外,primary是所有节点轮流做的,每个view上都会选出一个新的primary。

三阶段协议

三阶段协议是PBFT的核心,参见下图:
这里写图片描述

从发起请求到最终收到reply,中间的共识过程需要经过3个阶段:

  • pre-prepare:primary收到请求,生成新区块并广播
  • prepare:所有replica收到区块后
PBFT实用拜占庭容错算法详解 分布式架构遭遇的问题 分布式架构会遭遇到以下问题: 1、异构环境的分布式架构首先可能遇到网络传输问题,比如数据丢失、延迟、重复、乱序。 2、欺骗攻击和重播攻击 3、操纵多个失效节点,延迟通讯,制造混乱。 具体到区块链世界,存在同样类似的问题: 区块链是一个分布式账本系统,参与者通过点对点网络连接,所有消息都通过广播的形式来 发送。系统中存在两种角色:普通节点和记账节点。普通节点使用系统来进行转... 阅读详情

相关推荐

实用拜占庭容错算法.pptx

区块链是一个分布式账本系统,参与者通过点对点网络连接,所有消息都通过广播的形式来 发送。实用拜占庭容错算法详解,包括拜占庭将军问题、三阶段过程、主节点是拜占庭节点问题、以及视图切换机制。

Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明

Utrust4701F与Utrust2700R读写器支持银河麒麟系统,广泛应用会员管理、支付管理等领域。本文将重点介绍Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明。以上方法适用于主流国产操作系统,如 优麒麟(UbuntuKylin)/ 中标麒麟(NeoKylin) / UOS(统信操作系统)/ 中兴新支点 / 红旗 linux(redflag linux)/ 普华 Linux(I-soft OS) / 威科乐恩 Linux(WiOS)等

华翔天诚科技 1833

库存预测新思路:AI架构师的图神经网络应用

用图神经网络(GNN)解决传统库存预测的“关联盲区”,让预测从“孤立商品”转向“商品网络”。传统库存预测的痛点分析;GNN的核心概念(图结构、消息传递);GNN在库存预测中的算法原理与代码实战;实际应用场景与未来趋势。背景:用超市老板的烦恼引出传统方法的问题;核心概念:用“商品朋友圈”比喻GNN的图结构和消息传递;算法原理:用数学公式和Mermaid流程图讲清楚GNN的工作流程;实战:用PyTorch Geometric写一个简单的库存预测模型;

AI Python 编程之道的博客 959

手把手教你用单结晶体管搭建简易振荡电路(含电路图和波形分析)

本文详细介绍了如何使用单结晶体管(UJT)搭建简易振荡电路,包括电路设计、波形分析和实战技巧。通过具体的电路图和参数计算,帮助电子爱好者和工程师快速掌握UJT振荡器的设计与调试方法,适用于脉冲信号生成和时钟源制作等应用场景。

weixin_29207533的博客 516

基于STM32设计的掌上游戏机(运行NES游戏模拟器)详细开发过程

利用STM32单片机移植NES游戏模拟器,完成NES游戏开发,可以玩标准的NES游戏,已测试超级玛丽、魂斗罗之类的都可以正常运行。

4万+

Isaac Lab 强化学习全身控制策略 Sim2Real 宇树人形机器人训练部署 HOVER

《IsaacLab策略训练与部署指南》提供了在仿真和真实机器人上实现HOVER全身控制策略的完整流程。主要内容包括:1) Linux环境下的IsaacLab安装与HOVER资源库配置;2) 使用1024个并行环境训练教师/学生策略的详细步骤;3) 策略测试与评估方法;4) Sim2Sim仿真验证和Sim2Real真实机器人部署方案。本教程特别针对Unitree H1仿人机器人,包含运动数据准备、策略训练、性能评估到硬件部署的全链条实现方案,为机器人控制策略开发提供标准化参考框架。

机器人控制与仿真应用 3070

零基础快速学习 ABAP 读者意见反馈和下一步写作计划表

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,我会将大家的意见统一汇总到下面的表格,作为我更新教程的内容参考来源之一。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4273

【WRF-Urban】WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WW、forever的博客 497

卡尔曼滤波器中的Q,R

对于系统状态的估计(滤波结果)所使用的信息来源于两个方面,一个是对系统状态演变模型的了解,包括系统转移矩阵和输入控制矩阵,输入孔质量等,另一方面来自于对系统状态的观测量。从上面公式来看,真正所要滤波得到的结果来自于公式(4)中的系统状态估计值x的某些分量,公式(4)的结果是由公式(1)所得到的状态预测值和来自观测量y计算得到的。所以,在不同算法中,R, Q的取值根据反应的不同量纲,可以有很大的变化,但它们的比值会决定了滤波值应该更多来自于系统模型演化的信息,还是来自于观察信号信息。

qq_43416206的博客 500

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 以太坊Ethash算法源码分析
下一篇: 同步系统和异步系统容错率的思考
TurkeyCock
博客等级 码龄21年 406粉丝 73原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值