【分布式理论】之 拜占庭式将军问题


一、简介



二、问题


1. 什么是拜占庭将军问题?

有 N 位将军分别在不同的地点建立了营地,两两之间通讯只能通过信使进行沟通。
这 N 位将军需要达成共识,但其中存在一些叛徒试图阻挠达成共识。
大多数的将军都是忠诚的,发出了真实的信息,但是叛徒则试图通过发送虚假或不真实的信息来欺骗和混淆他人(同时努力隐藏自己)。而且大家事先并不知道叛徒是谁。

即:如果某个系统中即使发生部分节点故障,甚至不遵从协议,或者恶意攻击、干扰网络,但仍可以继续正常运行,那么称之为 拜占庭式容错系统


2. 哪些场景需要 拜占庭式容错?
  1. 航空航天领域。

计算机内存或CPU寄存器中的数据可能会被辐射而发生故障,导致以不可预知的方式响应其他节点。
这种情况下如果将系统下线,代价异常昂贵(例如,可能出现飞机撞毁,杀死船员,或致使火箭与国际空间站相撞等),飞行控制系统必须做到容忍拜占庭故障。

  1. 多个参与者系统(区块链)

在多个参与者的系统中,某些参与者可能会作弊或者欺骗他人。这时节点不能完全相信另一个节点所发送的消息,它可能就是恶意的。

例如,像比特币和其他区块链一样的点对点网络就是让互不信任的当事方就某项交易达成一致,且不依赖于集中的机制。


3. 平时开发(互联网)需要考虑这些嘛?

一般假定不需要,即假定没有拜占庭式的故障。

因为服务内部通信是在内部网(局域网),内部通信的信任的,安全的。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值