沮丧的将军们决定到远方的中国去寻找解决方案,他们听说了古代中国如何辉煌灿烂,而且无往不胜,还拥有神奇的高科技。把欧洲人打得到处跑的匈奴大帝(阿提拉),不过是汉军的手下败将。而且即使在汉帝国的末期,一个地方军阀,如公孙瓒,曹操,都能把匈奴人打得到处跑。
花木兰将军刚刚取得巨大的声誉(这是打比方,不要喷我时间对不上),她在善于在战争中以使用烟火著名。她给城下的部队带来了三件好东西,1. 烟花 (可靠的广播通道),2. 中文 (加密解密),3. 通信兵(收发器)。这些来自中国的黑科技,帮助将军们建立了一个基于广播的通信系统。
现在我们假设下,城下的部队比较简单,只有三个将军,他们的通信方式以前是通信兵。一个将军邀请另外两个第二天动手。其中搞鬼的将军回复同意,另外一个回复不同意。发起建议的将军一看,二打一。可以出发了。确认撤退的将军,给搞鬼的将军也发了消息,搞鬼的将军说同意撤退。于是建议撤退的将军和建议进攻的将军都认为他们的意见是大多数,各自执行。第二天,就只有提议进攻的将军一个人带部队去进攻,被打得十分凄惨。
现在花木兰带来了烟花通信(可靠的光广播),以前的通信兵取消了。那么一个将军邀请另外两个第二天动手,对天放个烟花消息,两位将军都知道了。搞鬼的那个将军回复同意,另外一个回复不同意。发起建议的将军一看,二打一,可以出发了。这时候想撤退的将军,也通过烟火发个消息,说我建议撤退。搞鬼的将军回复说,好撤退。由于消息是广播的,其他两个将军就看到了这个搞鬼将军的前后消息的不一致,这个搞鬼将军就暴露了。通过广播通信,抓出搞鬼将军的能力大大的提高了。
那么中文干啥用的呢?如果没有这个加密方法,拜占庭的守军也能看到烟花通信,自然就能够及时准备防守或者逃跑,仗就没法打赢了。
这个简单的比喻,那个基于广播通信的系统,是不是真的有效呢?在1994年,ATT的研究人员发表了Rampart协议,这个基于广播的设计具有拜占庭容错能力。该系统也使用加密,当时成为它的性能瓶颈。今天的专用加密芯片,每秒可以加密14T次,非常强悍
如果系统更大一点,不是三个,而是几十个呢?搞鬼的将军也不止一个,而是很多个,大约1/3呢?此外,他们之间还有通信兵保留,以便传递他们自己的黑消息。甚至,他们具有解密中文的能力呢。
这些更复杂的情况,就看下面的讨论吧!
附录:技术部分
比特币的通信模式是什么呢?你猜对了,是广播。所有的消息都送到所有的节点。这个基于广播模式建立的分布式系统,具有拜占庭容错能力,不怕任何低于51/100的攻击。
Reliable and atomic group multicast have been proposed as fundamental communication paradigms to support secure distributed computing in systems in which processes may behave maliciously.
Rampart... services that remain correct and available despite the corruption of some component servers by an attacker.