从拜占庭将军问题看:区块链“共识算法”

  币系统中在比特,始一轮算力的竞争工作大约每10分钟就开,nce数进行SHA256运算大家将特定的字符串+随机no,合系统预期的值期望得到一个符,结果不满足预期如果算出来的,nonce值则不断的调整,计算重新,预期值为止一直到满足,值还是比较难的所以要找到预期,捷径可走而且没有,试nonce值必须要不停的尝,大的计算量会消耗巨,便理解对工作原理介绍的比较粗略这也就是所谓的挖矿(这里为方,区块链哈希算法的文章中介绍)更为具体的我会在另外一篇讲。

  S模式下在Po,算力大谁就有更高的概率来记账记账权不再像PoW那样由谁的,的代币多而是由谁,能获得记账权谁就越有可。象一下可以想,于多劳多得PoW类似,于有钱人多得PoS类似。

   顾名思义共识算法,某个确定的结果达成一致的方案就是通过算法手段让各参与方对。块链里在区,靠的网络环境里就是指在不可,各参与方中在不可信的,证信息的可靠策略寻找一个传递和验。

  节点运气好如果某一个,好满足预期值计算的结果恰,告诉全网的其它节点那么这个节点就需要,它的工作是否正确让其它节点来验证,算量是非常简单的别人验证起来运,计算力不对称性的算法所以说PoW是一种。快速验证没有问题如果其它节点经过,节点就拥有了记账权那么这个运气好的,的区块放到区块链里可以将自己刚才打包。

  就不在这里一一展开了还有一些其它共识算法。块链中在区,目的场景不同由于每个项,的共识算法都不尽相同所以设计的架构和采用。能 三要素中根据不同的应用场景主要还是从 去中心化、安全、性,同的组合进行不。

  上特殊原因而由于地域,能集合在一起单点进攻你们这10支军队不,下同时包围攻击敌国必须在分开的状态。进攻的话是毫无胜算的如果是单支军队单独,调遣一起袭击才能攻下敌国除非有至少有6支军队同时。敌国的四周你们分散在,协商进攻意向和进攻时间依靠通信兵相互通信来。

  少来分配记账权单纯靠代币多,记账权的中心化很有可能会导致,在记账权的竞争中所以有些代币系统,的代币多以外除了计算谁,代币的时间长短还会计算持有,点点币例如。

  军们是分散的因为拜占庭将,心的领导机构没有一个中,事先对进攻地点和时间进行协商因此他们在进攻敌方的时候必须,共识达成。限的时间内那么在有,致性且获取大部分将军的认可要解决提案(进攻方案)的一,占庭将军问题才能解决拜。

  非是由区块链兴起才有的其实共识机制的概念并,以来在研究和攻克的方向它早在数学领域就是长期,机制也已经有了一些知名的解决方案尤其是在计算机领域针对分布式共识,卓越的成就取得了非常。

  有节点都参与区块的创建和校验DPoS机制不需要网络中的所,选出一小群节点它会不定期的,区块链的创建和校验让这小群节点去做,源消耗进一步减少了这样对整个网络的资,链的工作效率也提高了区块,EOS例如。

  有人都掌握同样一个账本但事实上我们是需要所,数据的一致性才能保证系统,有效运行系统才能。

  机数的挖矿行为消耗GPU等算力但不产生价值造成大量的计算资源的浪费(因为这种寻找随)

  和缺点都挺明显的所以PoW的优点,在比特币上经常被人诟病尤其是算力空耗的问题,标是变更为PoS算法因此以太坊的规划目。

  呢?其实是由大家投票选出来的但这一小群节点是怎么定出来的,S系统下在DPo,n都是一个选票每个toke,持股人的投票充分利用了,式达成共识以公平的方,(也就是N个矿池)大家选出N个见证人,人权力平等这N个见证,以生成和管理区块只有见证人才可。外另,投票来更换这些见证人持股人可以随时通过。

  0个将军的问题是此时困扰着你们1,个中心领导你们没有一,都是平等的10名将军,可能会有叛徒且你们当中,攻意向或者进攻时间叛徒可能擅自变更进,假的进攻消息甚至是传递,状态下在这种,到一种分布式的协作方式你们10名将军们能否找,、准确无误的协商来让你们能够远程,取战斗呢从而赢?

  决这个问题的呢比特币是怎么解, of Work)的共识算法它采用的是PoW(Proof。出现的提案(提出记账请求)的个数是有限的这个算法不仅可以保证在一段时间内网络中,强一致性的要求同时也放弃了,链中同一时刻有多个合法区块改为最终一致性要求(即允许,路分叉出现链,量最大的那个链路但最后会以工作,链为最终的合法链也就是最长的那条)

  决去中心化的共识机制问题拜占庭将军问题就是要解,中区块链网络所需要解决的而这个共识问题也是比特币。

  解决了算力空耗的问题虽然PoS很明显的,识的达成时间且缩短了共。会导致一些新的问题但PoS算法也可能,如比,太效应由于马,越来越集中到少数人手中系统的决策权和收益会,公正失去。外另,攻击」导致「双重支付」等问题在PoS系统上容易受到「分叉。

  如你是古代某个国家的将军【IT168 技术】假,除了你以外你们国家,9个将军还有另外,领着一支军队每个将军带,0支军队总共1,地域上分散驻扎这10支军队在。攻一个强大的敌国你们国家想要进,有一定的实力这个敌国也,支军队的同时袭击足以抵御你们5。队必须要成一致意见因此你们10支军,军队达成一致起码要大部分,灭掉这个敌国才可顺利的消。

  有多个人提出打包区块的请求区块链的分布式网络中可能会,能是有伪造的区块并且其中还有可,算法来解决这个问题了那么只能靠分布式共识。

  币举例拿比特,区块链网络中在比特币的,中心化的因为是去,都是平等的每个节点,个账本、都可以记账每个节点都会有一,很多个不同的账本那最终就会产生。

  oW的算力空耗的问题PoS算法解决了P。权益证明POS叫,为股权证明也可以称,拟币证明的方式来竞争区块链记账权的共识机制它其实是一种要求各节点提供拥有一定数量虚。

  区块链网络中必须要解决的这些问题是在去中心化的,意篡改账本内容不然谁都可以随,账本才是合法的然后说自己的,的话这样,统就乱套了比特币系。

  心价值之一就是共识我们知道区块链的核,捧区块链的特性之一这也是大家一直所追。怎样通过「共识机制」来解决上述问题的那今天我们就来重点来聊一聊区块链是。

  基于这种算法来实现的比特币和以太坊都是。来说简单,作端做过一定量工作的证明PoW 就是一份确认工。特征是计算的不对称性PoW 系统的主要,的工作才能得出一个结果工作端需要做一定难度,查工作端是不是做了相应的工作而验证方却很容易通过结果来检,哈哈, 完成工作很辛苦这就是俗话说的,作很容易检查工。

  、保证大家的账本是一致的(起码大部分人的账本是一致的)那如何保证在一段时间内只有允许一个节点去生成合法账本,本、鉴别非法账本呢如何验证合法的账?

  过不,是相对而言的这里的可靠也,的比例之内才能保证可靠性非法节点必须控制在一定。有很多种共识算法,:工作量证明的共识机制目前比特币所采用的是。

  权益证明或股权委托证明DPos算法称为 委托。oW与PoS它相比较于P,了区块链的效率更进一步的提高。

分享: