• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >区块链 > 拜占庭将军与区块链有啥关系

拜占庭将军与区块链有啥关系

作者:申龙斌的程序人生 字体:[增加 减小] 来源:互联网 时间:2018-11-03

申龙斌的程序人生向大家分享了拜占庭将军与区块链有啥关系,其中包含拜占庭将军,区块链等知识点,遇到此问题的同学们可以参考下

每一本讲区块链技术的书籍,几乎都会讲到拜占庭将军问题,看到这个词语时,我曾经一度认为有一位名叫拜占庭的将军带领着一支庞大的军队打仗时遇到了难题,但查阅了一些资料后,发现实际上并没有拜占庭将军,也没有这场战争,完全是计算机专家假想出的问题。


1拜占庭帝国

拜占庭这个专有名词取自于拜占庭帝国,又叫东罗马帝国,其军事力量很强大,地处现今欧洲的土耳其国家。


(取自百度百科)


在《区块链----从数字货币到信用社会》中关于拜占庭将军问题的描述有点小错误,书中把问题描述成10个邻国去攻打拜占庭国家,但查到这个问题的提出者Leslie Lamport的论文原稿时,实际上这是一个假想的问题。


莱斯利·兰伯特(Leslie Lamport),是微软研究院的首席研究员,曾获得2013年图灵奖——计算机界的诺贝尔奖。这家伙觉得故事让问题变得受欢迎,因此他在提出观点和问题时常用故事背景吸引眼球,拜占庭将军的故事就是兰伯特在研究分布式系统容错性的时候编出的一个故事。

外国研究人员引用欧洲历史来举例说明一个算法问题,中国人容易误解,拜占庭幅员辽阔、军事力量强大,派出多支部队去攻打敌军,并不是挨打。

2问题描述

论文中的原文:

We imagine that several divisions of the Byzantine army are camped outside an enemy city, each division commanded by its own general. The generals can communicate with one another only by messenger. After observing the enemy, they must decide upon a common plan of action. However, some of the generals may be traitors, trying to prevent the loyal generals from reaching agreement. 


假设拜占庭帝国的几支军队在敌人的城池外扎营,每支军队听命于自己的将军,这些将军之间只能通过信使传递消息。在对敌军进行侦察后,将军们必须制订一份共同行动计划。但是,有些将军可能是叛徒,这些叛徒会阻碍那些忠诚的将军达成共识。


这个问题的简洁描述:在已知有间谍的分布式军队中,将军们如何达成共识,执行共同的作战计划,来取得战争的胜利。


3问题的难点

这个问题困扰了程序员们很多年,直到比特币的出现。通常会遇到的问题有:

  • 这些将军离得很远,不能每遇到一个问题,就聚到一起开会商量对策

  • 这些将军中可能有少量叛徒,叛徒会乱发消息

  • 信使在传递消息时可能会把信弄丢

  • 信息可能会被敌国截获

  • 无法确认消息是否真的来自某位将军

  • 将军们在商量过程中可能会浪费很多天时间,贻误战机


4区块链的解决方案

把军队想像成计算机节点,把信使想像成计算机间的网络通讯,攻占敌军就是写入一个大家公认的区块记录。

区块链技术在发送信息中加入了成本,降低了信息传递的速率,并采用了工作量证明(PoW),即一个节点必须经过大量尝试性计算才能得出一个结果,而其它节点只需极少的时间就能证明其真伪,这样能够减少垃圾消息、假消息在节点间传播的状况。

挖矿节点把一段时间内的交易信息打包成一个区块,盖上时间戳,与上一个区块衔接在一起,每个区块都包含了上一个区块的索引(哈希值),然后再写入新的信息,从而形成新的区块,首尾相连,最终形成了区块链。


用工作量证明、公钥加密等技术,使比特币网络从一个去中心化的不可信网络变为可信网络,使所有参与者可以在某些事情上达成一致,使价值传递成为了可能。


文 | 申龙斌     

公众号 | 申龙斌的程序人生     

整编 | WangMe

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 拜占庭将军与区块链有啥关系

相关文章

  • 2018-11-03简述Polkadot和区块链互联网
  • 2018-11-03深度分析稳定币BASIS、CARBON、Fragments和MakerDAO
  • 2018-11-03以太坊及闪电网络创始人关于区块链提出的Plasma协议
  • 2018-11-03区块链资产「地址、密码、私钥、助记词、Keystore 」
  • 2018-11-03蔡欣:一个法学人眼中的区块链技术简史
  • 2018-11-03IOTA:缠结、数据市场以及用例
  • 2018-11-03比特币交易的匿名性究竟有多高?
  • 2018-11-03区块链的未来应用蓝图
  • 2018-11-03数字货币实际上是如何工作的?
  • 2018-11-03股票代币发售(ETO)是什么?

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • 执行任务量证明与工作量证明(PoW)和权益证明(PoS)
    • 底层公链的方向会在哪里
    • 拜占庭将军与区块链有啥关系
    • 蚂蚁矿机中毒了怎么办?
    • 区块链与维基百科的区别
    • 区块链共识机制与分布式一致性算法
    • 区块链简介
    • 五个步骤——为你的加密货币税务账单减压
    • 某乎上面对于区块链的理解(一)
    • 以太坊代币标准的详细列表

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有