一、什么是拜占庭将军问题 二、怎么解决转换这个问题 三、解决方案 1、口头协议 2、书面协议 四、后续自己理解的延伸 以下内容来自腾讯工程师 paumk 导语:拜占庭将军问题可以算的上是一致性理论的鼻祖,下文结合自身的理解,对这个问题的重点以及解决方案做了梳理,模拟了原文作者的思路,如何一步一个脚印将问题解决掉。 有的时候,理解问题本身比解决问
本篇主要结合Lamport((2013年的图灵奖得主) 1982年的论文《Byzantine Generals Problem》讲一讲拜占庭将军问题(Byzantine Generals Problem),本质上,它是分布式系统的一致性问题。区块链最重要的特点就是分布式系统,去中心化,那么在这个系统中同样地存在一致性问题。 为了理解什么是一致性问题,看一下下面的图。 在中心...
拜占庭将军问题 一.简介 拜占庭将军问题(The Byzantine Generals Problem),它其实是借拜占庭将军的故事展现了分布式共识问题,还探讨和论证了解决的办法。而大多数人觉得它难理解,除了因为分布式共识问题比较复杂之外,还与莱斯利·兰伯特(Leslie Lamport)的讲述方式有关,他在一些细节上(比如,口信消息型拜占庭问题之解的算法...
事实上,拜占庭将军问题是分布式系统领域最复杂的容错模型, 它描述了如何在存在恶意行为(如消息篡改或伪造)的情况下使分布式系统达成一致。是我们理解分布式一致性协议和算法的重要基础。 拜占庭将军问题描述 拜占庭将军问题描述了这样一个场景: 图1. 拜占庭将军问题 拜占庭帝国(Byzantine Empire)军队的几个师驻扎在敌城外,...
拜占庭将军问题是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。其实是借拜占庭将军的例子,抛出了分布式共识性问题,并探讨和论证了解决的方法。 在分布式计算中,不同的节点通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的节点可能出错而发送错误的信息,用于传递信息的通讯网络也...
在1982年,莱斯利·兰伯特提出了一个针对点对点通信中的基本问题——分布式系统一致性问题,也就是拜占庭将军问题。这个问题的核心理念是:在整个网络中的任意节点都无法信任与之通信的对方时,如何能创建出共识基础来进行安全的信息交互而无需担心数据被篡改。 莱斯利·...
拜占庭故障(也叫做交互一致性,源一致性,错误雪崩,拜占庭协议问题,拜占庭将领问题和拜占庭故障)是一个计算机系统的状态,特别是「分布式计算」系统中,其中的组件可能会故障,并且在组件故障时可能发生故障信息。 “拜占庭将军问题”这个名字来自于一个寓言,用于描述一种情况——在这种情况下,为了避免系统发生灾难性故障,系统...
描述拜占庭将军问题 拜占庭将军问题(Byzantine failures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。该问题可以抽象地表述为:一群拜占庭军队的将军率兵驻扎在敌城附近,在只能依靠信使联系彼此的情况下,将军们必须就同一个作战...
拜占庭将军问题(The Byzantine Generals Problem),它其实是借拜占庭将军的故事展现了分布式共识问题,还探讨和论证了解决的办法。而大多数人觉得它难理解,除了因为分布式共识问题比较复杂之外,还与莱斯利·兰伯特(Leslie Lamport)的讲述方式有关,他在一些细节上(比如,口信消息型拜占庭问题之解的算法过程上)没有说清楚。
美国计算机科学家莱斯利·兰伯特(Leslie Lamport)在1982年提出拜占庭将军问题,老爷子当年在研究分布式系统容错性的时候,为了方便理解编了一个拜占庭将军的故事,论文发表后,该故事广为流传。尝到甜头后,1989年在解决这个拜占庭问题上设计了一种称为Paxos的容错算法,继续用这种叙事风格编了一个古希腊岛屿Paxos的政府...