【技术实现步骤摘要】
一种基于区块链分布式加密的文件存储方法及系统
[0001]本申请涉及区块链应用领域,特别涉及一种基于区块链分布式加密的文件存储方法及系统。
技术介绍
[0002]区块链是由多个区块按照生成时间顺序连接形成的链条,其中,每个区块在生成时都存储了一定的信息。区块链通过分布式存储的方法保证其数据的安全性,具体来说,一条区块链同时被保存在多个节点中,一旦想更改某一区块内存储的信息,需要所有节点达成共识才能完成。
[0003]节点是为区块链提供存储和算力支持的服务器,包括区块链模块和本地数据库模块。其中,区块链模块联网,用于存储区块链并和其他节点通过网络联通。随着互联网的发展,需要上传区块链存储的占用空间较大的大文件(比如监控视频和图片等)越来越多,但是区块链模块的存储空间有限,如果将这些大文件直接上链,会造成网络的拥塞和区块链模块存储资源的浪费,为此,节点设置本地数据库模块专门用于存储大文件。
[0004]参见图1,为现有技术中大文件的存储方法示意图,当需要存储大文件A时,用户通过客户端获取大文件A的哈希值Hash A,再将Hash A上链存储至所有节点,同时将大文件A存储至目标节点的目标本地数据库模块中。然而,一方面本地数据库模块中的大文件A可以被单点删除,另一方面区块链系统中的任一节点都可以凭借Hash A自由访问目标节点,获取并传播大文件A。如此,现有的文件存储方法严重缺乏安全性。
技术实现思路
[0005]本申请提供了一种基于区块链分布式加密的文件存储方法及系统,可用于解决现有的文件存 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链分布式加密的文件存储方法,应用于区块链系统中的客户端,所述区块链系统包括区块链、客户端和多个节点,所述客户端用于执行用户的具体操作,所述节点设置有区块链模块和本地数据库模块,所述区块链模块用于存储所述区块链,所述本地数据库模块用于存储所述节点的本地数据,其特征在于,所述文件存储方法包括:生成待存储的大文件的公钥和私钥;基于预设门限加密算法,构建n个私钥分片,所述n为所述节点的数量,其中,所述私钥可通过至少m个私钥分片进行还原,所述m为预设门限阈值,m<n;将任一私钥分片随机发送至任一节点,并存储至所述节点对应的所述本地数据库模块,其中,所有节点与所有私钥分片为一一对应;利用所述公钥对所述大文件进行加密,得到加密大文件;将所述加密大文件切分为至少三个切片小文件;将每个切片小文件随机发送至K个节点,并存储至所述节点对应的所述本地数据库模块,其中,K=n
‑
m+1。2.根据权利要求1所述的一种基于区块链分布式加密的文件存储方法,其特征在于,在所述通过预设算法生成待存储的大文件的公钥和私钥之前,所述文件存储方法还包括:获取待存储的文件,以及所述文件的占用空间;判断所述占用空间是否大于或者等于大文件阈值;所述大文件阈值为预先设置的大文件最小占用空间;如果所述占用空间小于所述大文件阈值,则将所述文件发送至所有节点的所述区块链模块,并上传至所述区块链存储;如果所述占用空间大于或者等于大文件阈值,则将所述文件确定为所述大文件。3.根据权利要求2所述的一种基于区块链分布式加密的文件存储方法,其特征在于,在所述判断所述占用空间是否大于或者等于大文件阈值之前,所述文件存储方法还包括:获取所述文件的哈希值;将所述哈希值发送至所有节点的所述区块链模块,并在所有节点达成共识后,将所述哈希值上传至所述区块链进行存储。4.根据权利要求1所述的一种基于区块链分布式加密的文件存储方法,其特征在于,所述基于预设门限加密算法,构建n个私钥分片,包括:根据所述节点的数量和所述预设门限阈值构建门限(m,n);根据所述私钥和所述门限构建门限多项式:,其中,SK为所述私钥,m为门限阈值,T为有限域中的随机数;根据所述门限多项式构建私钥分片,i=1,2,
……
,n。5.根据权利要求4所述的一种基于区块链分布式加密的文件存储方法,其特征在于,所述将任一私钥分片随机发送至任一节点,并存储至所述节点对应的所述本地数据库模块,包括:获取所述大文件的代号;
将所述代号和所述私钥分片组合为私钥键值对(A,y
i
);其中,A为所述代号,y
i
为所述私钥分片;将每个私钥键值对(A,y
i
)发送至任一节点,并存储至所述节点对应的所述本地数据库模块。6.根据权利要求5所述的一种基于区块链分布式加密的文件存储方法,其特征在于,所述将每个切片小文件随机发送至K个节点,并存储至所述节点对应的所述本地数据库模块,包括...
【专利技术属性】
技术研发人员:石宁,钟亮亮,姜冲,
申请(专利权)人:南京可信区块链与算法经济研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。