第十一课 区块链常用共识算法介绍

上一节课我们学习了共识算法理论基础,今天我们继续深入学习区块链共识算法,通过这节课我们将了解工作量证明、权威证明、权威授权证明、实用拜占庭容错等相关内容。

在学习课程的时候,你也可以领取BaaS平台为期一个月的试用机会,免费使用高性能区块链服务(点击链接即可免费领取https://blockchain.xunlei.com/baas/try.html)。课程学习结合实践操作,让你迅速成为区块链大牛!

*以下为第十一课的内容~

第十一课 区块链常用共识算法介绍

1. 共识算法的分类

共识算法解决的是对某个提案(Proposal),大家达成一致意见的过程。根据要解决的问题是普通错误还是拜占庭将军问题,将共识算法分为CFT(Crash Fault Tolerance)和BFT(Byzantine Fault Tolerance)。

CFT已有一些经典的解决算法,包括Paxos、Raft及其变种等。在传统的分布式网络中,各个节点也不会因为贪图利益故意伪造信息,很多情况下是由于网络的原因而掉线或发送错误消息。因此传统分布式系统中均使用CFT类共识算法。

而BFT则是在区块链系统中常用的共识算法。根据算法采取的策略,BFT类算法可以被分为两大类,即概率一致性算法和绝对一致性算法。回顾CAP 原理,两类算法的区别在于对可用性和一致性之间的平衡:概率一致性算法保证了系统的可用性而牺牲了系统的一致性,绝对一致性算法则与之相反,保证了系统的一致性而牺牲了系统的可用性。

1.1 概率一致性算法

概率一致性算法指在不同分布式节点之间,有较大概率保证节点间数据达到一致,但仍存在一定概率使得某些节点间数据不一致。对于某一个数据点而言,数据在节点间不一致的概率会随时间的推移逐渐降低至趋近于零,从而最终达到一致性。

例如工作量证明算法(Proof of Work, PoW)、权益证明算法(Proof of Stake, PoS)和委托权益证明算法(Delegated Proof of Stake, DPoS)都属于概率一致性算法。

1.2. 绝对一致性算法

而绝对一致性算法则指在任意时间点,一旦达成对某个结果的共识就不可逆转,即共识是最终结果,节点之间的数据会保持绝对一致。例如PBFT算法为代表的确定性系列算法即为绝对一致性算法。

2. 区块链项目中常用的共识算法

传统分布式数据库主要使用Paxos和Raft算法解决分布式一致性问题,它们假定系统中每个节点都是忠诚、不作恶的,但报文可能发生丢失和延时等问题。当分布式数据库的所有节点由单一机构统一维护时,此假定成立。在去中心化的区块链网络中,节点由互不了解、互不信任的多方参与者共同提供和维护,受各种利益驱动,网络中的参与者存在欺骗、作恶的可能,因此Paxos和Raft算法不能直接用于区块链的共识。

目前被区块链项目广泛采用的算法有工作量证明(PoW)、权益证明(PoS)、股份授权证明(DPoS)、实用拜占庭容错(PBFT)等, 另外一些项目则采用2种算法的混合算法,如PoW+PoS、DPoS+PBFT等, 此外还有燃烧证明(PoB,Proof of Burn)、沉淀证明(PoD,Proof of Deposit)、能力证明(PoC,Proof of Capacity)、消逝时间证明(PoET,Proof of Elapsed Time)等新型算法。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值