基于LibraBFT共识的Libra安全机制的方案分析与设计毕业论文
2021-11-01 22:19:55
摘 要
随着比特币等虚拟数字货币的发展,区块链技术愈加受到了学者、政府机构以及社会各界的广泛关注。而共识机制作为区块链的核心,它在参与节点就区块达成一致这一问题上起着至关重要的作用,也因此成为了众多学者研究的主要焦点之一。传统的共识算法时间复杂度高、时延大、吞吐量低,针对这些问题,Facebook公司设计提出了LibraBFT算法并应用于Libra区块链当中。
本论文主要以LibraBFT算法为切入点研究了Libra区块链,并从正确性与活性两方面对其安全机制进行了分析。与此同时,本文针对传统共识算法存在的弊端,对LibraBFT进行改进,提出了一种效率更高的基于诚信机制以及双模式共识的改进共识算法。其中,诚信机制在诚实系数的基础上,保证一定比例以内的节点可以直接进入共识,而其他节点则不执行共识;双模式共识则在LibraBFT算法的基础上,通过对投票数目的判断,决定进入哪种模式的共识,从而达到减少共识阶段所带来的时间浪费。
本文所提出的改进算法,在保证通信的基础上,保持了原算法的线性时间复杂度,与此同时,可以使超过100个节点参与的区块链系统的共识时间明显的缩短,执行效率提高了约20%,共识算法的性能得到了明显的优化,同时还提高了算法活性与响应性,加强了对拜占庭节点作恶的处理能力,并保持了良好的安全性。
关键词:区块链;共识算法;Libra;拜占庭容错
Abstract
With the development of virtual digital currency such as Bitcoin, the technology of block chain is getting more and more attention from researchers, governments and other institutes in society. As the core of block chain, consensus plays a vital role in reaching agreements among the nodes which participate in this process. Therefore, consensus has become one of the focus for many researchers. The traditional consensus algorithm are characterized by high time complexity, large time delay and low throughput. To solve problems above, Facebook designed and presented an algorithm called LibraBFT and uses it in the Libra block chain.
This paper takes LibraBFT algorithm as starting point to study Libra, analyzing its security and liveness. Meanwhile, aiming at solving the disadvantages of traditional consensus, this paper presents a improved LibraBFT algorithm by using an honest mechanism and two-mode consensus. Among them, on the basis of honest mechanism, it guarantees that the nodes within a certain proportion can directly enter the process of consensus, while the others will skip this step. The two-mode consensus which is based on LibraBFT decides the type of consensus by using the number of votes so that it can waste less time.
On the basis of ensuring communication, algorithm this paper presents can reduce the time of the block-chain system over 100 nodes which needs to reach agreement and the linear time complexity of the original algorithm has been kept, improving the time efficiency for about 20% and optimizing the algorithm performance. In addition, it can improve the liveness and responsiveness, enhance the ability to deal with the Byzantine nodes and maintain the security.
Key Words:blockchain;consensus mechanism;Libra;byzantine fault tolerance
目录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 2
1.3 本文所做工作 3
第2章 区块链技术 4
2.1 拜占庭将军问题 4
2.2 共识算法 4
2.2.1 PBFT 4
2.2.2 SBFT 5
2.2.3 HotStuff 6
第3章 Libra与LibraBFT算法 7
3.1 Libra 7
3.1.1 核心概念 7
3.1.2 核心语言:Move 8
3.2 LibraBFT共识算法 8
3.2.1 基本概念 9
3.2.2 投票约束 9
3.2.3 提交规则 10
3.3安全机制的分析 10
3.3.1 正确性(Safety) 10
3.3.2 活性(Liveness) 11
第4章 LibraBFT的改进算法 13
4.1 节点选举与等待时间 13
4.1.1 投票器 13
4.1.2 诚实系数 13
4.1.3 等待时间 14
4.2 双模式共识 15
4.2.1 共识模型 15
4.2.2 判定条件 16
4.2.3 提交条件 16
第5章 LibraBFT算法改进前后对比 19
5.1 运行效率 19
5.2 时间复杂度 20
5.3 正确性 20
5.4 活性 20
5.5 响应性 21
第6章 总结与展望 22
6.1 研究总结 22
6.2 研究工作展望 22
参考文献 24
致 谢 26
第1章 绪论
1.1 研究背景及意义
近年来,随着移动互联网的普及与人工智能、物联网等新兴技术的发展,人们日常生活与工作中所产生与接触的数据越来越多,这些数据涉及各行各业,并呈爆炸式增长。因此,数据的隐秘性、真实性也愈加重要,数据所面临的安全问题也日益受到更多人的关注。在此趋势下,区块链技术走进了人们的视野。
2008年,中本聪提出了一种不依靠特定机构发行而是由计算产生的虚拟数字货币——比特币[1]。与此同时,区块链这一概念也随之出现。区块链并不是某一学科中的单一概念,它是由分布式系统、密码学、计算机网络等学科结合而成的一种分布式账本技术。它作为一种公共账本,具有去中心化、开放性、独立性、正确性和匿名性等特点[2],能够有效的解决交易中面临的双花问题等安全问题。凭借上述优势,区块链技术逐渐成为学术领域的研究热点与各国政府的关注焦点之一。如今,区块链技术不再仅仅局限于以比特币为首的数字货币领域,通过各领域学者的研究与开发,它已经被广泛应用到了金融[3]、物联网[4]、教育[5]等与人们生活息息相关的各大领域之中,并向人们展示了其巨大的潜力和光明的前景。
其中,在金融领域,虽然至今我们常见的数字货币已有比特币、以太币、火币等多达十余种币种,但在跨国交易方面,仍缺少一种币值波动较小的数字货币,且随着区块链与数字货币的关注度越来越高,商用区块链领域的研究主要集中在区块链技术的具体应用上,而在技术、原理方面取得的成果较少。在上述前提下,Facebook公司于2019年提出了一种新的数字货币Libra及相关的区块链技术,成为了全球首个抢占区块链滩涂的互联网公司。而Libra币的提出无论在区块链技术领域还是经济领域都引起了热议。