pbft为什么需要2f+1

本文探讨了在特定条件下,如何确保网络中好节点不受坏节点误导,避免数据不一致性的问题。通过数学模型设定,分析了坏节点能够误导好节点的极限条件,并提出了保障网络决策安全性的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

现在坏节点阵营想要误导好节点,让其误以为已经有足够人数发出了投票,并且发生分歧,如何做?假设最极端情况:好节点被等分为两拨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,坏节点可以误导两个好节点阵营,造成分叉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值