【云小课】应用平台第18课 区块链关键技术之一:共识算法

应用万花筒. 发表于 2021/08/06 09:50:50 2021/08/06
【摘要】 通过上一期的学习,我们已经知道,区块链是一种去中心化的分布式账本数据库。基于去中心和分布式的特点,在区块链系统中会面临一致性和信任问题,如何让不可信的各参与方达成共识呢,这时我们就需要依赖可靠的共识算法了。


云小课.jpg


那共识算法到底是什么?

所谓共识,字面意思就是大家都达成一致的意思,例如篮球比赛,为了能正常开展比赛,所有参与者都要对比赛规则达成共识。简单来讲,共识算法就是指在区块链网络中通过算法手段让所有参与者对某个确定的结果达成一致的一套规则。

区块链为什么需要共识算法

假如没有共识算法,在去中心化的区块链网络中,每个参与者都有一个账本,谁都可以随意篡改账本内容,然后说自己的账本才是合法的,那系统岂不是乱套了。没有规则不成方圆,共识算法作为区块链技术的核心和基础,就好比一个国家的法律,使得区块链能够实现交易的去中心化,同时确保每笔交易在所有记账节点上的一致性和正确性,并得到所有参与方的认可。

那么作为区块链技术的第一个应用比特币是怎么解决这个问题的呢。中本聪在比特币的白皮书中有提到将工作量证明(PoW:Proof of Work)作为了比特币的共识算法,PoW简单理解,就是通过工作量抢夺决策权,你付出越多工作量,就越有机会获得多少记账权(例如比特币)。

除了工作量证明,区块链系统中常见的共识算法有哪些呢?

共识算法示例

由于区块链系统的去中心化,开放性,可扩展性等特性,需要不同的共识算法来实现不同的应用场景,因此产生了很多种类型的共识算法,例如工作量证明PoW(Proof of Work), 权益证明PoS(Proof of Stake),委托权益证明DPoS(Delegated Proof of Stake), 实用拜占庭容错算法PBFT(Practical Byzantine fault tolerance),权威证明PoA(Proof of Authority),使用时间证明PoET(Proof of Elapsed Time),容量证明PoC(Proof of Capacity),空间证明PoSpace(Proof of Space)等。

接下来,简单介绍区块链应用中常见的这三种共识算法:工作量证明PoW(Proof of Work), 权益证明PoS(Proof of Stake),委托权益证明DPoS(Delegated Proof of Stake)。如图所示:

三种共识算法对比差异请参考如下表格:

表1 共识算法

类型

优势

劣势

工作量证明PoW

  1. 去中心化,保证各个节点公平记账。

  2. 算法简单,安全性高,容易实现,有一定安全保障。

  1. 资源浪费,越来越多的矿机形成竞争,设备和电力被大量消耗。

  2. 网络性能低,区块达成共识的时间太长。

权益证明PoS

  1. 节省挖矿的能源,效率高。

  2. 缩短了各个节点达成共识的时间。

  1. 缺少专业化,信用基础不够牢固。

  2. 去中心化特性变弱,参与者权益越多,获得记账权机率更大,容易产生垄断。

委托权益证明DPoS

  1. 比PoS有更高的效率和性能,提高了区块链处理数据的能力。

  2. 缩小参与验证和记账节点的数量,让交易速度实现了质的飞跃。

  1. 投票的积极性并不高。

  2. 去中心程度较弱,节点代理是人为选出的,公平性相比PoS较低。


总的来说,每种共识算法都有自己的优势,所以要结合实际应用场景选择适合的算法。

工作量证明PoW主要是依靠计算机性能决定记账,性能越高,就越有机会获取记账的权利;但是这会导致大量资源的浪费。这时权益证明PoS出现了,主要解决 PoW 机制中大量资源被浪费的情况,即参与者持有币的时间越长,难题越简单,挖到币的概率越大;但是容易产生垄断。在PoS基础上设计出了委托权益证明DPoS,类似于投票选举的共识算法。相对于PoW和PoS,DPOS机制最大的优点之一是共识达成的周期要短很多。

共识算法在华为云的应用

华为云区块链服务(Blockchain Service简称BCS)支持Hyperledger Fabric增强版和华为链服务,主要应用的是快速拜占庭容错共识算法(FBFT)和Raft(CFT)共识算法,两种共识算法介绍请看下图:

共识算法2.png

  1. Hyperledger Fabric增强版支持快速拜占庭容错共识算法(FBFT)和Raft(CFT)共识算法

    以Hyperledger Fabric 为内核,基于华为云全栈可信能力,包括弹性服务器,企业级容器、安全和人工智能等服务,在保持无缝社区对接方式前提下,在可靠性、性能、隐私保护方面做了增强和提升,满足企业级和金融级业务要求。请戳这里了解更多Hyperledger Fabric增强版

  2. 华为链服务:支持Raft(CFT)共识算法

    以BCS自主研发区块链内核为底座,结合可信硬件,具有高安全、高性能、高可扩展、强隐私保护等特点,满足企业级和金融级的可信和协同要求。请戳这里了解更多华为链。

下期预告

听了区块链共识算法的介绍,是不是觉得很神奇呢。下期小编继续带着大家一起学习探讨区块链技术:智能合约,敬请期待,记得关注哦~~

【后续】更多区块链知识等你来解锁哦~~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。