论文部分内容阅读
随着比特币等数字加密货币的日益普及,比特币系统底层的核心技术区块链也逐渐受到广泛的关注。区块链是一种开放的分布式分类账本,具有去中心化、数据不可篡改、去信任化、集体维护等特性,能够应用于广泛的领域,尤其是联盟区块链的典型代表Hyperledger Fabric平台,在多方参与且参与方需经许可的场景下,具有重要的应用意义。但相对于传统的数据库系统,Fabric的系统性能一直是其走向实际应用的一大阻碍,目前有很多关于Fabric系统性能测试和优化的研究,但大多是在实验室环境中进行的,很少有在复杂的网络环境和存在交易冲突的场景下的研究,而这些情况对系统的性能都会有很大的影响。因此本文针对跨数据中心网络环境中的Fabric系统,且存在交易冲突的应用场景下,进行性能测试和优化研究,主要工作如下:(1)为了对联盟区块链系统展开性能测试分析,本文首先设计实现一个联盟链性能测试平台,解决了现有测试平台指标不够完善、结果不够准确、操作不够友好等的问题,为用户提供Web前端界面与测试平台进行交互,系统的测试过程可自动化地完成并将测试结果返回到前端界面中。在架构上将平台分为平台管理模块、Fabric网络管理模块、交易发起模块、交易延迟采集模块、交易结果统计模块和网络性能监控模块这六个模块,并分别给出了各模块的设计与实现。经过验证,该平台能够有效地对Fabric系统进行性能测试。(2)在对Fabric系统现有架构进行分析时,发现其存在冲突交易被判定成无效且系统交易迟验证等的问题,尤其在跨数据中心网络环境下,这些问题对系统性能的影响更大。因此本文提出了一种多阶段的交易冲突检测及提前终止机制,利用交易读写集的缓存技术,在交易执行流程的背书阶段、排序阶段、验证阶段进行交易冲突检测,并在检测到冲突交易之后,提前终止冲突交易并通知客户端,减少冲突交易在系统中的执行流程。对优化前与优化后的Fabric系统进行性能对比分析之后,结果表明该交易冲突检测机制能够有效的提升Fabric的系统性能,提升的性能指标包括系统吞吐量、交易延迟和资源使用量等。