分布式与一致性协议之PBFT算法(一)

PBFT算法

概述

前面提到了拜占庭将军问题之后,有人可能会感到困惑:口信消息型拜占庭问题直接在实际项目中是如何落地的呢?事实上,它很难在实际项目中落地,因为口信消息型拜占庭问题之解是一个非常理论化的算法,没有与实际场景结合,也没有考虑如何在实际场景中落地和实现。

比如,它实现的是在拜占庭错误场景下,忠将们如何在判断干扰时就一致行动达成共识。但是它并不关心结果是什么,这会出现一种情况:现在适合进攻,但将军们达成的最终共识却是撤退。

很显然,这不是我们想要的结果。因为在实际场景中,我们需要就提议的一系列值(而不是单值),即使在拜占庭错误发生的时候,也能达成共识。那我们应该怎么做呢?答案就是采用PBFT算法。

PBFT算法非常实用,它是一种能在实际场景中落地的拜占庭容错算法,在区块链中应用广泛(比如Hyperledger Sawtooth、Zilliqa)。为了更好地理解PBFT算法,下面会先介绍口信消息型拜占庭问题之解的局限,再介绍PBFT算法的原理。

老规矩,我们先看一道思考题。
假设苏秦再一次带队抗秦,如苏秦和4个国家的4位将军赵、魏、楚、韩商量军机要事,如图所示在这里插入图片描述
,结果刚商量完没多久苏秦就接到了情报:联军中可能存在一个叛徒。这时,苏秦要如何下发作战指令来保证忠将们正确、一致地执行下发的作战指令,而不被叛徒干扰呢?

口信消息型拜占庭问题之解的局限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coffee_babe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值