1. 研究目的与意义(文献综述)
2008年,中本聪提出比特币这一概念,区块链这一概念也随之而生,在此之后,越来越多的数字货币逐渐出现。区块链技术是致力于解决中心化带来的问题,以此来解决信任的问题,该技术涉及密码学、网络通信等方面的知识,应用范围与方式也比较多样,自提出以来,除了创造出大量的投资价值以外,区块链技术还被应用在跨机构清算、身份证明、数字版权保护等可信系统的开发当中,除此之外,区块链在跨国交易、监管政府治理模式等领域上也显现出了巨大的潜力。但在所有区块链技术当中,仍缺乏一种可以跨国交易且币值波动较小的数字货币,因此facebook公司提出了libra这一概念并创造了libra区块链。libra的优势在于采用紧盯一篮子货币的方法保持了币值的稳定,在此前提下,实现了数字货币在各国之间的流通,达到为数亿人服务的目标。
而无论什么样的区块链,其核心都是解决信任问题。换言之,为了解决区块链技术的信任问题,让不同节点之间达成一致,并认定一个记录的有效性,在安全性与效率之间达到平衡,就不得不解决拜占庭将军问题。拜占庭将军问题是leslielamport等人于1982年在论文中抽象而出的一种在点对点通信当中关于实现分布式系统一致性的问题,区块链的核心就是为了解决拜占庭将军问题。为了解决这个问题,就要引入共识协议这一概念,通过共识算法,让不同节点就某一记录达成共识,以此来保证了系统的安全性与一致性。因此,对于共识算法的讨论成为了研究区块链的热点问题。
目前,广为使用的共识算法有pow(proof of work,工作量证明机制)、pos(proof of stake,股权证明机制)、bft(byzantine fault tolerance,拜占庭容错机制)。在拜占庭容错机制这一主流算法中,又有学者对此做出了不同的改进:由于bft算法的时间复杂度是指数级别的,为了降低复杂度miguel castro和barbara liskov提出了pbft(practical byzantine fault tolerance,实用拜占庭容错)算法,基于view共识单元与smr(state machine replication),利用对消息的广播与共识单元的轮换来达成一致;2018年,由美国康奈尔大学的ted yin等人提出的hotstuff算法框架,在这个框架当中,化网状结构为星状通信结构,大大简化了点与点通信的复杂度,大大简化了算法的复杂度,最终,该算法作为librabft算法的基本框架被facebook公司采用。librabft算法在hotstuff算法框架上引入了epoch这一概念,并以此为基础进行了一定程度上的延伸,结合其发布的move编程语言语言,实现了较好得到安全性。除此之外,还有很多学者对拜占庭容错算法进行了改进,其中包括有高吞吐的拜占庭容错算法、冗余拜占庭容错算法等。国内外现有的研究中,绝大多数以改进节点之间的通信方式、视图的轮换方式方面进行,都在改进时间复杂度上取得了一定的成果。由于发布的时间较其他共识协议来说相对较晚,这导致国内对相关算法的技术研究还有所欠缺,与之相反的是,由于libra发行极具争议性,所以在经济学方面,很多学者对其创新潜力之处与其存在的问题已经进行了一定的分析。对于libra这一新的区块链技术,我国的张锐对其进行了经济学层面上的分析与前景的展望,袁煜明等学者也对libra的核心技术、基本结构等进行了一定程度上的分析。
2. 研究的基本内容与方案
本次设计目标是掌握libra共识算法librabft的原理并可以对其安全性进行分析,并在一定程度上对其进行改进,实现空间复杂度的降低与算法执行效率的提高,并尝试降低时间复杂度。
为实现该目标初步确立的基本内容思路如下:
(1)对节点之间通信的方式进行改进,对点之间消息的广播与投票的次数以及参数内容的进行实验,提高安全性,更好的防止恶意节点对消息进行篡改;
3. 研究计划与安排
设计阶段从2月29日起至4月30日,一共九个星期,进度安排如下:
(1)第一、二周(2.29-3.13)进行所需环境的搭建,并且对libra得到运行有一定的理解,学会创建账户和交易,与此同时,对rust语言进行一个大概的学习,掌握基本的赋值、调用等;
(2)第三、四周(3.14-3.27)对rust进行进一步的学习,并学会用其写一定的程序,与此同时对核心算法的技术文章进行阅读,尝试着编写比较简单的逻辑;
4. 参考文献(12篇以上)
[1]lamport l , shostak r , pease m . the byzantine generals problem[j]. acm transactions on programming languages and systems, 1982, 4(3):382-401.
[2]castro m, liskov b . practical byzantine fault tolerance and proactive recovery[j]. acm transactions on computer systems, 2002, 20(4):p.398-461.
[3]yin, maofan, malkhi, dahlia, reiter, michael k,等. hotstuff: bft consensus in the lens of blockchain[j],2018.
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。