论文部分内容阅读
随着社会信息化程度不断提高,数据呈现出爆炸式的增长,数据成为关键的生产要素和战略资源,具有极大的价值。但是实现这种价值的前提是数据的交易以及流通。数据交易平台的作用是为数据的买卖双方提供一个可以进行数据交易的平台,同时满足供需双方的需求,最大化数据的价值。区块链技术以其去信任化、防篡改以及分布式等特性被用于数据交易中解决传统的中心化架构存在的第三方信任以及记账透明性等问题。但是,真正的将区块链技术应用于数据交易记账过程中还存在着一些问题。首先,企业对于隐私的问题非常看重,公有账本无法满足企业对于隐私的需求,因此如何能够在充分利用区块链透明性的基础上最大化的保护企业隐私是一个需要解决的问题;其次,如何用区块链实现数据交易中的对账、记账等业务逻辑也是需要考虑的问题;此外,在企业环境中对于系统的吞吐量有着严格的要求,如何对整个数据交易分布式记账系统进行调优,提高记账的效率以满足生产环境中对于性能的需求也是一个需要解决的问题。针对上述问题,本文设计并实现了一种基于区块链技术的数据交易分布式记账系统。本文选取开源的Hyperledger Fabric平台作为底层的区块链技术实现,在此基础上结合实际的功能需求对整个系统的功能模块进行了划分,主要包括数据交易模块、记账模块、查询计费模块以及监控模块。其中,本文利用Fabric多通道的特性实现了数据交易账本的隔离,保护了使用者的隐私,并将业务逻辑封装在了区块链的智能合约中,由于区块链技术的天然特性,本论文采用该种方式实现了业务逻辑的优化,主要体现在透明化以及去信任化。在此基础上,设计实验对系统的各个模块进行验证。除此之外,为了提高数据交易分布式记账系统的性能,从底层Fabric系统以及数据交易业务逻辑实现两个角度对可能影响该系统性能的因素进行了分析,并对其进行了优化。实验结果表明,该系统的数据交易模块、记账模块、查询模块和监控模块的各部分功能都已完整实现;Fabric的区块大小、背书策略以及通道数对Fabric性能的影响呈一定规律;对Fabric系统流程优化后,在数据交易请求速率位于100tps到200tps之间时吞吐量得到了提高;在对数据交易的业务逻辑进行优化后,找到了数据交易记录合并数的最优值大约为500笔,并且对Redis的批量查询相比单次查询在实验条件下吞吐量得到了较大的提升。