区块链实验室(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是拜占庭节点数量。

相关推荐
幻想编织者28 分钟前
Ubuntu实时核编译安装与NVIDIA驱动安装教程(ubuntu 22.04,20.04)
linux·服务器·ubuntu·nvidia
罗_三金9 小时前
(10)深入浅出智能合约OpenZeppelin开源框架
web3·区块链·智能合约·solidity·openzeppelin·dapp
hunter2062069 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
张3蜂10 小时前
docker Ubuntu实战
数据库·ubuntu·docker
Roun310 小时前
Web3与传统互联网的对比:去中心化的未来路径
web3·去中心化·区块链
白粥行11 小时前
linux-ubuntu学习笔记碎记
linux·ubuntu
PaLu-LI13 小时前
ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果
c++·人工智能·opencv·学习·ubuntu·计算机视觉
dingzd9514 小时前
探索 Web3 技术:如何推动数字身份的自主管理
web3·去中心化·区块链
独行soc16 小时前
#攻防演练#应急响应#对于挖矿的检测以及防御方案
安全·区块链·应急响应·挖矿·主机排查·木马排查
PGCCC16 小时前
【PGCCC】PostgreSQL 中表级锁的剖析
数据库·postgresql·区块链