CN112835855A - 一种基于区块链的文件存储方法和*** - Google Patents

一种基于区块链的文件存储方法和*** Download PDF

Info

Publication number
CN112835855A
CN112835855A CN202110195865.8A CN202110195865A CN112835855A CN 112835855 A CN112835855 A CN 112835855A CN 202110195865 A CN202110195865 A CN 202110195865A CN 112835855 A CN112835855 A CN 112835855A
Authority
CN
China
Prior art keywords
file
storage
task
block chain
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110195865.8A
Other languages
English (en)
Inventor
张扬
李刘海
吴飞鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Peersafe Technology Co ltd
Original Assignee
Beijing Peersafe Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Peersafe Technology Co ltd filed Critical Beijing Peersafe Technology Co ltd
Priority to CN202110195865.8A priority Critical patent/CN112835855A/zh
Publication of CN112835855A publication Critical patent/CN112835855A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出一种基于区块链的文件存储方法,包括:向区块链调取存储文件任务列表,并且向区块链的任务合约登记领取任务,其中,所述存储文件任务列表由文件存储方上传到区块链的文件任务合约中;得到根据预定策略生成的随机的文件起始位置,并读取到待存储的文件,其中从该位置可以读到指定长度的文件内容;获得待存储的文件后,向区块链的文件任务合约中定期提交存储证明。本发明还提出了一种基于区块链的文件存储***。本发明基于区块链,组成一个完全去中心化的文件存储方案,保证了存储方不会做假。

Description

