荒岛传说

​ 相传在遥远的西方国度、海的另一边,有一无名群岛,一位最先发现群岛的叫做莱斯利·兰伯特的男人变成了岛主,为了凝聚起岛民的力量,抵御外侮,建立起了城邦,并把城邦,命名成Paxos,建立起了帮派。根据野史记载,Paxos是莱斯利·兰伯特闭关七七四十九天,参悟分布式天书所创,天书其威力之大竟恐怖如斯,同时座下有Basic,Multi和Fast三大镇派神器,古往今来,千难万险,魑魅魍魉,均没有撼动这三大神器的神威。凭借着三大神器和帮主的上下一心,在分布式江湖的共识一派,可算作是跺跺脚,江湖也要抖一抖的存在。

​ 岛主莱斯利·兰伯特,向往偶然听说过的《桃花源记》,于是致力于将岛屿打造成人人平等的桃花源,按照议会民主制的政治模式制定了岛规,对于在岛上生活的岛民足够的自由,在这里人民并不需要惧怕专制的管理,在号召的时候,没有出席的义务,也自然没有了出席的时间限制。

​ 在这样一个自由的城邦,一个个法令,是怎么在每一个居民里面达成共识的呢?

颁布法令

​ 如何解决颁布法令,将法令传给每一个成员,成了岛主需要立马解决的问题。在分布式天书里面有两种法令颁布,信息通信的方式,一种是共享内存,这个需要在城邦中心树立一个告示中心,法令只能由此颁布,并且各个成员需要来读取、修改共享的内容,在众多成员的情况下,先后顺序,时效性,信息的一致性这些无疑都是一个复杂的问题。

​ 另外一种是消息传递,飞鸽传书。此类方式讲究以发送和接受,以数据作为信息的载体以达成交换、同步,同时对于消息的送达,还通过是否等待结果反馈,一致性目标达成作为标准,把信息的传递分为同步和异步两种方式。不论是那种方式,信息发布的方式都有可能因为成员、通信的各种问题,导致消息的延迟、丢失、重复、篡改等各种问题。

​ 英明的岛主莱斯利·兰伯特,选用了消息传递这种方式,是因为他不仅仅想征服Paxos城邦,他相信总有一天,他的领土会扩散到整个分布式江湖。于是野心勃勃的开始成立议会,选举议员,作为决策团,但是噩耗随之传来。。。

败走拜占庭

​ 岛主莱斯利·兰伯特不仅仅有着Paxos城邦,同时还有着一支战无不胜的军队,很少有人能见到这样的一支王牌军队,据说见过的这只军队,都成了军队的刀下亡魂。只知道,这只军队,常年驻扎在Paxos城邦不远的拜占庭,没有人知道这只军队到底有多少人,也没有人知道这只军队有多少战无不胜的将军,人们只知道他们是拜占庭的军队,将军是拜占庭将军

​ 岛主看中了NET城邦的石油,可是这个NET城邦,却拒绝无条件的将石油上供,于是不开心的莱斯利·兰伯特岛主,将手中端着的红酒杯狠狠的摔在了地上,并且想拜占庭将军下达了攻下城池的军令。

​ 拜占庭军队,对于岛主的这个命令,并不是所有的人都赞同,毕竟这种毫不顾忌的侵略者嘴脸,多少让军人感到了耻辱,并且NET城池,他们早早的就听说了,因为石油丰富,财富可倾天下,是一块难啃的骨头。但是军令如山,几个将军只好率领着各自的部下,分为多路进攻,以天亮为号,共同进攻,当然他们也做好了情势不妙之后战略性撤退的准备。

​ 在短暂的将军峰会之后,他们约定他们的攻城策略,只有两种进攻和撤退。并且由于兵力上并没有压倒性优势,所以多路行军,缺一不可,所以他们必须通过投票来表决共同进攻,还是撤退,并且约定,少数服从多数的quorum原则。因此他们分别在各自部下中选出了斥候,来互相联系,分九路进攻。岛主莱斯利·兰伯特对这样的战术,大为赞赏,并且大笔一挥,命名为九九归一战术,认为将士此去必定凯旋而归。

​ 可是岛主莱斯利·兰伯特,忽略了人为财死,鸟为食亡的道理,也忽视了NET城池雄厚的财力,他们买通了其中一名拜占庭将军,让他误导他们的投票,导致了拜占庭大败,岛主莱斯利·兰伯特更是下令将此段历史封存,不允许Paxos城邦的任何人提及。

