盘点|一文读懂11个主流共识算法, 彻底搞懂PoS,PoW,dPoW,PBFT,dBFT这些究竟是什么鬼...

本文深入浅出地介绍了区块链中的共识算法,包括PoW(工作量证明)、PoS(权益证明)、dPoW(延迟工作量证明)、PBFT(实用拜占庭容错算法)等主流共识机制,分析了它们的优缺点及应用场景。共识算法是区块链系统可信性的基石,不同的算法设计旨在解决去中心化网络中数据一致性的问题,如比特币使用PoW,以太坊即将转向PoS。文章旨在帮助读者理解这些共识算法的基本原理,以便更好地理解和选择适合的区块链技术。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

作者 | Aholiab


在区块链的交流和学习中,「共识算法」是一个很频繁被提起的词汇,正是因为共识算法的存在,区块链的可信性才能被保证。


常见的共识算法有很多,例如PoW(Proof of Work,工作量证明)、PoS(Proof of Stake,权益证明)、DPoS(Delegate Proof of Stake,委托权益证明)、PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)等。


说白了,不同的算法其实就是不同的游戏玩法。在区块链世界,共识一般都是通过特定的数学算法实现。


那么到底什么是共识算法?每天听到的这些共识算法到底是什么意思?本篇文章就为你一一梳理,相信读完之后,可以得到不少的谈资


在讲解共识算法之前,我们先来看看什么叫共识。



说人话,谈谈共识算法


所谓共识,简单理解就是指大家都达成一致的意思。其实在现实生活中,有很多需要达成共识的场景,比如开会讨论,双方或多方签订一份合作协议等。


而在区块链系统中,每个节点必须要做的事情就是让自己的账本跟其他节点的账本保持一致。如果是在传统的软件结构中,这几乎就不是问题,因为有一个中心服务器存在,也就是所谓的主库,其他的从库向主库看齐就行了。


在现实生活中,很多事情人们也都是按照这种思路来的,比如企业老板发布一个通知,员工照着做。但是区块链是一个分布式的对等网络结构,在这个结构中没有哪个节点是“老大”,一切都要商量着来。


所以在区块链系统中,如何让每个节点通过一个规则将各自的数据保持一致是一个很核心的问题,这个问题的解决方案就是制定一套共识算法。


共识算法其实就是一个规则,每个节点都按照这个规则去确认各自的数据。我们暂且抛开算法的原理,先来想一想在生活中我们会如何解决这样一个问题:假设一群人开会,这群人中没有一个领导或者说老大,大家各抒己见,那么最后如何统一出一个决定出来呢?


640?wx_fmt=jpeg


一般,我们一般会在某一个时间段中选出一个人,那个人负责汇总大家的内容,然后发布完整的意见,其他人投票表决,每个人都有机会来做汇总发表,最后谁的支持者多就以谁的最终意见为准。


这种思路其实就算是一种共识算法了。然而在实际过程中,如果人数不多并且数量是确定的还好处理,如果人数很多且数量也不固定,那就很难通过这种方式投票决定了,效率太低。我们需要通过一种机制筛选出最有代表性的人,在共识算法中就是筛选出具有代表性的节点


这就需要设计出一组条件,而这组条件就是我们所谈的共识算法。目前主流的共识算法有很多,接下来,营长就为大家一一科普每种共识算法的机制、特性和优劣。



1. 工作量证明(PoW,Proof of Work)


优点:自 2009 年以来得到了广泛测试,目前依然得到广泛的使用。

缺点:速度慢;耗能巨大,对环境不好;易受“规模经济”(economies of scale)的影响。

使用者:Bitcoin、Ethereum、Litecoin、Dogecoin等。

类型:有竞争共识(Competitive consensus)。


工作量证明(Proof Of Work,简称POW)应该算是最常见的共识算法之一,简单理解就是一份用来确认你做过一定量的工作的证明。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。比如现实生活中的毕业证、驾驶证等等,也是通过检验结果的方式(通过相关的考试)所取得的证明。


工作量证明系统(或者说协议、函数),是一种应对拒绝服务攻击和其他服务滥用的经济对策。它要求发起者进行一定量的运算,也就意味着需要消耗计算机一定的时间。这个概念由Cynthia Dwork 和Moni Naor 1993年在学术论文中首次提出。而工作量证明(POW)这个名词,则是在1999年 Markus Jakobsson 和Ari Juels的文章中才被真正提出。


640?wx_fmt=jpeg


PoW 并非一个新理念,但是中本聪将 Pow 与加密签名、Merkle 链和 P2P 网络等已有理念结合,形成一种可用的分布式共识系统。加密货币是这样系统的首个基础和应用,因而独具创新性。


在 PoW 的工作方式中,区块链参与者(称为「矿工」)要在区块链中添加一块交易,必须解决某种「复杂但是无用」的计算问题。


本质上,这种做法可确保矿工花费了一些金钱或资源(矿机)完成工作,这表示了它们将不会损害区块链系统,因为对系统的损害也将会导致投资的损失,进而损害他们自身。


为保证运行区块时间不变,问题的复杂性会发生变化。有时,会存在多名矿工同时解决了问题。在这种情况下,每位矿工从中选取一个区块链,并以选取最长链者为获胜者。


因此,如果假定大多数矿工工作在同一个链上,那么成长最快的链将成为最长和最值得信任的链。这样,只要由矿工提交的工作有超过一半是值得信任的,那么加密货币就是安全的。



2. 权益证明(PoS,Proof of Stake)


优点:节能;攻击者代价更大;不易受“规模经济”的影响。

缺点:「无利害关系」(Nothing at stake)攻击问题。

使用者:Ethereum(即将推出)、Peercoin、Nxt。

  • 13
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值