论文部分内容阅读
区块链技术是一种新型的分布式系统构建技术,与传统的分布式技术不同,区块链技术可以被用于构建完整的去中心化的系统。去中心化系统的维护构建成本低、系统健壮性强,能够充分保护用户的信息安全,提供良好的隐私保护和信息公证性。虽然现有的各种分布式存储系统基本能够满足日常的使用需求,但是仍然存在着一些更加注重隐私、对信息的公开透明有着高要求的使用场景,比如匿名信息存储、匿名消息发布、隐秘信息交换等。区块链技术的许多特性都非常适合被运用于这些场景,所以,利用区块链技术实现信息存储系统是一个非常有意义的研究方向。目前,国内外对于将区块链技术应用于信息存储的设计还相当匮乏。在已有的区块链信息存储技术的研究中,一部分设计者通过直接修改比特币系统中的交易、区块、区块链等数据结构,实现了类比特币的区块链信息存储系统;而另一部分设计者把区块链技术作为信息公证和激励分发的工具融合到传统的点对点文件传输系统中。在这两种设计方案中,前者完全忽视了因信息存储而导致的区块链数据增长问题,缺乏对于系统数据量的控制;后者虽然控制了系统数据规模并且实现了基本的区块链信息存储系统的功能,但是对于一些区块链信息存储所特有的问题并没有做出分析和解决。本文首先对目前最大的区块链应用——比特币的运行流程和设计细节做了详细的研究。其次,对于区块链的技术结构进行了划分,分析了其中每一项技术的功能、设计原则和现有研究成果,并对区块链的分叉现象和性能问题做了深入的研究和计算,得到了一些有用的设计结论。最后,本文创新地提出了基于区块链的悬赏与认领机制,以及新的存储证明共识算法——PoSt;结合相关难度共识算法、分叉共识算法、分布式哈希表网络等方面的现有研究成果,设计了一个功能较完整的基于区块链技术的信息存储系统——BaRCoin;之后,还对BaRCoin系统所存在的一些问题进行了探讨,并结合目前技术研究成果,展望了其未来进一步改良的可能与发展方向。BaRCoin系统的设计在很大程度上解决了信息规模控制、信息持久化存储验证、存储节点的高在线性等许多现有区块链信息存储系统的设计盲点和难点。本文的研究成果不仅包含BaRCoin系统的设计,还包含了对于区块链技术许多方面的深入学习和研究,能够对未来的区块链技术研究和具体应用,特别是信息存储应用,提供多方面的参考和借鉴。