​ 根据NET城池的官方史料记载,当时9个拜占庭将军来攻打NET城池,他们花了大价钱才买通了一个将军,当时有8为将军忠心耿耿,面对财富美女,毫不动摇,当时碍于NET城池的兵力,4位将军投了进攻的消息,4位将军投了撤退的消息,被收买的将军,向投进攻的4位将军,投了进攻消息,在这4位将军看来,他们会9路军队直捣黄龙。向投了撤退的4位将军投了撤退消息,在这4位将军看来,因为对方火力强大,他们得到了5票撤退,因此他们选择暂避锋芒。

​ 于是,4位投了进攻的将军及其部下被NET城池全俘。岛主莱斯利·兰伯特惨遭大败,并且下了最严酷的宪法,叛变是Paxos城邦的第一重罪,将会株连九族,因此世人均知道在Paxos城邦,拜占庭将军问题是不可提之殇,拜占庭将军问题是不可以被容忍的,在问题得到完美解决之前,拜占庭军队永不启用!!!反而人人开始向Paxos城邦涌来,因为他们知道,在Paxos不需要考虑拜占庭将军问题。

天价悬赏

​ 虽然这段历史被岛主封存了,但是在Paxos城邦大刀阔斧之初,出现了这样的噩耗,难免如鲠在喉,让岛主彻夜难眠,不眠不休的翻看着分布式天书,同时Paxos也发布了悬赏,只要能解决了拜占庭问题,无论出身如何,直接提拔为副城主,一人之下,万人之上。

​ 在分布式天书里,岛主莱斯利·兰伯特渐渐有着不同的思路来应对,只是解决方案并不完美,因此Paxos的重刑仍然是背叛。

​ 其中一个方案是多数原则。即使拜占庭将军里面有人被收买,只要背叛了的将军不是大多数,那么整个命令还是能达成共识的,因为在这种情况下,被收买的人很容易被查出来,并且Paxos的宪法对于被抓出来的叛徒是零容忍的,株连九族。假设被收买的将军,向将军A和将军B发送了不同的消息,那么A和B之间是很容易发现信息不一致,即使不能确认这个将军被收买了,因为A跟B也可能是被收买的将军,但是至少可以知道,这三个将军里面是有问题的。因此,只要拜占庭将军里面背叛的人少于三分之一。

​ 另外,岛主为了应对,斥候被人劫杀,冒充,消息被人家劫去,并且谎报军情,因此给将军们的斥候,发布了数字签名,防止消息被篡改。

​ 可是这些方案,总是不能让岛主高枕无忧,在迷迷糊糊的梦中他再次看见了那本分布式天书,天书散发着金光,上面飘渺的显现着一串串的箴言:FTMP,MMFCS,SIFT,PBFT

说明及预告

​ 本文参考大神岛主莱斯利·兰伯特的论文,The Byzantine Generals Problem 原文地址

​ 对于拜占庭的解决方式,限于笔者的能力,只能研究完再来告知各位江湖大佬。

​ 下一期,我们探讨让Paxos城邦运转起来的basic,multi,fast 三大神器。

八佾Talk

​ 子曰:“邦有道,危言危行;邦无道,危行言孙。” --有感于上海2022年04月21日

