首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链中的共识机制都有哪些?

1

POW:Proof of Work,工作证明

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

优点

1

算法简单,容易实现。

2

节点间无需交换额外的信息即可达成共识。

3

破坏系统需要投入极大的成本。

缺点

1

浪费能源。

2

区块的确认时间难以缩短。

3

新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击。

4

容易产生分叉,需要等待多个确认。

5

永远没有最终性,需要检查点机制来弥补最终性。

典型代币:BTC

2

POS:Proof of Stake,股权证明

POS:也称股权证明,类似于财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。 它将PoW中的算力改为系统权益,拥有权益越大则成为下一个记账人的概率越大。

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

优点

1

不像Pow那么费电。

缺点

1

没有专业化,拥有权益的参与者未必希望参与记账。

2

容易产生分叉,需要等待多个确认。

3

永远没有最终性,需要检查点机制来弥补最终性。

典型代币:ETH

3

DPOS:Delegated Proof of Stake,

委任权益证明

比特股的DPoS机制,中文名叫做股份授权证明机制(又称受托人机制),它的原理是让每一个持有比特股的人进行投票,由此产生101位代表 , 我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。

从某种角度来看,DPOS有点像是议会制度或人民代表大会制度。如果代表不能履行他们的职责(当轮到他们时,没能生成区块),他们会被除名,网络会选出新的超级节点来取代他们。DPoS在PoS的基础上,将记账人的角色专业化,先通过权益来选出记账人,然后记账人之间再轮流记账。DPOS的出现最主要还是因为矿机的产生,大量的算力在不了解也不关心比特币的人身上,类似演唱会的黄牛,大量囤票而丝毫不关心演唱会的内容。

典型代币:EOS

4

PBFT:Practical Byzantine Fault

Tolerance,实用拜占庭容错算法

PBFT是一种状态机副本复制算法,在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容错性。目的是使一个请求发送到分布式系统中时,系统各个节点可以得出一致的、并且是正确的响应。

用一个简单例子说明PBFT 的实现规则,PBFT算法要求至少要4个参与者,一个被选举为总司令,3个师长。总统对总司令下达命令,你们向前行军500公里,总司令就会给3个师长发命令向前行军500公里。3个军长收到消息后会执行命令,并汇报结果。A师长说我在首都以东500公里,B师长说我在首都以东500公里,C师长说我在首都以东250公里。总司令总结3个师长的汇报,发现首都以东500公里占多数(2票>1票),所以就会忽略C军长的汇报结果,给总统说,好了,现在部队是在首都以东500公里了。

优点

1

系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。

2

共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。

3

共识效率高,可满足高频交易量的需求。

缺点

1

当有1/3或以上记账人停止工作后,系统将无法提供服务。

2

当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据。

典型代币:ZIL

5

dBFT:delegated BFT,

授权拜占庭容错算法

dBFT 是在PBFT的基础上改进后使其能够适用于区块链系统的通用共识模块,用户可以将实体世界的资产和权益进行数字化,通过点对点网络进行登记发行、转让交易、清算交割等金融业务的去中心化网络协议。它具有两个区块链接参与者:专业节点运算符(称为记账节点,通过运行节点赚钱)以及用户。由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。

优点

1

专业化的记账人。

2

可以容忍任何类型的错误。

3

记账由多人协同完成,每一个区块都有最终性,不会分叉。

4

算法的可靠性有严格的数学证明。

缺点

1

当有1/3或以上记账人停止工作后,系统将无法提供服务。

2

当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据。

典型代币:NEO(小蚁)

6

RDPoS

RDPoS是在DPoS基础上改进得到共识机制。RDPoS 不仅继承了 DPoS 的优点——不需要消耗额外算力即可实现产块后的权益分配,它还能会根据网络的交易状态动态决定由代理或全体节点验证智能合约的执行结果。代理节点由权益人投票选出。票数最多的前 99 个代理依次轮流验证交易,顺序由所有代理节点共同决定,并保证无法被篡改。代理正 常工作可以获收益,反之工作异常或不工作,则会受到惩罚。RDPoS 相比 DPoS 可进一步提升网络交易能力,在满足智能合约被快速验证的同时,也减少了整个网络 的拥塞。

典型代币:Achain(ATC)

7

RPCA :Ripple共识证明

RPCA协议所创建的区块链是由所有参与者中部分被称作为“网关”的受信任的节点所维护,同时网关之间存在信任关系,而其余的一般参与者则被称为“用户”。用户只能产生交易,并不参与创建区块和记录交易的工作。用户将交易信息发送给自己信任的网关,网关记录自己收到的所有交易并在所有网关之间广播。每一个网关都会和其信任的网关互相校验所记录的交易信息,当信任网关中的80%以上都确认存在该笔交易时,该交易就会被网关记录到区块中,同时完成确认。

和其他共识协议相比,RPCA的优势在于确认交易可以在很短的时间内完成。Ripple公司的愿景是与各国银行合作,让银行扮演跨境交易中网关的角色,用RPCA协议替代现有的SWIFT协议,创建“去中心化”的支付和清算系统。但是由于该协议中网关的作用十分重要,网关的可靠程度将影响整个交易网络的正常运行,所以其“去中心化”的程度受到了一些质疑。

典型代币:Ripple

8

PAXOS

PAXOS是一种基于消息传递且具有高度容错特性的一致性算法。Paxos 是第一个被证明的共识算法,其原理基于 两阶段提交 并进行扩展。算法中将节点分为三种类型:

proposer:提出一个提案,等待大家批准为结案。往往是客户端担任该角色。

acceptor:负责对提案进行投票。往往是服务端担任该角色。

learner:被告知结案结果,并与之统一,不参与投票过程。可能为客户端或服务端。

基本过程包括 proposer 提出提案,先争取大多数 acceptor 的支持,超过一半支持时,则发送结案结果给所有人进行确认。一个潜在的问题是 proposer 在此过程中出现故障,可以通过超时机制来解决。极为凑巧的情况下,每次新的一轮提案的 proposer 都恰好故障,系统则永远无法达成一致(概率很小)。Paxos 能保证在超过 的正常节点存在时,系统能达成共识。

9

Raft

Raft算法是对Paxos算法的一种简单实现。核心思想是:如果数个数据库,初始状态一致,只要之后的进行的操作一致,就能保证之后的数据一致。它包括三种角色:leader、candiate 和 follower,相互可以转换。过程如下:

Leader 选举:每个 candidate 随机经过一定时间都会提出选举方案,最近阶段中得票最多者被选为 leader同步。

log:leader 会找到系统中 log 最新的记录,并强制所有的 follower 来刷新到这个记录。

10

Pool

基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识。

优点

1

不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。

缺点

1

去中心化程度不如比特币;更适合多方参与的多中心商业模式。

以上是比特兑为大家整理的10种共识机制

有些共识机制还没有在项目中被采用过

有些项目可能采用了多种共识机制

希望以上资料能为大家了解项目带来帮助

更多内容敬请关注比特兑

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180208G126AP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券