学习
实践
活动
工具
TVP
写文章

搞不懂区块链?一个拜占庭将军问题让你轻松看懂区块链技术原理

说到区块链,可能很多人还会比较陌生,但提到比特币,想必没有人不知道,而区块链就是比特币的底层技术。

下面链知道就来为大家讲解一下区块链技术究竟是什么原理?

区块链技术(BT),又称分布式账本技术,是由中本聪设计的一种互联网数据库技术。

其分布式体现为:数据的分布式存储以及分布式记录。

其特点是:去中心化、去信任、公开透明、集体维护。

为了让你们通俗点理解,在这里结合著名的拜占庭将军问题讲解一区块链技术的原理。

在拜占庭时代有一个非常富有强大的城邦,它的周围被10个小城邦所包围环绕,小城邦们觊觎大城邦的财富,所以意图侵略它。但大城邦很强大,必须至少一半以上的小城邦联合一起才能成功。

小城邦们联合攻打大城邦的过程中会出现以下问题:

1、小城邦们之间是互相防范与对抗的;

2、万一联合军队中有一支或更多军队突然不干了,那么剩余的军队就会导致攻打失败,全军覆没,并被其他小城邦侵略;

3、小城邦们之间通讯的唯一途径就是通过骑马传达信息,不可以聚众开会。

一个小城邦通过信使在任意时间点骑马到其他小城邦传递信息:我将在第四天早上6点进攻大城邦,你愿意加入吗?

如果收信人同意了,就会在信上盖个章以示回应。然后将新合并了的信息传递给其他小城邦,最后的目标就是,在原始信息链上盖上所有10个小城邦的图章,在攻打时间上达成共识。

但在传递信息的时候有着严重的问题:10个城邦都要向除自己之外的其他9个城邦派出信使,那么总共就有90次的信息传输,也就是每个城邦都会收到9个信息。但如果信里都写着不同的进攻时间,或者信使弄丢了信,或者有城邦同时答应了好几个进攻时间,故意背叛发起人等等问题就会导致需要重新传达信息。可见这个信息链传输系统非常矛盾。

区块链技术的解决方案:

总结下来,拜占庭将军问题的难点在于:在任意时间系统中可能会存在多个提案,这样就很难在一个时刻对结果进行一致性确认。

而区块链技术的pow共识算法解决了这个难题:

1、限制一段时间内提案的个数,只有拥有对应权限的节点才可以发起提案。

2、对应一次提案的结果不需要全部的节点马上跟进,只需要在节点能搜寻到的全网络中的所有链条中,选取最长的链条进行后续拓展就可以。这样就能够减少节点间垃圾消息和假消息的传播。

同时,区块链技术使用非对称加密算法,对节点间的消息传递提供签名技术支持,每个节点都有属于自己的秘钥(公钥私钥),唯一标识节点身份。使用非对称加密算法传递消息,能够保证消息传递的私密性,而且消息签名不可抵赖,不可篡改。

由此,一个不可信的分布式网络变成了一个可信的网络,所有的参与者可以在某件事在达成一致。

对于区块链技术,我们惊叹于其创造的可能性,并将继续创造无限可能性,正所谓:未来可期,未来以来。一起拭目以待吧!

链知道

想看懂区块链,关注这一个公众号就够了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180615A0Y3KB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券