区块链关键技术之一:共识算法

共识算法到底是什么?

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

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

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

那么作为区块链技术的第一个应用比特币是怎么解决这个问题的呢。中本聪在比特币的白皮书中有提到将工作量证明(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张图片

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

区块链关键技术之一:共识算法_第2张图片

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

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

共识算法在华为云的应用

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

区块链关键技术之一:共识算法_第3张图片

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

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

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

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

你可能感兴趣的:(区块链,区块链,共识算法,算法)