费贞绫

当前位置:   网站首页 >> 全部文章

沈丹阳中世纪的土耳其与区块链竟然有密不可分的联系...-币不落

中世纪的土耳其与区块链竟然有密不可分的联系...-币不落

最近有首歌很火,落哥就听了一下,记得里面有一句歌词是“想要带你去浪漫的土耳其”。
很多人都去土耳其旅游过,但是今天咱们不是说旅游攻略的李老三生鬼仔,落哥是想告诉大家,其实土耳其与区块链有着密不可分的联系!费贞绫

而土耳其在几百年前,属于拜占庭帝国的一部分搜企网。
拜占庭帝国(395年—1453年),又叫东罗马帝国,核心地区位于欧洲东南部的巴尔干半岛,疆域辽阔,盛世时期还包括意大利、叙利亚等周边多个国家领土。是古代中世纪欧洲最悠久的君主制国家。

中世纪的土耳其,也就是拜占庭,有区块链到底有什么样的密不可分的联系呢?
每一本讲区块链技术的书籍,每一位区块链大佬在介绍区块链的时候,一定都绕不开一个问题——拜占庭将军问题。
这个拜占庭将军,不是一位拜占庭的将军在行军打仗遇到的军事难题,而是不涉及战争的、没有将军的、计算机专家假想出来的问题!
拜占庭将军问题(Byzantine failures),又叫两军问题,是由莱斯利·兰伯特提出。
莱斯利·兰伯特(Leslie Lamport),是微软研究院的首席研究员,曾获得2013年图灵奖——计算机界的诺贝尔奖。
IT界的顶级技术大牛,为啥开了脑洞想了这么一个奇怪的问题?
技术宅拯救世界,兰伯特在研究分布式系统容错性的时候,为了把问题进行生动有趣的探讨,以及受欢迎,还人人听得懂,于是假设了一个与拜占庭有关的故事,所以拜占庭将军问题是编的!
拜占庭问题假设的是拜占庭周围有十个小邻国长期饱受欺压幸福耙耳朵,于是想着一起反抗,但是因为太弱小卓文君诀别书,实力差,所以必须有6个以上的国家同时进攻才有可能打败强大的拜占庭。那么小国就要联合起来,相互传达作战信息。
古时候没有邮件没有电话,下达命令传达消息全都靠人扶桑嫂。如果一个国家的军队里有奸细,不管是下达命令的将军,还是捎信儿的士兵,都可能会给其他9个国家得到假的消息,从而造成作战失败。
如果你是其中一个小国的国王,怎么判断一定会有另外5个以上的国家会达成共识,一起并肩作战攻打拜占庭呢?
所以问题简单说就是在已知有间谍的分布式军队中,将军们如何达成共识,执行共同的作战计划,来取得战争的胜利。
达成共识不是现在大家一起坐下来开会商量出一个结果那么简单,十个邻国行军打仗,不可能一有问题就坐到一起开会,再说,如果有将军或者士兵反水,甚至还不止一个人是叛徒,他们故意撒谎刘从丹,就会出现各种问题:
比如说叛徒可能欺骗将军,自己擅自将采取进攻行动,或者叛徒怂恿其他将军发起进攻,或者是叛徒迷惑其他将军,给他们带去假的信息;或者士兵在传递消息时把信弄丢,甚至信被别国截获......
针对拜占庭问题的深入研究尚语贤,科学家们得出一个结论:如果叛徒的数量大于或等于1/3,拜占庭问题不可解。
当然,只要叛徒数小于1/3,问题还是可解的。科学家们提出了口头信息方案和书面协议两个方案。
一、口头信息
也就是将军们派人用口信传达消息,这样每个消息都能够被正确传递,而且接受者知道消息是谁发出的,不发消息也可以被检测到。
但是也存在明显的缺点:口头协议并不会告知上一个消息来源是谁,也就是消息不可溯源,出现信息不一致时很难找到问题出在哪个环节,叛徒到底是谁。
二、书面协议
书面协议相比口头协议,实际是加了一个隐含条件:
1、们能够使用签名技术,签名不可伪造,一旦篡改即可发现。
2、任何人都可以验证签名的可靠性。
书面协议相比口头协议,所有的消息都是有记录的,解决了追根溯源的问题。沈丹阳
但仍然存在以下问题:
中世纪的邻邦之间书信往来只能靠信使骑马,将军们互不信任灵异隧道实录,也不可能亲自聚在一起开会,物理距离导致信息传输延迟。真正可信的签名体系难以实现。签名造假的问题也没法避免。签名消息记录的保存难以摆脱集中化的机构。
另外,如果每个国家都各自向其他9个国家派出信使,9X10=90次马岱字丁琳,也就是说需要90次送信才能完成一轮信息交流,在时间上严重影响作战进度。
这就是一个由互不信任的各个邻国构成的分布式网络,当前的难题就是难以达成共识。
兰伯特抛出的这个难题,几十年中难倒了一大片人,只有他设计出了终极方案——中本聪孙彻然。
中本聪认为区块链才是最优解,是终极解决方案。事实证明,确实如此。
那咱们也来一起开脑洞,有了互联网,给每个将军配一台电脑,就解决了送信的问题。假设10个将军同时发消息,网络卡住了,所以设定一段时间内只有一位将军可以发信息。
谁都可以发起进攻的信息,那么进攻的指令到底听谁的呢?这里就需要“工作量证明”了。
每位将军可以看做是区块链中的一个节点,士兵们就是中间的网络通信,只有当一个节点完成一个设计好的任务,才能向其他国家传播消息,当然,谁第一个完成工作,谁就优先发消息。
当某个节点(将军)发出“大家一起进攻”的消息后男国少年梦,各个节点收到发起者的消息必须签名盖章,确认各自的身份。这就是加密技术。
这种加密技术是非对称加密的,完全可以解决古代难以解决的签名问题:首先保证了消息传送的私密性,能够确认每位将军的身份,因为签名不可伪造、篡改。
非对称加密算法的加密和解密使用不同的两个密钥,这两个密钥就是我们经常听到的“公开密钥”(公钥)和“私有密钥”(私钥)。
公钥和私钥一般成对出现,如果消息使用公钥加密,那么需要该公钥对应的私钥才能解密现代极品仙人。同样,如果消息使用私钥加密,那么需要该私钥对应的公钥才能解密。
非对称加密的作用就是保护消息内容,并且让消息接收方确定发送方的身份。
比如,将军A想给将军B发送消息,为防止消息泄露,将军A只需要使用B的公钥对信息加密,而B的公钥是公开的,B用只有他自己拥有的私钥解密即可。
将军B想要在信件上声明自己的身份笨鸟网,他可以自己写一段字,并用私钥签名,并广播出去,所有人可以根据B的公钥来验证该签名,确定的B的身份。
由此,用工作量证明、公钥加密等技术,使一个不可信的分布式网络变为可信网络,使所有参与者可以在某些事情上达成一致,使价值传递成为了可能。
这就是工作量证明(Proof of Work),现实中的毕业证、驾驶证,各种考的资格证都属于工作量证明,它用以检验结果的方式证明你过去所做过了多少工作。
区块链上的共识机制有很多种,当然不可能每一种共识机制是完美无缺的,所以也意味着没有一种共识机制是适合所有应用所有场景的,关于具体的共识机制,咱们明天接着说~