pbft为什么需要2f+1

2023-11-01

将阵营分为两拨:好节点阵营,坏节点阵营

现在坏节点阵营想要误导好节点,让其误以为已经有足够人数发出了投票,并且发生分歧,如何做?假设最极端情况:好节点被等分为两拨A、B,坏节点加上任意一个阵营的人数都能达到足够人数达成投票,那坏节点就可以发送两种不同信息让A,B达成两种不同的状态,造成了数据不一致。

如何解决:总人数N,控制能够做决策的人数Y,让坏节点数X加上任意一边阵营都不会造成数据不一致的结果,坏节点可以成功将阵营A改变状态,但剩余的节点数无法让阵营B改变,无法造成数据不一致。Y-X > (A+B)/2,X < (A+B)/2
设:X = N/3,
即:Y - N/3 > (2N/3)/2 = Y > 2N/3,Y的最小值2N/3+1
又因为必须满足Y <= A+B(好节点总数),
所以:A+B >= 2N/3+1

X可以更大吗?
不可以:因为必须Y<=A+B,否则好节点无法出块,如果X > N/3,即 Y < 2N/3,又有X > N/3,所以X+A或X+B大于Y,坏节点可以误导两个好节点阵营,造成分叉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pbft为什么需要2f+1 的相关文章

  • XML详解

    1 什么是xml eXtensible markup language 可扩展标记语言 被设计用来传输 存储数据 纯文本 自行定义标签 自我描述 HTML旨在显示数据 注 声明不属于XML本身的组成部分 XML元素的格式如下 lt 标记名称
  • IDEA设置新建XML文件

    1 原始菜单新建无法创建XML文件 2 file setting gt Editor gt File and Code Templates复制XML格式 3 点击 新建模板 gt 将刚才复制的模板粘贴到新建的内容 gt 更改xml名称为XM
  • Redis的发布与订阅

    什么是发布和订阅 一般来说 发布与订阅 又称pub sub 的特点是订阅者 listener 负责订阅频道 channel 发布者 publisher 负责向频道发送二进制字符串消息 binary string message 每当有消息被