一种基于区块链的文件存储方法和***
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的文件存储方法和***。
背景技术
日常生产生活中,我们会用到海量的文件或者数据,因些存储是一个不可回避的问题。
可以选择在本地进行存储,这样,得自已购置大量的硬件设备,需要投入大量的资金。如果文件只需要存储一段时间,以后就可以销毁,那投入的设备就会浪费。另外自己购买硬件设备就会带来维护、更新等烦琐的工作。因此选择本地存储会极大地消耗我们的人力、物力,有可能造成资源浪费。
将文件存储在云空间,就回避了本地存储的一些弊端,但云盘的机制是中心化存储的方式,无法保证数据不被修改,数据很容易丢失,更重要的一点,用云盘存储费用比较高。
发明内容
基于以上的现实问题,本发明提出一种基于区块链的文件存储系方法,包括:
向区块链调取存储文件任务列表,并且向区块链的任务合约登记领取任务,其中,所述存储文件任务列表由文件存储方上传到区块链的文件任务合约中;
得到根据预定策略生成的随机的文件起始位置,并读取到待存储的文件,其中从该位置可以读到指定长度的文件内容;
获得待存储的文件后,向区块链的文件任务合约中定期提交存储证明。
可选地,生成所述存储证明的方法包括:1)将该任务的当前区块的摘要值与存储文件时地址的摘要值进行计算,得到一个随机摘要值;2)确定所述随机摘要值的读取位置;3)根据读取位置、分片大小和文件大小计算得到要读取的分片索引;4)对从分片索引的读取位置开始读取的的M个字节的内容进行摘要运算,得到原像hash1,对所述原像hash1做摘要运算得到校验值hash2;5)将校验值hash2作为存储证明存储到文件任务合约中。
可选地,本发明的方法还包括验证所述存储证明的步骤:从区块链网络获取待验证任务;用与生成存储证明相同的方法,对所述待验证任务的文件生成第二校验值,将所述第二校验值与文件任务合约中的文件存储证明相比较,相同则验证成功。
可选地,本发明的方法还包括:请求下载文件以及向区块链网络登记领取任务时质押token;存储证明验证通过后,按比例返还质押的token。
可选地,所述文件任务合约包括:文件上传方地址、目标存储文件摘要、目标存储文件名字、加密文件摘要、文件大小和文件上传方公钥加密后的密钥seed。
可选地,本发明的方法还包括:根据文件任务合约中的信息下载存储的文件,并且使用上传方的私钥解密文件。
本发明还提出一种基于区块链的文件存储***,包括:文件调取节点,其向区块链调取存储文件任务列表向区块链的任务合约登记领取任务;根据预定策略生成的随机的文件起始位置,并读取到待存储的文件;获得待存储的文件后向区块链的文件任务合约中定期提交存储证明,其中,所述存储文件任务列表由文件存储方上传到区块链的文件任务合约中。
可选地,文件调取节点通过如下方法生成所述存储证明:1)将该任务的当前区块的摘要值与存储文件时地址的摘要值进行计算,得到一个随机摘要值;2)确定所述随机摘要值的读取位置;3)根据读取位置、分片大小和文件大小计算得到要读取的分片索引;4)对从分片索引的读取位置开始读取的的M个字节的内容进行摘要运算,得到原像hash1,对所述原像hash1做摘要运算得到校验值hash2;5)将校验值hash2作为存储证明存储到文件任务合约中。
可选地,本发明的***还包括:文件存储节点,其接收目标存储文件,将目标存储文件加密生成多个加密文件后进行存储;文件任务节点,其将文件调取节点定期提交的存储证明存储到区块链网络中,以及调取区块链网络中存储的文件任务合约给文件调取节点。存储验证节点,其从区块链获得文件任务合约中获得待下载文件的存储信息,验证所述存储信息和所述文件调取节点提交的存储证明是否一致。
可选地,所述存储验证节点通过如下方法验证所述存储证明:从区块链网络获取待验证任务;用与文件调取节点生成存储证明相同的方法,对所述待验证任务的文件生成第二校验值,将所述第二校验值与文件任务合约中的文件存储证明相比较,相同则验证成功。
本发明的***将文件存储在分布式***中,让个人用户出让自己闲置的存储资源,通过这种方式的存储,保证文件存储的分布性,数据资源不容易丢失,费用较低。而且克服了当前数据存储面临的数据集中管理、费用较高的问题。
在另一方面,在分布式***中存储文件,当存储方提供存储资源时,如何证明自己存储了文件数据,这些是要重点解决的问题。本发明的***基于区块链,组成一个完全去中心化的文件存储***,实现了:
1)公开的任务机制,让用户可以进行比较,极大地降低了网盘的存储费用。
2)可靠的文件存储证明机制保证了存储方不会做假。
3)合理的激励措施使得参与方有参与分布式文件存储的积极性,充分利用了闲置的存储与带宽。
附图说明
为了更容易理解本发明,将通过参照附图中示出的具体实施方式更详细地描述本发明。这些附图只描绘了本发明的典型实施方式,不应认为对本发明保护范围的限制。
图1显示了本发明的方法的流程图。
图2显示了本发明的***的架构图。
具体实施方式
下面参照附图描述本发明的实施方式,以便于本领域的技术人员可以更好的理解本发明并能予以实施,但所列举的实施例不作为本发明的限定,在不冲突的情况下,下述的实施例及实施例中的技术特征可以相互组合,其中相同的部件用相同的附图标记表示。
第一实施方式
如图1所示,在一个实施方式中,本发明的***包括文件存储节点。文件存储节点接收客户端(文件上传方)上传的目标存储文件和文件的冗余备份数量N。文件存储节点根据冗余备份数量N生成(可以随机生成)N个密钥,将目标存储文件分别用N个密钥进行加密,生成N个加密文件,并将所述加密文件存储到网络中。同时,文件存储节点将所述N个密钥加密(可以使用用户的公钥进行非对称加密,后续客户端可以使用用户的私钥进行解密),存储该密钥seed,。
可选地,多个文件存储节点组成一个分布式网络。在该分布式网络中,文件会被分割成若干小块存储在分布式网络的某个或者几个节点中(例如PDFS文件存储***)。
进一步,存储完成后,文件存储节点将存储信息返回给客户端,包括:所述目标存储文件的摘要值,所述加密文件的摘要值,及各加密文件对应的加密后的加密密钥(密钥seed)。
客户端收到收到所述存储信息后,发布文件存储任务到区块链网络的文件任务合约中。文件任务合约包含的必要元素包括:存储人地址(任务发布者在区块链上的地址)、目标存储文件摘要、目标存储文件名字、加密文件摘要、文件大小、用户公钥加密后的密钥seed。
可选地,上传文件由用户确定,比如用户选择自己想要在网盘上存储的文件,而且冗余备份的数量N也可以由用户设定,也可以由客户端或者文件存储节点决定。
参照图1,本发明的***还包括:文件调取节点。
文件调取节点通过文件任务节点向区块链网络调取已经存在的任务列表,向区块链的任务合约登记领取任务。可选地,文件调取节点可以从任务列表中选取合适(价格、大小)的存储任务。文件调取节点领取任务后,向文件存储节点获得任务中指定的文件。文件调取节点可以通过PIN文件方式获得文件,获得的文件是加密文件。
文件调取节点获得任务时,获得文件任务合约的全部信息,包括:目标存储文件摘要、目标存储文件名字、各加密文件摘要、各文件大小、用户公钥加密后的密钥seed。
文件调取节点向文件存储节点请求存储的文件时。发送的请求信息包括文件摘要,根据文件摘即可获得文件的内容。
另外,文件调取节点获得所述加密文件后,需要向区块链网络的文件任务合约中定期提交存储证明。
在一个实施方式中,可以通过如下方式来提交存储证明:文件调取节点根据预定策略得到一个随机的文件起始位置,从这个位置可以读到指定长度的文件内容。然后,将该起始位置存储到任务合约中。其中,文件的保存者要证明有能力从这个位置读到指定长度的文件内容。
在另一个实施方式中,可以通过如下方式来提交存储证明:
1)文件调取节点将当前区块(文件调取节点发布任务时的区块号+发送存储证明周期)的摘要值与存储人地址的摘要值进行异或操作,得到一个随机的摘要值。
2)确定随机摘要值的读取位置,读取位置=bignumber%(file_size-32)。
3)根据读取位置、分片(Sharding)大小和文件大小计算得到要读取的分片索引。
4)对从分片索引的读取位置开始读取的的M(例如32个字节)个字节(
Figure BDA0002946466560000061
度0-32)的内容进行摘要运算,即为原像hash1,对所述原像做摘要运算得到校验值hash2。
5)将校验值hash2作为存储证明存储到文件任务合约中。
在一个实施方式中,可以采用PDFS(Practical Distributed File System)文件存储***。文件存储节点和文件调取节点都为PDFS文件***中的节点。
参照图1,本发明的***还包括:存储验证节点。存储验证节点用于验证所述文件调取节点提交的存储证明的正确性。包括:
1)存储验证节点通过文件任务节点从区块链网络获取待验证任务。
2)存储验证节点计算出要下载的分片。计算方法与文件调取节点的生产分片的计算方法一致,具体为:A)存储验证节点将当前区块(文件调取节点发布任务时的区块号+发送存储证明周期)的摘要值与存储人地址的摘要值进行异或操作,得到一个随机的摘要值。B)确定随机摘要值的读取位置,读取位置=bignumber%(file_size-32)。C)根据读取位置、分片(Sharding)大小和文件大小计算得到要读取的分片索引。
3)存储验证节点从分布式文件***中下载对应的分片数据。在本发明中,只需下载此分片。存储验证节点可以部署为一个pdfs节点。存储验证节点可以理解为用户的一个身份,里面加载了验证方法以及pdfs节点。
4)存储验证节点计算得到原像hash1。
5)存储验证节点比较原像和校验值,如果原像hash1等于校验值hash2,则提交原像hash1至区块链网络中的文件任务合约。
可选的,区块链网络可以对存储验证节点提交的文件任务合约进行确认。验证过程如下:区块链网络将存储验证节点提交的原像hash1再做hash,看结果是否等于之前文件调取节点提交的校验值hash2。
当客户端想下载之前自己存储的文件时,进行如下操作:
1)客户端根据区块链网络中的任务详情中的“原文件摘要”得到各个“冗余文件的文件摘要”及“加密密钥”。
2)客户端通过“冗余文件的文件摘要”从文件存储节点中下载文件,只要成功下载冗余中任何一个即可。所述下载文件为加密文件。
3)客户端使用用户的私钥解密所下载加密文件的“加密密钥”,然后用得到的密钥再去解密文件。
在一个实施方式中,文件调取节点是运行分布式文件存储服务PDFS和文件任务管理服务,任何人都可以接入。存储验证节点运行分布式文件存储服务PDFS和存储证明验证服务,申请审核后才可以接入。文件存储解决配合客户端的PDFS超级节点,官方提供,用户也可以自己搭建。文件任务节点可以是API,用于导出所有文件任务智能合约的数据,提供查询、统计相关API的节点,任何人都可以接入。PIN文件指的是从另外别的节点拉取文件。
第二实施方式
在客户端(文件上传方)收到收到存储信息后,发布文件存储任务到区块链网络的文件任务合约中。除了如第一实施方式中的必要元素(目标存储文件摘要、目标存储文件名字、各加密文件摘要、各文件大小、用户公钥加密后的密钥seed)之外,任务所包含的必要元素还可以包括激励元素:存储价格、奖励发放周期等。
而且,客户端(任务的分发者,也就是存储人、文件上传方)在发布任务时向区块链网络的“文件任务合约”质押一定的token,用于文件存储的奖励。
文件调取节点向文件存储节点请求下载文件,向区块链网络登记领取任务时需要质押一定的token,用于完不成任务时的罚金。
区块链网络在存储验证节点提交的合约验证通过后,按比例返还文件调取节点质押的token,并从任务的分发者(也就是存储人)质押的token中按比例分别给文件调取节点和存储验证节点分发奖励的token。如果验证不通过(如果hash(hash1)不等于hash2),则存储验证节点质押的token不会得到返还。
第三实施方式
如图2所示,本发明还提出一种方法包括:
S1,客户端向文件存储节点上传目标存储文件和文件的冗余备份数量N。
上传文件由用户确定,比如用户选择自己想要在网盘上存储的文件,而且冗余备份的数量N也可以由用户设定,也可以由客户端或者文件存储节点决定。
S2,文件存储节点根据冗余备份数量N生成(可以随机生成)N个密钥,将目标存储文件分别用N个密钥进行加密,生成N个加密文件,并将所述加密文件存储到PDFS网络中。
进一步,文件存储节点可以将相关信息返回给用户,包括:所述目标存储文件的摘要值,所述加密文件的摘要值,及各加密文件对应的加密后的加密密钥。
可选地,文件存储节点的加密方法为:使用用户的公钥进行非对称加密。
S3,客户端用户发布文件存储任务到区块链网络中。
具体地,客户端发布文件存储任务到区块链网络的任务合约中。任务所包含的必要元素有:目标存储文件摘要、目标存储文件名字、各加密文件摘要、各文件大小、用户公钥加密后的密钥seed。
在一个实施方式中,任务所包含的必要元素还可以包括激励元素:存储价格、奖励发放周期等。此时,客户端需要向区块链网络的“任务智能合约”质押一定的token,用于文件存储的奖励。
S4,文件调取节点从文件存储节点下载文件,并且向任务合约登记领取任务,从文件存储节点获取指定的加密文件(通过PIN文件获取)。
具体地,PDFS存储节点可以从文件API服务中查看已经存在的任务列表,选取自己觉得合适(价格、大小)的存储任务。
在一个实施方式中,当在S3中任务重包含激励元素时,文件调取节点下载文件和登记领取任务时,需要质押一定的token,用于完不成任务时的罚金。
S5,文件调取节点向区块链网络定期发送存储证明。
在一个实施方式中,存储证明的生成方法如下:
1)文件调取节点将当前区块(发布任务时的区块号+发送存储证明周期)的摘要值与存储人地址的摘要值进行异或操作,得到一个随机的摘要值。
2)随机摘要值的bignumber%(file_size-32)=读取位置
3)根据读取位置、分片大小和文件大小计算得到要读取的分片索引。
4)对从分片的读取位置开始读取的的M(例如32个字节)个字节内容(
Figure BDA0002946466560000091
度0-32)的内容进行摘要运算,即为原像hash1。再对此摘要值做一次摘要运算,得到校验值hash2,将校验值hash2发往任务合约。
S6,存储验证节点验证存储证明的正确性,包括S61-S65。
S61)从区块链网络获取待验证任务,可选地,通过文件任务API服务从区块链网络获取待验证任务。
S62)计算出要下载的分片。计算方法与S5中文件调取节点的计算方法一致。
S63)从PDFS***中下载对应的分片数据。在本发明中,只需下载此分片。
S64)计算得到原像hash1。
S65)比较原像和校验值,如果原像hash1等于校验值hash2,则提交原像hash1至文件合约。
S7,区块链网络对所述存储验证节点提交的合约进行确认。包括S71-S73。
S71,合约将验证节点的hash1再做hash,看结果是否等于存储节提交的hash2
S72,合约验证通过后,按比例返还存储节点质押的token,并从任务的分发者质押的token中按比例分别给存储节点和存储验证节点分发奖励token
S73,如果hash(hash1)不等于hash2,存储节点质押的token不会得到返还。
S8,客户端从分布式存储网络中获取(通过PIN方式)属于自己的文件。
S81,客户端根据任务详情中的“原文件摘要”得到各个“冗余文件的文件摘要”及“加密密钥”。
S81,客户端通过“冗余文件的文件摘要”从PDFS中下载文件,只要成功下载冗余中任何一个即可。
S81,客户端使用用户的私钥解密所下载加密文件的“加密密钥”,然后用得到的密钥再去解密文件。
本发明提出了一种基于区块链+分布式文件存储网络的整体架构方案。而且,提出了周期性存储证明、验证方案来保证了存储的可靠性。
以上所述的实施例,只是本发明较优选的具体实施方式,本说明书使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (10)

