赞
踩
区块链三要素:
- 去中心化
- 共识算法
- 智能合约
共识算法作为区块链三大核心技术之一,其重要性不言而喻。今天就来简单介绍共识算法的基本知识。
最简单的解释,共识算法就是要让所有节点达成共识,保证少数服从多数!大多数人认定一件事,这件事就是事实,也就意味着如果你要去改变一个既定事实,那么你必须伙同大多数人陪你一起作假。
区块链共识算法的分类标准不一,且其种类和数量还在增长,但可以大致根据容错类型、部署方式和一致性程度等加以分类。
看到这里有些读者开始疑惑了,什么是选主策略呢?下表列出了常见的选主策略:
选主策略 | 具体解释 |
---|---|
选举类共识 | 即矿工节点在每一轮共识过程中通过“投票选举”的方式选出当前轮次的记账节点,首先获得半数以上选票的矿工节点将会获得记账权多见于传统分布式一致性算法,如Paxos和Raft等 |
证明类共识 | 也称为“ProofofX”类共识,即矿工节点在每一轮共识过程中必须证明自己具有某种特定的能力,证明方式通常是竞争性地完成某项难以解决但易于验证的任务,在竞争中胜出的矿工节点将获得记账权;如PoW和PoS等共识算法是基于矿工的算力或者权益来完成随机数搜索任务,以此竞争记账权 |
联盟类共识 | 即矿工节点基于某种特定方式首先选举出一组代表节点,而后由代表节点以轮流或者选举的方式依次取得记账权,这是一种以“代议制”为特点的共识算法,如DPoS等 |
混合类共识 | 即矿工节点采取多种共识算法的混合体来选择记账节点,如PoW+PoS混合共识、DPoS+BFT共识等 |
常见共识算法表:
共识算法 | 用途 |
---|---|
Paxos | Google Chubby |
Raft | ETCD |
ZAB | Zookeeper |
PoW | 比特币、莱特币、以太坊的前三个阶段 |
PoS | EER Coin、NXT、以太坊第4阶段 |
DPoS | BitShare |
PBFT | Hyperledger Fabric |
Hotstuff | Libra(Facebook/Meta) |
常见共识算法图:
PoX类的共识算法主要包括比特币所采用的PoW共识及一些类似项目(如莱特币等)的变种PoW,即为大家所熟知的“挖矿”类算法。
核心思想:实际是所有节点竞争记账权,而对于每一批次的记账(或者说挖出一个区块)都赋予一个“难题” ,要求只有能够解出这个难题的节点挖出的区块才是有效的。
此类算法的代表有:PoW,PoS,DPoS
与PoX类共识算法相比,BFT类共识算法采用了完全不同的思路。它希望所有节点协同工作,通过协商的方式来产生能被所有(诚实)节点认可的区块。
拜占庭容错问题最早由Leslie Lamport等学者于1982年在论文《The ByzantineGenerals Problem》中正式提出,主要描述分布式网络节点通信的容错问题。从20世纪80年代起,提出了很多解决该问题的算法,这类算法被统称为BFT算法。
非拜占庭错误(CFT)与拜占庭错误(BFT):
BFT类代表算法:
其中实用拜占庭(Practical BFT,PBFT)算法是最经典的BFT算法,由Miguel Castro和Barbara Liskov于1999年提出。PBFT算法解决了之前BFT算法容错效率较低的问题,且降低了算法的复杂度,使BFT算法可以实际应用于分布式系统。它能在恶意节点数不超过总结点数1/3的情况下达成共识。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。