大发pk10_pk10下载_大发pk10下载 - 由大发pk10,pk10下载,大发pk10下载社主办的《大发pk10,pk10下载,大发pk10下载》是我国消费领域中一张全国性、全方位、大容量的综合性日报。其立足消费网投领域,依托轻工行业,面向城乡市场,最先发布相关的专业权威资讯。

[区块链] 拜占庭将军问题 [BFT]

  • 时间:
  • 浏览:0

背景:

  拜占庭将军难题什么都人事先听过,但告诉我具体是并不是意思。没人 究竟并不是是拜占庭将军难题呢? 本文从最通俗的故事讲起,并对该难题进行抽象,并告诉亲戚亲戚大伙儿拜占庭将军难题为并不是在区块链领域作为八个多多多重点研究难题。

并不是是拜占庭将军难题:

  “拜占庭将军难题”也被称为“拜占庭容错”。

  拜占庭将军难题是Leslie Lamport(2013年的图灵讲得住)用来为描述分布式系统一致性难题(Distributed Consensus)在论文中抽象出来八个多多多著名的例子。

  并不是例子大意是没人 的:

  拜占庭帝国我想要进攻八个多多多强大的敌人,为此派出了10支军队去包围并不是敌人。并不是敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的一同袭击。这10支军队在分开的包围请况下一同攻击。亲戚亲戚大伙任一支军队单独进攻都毫无胜算,除非有大慨6支军队(一半以上)一同袭击并能攻下敌国。亲戚亲戚大伙分散在敌国的四周,依靠通信兵骑马相互通信来协商进攻意向及进攻时间。困扰并不是将军的难题是,亲戚亲戚大伙不选泽亲戚亲戚大伙中不是有叛徒,叛徒事先擅自变更进攻意向事先进攻时间。在并不是请况下,拜占庭将军们并能保证有多于6支军队在同一时间一同发起进攻,从而赢取战斗? 

注:“  拜占庭将军难题中并不去考虑通信兵不是会被截获或无法传达信息等难题,即消息传递的信道绝无难题。Lamport事先证明了在消息事先丢失的不可靠信道上试图通过消息传递的土方法达到一致性是不事先的。什么都,在研究拜占庭将军难题的事先,事先假定了信道是没人 难题的。 ”


 通俗分析:

  单从中间的说明事先无法理解并不是难题的繁复性,亲戚亲戚大伙儿来简单分析一下:

  先看在没人 叛徒请况下,我希望八个多多多将军A提八个多多多进攻提议(如:明日下午1点进攻,你我想要加入吗?)由通信兵通信分别告诉许多的将军,事先幸运中的幸运,他收到了许多6位将军以上的同意,发起进攻。事先不幸,许多的将军也在此时发出不同的进攻提议(如:明日下午2点、3点进攻,你我想要加入吗?),事先时间上的差异,不同的将军收到(并认可)的进攻提议事先是不一样的,这是事先经常 总出 A提议有八个支持者,B提议八个多多多多支持者,C提议八个多多多多支持者等等。

  加在许多繁复性,在有叛徒请况下,八个多多多叛徒会向不同的将军发出不同的进攻提议(通知A明日下午1点进攻, 通知B明日下午2点进攻等等),八个多多多叛徒也会事先同意多个进攻提议(即同意下午1点进攻又同意下午2点进攻)。

  叛徒发送前后不一致的进攻提议,被称为“拜占庭错误”,而并能处置拜占庭错误的并不是容错性称为「Byzantine fault tolerance」,简称为BFT。


难题抽象:

  求解拜占庭将军难题,隐含要满足以下八个多多多条件:

  1)每个忠诚的将军需要收到相同的命令值vi(vi是第i个将军的命令)。

  2)事先第i个将军是忠诚的,没人 他发送的命令和每个忠诚将军收到的vi相同。

  于是,拜占庭将军难题的可需要描述为:八个多多多发送命令的将军要发送八个多多多命令给其余n-八个多多多将军,使得:

  IC1.所有忠诚的接收命令的将军遵守相同的命令;

  IC2.事先发送命令的将军是忠诚的,没人 所有忠诚的接收命令的将军遵守所接收的命令。

  Lamport对拜占庭将军难题的研究表明,当n>3m时,即叛徒的个数m小于将军总数n的1/3时,通过口头同步通信(假设通信是可靠的),可需要构造一同满足IC1和IC2的处置方案,即将军们可需要达成一致的命令。但事先通信是可认证、防篡改伪造的(如采用PKI认证,消息签名等),则在任意多的叛徒(大慨得八个多多多多忠诚将军)的请况下都可需要找到处置方案。

  而在异步通信请况下,请况就没人 没人 乐观。Fischer-Lynch-Paterson定理证明了,我希望八个多多多多叛徒占据 ,拜占庭将军难题就无解。翻译成分布式计算语言,在八个多多多多多多程序 异步系统中,我希望八个多多多多多多程序 不可靠,没人 就不占据 八个多多多协议,此协议能保证有限时间内使所有多多程序 达成一致。

  由此可见,拜占庭将军难题在八个多多多分布式系统中,是八个多多多非常有挑战性的难题。事先分布式系统没人 依靠同步通信,怎么让性能和强度将非常低。怎么让寻找并不是实用的处置拜占庭将军难题的算法经常 是分布式计算领域中的八个多多多重要难题。

