首页 > 专栏

【专栏】科普系列一:区块链共识机制

陈云峰 · 零壹财经 2019-08-06 10:02:30 阅读:12213

关键词:奖励安全性技术数量算法

01 共识机制的评价标准 区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制。区块链上采用不同的共识机制,在满足一致性和有效性的同时,会对系统整体性能产生不同影响。通常主要从以下四个角度评价各共识机制: (1)安全性,即是否可以防止二次支付、自私挖矿等攻击...
01 共识机制的评价标准

区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制。区块链上采用不同的共识机制,在满足一致性和有效性的同时,会对系统整体性能产生不同影响。通常主要从以下四个角度评价各共识机制:

(1)安全性,即是否可以防止二次支付、自私挖矿等攻击,是否有良好的容错能力。

(2)扩展性,即是否支持网络节点扩展。

(3)性能效率,即从交易达成共识被记录在区块链中至被最终确认的时间延迟,也即系统每秒可处理确认的交易数量。

(4)资源消耗,即在达成共识的过程中,系统所要耗费的计算资源大小,包括CPU、内存等。

02 主流共识机制

目前,主流的共识机制有PoW、PoS、DPoS、PBFT等。

1. PoW 

PoW,全称Proof of Work,即工作量证明机制,是第一个区块链共识机制,最早由BTC采用。其主要依赖机器进行数学运算,通过计算随机哈希散列的数值解来获取记账权。目前,采用该机制的有:BTC、BCH、LTC等。

PoW的优点在于:(1)完全的去中心化,节点可以自由进出;(2)算法简单,容易实现;(3)节点间无需交换额外的信息即可达成共识;(4)安全性高,破坏系统需要投入极大的成本,即要求全网50%节点出错。

缺点在于:(1)挖矿造成大量的资源浪费,资源消耗大;(2)区块的确认时间较难缩短,且达成共识的周期较长,每次达成共识,都需全网共同参与运算,不适合商用;(3)所需算力较大,新的区块链必须找到一种不同的散列算法,否则将会面临比特币的算力攻击;(4)难以达成最终一致性,容易产生分叉,需要等待多个确认。

举例说明:向阳一班采用记账的方式将班级发生的大小事件记录在账本上(相当于区块链),该账本由很多个小本子串联而成,且每个小本子的启用需要进行一个数学运算。为鼓励同学们积极记录班级发生的大小事件,班级规定最先计算出数学题、开启小本子并记录的同学,将获得相应的奖励币(相当于代币)。具体而言,即若A同学最先计算出第n个小本子的数学题,开启一个新的小本子,并记录下B同学获得物理竞赛一等奖的消息,A同学则获得相应的奖励币,班集体也开始用新的小本子记账。此时,若C同学想要修改小本子记录的B同学获奖的消息,则需要重新计算出第n个小本子的数学题,并对B同学获奖的消息进行修改。但由于C同学计算第n个小本子数学题的时间落后于A同学,导致C同学在计算第n个小本子的数学题时,D同学可能已经计算出第n+1个小本子的数学题了,除非C同学能够说服50%以上的同学,否则已经记录B同学获奖的消息将不会被改变,这就是PoW的运作原理。

2. PoS  

PoS,全称Proof of Stake,即权益证明机制,亦称之为股权证明机制,是PoW 的一种升级共识机制,主要解决了 PoW 工作量计算浪费的问题。其本质是采用权益证明来代替PoW中的基于哈希算力的工作量证明,由系统中具有最高权益而非最高算力的节点获得区块记账权。具体而言,即PoS以特定数量的币与其最后一次交易的时间长度的乘积为币龄,每次交易都将消耗一定币龄,消耗币龄越多,挖矿难度越低,累计消耗币龄最多的区块将被加入主链,获得记账权。目前,采用该机制的有:ADA、ONT、ATOM等。
PoS的优点在于:(1)避免挖矿造成大量的资源浪费;(2)缩短了各个节点之间达成共识的时间。

缺点在于:(1)仍需要挖矿;(2)基于哈希运算竞争获取记账权的方式,可监管性弱。

举例说明:向阳一班在前述记账方式的前提下,对记账权的取得进行一些调整。班级规定,每次月考前,持有奖励币最多且持有时间最长(其乘积相当于币龄)的同学,可以在账本上记录班级发生的大小事件,并获得相应的奖励币。具体而言,即若A同学在4月份的月考前,持有奖励币最多,为100个,且持有时间最长,达20天,则A同学获得记账权,可以将C同学获得化学竞赛特等奖的消息记录在账本上,并获得相应的奖励币(假设记录后的奖励为年5%,则奖励币=100*20*5%/365=0.27),这就是PoS的运作原理。

3. DPoS  

DPoS,全称Delegated Proof of Stake,即委托权益证明机制,是PoS的一个演化版本,最初由Bit Shares社区提出。其类似于董事会投票,首先通过 PoS 选出代表,进而从代表中选出区块生成者并获得收益。简单而言,即赋予每一个持币人以投票权,通过投票产生一定数量的代表(也即超级节点),而后由这些被选出来的超级节点来代理持币人进行验证和记账,这些超级节点便能获得节点奖励。目前,采用该机制的有:EOS、TRX等。

DPoS的优点在于:大幅减少了参与验证和记账的节点数量,可以达到秒级的共识验证。

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

举例说明:向阳一班最新的记账方式运行正常,但由于部分同学将要参加其他学校组织的为期两个月的交流会,为保障记账的顺利进行,班级规定可以投票选择留在学校的同学代为记账,代为记账的同学可获得相应的奖励。具体而言,即若A同学、B同学等均要参加交流会,遂投票选择C同学、D同学等代为记账,C同学、D同学一旦获得记账权并记录下班级发生的大小事件,则可获得相应的奖励,这就是DPoS的运作原理。

4. PBFT  

PBFT,全称Practical Byzantine Fault Tolerance,即实用拜占庭容错机制,其主要研究在分布式系统中,如何在有错误节点的情况下,实现系统中所有正确节点对某个输入值达成一致。具体而言,即首先由主节点发布包含待验证记录的预准备消息,各个节点收到预准备消息后进入准备阶段;其后,主节点向所有节点发送包含待验证记录的准备消息,各个节点收到准备信息后,需验证其正确性,并将正确记录保存后发送给其他节点;最后,待某一节点收到 2f(f为失效节点) 个不同节点发送的与其收到的预准备消息一致的正确记录时,该节点有权向其他节点广播确认消息并进入确认阶段,直至每个节点收到 2f+1个确认消息,协议终止,各节点对该记录达成一致。

PBFT的优点在于:(1)系统运转可以脱离币的存在,共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证;(2)共识的时延为2~5秒,基本达到商用实时处理的要求;(3)共识效率高,可满足高频交易量的需求。

缺点在于:(1)当有1/3或以上记账人停止工作后,系统将无法提供服务;(2)当有1/3或以上记账人联合作恶,且其他所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉。

举例说明:PBFT算法要求至少要4个参与者,一个是总机长,其它3个机长分别负责飞行任务。总机长接到总部命令:向前飞行1000公里,总机长就会给3个机长发命令向前飞行1000公里。3个机长收到消息后会执行命令,并汇报结果。A机长说:“我在首都以东1000公里”,B机长说:“我在首都以东1000公里”,C机长说:“我在首都以东800公里”。总机长总结3个机长的汇报,发现首都以东1000公里占多数(2票>1票),所以就会忽略C机长的汇报结果,给总部汇报:现在飞行队是在首都以东1000公里,这就是PBFT算法。

总之,良好的共识机制,可以提高系统性能,有利于区块链技术在理论和实践中的应用与发展。主流共识机制都有各自的特点和适用领域,需要进行不断地完善和创新。

参考文献

[1] 吕志宽,李韶华,马振军.对话区块链[M].清华大学出版社,2018.

[2] 刘童桐.区块链共识机制研究与分析[J].信息通信技术与政策,2018(07):26-33.

[3] 韩璇,刘亚敏.区块链技术中的共识机制研究[J].信息网络安全,2017(09):147-152.

零壹智库推出“金融毛细血管系列策划”,通过系列文章、系列视频、系列报告、系列研讨会和专著,系统呈现“金融毛细血管”的新状态、新功能、新价值、新定位。
 

相关文章


用户评论

游客

自律公约

所有评论


资讯排行

  • 48h
  • 7天


专题推荐

more

第四届中国零售金融发展峰会(共15篇)

《陆家嘴》交流会第6期(共14篇)

2022第一届中国数字科技投融资峰会(共43篇)

2019年数字信用与风控年会(共15篇)



耗时 142ms