写点什么

区块链中的共识机制简介

作者:中原银行
  • 2022 年 3 月 30 日
  • 本文字数:1911 字

    阅读完需:约 6 分钟

区块链中的共识机制简介

区块链,是一种所有参与节点共同维护,使用密码学技术保证数据传输和安全访问的分布式技术体系。区块链中数据不可篡改并由所有参与节点来共同维护,每个参与节点都具有相同的权利读写区块链网络。


既然所有参与节点都有相同的权利读写区块链网络,那么在某一时刻新生成的区块到底由谁负责写入区块链网络呢?此时,共识机制登场了!

什么是共识机制


共识机制是区块链的重要组件。某一时刻,通过共识机制让平等权利的参与节点达成一致意见,抉择出操作节点,保证区块链中的区块只能由这个节点来负责写入。当前,主流的共识机制主要有实用拜占庭容错机制(PBFT)、工作量证明机制(PoW)、权益证明机制(PoS)、授权股权证明机制(DPoS)等。

主流共识机制介绍


实用拜占庭容错机制(PBFT)


实用拜占庭容错机制(PBFT:Practical Byzantine Fault Tolerance)的提出主要用于解决拜占庭将军问题[1],保证系统中某些节点出现恶意行为时也能够继续运转,其解决方法为:在 N≥3F+1 的情况下,一致性是可能实现的(N 为计算机总数,F 为问题计算机总数)。信息在计算机节点间互相交换后,各计算机节点罗列出所有得到的信息,以大多数的结果作为解决办法。流程图如下:



上图显示了一个简化的 PBFT 的协议通信模式,其中 C 为客户端,0~3 表示服务节点,特别的,0 为主节点,3 为故障节点。整个协议的基本过程如下:


1. 客户端 C 发送请求,激活主节点 0 的服务操作;


2. 当主节点 0 接收请求后,启动三阶段的协议以向各从节点广播请求;

2.1 序号分配阶段,主节点 0 给请求赋值一个序列号 n,广播序号分配消息和客户端 C 的请求消息 Message,并将构造 Pre-prepare 消息给各从节点;

2.2 交互阶段,从节点接收 Pre-prepare 消息,向其他服务节点广播 Prepare 消息;

2.3 序号确认阶段,各节点对视图内的请求和次序进行验证后,广播 Commit 消息,执行收到的客户端的请求并给客户端以响应。


3. 客户端等待来自不同节点的响应,若有 2F+1(F 为最多故障节点的个数)个响应相同,则该响应即为运算的结果。


由于特别适合联盟链的应用场景,实用拜占庭容错机制及其改进算法为目前使用最多的联盟链共识算法,其改进算法在以下方面进行了调整:修改底层网络拓扑的要求,使用 P2P 网络;可以动态地调整节点数量;减少协议使用的消息数量等。


工作量证明机制(PoW)


工作量证明机制(Proof of Work,简称 PoW)通常只能从结果证明,实现过程通常是繁琐且低效的。


比特币在区块的生成过程中使用了 PoW 机制,即一个符合要求的区块哈希值由 N 个前导 0 构成(0 的个数取决于网络的难度值[2])。要得到合理的区块哈希值需要经过大量的尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的区块哈希值,说明该节点确实经过了大量的尝试计算,但是并不能得出计算次数,因为寻找合理的哈希值是一个概率事件。当节点拥有占全网 n%的算力时,该节点既有 n%的概率找到区块哈希值。流程图如下:



PoW 优点在于算法简单,实现容易,节点之间无需交换额外的信息即可达成共识;缺点在于,PoW 依赖机器进行数学运算来获取记账权,资源消耗大、共识机制高、可监管性弱,性能效率比较低,适用场景主要在公链方向。


权益证明机制(PoS)


权益证明(Proof of Stake,简称 PoS)由 Quantum Mechanic 于 2011 年在比特币论坛讲座上首先提出,后经 Peercoin[3](点点币)和 NXT[4](未来币)改造以不同思路实现。


权益证明(PoS)和工作量证明(PoW)类似,但引入了币龄的概念。所谓币龄,就是节点拥有的币的个数和剩余使用时间的乘积。当节点拥有的币龄越大时,计算的难度值就会越小,就越容易获得区块的记账权。获取区块的记账权后,清空一定的币龄并获取到对应的奖励。流程图如下:



相比 PoW,其在一定程度上减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算,竞争获取记账权的方式,可监管性弱。


授权股权证明机制(DPoS)


从名称上,我们也可以判断出 DPoS 与 PoS 共识是直接关联的。DPoS 算法是针对 PoW、PoS 的不足而改进的共识算法,它的目的就是为了提高性能,也就是交易确认时间短。


BitShares 社区首先提出了股份授权证明(DPoS)机制,它与 PoS 的主要区别在于节点选举若干代理人,由代理人验证和记账,但其合规监管、性能、资源消耗和容错性与 PoS 相似。DPoS 的工作原理如下:



DPoS 的缺点在于整个共识机制还是依赖于代币,而很多商业应用是不需要代币的。

主流区块链使用共识机制介绍


参考文献

[1]闵应骅.拜占庭将军问题[J].中国传媒科技,2006(03):35-38.

[2]难度值 https://cloud.tencent.com/developer/news/245238

[3]点点币  https://www.investopedia.com/terms/p/peercoin.asp

[4]未来币 https://www.8btc.com/p/nxt


本文转载自原银科技微信公众号

原文链接: 区块链中的共识机制简介

发布于: 刚刚阅读数: 2
用户头像

中原银行

关注

中原人民自己的银行! 2020.02.06 加入

中原银行是河南省属法人银行,中国500强商业银行第24名,总部位于河南省郑州市。我行以“贴心、专业、合作、共赢”的理念,全力打造中原人民自己的银行! 官方网站:http://www.zybank.com.cn/

评论

发布
暂无评论
区块链中的共识机制简介_区块链_中原银行_InfoQ写作平台