草根站长
老司机 路子野 随时超车
在区块链领域,人们从未停止过对更优共识机制的探索,区块链为什么需要共识机制,说到这个问题,网络上广为流传的通俗解释是,想一想拜占庭将军问题:一组拜占庭将军分别各率领一支军队共同围困一座城市。为了简化问题,将各支军队的行动策略限定为进攻或撤离两种。因为部分军队进攻部分军队撤离可能会造成灾难性后果,因此各位将军必须通过投票来达成一致策略。系统的问题在于,将军中可能出现叛徒,他们不仅可能向较为糟糕的策略投票,还可能选择性地发送投票信息。
简单看来,拜占庭将军问题是一个协议问题,只有完全达成一致的努力才能获得胜利。基于这样的问题存在,我们需要达成共识。
目前区块链上的共识机制有很多,主要的有工作量证明、权益证明、股份授权证明三种机制。
工作量证明(Proof of Work,简称PoW):即比特币的共识形式。
作为比特币的底层技术,区块链解决的一个核心问题是双花问题,即它需要让分布式节点达成一个统一的认可,这需要一定的方式确定哪些节点是合法的存在,哪些是不合法的存在。
中本聪提出了PoW机制,即比特币在区块生成的过程中使用了PoW机制。通过一种易于校验的计算,看网络中哪一个节点率先找到随机数,通过校验,就可以产生区块,广播获得节点认可之后就形成了区块链。
简单来说,基于PoW共识机制,通过算力运算,暴力寻找随机数,谁家找到随机数,就认可了这个区块。一般而言,当节点拥有全网n%的算力时,该节点n%的概率找到区块链哈希值。
可以说, PoW的过程是系统外输入,即需要大量的运算,在这个过程中,需要成本的消耗。大量的运算需要更高的算力,从而产生了PoW挖矿的一系列产业生态。从上游的芯片设计公司、芯片生产企业;到中游的整机制造业;再到矿机运送到矿场,选取低廉的电力,连接到矿池,最后拿到区块的奖励。
PoW挖矿是为了追求区块的奖励,从金融层面来看,是追求一个中期的看涨期权。但从套利来讲是一种非确定性套利。因为挖矿的难度和价格的曲线一般不会完全匹配,矿工需要承担价格暴涨暴跌与获利之间的时间差等风险。由此当比特币市场价格低于挖矿成本价时,矿工会选择关机等待,高点卖币从而获得较高的收益等。
从PoW机制的过程来看,其优势明显,是完全的去中心化,允许节点自由进入。但其也存在一些问题。首先是其依赖机器进行运算并获取记账权的过程造成了巨大的资源消耗。每次达成共识需要全网共同参与计算,性能效率较低。此外,全球芯片厂商垄断芯片,廉价电力需求造成挖矿集中在某些国家和地区等。矿工要承担周期性的风险。当其中的开发者和矿工产生分歧时,不利于区块链快速迭代,例如此前的扩容之争,这里不多做表述。但总体来看,这是迄今为止分配最公平并且最安全的共识机制。
权益证明(Proof of Stake,简称PoS):由“Quantum Mechanic”2011年在比特币论坛上首先提出,后经Peercoin(点点币)和NXT(未来币)以不同的思路实现。
PoS共识机制要求节点提供拥有一定数量的代币证明来获取竞争区块链记账权的一种分布式共识机制。如果单纯依靠代币余额来决定记账者必然形成更极端的马太效应,所以在持币多少上会加入其它因素的限制,保证一定的公平性。未来以太坊也会从目前的POW机制转换的POS机制。
如果说,PoW中,用户采用1万美元购买矿机并加入网络来挖矿以此产生区块,从而获得奖励。那么在PoS中,用户可以拿同样1万美元购买等价的代币,将代币当做押金放入PoS机制中,这样用户就有机会产生新区快而得到奖励,不过PoS依赖于系统内输出,跟现实世界没有直接关联,这是一个产生新币并分发给投票用户的过程,是通胀性收益方式。
PoS的优点显而易见,它根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找到随机数的速度。在一定程度上缩短了共识达成的时间,不再需要大量消耗能源去挖矿。但PoS同样是不完美的,还是需要进行“挖矿”,本质上没有解决商业应用的痛点,理论上还存在其他攻击的影响(例如以太坊的DAO攻击事件,造成以太坊硬分叉,ETC出现证明硬分叉的失败)。
反映到用户参与度上,PoS实际上对小额持币人并不友好。类比传统金融中,大金融机构收益较高。PoS的收益和币龄和持币数量有关,所以对小额的持币者不友好,普通投资人很难有效参与到PoS的生态。PoW是通过矿机,通过物理来产生收益,而PoS通过数字资产的投票。投票过程中,势必会触碰到核心资产的安全,所以资产安全门槛高。抵押代币,即持币人锁仓的过程总,时间较长,持币人要承担较高的机会成本。
不过,因为PoS还处于早期,其通胀性收益仍存在较好的套利机会。此外,随着市场上一系列相应的金融衍生方式的出现,用户或许可以通过获得较为安全专业的服务,增加更多的确定性收益。
市场上有很多声音指出,2019年或许是PoS挖矿的元年,正是看中了其存在的早期参与并获利的优势。可以说,PoW发展了10年时间已达到百亿美金的市值,而PoS刚刚起步,目前全球已有80多条公链支持PoS,预计会成为一个独角兽。
股份授权证明(DPoS机制):它与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。
DPoS机制类似于董事会投票,持币人透出一定数量的节点,进行代理验证和记账。DPoS机制投票模式可以每30秒产生一个区块,并且在正常网络条件下,区块链分叉的可能性及其小,即使发生也可以较快的得到解决。过程简化为:成为网络代表;授权投票;保持忠诚;抵抗攻击。
DPoS让同步确认的节点越来越少,其速度也会越来越快,EOS只有21个节点,某些DPOS公链只有19个节点。在DPOS的基础上,公链项目开始打开了更多的思路,因为DPOS已经开始了弱中心化的趋势。但该共识机制仍然不能完美解决区块链在商业中的应用问题,因为该共识机制无法摆脱对于代币的依赖,而在很多商业应用中并不需要代币的存在。
从PoW、PoS到DPoS,人们的探索并未停止。诸如投注共识(以太坊下一代共识机制Casper引入的全新概念,属于PoS)、瑞波共识机制(初始节点列表像一个俱乐部,新成员的接纳需要俱乐部中51%会员投票通过)、Pool验证池、实用拜占庭容错、授权拜占庭容错、帕克索斯算法等。
时至今日,没有一种共识机制是完美无缺的,这意味着没有一种共识机制是适合所有的应用场景的。也许在未来——生命会自己找到出路。
所谓共识,简单理解就是指大家都达迅纤成一致的意思。在区块链中,其实就是一个规则,每个节点都按照这个规则去确认各自的数据,最后维护整个网络的数据库保持一致。如果以生活中的例子来举例的话,比如今天公司开个会议,但是由于老总不在,需要大家讨论决定一个项目做与否。在这么一个群龙无首的环境中?如何达成这个一致意见,最后形成一个决策来交给老总呢?这个过程就是需要共识机制发挥作用了。这时也许就有人提议,大家都发个言,表个态,拍搜最后大家进行投票,并且提议人就会把讨论发言过程记录,并且最后把举手投票结果登记后,将结果交给老总。最后根据“如果投赞成票的人数多于反对票的,则项目就开干;否则就不干了”的规则,形成了决定结果。那么这个投票的规则就是共识机制。在区块链世界里面,由于区块链运行的是一个分布式账本,或者是说分布式数据库,当一个新区块产生时,如何核对区块上面的每一笔账的准确性,让每台电脑上登袭昌历记的账本都长期保持一致呢?这就需要一个共识机制的存在了。因此共识机制,就是一套使区块链系统长期保持各个节点的账目(或者说数据)一致的机制,区块链里,共识是区块链技术里的信任解决方案。共识,是大家认可的,认可即生效,反对即出局。就如你经常违反社区机制,做一些损人利己的事。那么你就会变成恶意节点寸步难行,个人信誉度降低。甚至被社区拉入黑名单,或者驱除出境。
POA全称是proof of activity。他不是一种独立的共识算法,而是POW和POS混合的算法,目前有唯链,欧链等采用了POA共识机制。 POA的算法大致流程是这样的,每个活跃节点不断的进行哈希计算,寻找哈希值小于特定值的区块头,区块头中包括前区块哈希值,本地节点的地址,区块序号以及nonce值。当节点找到满足条件的区块头后,就会向全网广播这者亮个区块头,所有的活跃节点收到广播进行验证。若验证通过,则以广播中的区块头作为数据源,导出N个随机的股权所有者,所有的活跃节点判断自己是否是哪个幸运的股权人。如果自己是前面N-1个幸做穗运股权人中的一个,也一度用私钥对上述的区块头进行签名。并且将这个签名在全网广纯嫌卜播。如果自己是第N个幸运股权持有者,则用这个区块头来构建一个新的区块,区块中包含了自己选出的尽可能多的交易,前N-1个幸运股权人的签名还有自己对完整区块链的哈希值的签名。然后将这个签名后的完整节点在全网广播。所有的活跃节点在收到完整节点之后进行验证。验证通过则认为该节点是一个合法的新区块。将其加入区块链当中去。 倘若这个区块属于最长链,则以他为前区块,转回到最初的步骤,否则就做丢弃处理。不难发现,POA算法要求N个幸运者全部在线,任意一个幸运股权人不在线都将导致该区块丢弃。 这也是活跃证明的由来,POA算法会周期性的统计被丢弃的区块数量。并且按照这个来调整N的数值。如果丢弃的区块数量比较多,那么就减少N,否则就增大N. POA算法的区块丢失是一种算力损失。POA算法中。区块中的交易费由区块的发布者与n个幸运股权人共享。 POA算法最重要的是它可以防止非厉害攻击者。所谓的非厉害攻击是指具有强大的算法,但是仅仅持有少量的股权的攻击者。POA算法中POS部分使得非厉害者得到构建区块机会是非常少的。应该我们无法有效的进行攻击。 POA算法中,幸运股权人依靠资本获利,这个想当持有股篇而获得股息,这种机制会估计持股人长期持续这个股权有利于数字资产的保值以及减少波动。 POAstay大众的pow部分,通过哈希算法难度控制了新区块头生成的速度。起到稳定网络,避免分叉的作用。 然而上述优点的获得也是有代价的,pow部分带来的电力的损耗。而pos部分导致新区块头以及比较大的概率丢失,形成了算力的浪费。
版权声明:本文标题:细数区块链共识机制 是否存在最完美方案?内容由互联网整理发布,该文观点仅代表作者本人,转载请联系作者并注明出处:http://www.0792jiaju.com/post/2592.html,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。
发表评论