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

相关推荐
FREEDOM_X1 小时前
ubuntu20.04 远程桌面Xrdp方式
ubuntu·vmware
꧁坚持很酷꧂2 小时前
配置Ubuntu18.04中的Qt Creator为中文(图文详解)
开发语言·qt·ubuntu
Sapphire~2 小时前
Linux-06 ubuntu 系统截图软件使用简单记录
linux·运维·ubuntu
拾忆-eleven3 小时前
区块链如何达成共识:PoW/PoS/DPoS的原理、争议与适用场景全解
区块链·智能合约
biter00883 小时前
ubuntu(28):ubuntu系统多版本conda和多版本cuda共存
linux·人工智能·ubuntu·conda
Hello.Reader4 小时前
在 Ubuntu 环境为 Elasticsearch 引入 `icu_tokenizer
ubuntu·elasticsearch·jenkins
ProgramHan13 小时前
Web3革命——区块链技术重构数字世界的技术逻辑与产业未来
重构·web3·区块链
电报号dapp11915 小时前
Web3实战:从零开发你的ERC20代币合约
web3·去中心化·区块链·智能合约
foo1st17 小时前
JDK(Ubuntu 18.04.6 LTS)安装笔记
java·笔记·ubuntu
咨询1871506512719 小时前
高企复审奖补!2025年合肥市高新技术企业重新认定奖励补贴政策及申报条件
大数据·人工智能·区块链