区块链科普课堂八:拜占庭问题与比特币

论坛 期权论坛 期权     
链世界   2019-12-15 04:35   3139   0
拜占庭将军问题是区块链领域的常见术语,也是密码学的核心问题。






什么是拜占庭将军问题


拜占庭问题源于1982年提出的虚拟模型,用来解释一致性问题。拜占庭作为东罗马帝国的首都,地域辽阔,在首都周边有众多将军负责城防,将军之间通过信使来传递消息,达成某些一致的决定。但由于将军中存在叛徒,叛徒会想尽一切办法干扰一致性的达成,甚至是达成叛徒想要的共识从而实现攻击。


其本质内容是在存在消息丢失的不可靠信道上,试图通过消息传递的方式达到一致性是不可能的。


拜占庭容错算法


比特币网络增加了信息发送的成本,并规定,在一段时间内,只有一个节点可以传播信息。这个成本指的就是工作量证明——POW(Proof Of Work)机制,所谓的信息发送,也就是我们所说的挖出比特币后在区块上进行的广播。在这个机制下,只有第一个完成证明(挖出比特币)的节点才能广播区块。而这个方案的具体实施,就是根据的拜占庭容错算法。拜占庭容错是区块链技术中的一种共识算法。


非对称加密技术


比特币网络可以将节点发送的信息进行加密,即使用非对称加密技术保护节点发出的信息。这种技术有三个特点:


·消息传送的私密性
·能够确认身份
·签名不可伪造、篡改


由于区块链网络是去中心化的,信息在每个节点上是共享的,因此,降低了由于信息不透明导致的向不同节点传递不同信息的可能性。另外,非对称加密算法的加密和解密使用不同的两个密钥:"公开密钥"(公钥)和"私有密钥"(私钥),这解决了节点信息被篡改,泄露,伪造的问题。


比特币与拜占庭


比特币网络上拥有超过30,000个节点,攻击这些节点进行作恶所需付出的算力和成本是非常高的。所以,即使系统中存在恶意的节点,但是只要大多数节点是好的,就完全有可能实现去中心化的共识(Consensus)。


这似乎也解释了为什么挖矿不是资源浪费——毕竟建立信任的成本不是0。


可以说,比特币提供了一个拜占庭将军问题解决方案,而这个方案,可以推广到任何核心问题是分布式网络上缺乏信任的领域。


案例理解拜占庭问题


假设将军总数3,叛徒将军数1.


提案人不是叛徒,提案人发送一个提案,叛徒收到后,回复不同的命令,对于第三个将军就收到两个相反的消息,也无法判断出谁是叛徒,系统无法达成一致。


提案人是叛徒,发送两个相反的提案给另外两个,另外两个收到两个相反的消息,无法判断究竟谁是叛徒,系统无法达成一致。





*文章仅代表作者个人观点




分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:64
帖子:6
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP