加餐丨将军问题如何基于签名消息实现作战计划的一致性_第1页
加餐丨将军问题如何基于签名消息实现作战计划的一致性_第2页
加餐丨将军问题如何基于签名消息实现作战计划的一致性_第3页
加餐丨将军问题如何基于签名消息实现作战计划的一致性_第4页
加餐丨将军问题如何基于签名消息实现作战计划的一致性_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

说回咱们的拜占庭将军问题。在01名消息型拜占庭问题之解,没有详细展开,而是聚焦在最的点“签名约束了叛徒的作恶行为”,但从留言来看,很多同学在理解签名和如何实现一致性上,还是遇到了问题。比如不理解如何实现计划的一致性。另外,考虑到签名消息是一些常用的拜占庭容错算法(比如PBFT)的实现基础,很重要,所以这节课我会对签名消息型拜占庭问题之解进行补充。在今天的内容中,除了具体讲解如何基于签名消息实现计划的一致性之外,我还会说一说什么是签名消息。希望在帮你掌握签名消息型拜占庭问题之解的同时,还帮你吃透相关的基础知识。在这里,强调一下,为了更好地理解这一讲的内容,我建议你先回顾一下01讲,深印象。当然,在学完01讲之后,相信你已经明白了,签名消息拜占庭问题之解,之所以能够任意数量的叛徒,关键就在于通过消息的签名,约束了叛徒的作恶行为,也就是说,任何篡改和忠将的消息的行为,都会被发现。签名消息指的就是带有数字签名的消息,你可以这么理解“数字签名”:类似在纸质合同上进行签名来确认合同内容和证明。你应该还记得学的学术CP(Bob和Alice)吧(不记得的话也没关系,你把他们当作2个人就可以了),今天Bob要给Alice发送一个消息,告诉她,“我已经到了”,但是Bob希望这个消息能被Alice完整地接收到,内容不能被篡改或者,我们一起帮Bob和Alice想想办法,看看如何实现这个消息。首先,为了避免密钥,我们推荐Bob和Alice使用非对称加密算法(比如RSA)。也就是说,加密和使用不同的秘钥,在这里,Bob持有需要安全保管的私钥,Alice持然后,Bob用哈希算法(比如MD5)对消息进行 图接着,Bob将加 和消息一起发送给图接下来,当Alice接收到消息和加 (Degist-1)进行对比,如果2 (Digest-1图你看,通过这种方法,Bob的消息就能被Alice完整接收到了,任何篡改和Bob消息 现在,你应该理解了什么是签名消息了吧?另外,关于在留言区提到的“为什么签名消息能约束叛将们的作恶行为?”,在这里,我再补充下,通过上面的Bob和Alice的故事,我之前我已经提到了,苏秦可以通过签名消息的方式,不仅能在不增加将数的情况下,解决二忠一叛的难题,还能实现无论叛将数多少,忠诚的将军们始终能达成一致的计划为了方便你理解,我以二忠二叛(更复杂的叛徒作恶模型,因为叛徒们可以相互串通)图除了第一轮的指挥官外,剩余的3位将军将分别作为指挥官,在上一轮收到的指令2最后,各位将军按照约定,比如使用盒子里最中间的那个指令来执行指令。(假设盒子中的指令为A、B、C,那中间的指令也就是第n/2个命令。其中,n为盒子里的指令数,指令从0开始编号,也就是B)。为了帮你直观地理解,如何基于签名消息实现忠将们计划的一致性,我来演示一战信息协商过程。而且我会分别以忠将和叛将先发送信息为例来演示,这样可以完整地演为了演示方便,假设先发起带有签名的信息,指令是“进攻”。那么在第一轮图在第二轮信息协商中,齐、楚、燕分别作为指挥官,向另外2位发送信息“攻”。可是楚、燕已经叛变了,但在签名的约束下,他们无法篡改和忠将的消息,为达到干扰计划的目的,他们俩一个选择发送消息,一个默不作声,不配合图图图图为了达到干扰计划的目的,叛徒楚和燕相互了。比如,燕拿到了楚的私钥,也就是燕可以楚的签名,这个时候,燕为了干扰计划,给发送指令“进攻”,给图最终,和齐收到的信息都是“撤退、进攻”,按照“执行盒子最中间的指令”的约定,、齐和燕一起执行指令“撤退”,实现了计划的一致性。也就是说,无论叛将如何捣乱,和齐都能执行一致的计划,保证的胜利。另外在这里,补充一点,签名消息的拜占庭问题之解,也是需要进行m+1轮(其中m为叛将数,所以你看,只有楚、燕是叛变的,那么就进行了三轮协商)。你也可以从另外一个角度理解:n位将军,能(n-2)位叛将(只有一位忠将没有意义,因为此时不需要达成共识了)。关于这个,你只需要记住就好了,推导过程你可以参考。最后,说的是,签名消息型拜占庭问题之解,解决的是忠将们如何就计划达成共识的问题,也就只要忠将们执行了一致的计划就可以了。但它不关心这个共识是什么,比如,在适合进攻的时候,忠将们可能执行的计划是撤退。也就是,这个算法比较理论化。关于理论化这一点,有的同学会想知道它如何去用,在我看来呢,这个算法解决的是共识的问题,没有与实际场景结合,是很难在实际场景中落地的。在实际场景中,你可以考虑后来的改进过后的拜占庭容错算法,比如PBFT算法。数字签名是基于非对称加密算法(RSA、DSA、DH)实现的,它能防止消息的内容最后,说的是,签名消息、拜占庭将军问题的签名消息之解是非常经典的基础知识,影响和启发了后来的众多拜占庭容错算法(比如PBFT),理解了本讲的内容后,你能更好地理解其他的拜占庭容错算法,以及它们如何改进的?为什么要这么改进?比如,在PBFT(ViewChange) 不得售卖。页面已增加防盗追踪,将依法其上一 18|

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论