4.3 FLP不可能原理 - 数据结构 - 机器学习
数据结构 - 机器学习
深度学习

当前位置:首页 » 区块链精品文章 » 正文
4.3 FLP不可能原理
1476 人参与 2018年09月30日 10:48 分类 : 区块链精品文章 评论
4.3.1 定义
FLP不可能原理: 在网络可靠,但允许节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性共识算法(No completely asynchronous consensus protocol can tolerate even a single unannounced process death)。
提出并证明该定理的论文《Impossibility of Distributed Consensus with One Faulty Process》由Fischer、Lynch和Patterson三位科学家于1985年发表,该论文后来获得了Dijkstra(就是发明最短路径算 法的那位计算机科学家)奖。
FLP不可能原理实际上告诉人们,不要浪费时间,去为异步分布式系统设计在任意场景下都能实现共识的算法 。
4.3.2 正确理解
要正确理解FLP不可能原理,首先要弄清楚“异步”的含义。
在分布式系统中,同步和异步这两个术语存在特殊的含义。同步 是指系统中的各个节点的时钟误差存在上限;并且消息传递必须在一定时间内完成,否则认为失败;同时各个节点完成处理消息的时间是一定的。对于同步系统,可以很容易地判断消息是否丢失。异步 是指系统中各个节点可能存在较大的时钟差异,同时消息传输时间是任意长的,各节点对消息进行处理的时间也可能是任意长的,这就造成无法判断某个消息迟迟没有被响应是哪里出了问题(节点故障还是传输故障?)。不幸地是,现实生活中的系统往往都是异步系统。
FLP不可能性在原始论文中以图论的形式进行了严格证明。要理解这一基本原理并不复杂,一个不严谨的例子如下。
三个人在不同房间进行投票(投票结果是0或者1)。彼此可以通过电话进行沟通,但经常有人会时不时睡着。比如某个时 候,A投票0,B投票1,C收到了两人的投票,然后C睡着了。此时,A和B将永远无法在有限时间内获知最终的结果,究竟是C没有应答还是应答的时间过长。 如果可以重新投票,则类似情形可以在每次取得结果前发生,这将导致共识过程永远无法完成。
FLP原理实际上说明对于允许节点失效情况下,纯粹异步系统无法确保一致性在有限时间内完成。即便对于非拜占庭错误的前提下,包括Paxos、Raft等算法也都存在无法达成共识的情况,只是在工程实践中这种情况出现的概率很小。
那么,FLP不可能原理是否意味着研究共识算法压根没有意义?
先别这么悲观。学术界做研究,往往考虑地是数学和物理意义上最极端的情形,很多时候现实生活要美好得多(感谢这个世界如此鲁棒!)。例如,上面例子中描述的最坏情形,每次都发生的概率其实并没有那么大。工程实现上多尝试几次,很大可能就成功了。
科学告诉你什么是不可能的;工程则告诉你,付出一些代价,可以把它变成可行 。这就是科学和工程不同的魅力。
那么,退一步讲,在付出一些代价的情况下,我们在共识的达成上,能做到多好?回答这一问题的是另一个很出名的原理:CAP原理。
提示 科学告诉你去赌场赌博从概率上总会是输钱的;工程则告诉你,如果你愿意接受最终输钱的风险,中间说不定能偶尔小赢几笔呢!
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=971
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
- 第6章 区块链开发平台:以太坊2018-08-24 09:24
- 第5章 共识算法详解2018-09-30 14:50
- 4.7 数据传播过程2018-10-15 10:54
- 9.4 比特币作为一个公共的随机源2018-09-12 11:19
网站分类
- 数据结构
- 数据结构视频教程
- 数据结构练习题
- 数据结构试卷
- 数据结构习题解析
- 数据结构电子书
- 数据结构精品文章
- 区块链
- 区块链精品文章
- 区块链电子书
- 大数据
- 大数据精品文章
- 大数据电子书
- 机器学习
- 机器学习精品文章
- 机器学习电子书
- 面试笔试
- 物联网/云计算
标签列表
- 数据结构 (39)
- 数据结构电子书 (20)
- 数据结构习题解析 (8)
- 数据结构试卷 (10)
- 区块链是什么 (261)
- 数据结构视频教程 (31)
- 大数据技术与应用 (12)
- 百面机器学习 (14)
- 机器学电子书 (29)
- 大数据电子书 (37)
- 程序员面试 (10)
- RFID (21)
最近发表
- 找出数组中有3个出现一次的数字
- 《百面机器学习》电子书下载
- 区块链精品电子书《深度探索区块链:Hyperledger技术与应用_区块链技术丛书》张增骏
- 区块链精品电子书《比特币:一个虚幻而真实的金融世界》
- 区块链精品电子书《图说区块链》-徐明星 & 田颖 & 李霁月
- 区块链精品电子书《是非区块链:技术、投机与泡沫》-英国《金融时报》
- 区块链精品电子书《商业区块链:开启加密经济新时代》-威廉·穆贾雅
- 区块链精品电子书《人工智能时代,一本书读懂区块链金融 (互联网_时代企业管理实战系列)》-马兆林
-
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https'){
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else{
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区