美文网首页区块链
区块链目前的几大共识算法

区块链目前的几大共识算法

作者: 菠菜期权 | 来源:发表于2018-03-07 18:18 被阅读160次

共识机制:区块链事务达成分布式共识的算法。

区块链是一种去中心化的分布式账本系统,它可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链系统与传统的中心化账本系统相比,具有完全公开、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。

由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。

目前主要有几大类共识机制:Pow、Pos、DPos、Pool、PBFT
1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;
优点:完全去中心化,节点自由进出;
缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用

2、Pos权益证明,Pow的一种升级共识机制;根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。
优点:在一定程度上缩短了共识达成的时间
缺点:还是需要挖矿,本质上没有解决商业应用的痛点

3、DPos股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的

4、Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证;
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式

5、PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法。
PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
在使用共识机制,保证数据一致性时的巨大优势(共识机制则是Ripple首先提出的,数据正确性优先的网络交易同步机制,在共识网络中,无论软件代码怎么变动,无法取得共识就无法进入网络,更不要提分叉了)。
——————————————————
虽然共识机制绝对能确保任何时候都不会产生硬分叉。但是,这种机制的缺点也比较明显,那就是要取得与其他节点的共识,明显要比当前Bitcoin网络漫长的多。极端情况下,在Ripple共识机制网络中掉线的后果也是很恐怖的。

有可能你家停电一天,第二天整个系统就再也无法与其它Rippled节点取得共识了(共识机制事实上需要超过80%的节点承认了你的数据,你的提交才会被其它节点接受,否则就会被排它的拒绝连接),甚至只能清空自己全部500多GB数据重新同步才能连上其它Ripple节点。

所以目前来说,现有的Rippled端并不适合民用(商用的话影响就比较小,比如RL自己的Rippled节点托管在亚马逊云数据中心,长时间无响应是可以高额索赔的,而且那种地方除了大型灾害几乎不会断),这也是RL一直想改进的方面之一。


POW:Proof of Work,工作证明。

比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件。当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash。

POS:Proof of Stake,股权证明。

POS:也称股权证明,类似于财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。
简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个POS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(假定利息可理解为年利率5%),那么在这个案例中,利息 = 3000 * 5% / 365 = 0.41个币,这下就很有意思了,持币有利息。

DPOS:Delegated Proof of Stake,委任权益证明

比特股的DPoS机制,中文名叫做股份授权证明机制(又称受托人机制),它的原理是让每一个持有比特股的人进行投票,由此产生101位代表 , 我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。从某种角度来看,DPOS有点像是议会制度或人民代表大会制度。如果代表不能履行他们的职责(当轮到他们时,没能生成区块),他们会被除名,网络会选出新的超级节点来取代他们。DPOS的出现最主要还是因为矿机的产生,大量的算力在不了解也不关心比特币的人身上,类似演唱会的黄牛,大量囤票而丝毫不关心演唱会的内容。

PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法。见前文拜占庭容错算法介绍。
PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。

以上主要是目前主流的共识算法。
从时间上来看,这个顺序也是按该共识算法从诞生到热门的顺序来定。
对于POW,直接让比特币成为了现实,并投入使用。而POS的存在主要是从经济学上的考虑和创新。而最终由于专业矿工和矿机的存在,让社区对这个标榜去中心化的算法有了实质性的中心化担忧,即传闻60%~70%的算力集中在中国。因此后来又出现DPOS,这种不需要消耗太多额外的算力来进行矿池产出物的分配权益方式。但要说能起到替代作用,DPOS来单独替代POW,POS或者POW+POS也不太可能,毕竟存在即合理。每种算法都在特定的时间段中有各自的考虑和意义,无论是技术上,还是业务上。

如果跳出技术者的角度,更多结合政治与经济的思考方式在里面,或许还会跳出更多的共识算法,如结合类似PPP概念的共识方式,不仅能达到对恶意者的惩罚性质,还能达到最高效节约算力的目的也说不定。

至于说算法的选择,这里引用万达季总的这一段话作为结束:

一言以蔽之,共识最好的设计是模块化,例如Notary,共识算法的选择与应用场景高度相关,可信环境使用paxos 或者raft,带许可的联盟可使用pbft ,非许可链可以是pow,pos,ripple共识等,根据对手方信任度分级,自由选择共识机制,这样才是真的最优。

区块链目前的几大共识算法

相关文章

  • 区块链目前的几大共识算法

    共识机制:区块链事务达成分布式共识的算法。 区块链是一种去中心化的分布式账本系统,它可以用于登记和发行数字化资产、...

  • 007.认识区块链(三)-共识算法

    共识算法就是指让区块链内容所有人区块认可新增的区块。目前有两种比较核心的共识算法:异步拜占庭共识模型(BTF共识模...

  • Fabric链码开发

    智能合约 随着区块链技术的应用和发展,区块链几大关键技术正在经历快速演进,如共识算法、智能合约、跨链事务、隐私保护...

  • EOS的超级节点治理

    EOS采用的是DPOS共识机制(区块链石墨烯技术),DPOS被认为是目前唯一能满足区块链应用性能需求的共识算法。 ...

  • 12/666[小屋]主流共识算法的初研

    共识算法是所有区块链的基础,是区块链中最重要的部分,但也是区块链中最难理解的一部分。攻克了共识算法,就攻克了区块链...

  • 公链之争——谁是更有效的共识算法

    目前区块链公链共识算法大体可以分为两大类,其一,以比特币为代表的POW共识算法;其二、以EOS、VSYS为代表的P...

  • POW是什么鬼?

    对于区块链有了解的朋友都知道,目前主流的区块链共识算法有POW,POS,DPOS,POI等等。今天我们来详细了解下...

  • 共识算法指南:什么是共识机制?

    这个共识算法指南着眼于一个常见的问题,什么是共识机制,以及为什么区块链需要共识机制。 介绍区块链 区块链技术被广泛...

  • 漫谈区块链共识机制

    共识机制是区块链的一个核心特征,是保证区块链系统在分布式架构下的一致性方案。目前主流的也有好多种共识算法:POW、...

  • 无标题文章

    区块链共识机制浅谈 - Jeffrey__Zhou的博客 - CSDN博客:文章介绍了区块链各共识机制的核心算法,...

网友评论

    本文标题:区块链目前的几大共识算法

    本文链接:https://www.haomeiwen.com/subject/upksfftx.html