区块链实验室(28) - 拜占庭节点劫持区块链仿真

在以前的FISCO环境中仿真拜占庭节点攻击区块链网络。该环境共有100个节点,采用PBFT作为共识机制,节点编号分别为:Node0,Node,... ,Node99。这100个节点的前2010区块完全相同,自区块2011开始分叉。

(1)1个拜占庭节点:Node0

Node0 区块长度2020,Node1 - Node99区块长度2030。

在Node0上发起交易,Node0区块同步失败。

在其他节点上交易成功,区块同步成功。

这说明:100个节点中Node0被抛弃,99个节点仍能PBFT共识成功。

反过来,在Node99节点上发起同样的交易,成功。

但Node0节点的区块未更新,节点被抛弃。

(2)33个拜占庭节点:Node0 -- Node32

Node0 -- Node32 区块长度2020,Node33 - Node99区块长度2030

在Node0上发起交易,交易失败,区块长度未变。

Node99节点的区块长度也未变,说明交易失败。

反过来,在Node99节点上发起同样的交易,同样失败。

Node0节点的区块长度也未变,交易彻底失败。

此时,整个区块链失去共识能力。

(3)32个拜占庭节点:Node0 -- Node31

Node0 -- Node31 区块长度2020,Node32 - Node99区块长度2030

在Node0上发起交易,Node0的区块长度未变。

但在Node99上区块长度加1,说明交易成功。

相同地,在Node99上发起交易,交易成功,区块长度加1.

然而,Node0节点的区块长度未变。

此时,整个区块链还具有共识能力。结论:在FISCO环境中,PBFT共识的条件是N>3f+1,其中N是节点总数,f是拜占庭节点数量。

相关推荐
进击切图仔39 分钟前
新装 Ubuntu 20.04.6 中安装 ssh.server 功能
linux·ubuntu·ssh
暴躁小师兄数据学院1 小时前
【WEB3.0零基础转行笔记】基础知识篇-第二讲:以太坊基础
笔记·web3·区块链
devmoon1 小时前
30秒一键连接Polkadot区块链网络和测试网
网络·web3·区块链·智能合约·polkadot
devmoon1 小时前
选择基于rust的以太坊虚拟机,还是基于RISC-V的虚拟机?一文了解他们的部署差异和部署机制
web3·区块链·智能合约·solidity·polkadot
HIT_Weston1 小时前
121、【Ubuntu】【Hugo】首页板块配置:list 模板(一)
linux·ubuntu·list
Yan_uuu1 小时前
ubuntu18.04 安装 x264、ffmpeg、nv-codec-hearers 支持GPU硬件加速
c++·图像处理·ubuntu·ffmpeg
奔跑的花短裤17 小时前
常见问题及参考链接
ubuntu·常见问题·搜狗输入法·git配置
骂我的人都死了20 小时前
DevOps架构部署
运维·ubuntu·docker·k8s·github·devops·python3.11
快来吃饭�20 小时前
Ubuntu-20.04 gem5 构建并实现一个简单的配置脚本
linux·ubuntu·系统架构
70asunflower20 小时前
Docker exec 命令完全解析
linux·ubuntu·docker