随机推荐

  • Express 源码分析及简易封装

    原文出自 https www pandashen com 前言 Express 是 NodeJS 的 Web 框架 与 Koa 的轻量相比 功能要更多一些 依然是当前使用最广泛的 NodeJS 框架 本篇参考 Express 的核心逻辑来实
  • JavaSE学习总结:常用类

    Java常用类 1 java lang Object 1 1常见的方法 2 包装类 2 1目的 2 2包装类 2 3装箱 2 3拆箱 2 4包装类的其他的应用 3 Scanner类 1 java lang Object 它是所有类的根父类
  • word文件不小心被删怎么恢复

    有时候我们把电脑借给朋友家的熊孩子玩 或者是借给一些不太懂电脑的人玩 原本存在电脑里非常重要的word文件不小心被他们删除了 这可怎么办呢 如果放在以前科技不发达的时候 是肯定没有任何办法的 但是好在我们活在现在 可以使用word数据恢复软
  • 入门级题解143. 重排链表

    写在前面 链表的题 1 取独立节点 保存接口 接口即 gt next 2 会用哑节点 return dummy gt next 3 最重要的是 gt next 理解 理解再理解 并随时能够掌握它的最新变化 给定一个单链表 L 的头节点 he
  • 毕业论文尾注和参考文献

    毕业论文在正文中引用参考文献的方式主要有两种 交叉引用和尾注 交叉引用比较简单 这里不介绍 添加尾注出现的问题 插入尾注 尾注直接出现在文档的最后边 将致谢 作者简介等都引用到尾注中 导致致谢 作者简介等在标题栏中消失 添加尾注的原理 首先
  • 计算机图形学实验错误及解决方法,计算机图形学实验课实验总解决方案.doc

    西南交通大学信息科学与技术学院 计算机图形学实验课 2015 2016 学年 第II学期 实 验 报 告 学号 姓名 朱彦荣 专业 软件工程 班级 软件工程2 课程名称 计算机图形学 班级 软件工程2 学号 姓名 朱彦荣 实验日期 2016
  • MATLAB关掉ColorBar的刻度线

    MATLAB使用colorbar显示时默认会带有刻度线 文章里的图一般是没有刻度线的 可以用下面命令关掉刻度线 colorbar Ticks
  • HAL读写FLASH笔记

    HAL读写FLASH笔记 目录 HAL读写FLASH笔记 1 整理数据 2 解锁 3 擦除扇区 4 写入数据 5 上锁 代码整理 写函数 读函数 注意 效果截图 1 整理数据 FLASH写入函数HAL FLASH Program可以写入16
  • Python——输入一个三位数,求每一位相加的和

    题目 输入一个三位整数 求每一位相加的和 例 输入123 输出 1 2 3 6 代码 x eval input 输入一个三位数 hundred x 100 decade x 10 10 digit x 10 sum hundred deca
  • K8s YAML文件中command 执行多条命令

    且在describe和kubelet日志中没有明确记录原因 基本都是因为command命令不合法导致 如需要运行多条命令 使用 不要使用 如下示例 command bin sh args c usr local bin redis star
  • RISC-V IDE MRS使用笔记(八):实现局域网下的远程调试功能

    RISC V IDE MRS使用笔记 八 实现局域网下的远程调试功能 1 原理介绍 MRS调试时上位机与硬件的通信基于gdb客户端与服务端的连接 调试时 首先启动openocd以挂载gdbserver的服务到指定端口上 通信建立后 监听到界
  • wireshark提取视频数据之RTP包中提取H264和H265

    wireshark提取视频数据之RTP包中提取H264和H265 文章目录 wireshark提取视频数据之RTP包中提取H264和H265 1 背景 2 提取前工作 3 H264视频从RTP包中提取步骤 4 H265视频从RTP包中提取步
  • java基础——随笔01

    数组实例 package org example common public class ZongJie 数组作为函数参数 public static void printArray int array System out println
  • 测试大佬评定的7个等级,只有1%的人达到第7层,看看你再几层?

    有人说 软件测试就是最low的点点点工作 有人说 测试工作职位薪水到一定程度只能原地踏步无法提升 也有人说 测试行业相对于开发来说技术性很低 容易被取代 这其实是对测试行业最大的误解 测试可深可浅 可窄可广 牛叉的测试很少 很多对测试侃侃而
  • AD之PCB快速选中所有元器件并锁定

    用AD设计PCB时 想锁定所有元器件 以免调整位号时 不小心移动元件 方法 1 选中所有元器件 任选中一个元件 点 右键 选 查找相似对象 2 Object Kind 一定时 Component 元件 若不是 说明没选好 重选 然后点 确定
  • Day23-Model操作,Form操作和序列化操作

    1 搭建环境请参考 http www cnblogs com momo8238 p 7508677 html 二 Form操作 一般会创建forms py文件 单独存放form模块 Form 专门做数据验证 而且非常强大 有以下两个插件 1
  • nodejs通过request请求远程url的文件并下载到本地

    需要循环去下载远程文件 然后自己写了一个demo 可以直接运行 如下 文件下载var fs require fs var path require path var request require request 创建文件夹目录var di
  • cuda 9.1 linux 安装教程,Ubuntu 16.04安装NVIDIA的显卡驱动396和CUDA9.1

    Ubuntu安装NVIDIA的显卡驱动和CUDA Toolkit Ubuntu 这里是用16 04LTS桌面版 如果是17 04及以后版本 因为使用的显示服务器不同 可能又会有所不同 安装NVIDIA的显卡驱动经常出现启动后死循环进不去系统
  • linux——open函数

    1 使用open 函数调用 需要注意头文件
  • pbft为什么需要2f+1

    将阵营分为两拨 好节点阵营 坏节点阵营 现在坏节点阵营想要误导好节点 让其误以为已经有足够人数发出了投票 并且发生分歧 如何做 假设最极端情况 好节点被等分为两拨A B 坏节点加上任意一个阵营的人数都能达到足够人数达成投票 那坏节点就可以发