论文部分内容阅读
随着信息技术和移动通信技术的普及,用户数据规模急剧膨胀,为解决用户的海量数据存储需求,云存储系统已成为现代信息社会的基础服务设施。中心化的云存储系统依赖中心化的服务器为用户提供文件存储服务,存在单点故障的问题,容易造成用户数据不可用,并威胁用户隐私安全。基于区块链的分布式共享存储系统采用去中心化的架构,因此不存在单点故障的隐患,另外,区块链的不可篡改、透明性等特征,能有效提高系统安全性、降低用户使用成本。然而,相比传统集中式的存储系统,基于区块链的分布式共享存储系统在带来诸多优势的同时,也面临着两大局限性。首先,在数据可用性方面,基于区块链的分布式共享存储系统采用基于纠删码的数据冗余方案,因此在数据恢复过程中会带来巨大的网络和计算开销;其次,在用户隐私方面,区块链数据公开透明的特性使得任何人都可以获取到区块链上的数据,威胁用户的隐私。针对以上两大问题,以及现有相关研究工作的不足,本文提出一种基于区块链的分布式共享冗余存储系统的隐私保护方案,为用户提供安全可靠的文件存储的前提下,提高冗余存储效率,并能保护用户数据隐私。本文的主要工作如下:(1)提出基于区块链的分布式共享存储系统冗余存储方案。现有的基于纠删码的数据冗余方案在数据分块过程中,通过将原始文件分割成大小相等的数据条,按照在文件中的位置将数据条分配到同一个数据块中,因此在读取失效数据块过程中,存在巨大的网络和计算开销。针对此问题,本文提出一种基于离散数据分块的文件冗余存储方案。方案将原始文件分割成大小相等的数据条,并设计映射规则将数据条进行分组完成分块过程。所提方案通过一次解码计算可以得到若干地址连续的数据条,在读取失效数据块过程中,有效降低了系统开销并提高了效率。(2)提出基于区块链的分布式共享存储系统隐私保护方案。在当前基于区块链的分布式共享存储系统中,区块链上的数据都是公开透明的,任何人都可以获取链上的数据,因此会造成用户隐私数据的泄露。本文结合隐匿传输方案和非交互式零知识证明协议设计一种隐私保护方案。通过使用隐匿传输,用户可以使用区块链交易传输数据,并在传输过程中隐藏接收方地址和交易内容。通过使用非交互式零知识证明协议实现以太坊智能合约中数据的隐藏,只有数据所有者可以查看用户数据明文,其他用户可以验证数据的有效性,而无法获取具体地数据内容,也无法知道数据所有者的信息。理论分析和实验分析表明,所提隐私保护方案是安全的、可行的。(3)设计并实现基于区块链的分布式共享存储系统。系统使用Python进行开发,基于web3.py函数库,使用以太坊、分布式存储系统IPFS实现所提冗余存储和隐私保护方案。系统采用模块化设计,包括前端模块、智能合约模块、数据存储模块。最后,对原型系统的功能进行展示。