找回密码
 立即注册

扫一扫,登录网站

首页 区块链生态 查看内容
  • 65660
  • 0
  • 分享到

加密经济学的终极学习指南

2018-7-30 09:25

来源: Unitimes 作者: Blockgeeks

什么是拜占庭将军问题?




好了,让我们想象一下,有一群拜占庭将军想要攻打一座城市,他们将面临两个不同的问题:

每个将军及其军队在地理上相距甚远,因此通过中央集权来指挥是不可行的,这使得协同作战变得异常困难。

被攻打的城市拥有一只庞大的军队,他们能获得胜利的唯一方式是所有人在同一时刻一同发起进攻。

为了让合作成功,位于城堡左边的军队派遣一位信使,向城堡右边的军队发送了一则内容为“周三攻击”的信息。然而,假设右边的军队没有做好攻击准备,并让信使携带一则内容为“不,周五攻击”的信息返回。而信使需要通过穿越被攻打的城市返回到左边的军队,那么,问题就来了。在这位可怜的信使身上,很多事情都有可能会发生。例如,他有可能被抓获、泄露信息、或被攻打的城市杀害后将其替换了。这将导致军队获得被篡改过的信息,从而使作战计划无法达成一致而失败。

上述例子对区块链有明显借鉴意义。区块链是一个巨型网络,你要如何信任他们呢?如果你想从钱包里发送4个以太币给某人,你如何确认网络中的某人不会篡改信息,将4个以太币改成40个?中本聪发明了工作量证明机制来绕过拜占庭将军问题。其运行原理是:假设左边的军队想要发送内容为“周一进攻”的信息给右边的军队,他们需要执行如下步骤:

首先,他们会给初始文本添加一个“nonce”,这个nonce可以是任何一个随机十六进制值。
其次,他们将添加了“nonce”的文本进行哈希,得到一个结果。假设说他们决定仅当哈希结果前5位是零的时候,才进行信息共享。
如果哈希结果满足条件,他们就会让信使带着有哈希结果的信息出发。否则,他们会持续随机改变nonce的值,直到得到想要的结果。这一过程不仅冗长耗时,且占用大量的算力。
如果敌人抓到了信使,并企图篡改信息,那么根据哈希函数的特性,哈希结果将会剧烈变化。如果城市右边的将军看到信息没有以规定数量的0作为开头,那么他们就会叫停攻击。

版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。

本文导航

相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部