大家好,今天币百科为大家介绍拜占庭容错,当然也有拜占庭容错算法名词解释对应的知识点,很多人还不知道是什么,接下来我们详细解答一下!
本文目录一览:
拜占庭将军很忙—《区块链思维》第21块
先说拜占庭这个地方。很久很久以前的欧洲,建立在比中世纪还古老的时期,历史上就是东罗马帝国,跨越了千年的历史期盼。扯远了,回到正题,什么是拜占庭将军问题。
对区块链有认识的读者们可以看出来,拜占庭将军问题其实是一个协议问题:由于叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定;或迷惑某些将军,使他们无法做出决定。
正由于上述原因,在只有三个角色的系统中,只要有一个是叛徒,即叛徒数等于1/3,拜占庭问题便不可解。
拜占庭问题
拜占庭将军问题(Byzantine failures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。
正由于上述原因,在只有三个角色的系统中,只要有一个是叛徒,即叛徒数等于1/3,拜占庭问题便不可解。
拜占庭将军问题(Byzantine failures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试通过消息传递的方式达到一致性是不可能的。
顾名思义,就是能够解决拜占庭问题,使各个节点达成共识,解决共识问题的各种机制也被称为共识算法。
拜占庭将军问题(以下简称“共识问题”)的正式表述是:如何在一个不基于信任的分布式网络中就信息达成共识?这个表述听起来有些晦涩,但其本质并不复杂,下面的例子与共识问题虽然并不完全一致,但却有助于我们的理解[9]。
但是,在军队内有可能存有叛徒和敌军的间谍,他们可能影响将军们的决定、甚至某个将军自己就是叛徒。那么,在已知有成员谋反的情况下,其余忠诚的将军如何在不受叛徒的影响下达成一致的协议,拜占庭问题就此形成。
拜占庭问题与共识算法
在点对点、分布式的区块链中,常常用拜占庭问题来比喻节点如何达成共识的问题。将军即对应着一个个节点,达成统一作战方案即达成共识,正确的打包与验证区块数据,防止恶意节点(叛徒将军)破坏区块链的运行。
BFT 是区块链共识算法中,需要解决的一个核心问题。比特币的POW,eos的dpos,以及共识算法pos,这些公链算法,解决的是共识节点众多情况下的bft问题。 拜占庭将军问题。也称为拜占庭容错。 用来描述分布式系统一致性问题。
对于这个简化后的问题,有许多解决方案,第一个被证明的共识算法是 Paxos,由拜占庭将军问题的作者 Leslie Lamport 在1990年提出,最初以论文难懂而出名,后来这哥们在2001重新发了一篇简单版的论文 Paxos Made Simple ,然而还是挺难懂的。
拜占庭共识算法有一个前提:安全节点数 R(eliable) 大于不安全节点数 E(vil)。而且理想情况下R方希望投票结果是统一的。
PBFT是由Miguel Castro和Barbara Liskov于1999年提出。PBFT算法解决了之前拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。
最近在研究拜占庭共识,做个记录吧,有些可能也没理解透。
常见的共识算法介绍
PBFT:Practical Byzantine Fault Tolerance(实用拜占庭容错算法)PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。
raft 算法只支持容错故障节点,假设集群总节点数为n,故障节点为 f ,根据小数服从多数的原则,集群里正常节点只需要比 f 个节点再多一个节点,即 f+1 个节点,正确节点的数量就会比故障节点数量多,那么集群就能达成共识。
当今最著名的共识算法就是Paxos算法。它由Leslie Lamport在1990年提出,很长时间以来都是一致性的事实标准。但是它有两个不小的缺点:难以理解和证明,难以在实际工程中实现。
这篇主要是介绍简化版拜占庭将军问题的解决方案:Raft 共识算法。
PBFT是一种状态机副本复制算法,所有的副本在一个视图(view)轮换的过程中操作,主节点通过视图编号以及节点数集合来确定,即:主节点 p = v mod |R|。v:视图编号,|R|节点个数,p:主节点编号。
共识算法(分布式下的一致性算法)业务场景:达到的效果:可以保证在过半节点正常的情况下,所有的写入操作不会丢失。Zab协议并不保证强一致性,也不是弱一致性,而是在一定限度内的强一致性。
实用拜占庭容错系统的英文缩写是什么
PBFT(Practical Byzantine Fault Tolerance)算法由Miguel Castro 和Barbara Liskov在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。
叛徒发送前后不一致的进攻提议,被称为“拜占庭错误”,而能够处理拜占庭错误的这种容错性称为「Byzantine fault tolerance」,简称为BFT。
DCS是分布式控制系统的英文缩写(Distributed Control System),在国内自控行业又称之为集散控制系统。是相对于集中式控制系统而言的一种新型计算机控制系统,它是在集中式控制系统的基础上发展、演变而来的。
用STO的特点是可以多一张deliverynotes,有些后继功能就能实现,比如基于交货单才能有运输,装运,跨公司的开票等等,不一一列举。所以用还是不用,取决于对于库存转储调拨的管理精细程度。
pow( Proof of Work)工作量证明 。POS Proof of Stake,权益证明 。PBFT :Practical Byzantine Fault Tolerance,实用拜占庭容错。
实用拜占庭容错算法(PBFT)
1、PBFT(Practical Byzantine Fault Tolerance)算法由Miguel Castro 和Barbara Liskov在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。
2、pow( Proof of Work)工作量证明 。POS Proof of Stake,权益证明 。PBFT :Practical Byzantine Fault Tolerance,实用拜占庭容错。
3、叛徒发送前后不一致的进攻提议,被称为“拜占庭错误”,而能够处理拜占庭错误的这种容错性称为「Byzantine fault tolerance」,简称为BFT。
4、PBFT是实用拜占庭容错的简称,是解决拜占庭将军问题的一种方案。比起最开始的BFT算法,PBFT额外要求网络封闭,即节点数目确定并提前互通,但将复杂度从指数级降低到多项式级,使得BFT系列算法真正具有可行性。
上述文章内容就是拜占庭容错和拜占庭容错算法名词解释的详细解答了,希望能够帮助到大家;如果你还想了解更多这方面的信息,记得收藏关注币百科。