1.一种基于区块链的文件存储方法,其特征在于,包括:
向区块链调取存储文件任务列表,并且向区块链的任务合约登记领取任务,其中,所述存储文件任务列表由文件存储方上传到区块链的文件任务合约中;
得到根据预定策略生成的随机的文件起始位置,并读取到待存储的文件,其中从该位置可以读到指定长度的文件内容;
获得待存储的文件后,向区块链的文件任务合约中定期提交存储证明。
2.根据权利要求1所述的文件存储方法,其特征在于,生成所述存储证明的方法包括:
1)将该任务的当前区块的摘要值与存储文件时地址的摘要值进行计算,得到一个随机摘要值;
2)确定所述随机摘要值的读取位置;
3)根据读取位置、分片大小和文件大小计算得到要读取的分片索引;
4)对从分片索引的读取位置开始读取的的M个字节的内容进行摘要运算,得到原像hash1,对所述原像hash1做摘要运算得到校验值hash2;
5)将校验值hash2作为存储证明存储到文件任务合约中。
3.根据权利要求2所述的文件存储方法,其特征在于,还包括验证所述存储证明的步骤:
从区块链网络获取待验证任务;
用与生成存储证明相同的方法,对所述待验证任务的文件生成第二校验值,将所述第二校验值与文件任务合约中的文件存储证明相比较,相同则验证成功。
4.根据权利要求3所述的文件存储方法,其特征在于,还包括:
请求下载文件以及向区块链网络登记领取任务时质押token;
存储证明验证通过后,按比例返还质押的token。
5.根据权利要求4所述的文件存储方法,其特征在于,
所述文件任务合约包括:文件上传方地址、目标存储文件摘要、目标存储文件名字、加密文件摘要、文件大小和文件上传方公钥加密后的密钥seed。
6.根据权利要求5所述的文件存储方法,其特征在于,
根据文件任务合约中的信息下载存储的文件,并且使用上传方的私钥解密文件。
7.一种基于区块链的文件存储***,其特征在于,包括:
文件调取节点,其向区块链调取存储文件任务列表向区块链的任务合约登记领取任务;根据预定策略生成的随机的文件起始位置,并读取到待存储的文件;获得待存储的文件后向区块链的文件任务合约中定期提交存储证明,其中,所述存储文件任务列表由文件存储方上传到区块链的文件任务合约中。
8.根据权利要求7所述的文件存储***,其特征在于,文件调取节点通过如下方法生成所述存储证明:
1)将该任务的当前区块的摘要值与存储文件时地址的摘要值进行计算,得到一个随机摘要值;
2)确定所述随机摘要值的读取位置;
3)根据读取位置、分片大小和文件大小计算得到要读取的分片索引;
4)对从分片索引的读取位置开始读取的的M个字节的内容进行摘要运算,得到原像hash1,对所述原像hash1做摘要运算得到校验值hash2;
5)将校验值hash2作为存储证明存储到文件任务合约中。
9.根据权利要求8所述的文件存储***,其特征在于,还包括:
文件存储节点,其接收目标存储文件,将目标存储文件加密生成多个加密文件后进行存储;
文件任务节点,其将文件调取节点定期提交的存储证明存储到区块链网络中,以及调取区块链网络中存储的文件任务合约给文件调取节点;
存储验证节点,其从区块链获得文件任务合约中获得待下载文件的存储信息,验证所述存储信息和所述文件调取节点提交的存储证明是否一致。
10.根据权利要求9所述的文件存储***,其特征在于,所述存储验证节点通过如下方法验证所述存储证明:
从区块链网络获取待验证任务;
用与文件调取节点生成存储证明相同的方法,对所述待验证任务的文件生成第二校验值,将所述第二校验值与文件任务合约中的文件存储证明相比较,相同则验证成功。
CN202110195865.8A 2021-02-22 2021-02-22 一种基于区块链的文件存储方法和*** Pending CN112835855A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110195865.8A CN112835855A (zh) 2021-02-22 2021-02-22 一种基于区块链的文件存储方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110195865.8A CN112835855A (zh) 2021-02-22 2021-02-22 一种基于区块链的文件存储方法和***

