Author

Topic: 区块链共识机制的分类和优缺点简析 (Read 178 times)

newbie
Activity: 140
Merit: 0
谢谢楼主的分析啊,很中肯的评价,学习到了,帮楼主顶一个。
嗯,学到了,多了解一次就多一点希望。
newbie
Activity: 168
Merit: 0
費電在中國目前不是什麼問題啊,在四川那邊的水電根本就是過剩,有的比特幣挖礦只能說是資源最大化利用
在国外就很是问题,只有绿色化才能走的更远。
newbie
Activity: 90
Merit: 0
谢谢楼主的分析啊,很中肯的评价,学习到了,帮楼主顶一个。
member
Activity: 140
Merit: 12
根据最近以太和门罗的风波,POW的一个主要缺点就是矿机的威胁
主要是费电。
newbie
Activity: 87
Merit: 0
根据最近以太和门罗的风波,POW的一个主要缺点就是矿机的威胁
member
Activity: 140
Merit: 10
这贴又有几种新的算法没看到过,谢谢楼主的扫盲工作
看到知识贴,挺好的。
member
Activity: 140
Merit: 10
感谢普及,多了解下还是不错的。辛苦了。
jr. member
Activity: 56
Merit: 10
区块链的基础是P2P分布式网络、加密算法和共识机制。

在这些基础技术中,共识机制是至关重要的。可以说共识机制是区块链技术的核心,共识机制对于一个区块链系统来说就是它的灵魂。

共识机制很大程度上决定了整个区块链系统节点间的相互信任程度,也决定了其他使用者对于区块链上数据的信任程度。

区块链与普通分布式系统,尤其是分布式数据库最大的区别就是“去中心化”,而正是共识机制决定了一个区块链系统“去中心化”的程度。

通常,我们把区块链分为两大类:一种是公有链,一种是非公有链。

这两种区块链的核心区别在于:参与共识的节点是否是受控的。


对于公有链来说,互联网上的任何计算机都可以通过运行相应的区块链程序,参与整个区块链的共识;

而对于非公有链来说,通常需要获得之前区块链节点中大部分节点的同意,或者通过其他某种机制,获得参与共识的权力。


目前主要几类共识算法如下:PoW、PoS、DPos、Ripple Consensus、PBFT、dBFT、POOL验证池


1.PoW(工作量证明)


通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;


优点:易实现,节点间无需交换额外的信息即可达成共识,破坏系统需要投入极大的成本。

缺点:浪费能源,区块的确认时间难以缩短;共识达成的周期较长,不适合商业应用


2.PoS(权益证明)


PoW的一种升级共识机制,本质上是采用权益证明来代替PoW的算力证明,记账权由最高权益的节点获得,而不是最高算力的节点。根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。


优点:解决了PoW 消耗算力的问题,在一定程度上缩短了共识达成的时间

缺点:拥有权益 的参与者未必希望参与记账,还是需要挖矿。


3.DPos(股份授权证明机制)


类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。


优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。

缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。


4.Ripple Consensus(瑞波共识算法)


使一组节点能够基于特殊节点列表达成共识。初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由51%的该俱乐部会员投票通过。共识遵循这核心成员的51%权力,外部人员则没有影响力。由于该俱乐部由“中心化”开始,它将一直是“中心化的”,而如果它开始腐化,股东们什么也做不了。


5.PBFT:Practical Byzantine Fault Tolerance(实用拜占庭容错算法)

在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容错性。

在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator / Commander)或成员计算机 (Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。


拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。

而拜占庭问题的可能解决方法为:


在 N ≥ 3F + 1 的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。


优点:

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

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

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

缺点:

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

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


6.dBFT: delegated BFT 授权拜占庭容错算法

小蚁(NEO)采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。

此算法在PBFT基础上进行了以下改进:


将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;

将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;

为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);

在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。


优点:

1)专业化的记账人;

2)可以容忍任何类型的错误;

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

4)算法的可靠性有严格的数学证明;

缺点:

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

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

以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。


7.POOL验证池


基于传统的分布式一致性技术,加上数据验证机制。


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

缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。
Jump to: