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官方共识机制(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共识等,根据对手方信任度分级,自由选择共识机制,这样才是真的最优。

结束语

觉得好的朋友可以给我大赏一杯咖啡,获得作者的友谊!原创不易:)
方式一:支付宝

方式二:以太坊

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

  1. 区块链共识算法:PoS即权益证明 DPoS委托授权的权益证明

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 随着比特币价格暴涨,基于比特币的区块链技术引起各方关注,其核心就是共识算法.随着区块链技术的发展共识算法也在不断创新与发 ...

  2. 区块链共识算法Proof-of-Stake (PoS/权益证明) 常见问题解答 (1)

    Original post: https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ 什么是Proof-of-Stake 权益证明(PoS)是 ...

  3. 深入理解区块链共识算法

    区块链的概念: 区块链是一种去中心化.不可篡改.可追溯的分布式数据库系统[3].区块链系统中底层网络采用对等式网络(P2P 网络)组织各个独立的网络节点.P2P网络是扁平式的拓扑结构, 网络中的每个节 ...

  4. 比较流行的几种区块链共识算法

    在每一种的加密货币背后,都有一种伟大的共识算法. 但没有一种共识算法是完美的,但它们各有优缺点.他们的主要目标是防止双重支出. 重要的是要记住,它们都不是绝对完美的,在分散或部分分散化的环境中,不存在 ...

  5. 15种区块链共识算法全面详解

    1,摘要 本文尽可能列出所有主要的共识算法,评估各自的优劣之处.共识算法是区块链的核心技术,本文会跟随作者的理解,持续更新.如果读者发现有所遗漏,或是存在错误,希望能通过评论指出. 2,区块链共识算法 ...

  6. 主流区块链共识算法大全

    1. 引言 主要参考资料见: Lear With Whiteboard 2023年4月博客 All Major Blockchain Consensus Algorithms Explained 视频 ...

  7. 区块链共识算法的发展现状与展望

    来源:平行区块链 摘 要 共识算法是区块链技术的核心要素, 也是近年来分布式系统研究的热点. 本文系统性地梳理和讨论了区块链发展过程中的 32 种重要共识算法, 介绍了传统分布式一致性算法以及分布式共 ...

  8. 区块链共识算法及应用研究

    摘要 作为区块链核心技术的共识算法,为区块链的去中心化.开放自治.信息不可篡改.匿名溯源等功能的实现提供了机制支撑和保障,实现了分布式系统中强一致性和最终一致性的高效达成.以比特币出现为时间节点,将共 ...

  9. 【区块链讲师会前访谈】结合应用场景 区块链共识算法如何选择?

    再过8天,2017中国云计算技术大会将在北京隆重举行. 今年,2017年中国云计算技术大会将继续在技术基石上,更着重行业实践和应用.综合来看,本次大会将围绕"四大主题峰会+八大专题论坛&qu ...

  10. CCR量化:什么是区块链共识算法?

    在我们定义区块链共识算法之前,了解"共识"的含义至关重要.简而言之,这是一种达成协议的方式.区块链是一个分散的系统,没有单一的管理元素.为了在彼此之间建立某种信任,参与者应该就一些 ...

最新文章

  1. UVa11300 Spreading the Wealth(数学问题)
  2. cmd MySQL登录
  3. php调用webservice报错Class 'SoapClient' not found
  4. 在Ubuntu 18.04 LTS 入门 ROS Melodic 机器人 操作系统
  5. 苹果和谷歌在印度下架数十款中国应用;贾跃亭宣布破产重组完成;Tails 4.8 发布| 极客头条...
  6. 程序员才懂的 1 首歌和 6 张图
  7. 夜神模拟器访问本地服务端口操作说明
  8. 最新稳定短视频去水印免费解析API接口分享
  9. YuxuanSys WMS412无线流媒体网关在会议场景中的应用一
  10. 微积分公式与运算法则
  11. 两代人不同的求学之路
  12. https://www.cnblogs.com/h2zZhou/p/5440271.html
  13. windows凭据管理
  14. 马库斯批判Hinton、吴恩达、LeCun等煽风点火!炒作将带来AI寒冬
  15. hadoop安装与启动
  16. 服务器推送小程序,小程序之主动推送消息(订阅消息)
  17. 删除文件过一会又回来_内存卡数据删了又自动回来怎么回事
  18. python:python基础语法三,列表、元组、字典、集合
  19. 【网单服务端】超神传盛唐仙神妖魔混战超神传单机网单+视频教程+GM工具
  20. Web阶段八:Ajax

热门文章

  1. 题目 1605: 阿尔法乘积
  2. K8s入门篇---centos7下的k8s搭建部署
  3. 电子科技大学计算机学院夏令营作用,电子科技大学计算机科学与工程学院(专业学位)计算机技术保研夏令营...
  4. 当代最伟大数学家讲述二十世纪的数学
  5. 定义QQ气泡diy接口
  6. linux自定义命令行参数,如何自定义一个Linux命令(简单易懂版)
  7. k8s --洗洗脑--云计算趋势
  8. 日语汉字发音规律(附表格)
  9. Golang 下载文件
  10. 前端开发人员必须了解的七大技能图谱