Publications (1)

Publication Number Publication Date
CN112835855A true CN112835855A (zh) 2021-05-25

Family

ID=75934219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110195865.8A Pending CN112835855A (zh) 2021-02-22 2021-02-22 一种基于区块链的文件存储方法和***

Country Status (1)

Country Link
CN (1) CN112835855A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412275A (zh) * 2022-05-23 2022-11-29 蚂蚁区块链科技(上海)有限公司 一种基于可信执行环境的隐私计算***及方法
CN115529319A (zh) * 2022-08-04 2022-12-27 熵链科技(厦门)有限公司 基于ipfs网络的存储服务调控方法、***、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426567A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链的节点部署和选举方法
CN109740375A (zh) * 2018-12-19 2019-05-10 深圳市汇星数字技术有限公司 一种原创音频作品的共享和发布方法
CN109889498A (zh) * 2019-01-16 2019-06-14 余炀 基于区块链的计算验证方法及***
CN110062034A (zh) * 2019-04-01 2019-07-26 中科天御(苏州)科技有限公司 一种区块链大文件安全存储方法及***
CN110442561A (zh) * 2019-07-08 2019-11-12 南京邮电大学 基于区块链的分布式文件存储***及其存储方法
CN110611701A (zh) * 2018-08-21 2019-12-24 汇链丰(北京)科技有限公司 一种基于区块链的参数配置和交易处理方法
CN110647503A (zh) * 2019-10-09 2020-01-03 重庆特斯联智慧科技股份有限公司 一种分布式存储方法及装置
CN110674533A (zh) * 2019-09-25 2020-01-10 浙江大学 基于大规模科学核心计算的区块链共识激励***与方法
CN110855760A (zh) * 2019-10-29 2020-02-28 上海海加网络科技有限公司 一种基于区块链的分布式安全存储***部署方法
CN111177265A (zh) * 2019-12-27 2020-05-19 安徽讯呼信息科技有限公司 一种区块链分域方法
CN111475821A (zh) * 2020-01-17 2020-07-31 吉林大学 基于文件存储证明的区块链共识机制方法
CN111966657A (zh) * 2020-08-17 2020-11-20 南京邮电大学 基于区块链的分布式文件分类存储***及存储方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426567A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链的节点部署和选举方法
CN110611701A (zh) * 2018-08-21 2019-12-24 汇链丰(北京)科技有限公司 一种基于区块链的参数配置和交易处理方法
CN109740375A (zh) * 2018-12-19 2019-05-10 深圳市汇星数字技术有限公司 一种原创音频作品的共享和发布方法
CN109889498A (zh) * 2019-01-16 2019-06-14 余炀 基于区块链的计算验证方法及***
CN110062034A (zh) * 2019-04-01 2019-07-26 中科天御(苏州)科技有限公司 一种区块链大文件安全存储方法及***
CN110442561A (zh) * 2019-07-08 2019-11-12 南京邮电大学 基于区块链的分布式文件存储***及其存储方法
CN110674533A (zh) * 2019-09-25 2020-01-10 浙江大学 基于大规模科学核心计算的区块链共识激励***与方法
CN110647503A (zh) * 2019-10-09 2020-01-03 重庆特斯联智慧科技股份有限公司 一种分布式存储方法及装置
CN110855760A (zh) * 2019-10-29 2020-02-28 上海海加网络科技有限公司 一种基于区块链的分布式安全存储***部署方法
CN111177265A (zh) * 2019-12-27 2020-05-19 安徽讯呼信息科技有限公司 一种区块链分域方法
CN111475821A (zh) * 2020-01-17 2020-07-31 吉林大学 基于文件存储证明的区块链共识机制方法
CN111966657A (zh) * 2020-08-17 2020-11-20 南京邮电大学 基于区块链的分布式文件分类存储***及存储方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412275A (zh) * 2022-05-23 2022-11-29 蚂蚁区块链科技(上海)有限公司 一种基于可信执行环境的隐私计算***及方法
CN115529319A (zh) * 2022-08-04 2022-12-27 熵链科技(厦门)有限公司 基于ipfs网络的存储服务调控方法、***、设备及存储介质
CN115529319B (zh) * 2022-08-04 2024-06-04 熵链科技(厦门)有限公司 基于ipfs网络的存储服务调控方法、***、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112600841B (zh) 基于区块链的信用记录共享方法及装置、电子设备
CN109639406B (zh) 基于区块链和ipfs的高效信任解决方法
CN108734576B (zh) 一种基于区块链的教育资源共享方法及***
WO2021088278A1 (zh) 一种文件存储方法、终端及存储介质
WO2019114096A1 (zh) 基于区块链的存储***
JP2020511809A (ja) パブリックサイドチェーンを使用してコンソーシアムブロックチェーンに記憶されたデータの完全性を検証すること
TW202024944A (zh) 資料共享方法、裝置及系統、電子設備
JP6756041B2 (ja) 情報保護用のシステム及び方法
Khovratovich et al. Sovrin: digital identities in the blockchain era
CN108848080A (zh) 基于联盟链存储校验的数据共享***
US9893896B1 (en) System and method for remote storage auditing
CN109600366A (zh) 基于区块链的保护用户数据隐私的方法及装置
US11133936B1 (en) Methods and systems for introducing self-contained intent functionality into decentralized computer networks
CN102170440A (zh) 适用于存储云间数据安全迁移的方法
CN108712488A (zh) 一种基于区块链的数据处理方法、装置、区块链***
CN112131227A (zh) 一种基于联盟链的数据查询方法及装置
EP3869376B1 (en) System and method for blockchain based decentralized storage with dynamic data operations
CN112835855A (zh) 一种基于区块链的文件存储方法和***
JP2004126639A (ja) データ管理システム、データ管理方法及びプログラム
WO2021179840A1 (en) Methods and devices for providing privacy-preserving blockchain-based auction
US20240137280A1 (en) Methods and systems for introducing self-contained intent functionality into decentralized computer networks
US20230138102A1 (en) Method and system for managing decentralized data using attribute-based encryption
CN113704357A (zh) 一种基于区块链的智慧城市数据共享方法及***
Kothari et al. A distributed peer-to-peer storage network
CN111596890A (zh) 一种基于分布式协议的区块链随机数种子生成方法、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination