论文部分内容阅读
区块链技术是下一代云计算的雏形,有望像互联网一样彻底重塑人类社会活动形态,并实现从目前的信息互联网向价值互联网的转变。共识算法是区块链技术的核心,使得区块链可以在无需信任单个节点的情况下构建一个去中心化的可信任系统。共识算法可以直接影响区块链性能的好坏,比特币之所以如此成功也与工作量证明(Proof of Work,Po W)的巧妙设计密不可分。然而,当前主流的共识算法都有明显缺陷。比特币所使用的Po W在共识过程中由于算力竞争造成的资源浪费饱受研究者诟病。实用拜占庭容错机制(Practical Byzantine Fault Tolerance,PBFT)适合应用于联盟链,但其违背去中心化的C/S架构以及不支持共识节点的动态加入与退出都是有待解决的问题。Raft实现复杂且没有拜占庭容错能力,难以在公有链与联盟链中应用。由于比特币、以太坊等应用每秒交易数量偏小,近几年各种共识算法层出不穷,越来越多共识算法设计由部分节点参与共识从而提升确认交易速度,这就需要保证产生部分节点过程的公平性。可验证随机函数(Verifiable Random Function,VRF)可以生成随机数,且能验证这个随机数确实是由某人生成的,能够作为公平地生成共识节点的解决方案。本文提出一种基于VRF的拜占庭容错共识算法RBFT。主要工作如下:1.在以太坊的衍生应用Quorum上对经典共识算法进行了性能实验,通过分析实验结果总结出了改进方向;2.对PBFT进行了多项改进,主要有节点增减动态化、替换为P2P网络模型,还有一些改进以加速共识流程;3.算法设计中引入VRF与Po S,VRF带来了高扩展性以及公平性,Po S提升了RBFT的公平性与安全性4.将RBFT实现在Quorum中,得以直接应用于企业联盟链。经过实验评估得到RBFT的实验结果,相比PBFT、Raft、Po W等算法都有明显的优势,尤其适合用于联盟链场景。