群雄当立,逐鹿分布(二)Paxos传说之败走拜占庭相关推荐

  1. 群雄当立,逐鹿分布(三)Paxos传说之三大神器

    秘笈残本 ​ 书接上回,岛主莱斯利·兰伯特在经历了拜占庭将军之殇之后,就下令全城上下严禁提起拜占庭.因此,Paxos是不需要考虑拜占庭错误.此外,Paxos岛是一个自由的岛屿,责任在这个岛屿显得并没有 ...

  2. 群雄当立,逐鹿分布(一)Bully心法篇

    楔子 ​ 霸道城外天道盟,半夜钟声到江湖.江湖?这是一段不得不记入史册的江湖轶事.不知哪一年哪一代,计算机天地出现了一部分布式天书,这部天书秘籍不知道传了多久,也不知道被多少巨擘得到过,据说没有人堪瞰 ...

  3. 【概率论基础进阶】多维随机变量及其分布-二维随机变量及其分布

    文章目录 一.二维随机变量 分布函数F(x,y)F(x,y)F(x,y)的性质 二.二维离散型随机变量 分布律pijp_{ij}pij​的性质 三.二维连续型随机变量 概率密度f(x,y)f(x,y) ...

  4. 分布式笔记(二)paxos协议与chubby

    Paxos协议 paxos协议是目前业内使用最广泛的一致性协议. paxos解决的问题: 将所有的节点都写入同一值,且写入后不再改变 三个参与者: proposer 提出议案, accpetor接受议 ...

  5. 没有CANdela,无法编辑cdd数据库文件,也能轻松完成诊断测试,立省大二十个w

  6. 【我的保研经验】从中科院--计算所--到--自动化所--再到--空天院(电子所)二部--保研一路走来的欢乐与辛酸~《公开版》

    机缘巧合,博二遇到了实验室重组,俺现在在空天院七室哈,一个非常好的地方!导师们都非常nice!233333~欢迎学弟学妹们来看看~ 本篇是我此次保研经验的公开版,主要是笔者觉得之前有些东西过于详细,写 ...

  7. 区块链共识算法:Paxos、Raft以及实用拜占庭容错机制PBFT

    详情参见个人博客: http://brainware360.cn/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%85%B1%E8%AF%86%E7%AE%97%E6%B3%95%EF% ...

  8. [UE5蓝图基础二]1.[1d混合空间] 走和跑的动画切换(shift切换)

    骨骼网格体与动画类对应 创建混合空间选小金人骨骼 混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个"Animation"文件夹 在文件夹内创建混 ...

  9. 性能测试(二):grafana流程走通

    流程走通 在首页里,有一个流程图,很明显,我们需要做五件事.当我们打开这个界面的时候,我们已经完成第一步,安装成功啦!那么,我们来看看这些步骤的含义: 1.Install Grafana :安装gra ...

  10. 三国武将10大巅峰时刻

    三国武将10大巅峰时刻 NO.10文鸯单骑退雄兵. "背后数百员魏将,抖擞精神,骤马追来:将至乐嘉桥边,看看赶上.鸯忽然勒回马大喝一声,直冲入魏将阵中来:钢鞭起处,纷纷落马,各各倒退.鸯复缓 ...

最新文章

  1. 全球及中国现金自动化(管理)行业运作模式与前景趋势展望报告2022版
  2. 内存结构 堆 栈 全局区 常量区 代码区
  3. centos7下引导win7
  4. 哈尔滨信息工程学院计算机在哪个校区,2021年哈尔滨信息工程学院有几个校区,大一新生在哪个校区...
  5. 12017.linux设置串口支持非标准波特率614400
  6. 代码学习-Linux内核网卡收包过程(NAPI)
  7. Xcode CoreData 存储报错问题。
  8. 国内十大HR系统品牌
  9. 企信下载的文件在哪里_Foobar2000(无损音乐播放器下载)(软件篇)
  10. 机器学习中数据缺失值处理方法
  11. iso文件连接ftp服务器,使用本机文件浏览器访问FTP服务器 | MOS86
  12. 心率检测实现报告(一)
  13. 【C++】Web服务器项目所用到的函数详解
  14. 这样写的文案可以激起欲望
  15. 【工作笔记】如何在MySQL官网下载Java连接MySQL数据库的驱动jar包
  16. 数字签名(代码签名)流程和数字签名的验证
  17. TMT行业有7个子行业
  18. python post请求传body参数,报参数错误解决方案——菜鸟的笨拙排雷之路
  19. VLAN划分-----计算机网络
  20. 牧牛区块链培训,区块链在数字金融中的应用

热门文章

  1. SpringCloud原理分析
  2. 实现echarts图多个legend图例和自定义legend中字体颜色
  3. 向系统日历添加日程提醒的规则
  4. Uni-app 实现离线打包 安卓篇
  5. html5图片弹性布局,HTML5 使用弹性框布局实现可选择和压缩的网格
  6. 小程序的宿主环境-宿主环境简介
  7. macOS Monterey 12.6.1 (21G217) 正式版 ISO、IPSW、PKG 下载
  8. SCI-HUB最新文献网址
  9. 语音合成论文优选STYLER: Style Modeling with Rapidity and Robustness via Speech Decomposition for Expressive
  10. 基于Python排课选课系统设计与实现 开题报告