用三国杀讲分布式算法,舒适了吧?


前言
担心算法过于复杂,所以花的时间很少。 网上的资料能用大白话将分布式算法讲清楚的比较少。 学习分布式算法没有一条清晰的路线。

学习路线
四大基础理论:
拜占庭将军问题 CAP 理论 ACID 理论 BASE 理论
八大分布式协议和算法:
Paxos 算法 Raft 算法 一致性 Hash 算法 Gossip 协议算法 Quorum NWR 算法 FBFT 算法 POW 算法 ZAB 协议

拜占庭将军问题
2.1 三国杀身份牌
主公

忠臣

反贼

内奸

2.2 还原拜占庭问题

2.3 一方选择撤退
刘备决定进攻,通过信使告诉曹操和孙坚进攻。 曹操决定撤退,通过信使告诉刘备和孙坚撤退。 孙坚决定进攻,通过信使告诉曹操和刘备进攻。

2.4 内奸登场-撤退
刘备决定进攻,通过信使告诉曹操和孙坚进攻。 曹操决定撤退,通过信使告诉曹操和孙坚撤退。 孙坚决定撤退,通过信使告诉曹操和刘备撤退。

2.5 内奸使诈-一进一退
刘备决定进攻,通过信使告诉曹操和孙坚进攻。 曹操决定撤退,通过信使告诉曹操和孙坚撤退。 孙坚作为内奸使诈,通过信使告诉刘备进攻,告诉曹操撤退。


拜占庭问题解法
解法一原理
先发送作战信息的将军我们把他称为指挥官(袁绍),另外的将军我们称作副官(刘备,曹操,孙坚)。 指挥官将他的作战信息发送给所有的副官。 每一位副官将从指挥官处收到的作战信息,作为自己的作战指令;假如没有收到指挥官的作战信息,将把默认的撤退作为作战指令。

第一轮指挥官(袁绍)已经发送指令了,现在就需要刘备、曹操、孙坚依次作为指挥官给其他两位副将发送作战信息。 然后这三位副将按照少数服从多数的原则,执行收到的作战指令。
孙坚使诈 - 两撤退

孙坚使诈 - 一进一退

3.2 孙坚作为指挥官

曹操向刘备和袁绍发送进攻指令。 刘备向曹操和袁绍发送进攻指令。 袁绍向曹操和刘备发送撤退指令。

3.3 小结
如果叛将人数为 m,将军数 n >= 3m + 1,那么就可以解决拜占庭将军问题。 前提条件:叛将数 m 一致,需要进行 m + 1 轮的作战协商。
拜占庭解法二——签名
签名无法伪造,对签名消息的内容进行任何更改都会被发现。 任何人都能验证将军签名的真伪。

总结
将军对应计算机节点。 忠臣的将军对应正常运行的计算机节点。 叛变的将军对应出现故障并会发送误导信息的计算机节点。 信使被杀对应通讯故障、信息丢失。 信使被间谍替换对应为通讯被恶意攻击、伪造信息或劫持通讯。

更多精彩推荐
☞你的隐私正在被 AI “窥探”,马赛克也不管用了 ☞抓狂了~时间复杂度是个什么啥?| 每日趣闻 ☞华为自研设备明年都将升级鸿蒙系统;中芯国际联合CEO提出辞呈;Git 2.30 RC版本发布|极客头条☞再不参与就晚了!!2020年结束前最后一波内测福利!人人有份!
☞为了追求更快,CPU、内存、I/O都做了哪些努力?
☞被盗超800万美元,DeFi协议Nexus Mutual创始人遭黑客攻击损失惨重!
点分享 点点赞 点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 中法元首相会都江堰 7904180
- 2 中方不接受日方所谓交涉 已当场驳回 7808503
- 3 大闸蟹为何会在欧美泛滥成灾 7712517
- 4 国际机构看中国经济 关键词亮了 7619027
- 5 家长称婴儿被褥印不雅英文单词 7522934
- 6 日方军机滋扰擅闯或被视为训练靶标 7425252
- 7 12306出新功能了 7330903
- 8 国乒8比1击败日本队 11战全胜夺冠 7238051
- 9 内塔尼亚胡拒绝退出政坛换取赦免 7136840
- 10 千吨级“巨无霸”就位 7039727





![王鹤润我定会打开那扇门,等一缕阳光进来[太阳]#星动一夏##穿上新衣出发吧# ](https://imgs.knowsafe.com:8087/img/aideep/2022/8/26/69fde47633e74e1e7e0d414b65d1f963.jpg?w=250)




程序人生
