[区块链]共识算法(POW,POS,DPOS,PBFT)介绍和心得

原创 2017年03月12日 18:31:19

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,委任权益证明

PS:关于此协议的详细内容,可以参考最新的博文《[区块链]DPoS官方共识机制(BTS/EOS)详解
比特股的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共识等,根据对手方信任度分级,自由选择共识机制,这样才是真的最优。

版权声明:都是原创文章,欢迎分享或转载~但请注明来源!版权合作可以联系微信:13218779868 https://blog.csdn.net/lsttoy/article/details/61624287

内存映射文件之剖析(一)

 内存映射文件之剖析                                                                              作者:xrbeck 内存...
  • xrbeck
  • xrbeck
  • 2002-07-04 11:24:00
  • 6053

DPOS机制

前言共识机制是分布式应用软件特有的算法机制。在中心化的软件里,再复杂的问题都可以避开使用复杂的算法逻辑(当然,如果能用算法统领,代码会更加简洁、高效),在开发设计上可以省却一定的麻烦。但在分布式软件开...
  • omnispace
  • omnispace
  • 2018-02-15 13:45:26
  • 630

股份授权证明机制简介(DPOS Consensus Algorithm)

前言https://www.jianshu.com/p/3d9c751b2ac8 以下文章有关DPoS共识机制的部分撷取自DPOS Consensus Algorithm - The Missing ...
  • PZ0605
  • PZ0605
  • 2018-01-12 10:18:57
  • 540

详解DPoS共识算法

一、DPoS 的诞生想象这样一家公司:公司员工总数有1000人,每个人都持有数额不等的公司股份。每隔一段时间,员工可以把手里的票投向自己最认可的10个人来领导公司,其中每个员工的票权和他手里持有的股份...
  • omnispace
  • omnispace
  • 2018-03-22 14:20:56
  • 398

区块链共识算法 PBFT(拜占庭容错)、PAXOS、RAFT简述

共识算法 区块链中最重要的便是共识算法,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理便的不怎么重要了,而今P...
  • jerry81333
  • jerry81333
  • 2017-07-04 15:16:31
  • 17277

DPOS共识算法-by BM

这是缺失的白皮书,关于DPOS,Delegated proof of stake,委托权益共识算法的解析1。本文将分析DPOS是如何工作的,以及说明算法的有效性。一份更早的关于DPOS的介绍可以在 h...
  • omnispace
  • omnispace
  • 2018-02-14 18:18:30
  • 612

浅谈区块链共识机制与分布式一致性算法

本文通过介绍传统分布式一致性算法和区块链共识模型,以及提出了一些有关两者关系的观点,让大家有个比较系统的了解。 一、前言 本文打算先提出观点。欢迎大家参与讨论。 1. 传统分布式一致性算法和区块...
  • u011537073
  • u011537073
  • 2017-01-10 23:07:52
  • 9390

区块链中常用共识算法

本文是对区块链技术中涉及的共识算法的学习总结整理。 其中PBFT和Raft是联盟链和私有链常用的共识算法,而PoW(比特币采用)和PoS是公有链常用的共识算法。建议对区块链的学习,要分成是公有链还是联...
  • s_lisheng
  • s_lisheng
  • 2017-09-18 19:15:21
  • 7276

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

共识机制:区块链事务达成分布式共识的算法。区块链是一种去中心化的分布式账本系统,它可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链系统与传统的中心化账本系统...
  • qq_35624642
  • qq_35624642
  • 2017-08-28 22:28:21
  • 4775

Hyperleger源码分析--共识算法

共识算法(consensus) peer节点启动的时候根据配置文件core.yaml文件配置项peer.validator.consensus.plugin选择采用哪种共识算法。目前Fabric实现...
  • AAA123524457
  • AAA123524457
  • 2016-10-20 16:29:41
  • 1125
收藏助手
不良信息举报
您举报文章:[区块链]共识算法(POW,POS,DPOS,PBFT)介绍和心得
举报原因:
原因补充:

(最多只允许输入30个字)