码迷,mamicode.com
首页 > 编程语言 > 详细

区块链共识算法整理

时间:2019-04-13 15:12:26      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:整数   并且   计算   比例   bitcoin   rac   介绍   成熟   一起   

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

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

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

目前主要有几大类共识机制: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个副本,但是额外的副本除了降低性能之外不能提高可靠性。

区块链共识算法整理

标签:整数   并且   计算   比例   bitcoin   rac   介绍   成熟   一起   

原文地址:https://www.cnblogs.com/pyuan/p/10701157.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!