在这里,亲戚亲戚大伙儿先给出分布式计算中有 关拜占庭严重不足和故障的八个多多多定义:

  定义1:拜占庭严重不足(Byzantine Fault):任何观察者并不同厚度看,表现出不同症状的严重不足。

  定义2:拜占庭故障(Byzantine Failure):在需要共识的系统中事先拜占庭严重不足原因丧失系统服务。 

  在分布式系统中,也有所有的严重不足或故障都能称作拜占庭严重不足或故障。像死机、丢消息等严重不足或故障没人 算为拜占庭严重不足或故障。拜占庭严重不足或故障是最严重严重不足或故障,拜占庭严重不足有不可预测、任意性的严重不足,类似于于遭黑客破坏,中木马的服务器却说八个多多多拜占庭服务器。

  在八个多多多有拜占庭严重不足占据 的分布式系统中,所有的多多程序 就八个多多多多初始值。在并不是请况下,共识难题(Consensus Problem),却说要寻找八个多多多算法和协议,使得该协议满足以下八个多多多属性。

  1)一致性(Agreement):所有的非严重不足多多程序 都需要同意同八个多多多值。

  2)正确性(Validity):事先所有的非严重不足的多多程序 有相同的初始值,没人 所有非严重不足的多多程序 所同意的值需却说同八个多多多初始值。

  3)可现在开始了性(Termination):每个非严重不足的多多程序 需要最终选泽八个多多多值。

  根据Fischer-Lynch-Paterson的理论,在异步通信的分布式系统中,我希望八个多多多多拜占庭严重不足的多多程序 ,就不事先找到八个多多多共识算法,可一同满足上述要求的一致性、正确性和可现在开始了性要求。在实际请况下,根据不同的假设条件,有什么都不同的共识算法被设计出来。并不是算法各有优势和局限。算法的假设条件有以下几种请况:

  1)故障模型:非拜占庭故障/拜占庭故障。

  2)通信类型:同步/异步。

  3)通信网络连接:节点间直连数。

  4)信息发送者身份:实名/匿名。

  5)通信通道稳定性:通道可靠/不可靠。

  6)消息认证性:认证消息/非认证消息。


中本聪的处置方案:

  在经常 总出 比特币事先,处置分布式系统一致性难题主却说Lamport提出的Paxos算法或其衍生算法。Paxos类算法仅适用于中心化的分布式系统,没人 的系统的没人 不诚实的节点(我过多 发送虚假错误消息,但允许经常 总出 网络不通或宕机经常 总出 的消息延迟)。

  中本聪在比特币中创造性的引入了“工作量证明(POW : Proof of Work)”来处置并不是难题,有兴趣可进一步阅读工作量证明(猛击!)。

  通过工作量证明就增加了发送信息的成本,降低节点发送消息强度,没人 就以保证在八个多多多时间只八个多多多多节点(或是很少)在进行广播,一同在广播也有附上另一方的签名。

  并不是过程就像一位将军A在向许多的将军(B、C、D…)发起八个多多多进攻提议一样,将军B、C、D…看后将军A签过名的进攻提议书,事先是诚实的将军就会立刻同意进攻提议,而我过多 发起另一方新的进攻提议。

  以上却说比特币网络中是单个区块(账本)达成共识的土方法(取得一致性)。

  理解了单个区块取得一致性的土方法,没人 整个区块链(总账本)事先达成一致也好理解。

  亲戚亲戚大伙儿稍微把将军难题改一下:

  假设攻下八个多多多城堡需要多次的进攻,每次进攻的提议需要基于事先最多次数的胜利进攻下提出的(没人 没人 敌方已有损失最大,我方进攻胜利的事先性就更大),没人 约定事先,将军A在收到进攻提议时,就会检查一下并不是提议是也有基于最多的胜利提出的,事先也有(基于最多的胜利)将军A就我过多 同意没人 的提议,事先是的,将军A就会把这次提议记下来。这却说比特币网络最长链选泽 (猛击!)


 经济学分析

  工作量证明嘴笨 大慨提高了做叛徒(发布虚假区块)的成本,在工作量证明下,没人 第八个多多多完成证明的节点并能广播区块,竞争难度非常大,需要很高的算力,事先不成功其算力就硬块耗费了(算力是需要成本的),事先有没人 的算力作为诚实的节点,同样也可需要获得很大的收益(这却说矿工所作的工作),这也实际就我过多 有做叛徒的动机,整个系统也怎么让而更稳定。

  矿工挖矿获得比特币奖励以及记账所得的交易费用使得矿工更希望维护网络的正常运行,而任何破坏网络的非诚信行为也有损害矿工自身的利益。怎么让,即使许多比特币矿池具备强大的算力,它们都没人 作恶的动机,反而有动力维护比特币的正常运行,事先这和它们的切实利益相关。

  注:原始的拜占庭容错系统事先需要展示其理论上的可行性而严重不足实用性另外,还需要额外的时钟同步机制支持算法的繁复度也是随节点增加而指数级增加。实用拜占庭容错系统(PBFT)(猛击!)降低了拜占庭协议的运行繁复度,从指数级别降低到多项式级别(Polynomial),使拜占庭协议在分布式系统中应用成为事先。

总结:共识算法的核心却说处置拜占庭将军难题(分布式网络一致性难题)。


 REFERENCE

  1. Lamport L,Shostak R,Pease M.The Byzantine generals problem.ACM Trans.on Programming Languages and Systems,1982,4(3):382-401.

  2. Fischer,M.J.,Lynch,N.A.,Paterson,M.:Impossibility of distributed consensus with one faulty process.J.ACM 32(2),374-382(1985).
  3. 《区块链技术指南》邹均,张海宁,唐屹,李磊 著

【时间仓促,如有错误,欢迎指正! ||   欢迎留下您的评语!  亲戚亲戚大伙儿一同探讨、学习区块链!】

【转载请注明出处!http://www.cnblogs.com/X-knight/