首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

拜占庭将军问题是区块链领域的常见术语,也是密码学的核心问题。

什么是拜占庭将军问题

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

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

拜占庭容错算法

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

非对称加密技术

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

·消息传送的私密性

·能够确认身份

·签名不可伪造、篡改

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

比特币与拜占庭

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

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

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

案例理解拜占庭问题

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

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

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

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

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券