WO2019114097A1 - Blockchain-based distributed storage method - Google Patents

Blockchain-based distributed storage method Download PDF

Info

Publication number
WO2019114097A1
WO2019114097A1 PCT/CN2018/073677 CN2018073677W WO2019114097A1 WO 2019114097 A1 WO2019114097 A1 WO 2019114097A1 CN 2018073677 W CN2018073677 W CN 2018073677W WO 2019114097 A1 WO2019114097 A1 WO 2019114097A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
storage
uploader
blockchain
store
Prior art date
Application number
PCT/CN2018/073677
Other languages
French (fr)
Chinese (zh)
Inventor
尚小朋
Original Assignee
成都链一网络科技有限公司
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 成都链一网络科技有限公司 filed Critical 成都链一网络科技有限公司
Publication of WO2019114097A1 publication Critical patent/WO2019114097A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Definitions

  • the present invention relates to the field of data storage technologies, and in particular, to a distributed storage method based on a blockchain.
  • the data storage has two types of centralized storage solutions and decentralized storage solutions; currently, the internationally famous centralized storage solutions include Dropbox, OneDrive, Google Drive, and SkyDrive, and the more mature centralized storage solutions in China have Baidu network disk, Huawei network disk, Jinshan fast disk, 115 network disk, 360 cloud disk, nut cloud and Tencent micro cloud; decentralized storage solutions are more famous are Storj, Sia and Maidsafe.
  • Decentralized storage can significantly reduce the risk of data interruption and its loss, increasing the security and confidentiality of data storage.
  • Existing cloud storage relies on third-party large-scale storage to transmit and store data, such as 360 cloud disk, Baidu network disk, etc. These large-scale storage stores have all data backup and all user information, which is limited by the centralized architecture. It is very vulnerable to a variety of security threats; redundant and decentralized distributed storage can effectively improve this situation, effectively resisting tampering and unauthorized access.
  • the object of the present invention is to overcome the deficiencies of the prior art and provide a distributed storage method based on a blockchain, which realizes distributed storage of files and improves file storage security.
  • a blockchain-based distributed storage method including:
  • the uploader in the distributed storage network generates an upload request, and records the upload request in a smart contract of the blockchain;
  • the storage in the distributed storage network generates a storage request, and records the storage request in a smart contract of the blockchain;
  • the store stores the file fragment.
  • the upload request includes a split number of files, a backup number of files, a file description, an uploader's public key, an uploader's account name, an uploader ID, and a file ID.
  • the storage request includes a storage user's account name, a file ID, and a file shard ID.
  • the file ID is composed of a hash value of the file and a public key of the uploader
  • the file fragment ID is composed of a hash value of the file fragment and a public key of the uploader
  • the S4 includes: an uploader viewing the storage request, and granting the storage permission to store the file fragment.
  • the S5 comprises:
  • the store initiates a request to the uploader to download the file fragment
  • the uploader verifies whether the store has the storage permission of the file fragment, and if so, the uploader allows the store to download the file fragment;
  • the store downloads and stores the file fragments from the uploader.
  • the S5 further includes:
  • the storage device updates the storage request, and writes information that the file fragment downloading is completed
  • the uploader updates the upload request and writes the information that the file fragment has stored.
  • the information that the file fragment downloading is completed includes a file ID, a file fragment ID, and an account name of the storage, and the information stored in the file fragment includes an account name, a file ID, and a file fragment ID of the uploader. And the store ID.
  • the transmission of the file fragment is implemented by the storage between the storage and the uploader.
  • the invention realizes distributed storage of files, and any node does not have a complete backup of the entire file, thereby improving the security of the file;
  • Each user can be either a storage demand side or a storage provider, which can effectively improve the utilization of idle storage resources of the network, and also bring corresponding benefits to users who provide storage resources;
  • Figure 1 is a schematic flow chart of the present invention.
  • Blockchain A chained data structure that combines data blocks in sequential order in chronological order, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
  • Smart Contract A set of commitments defined in digital form, including agreements where contract participants can execute these commitments. From a procedural perspective, a smart contract is a programming language programmed on a blockchain that triggers related operations when certain specified conditions are met.
  • the embodiment provides a distributed storage method based on a blockchain, which specifically includes the following steps:
  • the uploader in the distributed storage network generates an upload request and records the upload request in the smart contract of the blockchain.
  • the upload request includes the number of splits of the file, the number of backups of the file, the willingness to pay, the description of the file, the public key of the uploader, the account name of the uploader, the uploader ID, and the file ID.
  • the file ID is composed of a hash value of the file and a public key of the uploader.
  • the uploader is a user in the distributed storage network as a storage demander, that is, the user has files to be stored.
  • the uploader initiates a request to upload a file to the distributed storage network, performs basic verification on the request, sets relevant parameters, and then calls the transaction of the File_Upload (file upload) contract of the blockchain, and the contract check After there is no problem, create an upload request record for the blockchain.
  • the file is divided into multiple file fragments, the file is sliced and stored in the location set by the uploader.
  • the storage in the distributed storage network generates a storage request and records the storage request in a smart contract of the blockchain.
  • the storage request includes an account name, a file ID, and a file fragment ID of the storage; the file ID is composed of a hash value of the file and a public key of the uploader, and the file fragment ID is divided by the file
  • the hash value of the slice is composed of the public key of the uploader.
  • the storage is a user in the distributed storage network as a storage resource provider, that is, the user provides storage resources for the uploader.
  • the storeer calls the blockchain_get__upload_requests interface of the blockchain (checking the existing upload request) to view the uploader's upload request. After seeing the upload request, the store combines the hash value of the file with the uploader's public key to form a file ID. , generate a storage request, declare which file fragments you want to store the file.
  • the uploader calls the wallet_list_store_request_for_my_file of the blockchain (the storage request viewing interface is used for the uploader to view the storage request related to the file to be uploaded).
  • the interface views the storage request of the storage, and then the uploader calls the wallet_allow_store_request interface of the blockchain (
  • the download interface is allowed to grant the storage permission of a file fragment to the store) to allow the store to store the corresponding file fragment (ie, allowing the store to download the corresponding file fragment).
  • the store stores the file fragment.
  • the S5 includes: a request by the store to the uploader to download the file slice; the uploader verifies whether the store has the storage permission of the file slice, and if so, the uploader allows the store to download the file slice.
  • the store downloads and stores the file fragments from the uploader.
  • the storage device sends a request for downloading the corresponding file fragment to the uploader's eMule.
  • the uploader's eMule After receiving the request, the uploader's eMule calls the download_validation of the blockchain (authentication interface for performing download permission authentication) to verify whether the storage is allowed. Download. If allowed, the store's eMule downloads the corresponding file fragment from the uploader's eMule.
  • the S5 further includes: the storage device updating the storage request, and writing the information that the file fragment downloading is completed; the uploader updating the upload request, and writing the information that has been stored in the file fragment.
  • the file fragment downloading completed information includes a file ID, a file fragment ID, and a storage user's account name.
  • the file fragment stored information includes an uploader's account name, a file ID, a file fragment ID, and a storage. ID.
  • the storeer calls the declare_piece_saved of the blockchain (the storage completion declaration interface is used for the store to initiate the declaration that the file storage has been completed), and the file is written on the blockchain.
  • the status of the slice download is completed, the uploader calls the blockchain_list_file_save_declare of the blockchain (the storage completion statement view interface is used to list the storage completion declarations related to the specified file appearing in the blockchain network).
  • the interface queries the file to be uploaded by itself.
  • the uploader sees that a file fragment of the file has been stored, and calls the confirm_piece_saved of the blockchain (confirming the storage declaration interface, for the uploader to initiate the storage of the confirmed file to complete the file fragmentation.
  • the statement writes the status of "The file fragment has been stored" on the blockchain. When all the file fragments of the file are downloaded by the storage, the storage of the file is completed.

Abstract

A blockchain-based distributed storage method, comprising: S1. an uploader in a distributed storage network generating an upload request, and recording the upload request in a smart contract of a blockchain; S2. a file to be stored being segmented into a plurality of file fragments; S3. a storer in the distributed storage network generating a storage request, and recording the storage request in the smart contract of the blockchain; S4. in the blockchain, generating a storage transaction of the uploader and the storer storing the file fragments; S5. the storer storing the file fragments. The method implements the distributed storage of files, and increases the security of file storage.

Description

基于区块链的分布式存储方法Blockchain-based distributed storage method 技术领域Technical field
本发明涉及数据存储技术领域,特别是涉及一种基于区块链的分布式存储方法。The present invention relates to the field of data storage technologies, and in particular, to a distributed storage method based on a blockchain.
背景技术Background technique
现有技术中,数据存储有中心化存储方案和去中心化存储方案两种;目前,国际上有名的中心化存储方案有Dropbox、OneDrive、Google Drive和SkyDrive,国内较为成熟的中心化存储方案有百度网盘、华为网盘、金山快盘、115网盘、360云盘、坚果云和腾讯微云;去中心化存储方案比较著名的有Storj、Sia和Maidsafe。In the prior art, the data storage has two types of centralized storage solutions and decentralized storage solutions; currently, the internationally famous centralized storage solutions include Dropbox, OneDrive, Google Drive, and SkyDrive, and the more mature centralized storage solutions in China have Baidu network disk, Huawei network disk, Jinshan fast disk, 115 network disk, 360 cloud disk, nut cloud and Tencent micro cloud; decentralized storage solutions are more famous are Storj, Sia and Maidsafe.
去中心化存储可以显著减小数据中断的风险及其损失,增加数据存储的安全性和保密性。现有云存储依赖于第三方大型存储商来传输和存储数据,如360云盘、百度网盘等,这些大型存储商拥有全部的数据备份以及所有的用户信息,受限于中心化的架构,非常容易受到各种安全威胁;冗余和去中心化的分布式存储可以有效改善这种状况,有效抵制篡改和未经授权的访问。Decentralized storage can significantly reduce the risk of data interruption and its loss, increasing the security and confidentiality of data storage. Existing cloud storage relies on third-party large-scale storage to transmit and store data, such as 360 cloud disk, Baidu network disk, etc. These large-scale storage stores have all data backup and all user information, which is limited by the centralized architecture. It is very vulnerable to a variety of security threats; redundant and decentralized distributed storage can effectively improve this situation, effectively resisting tampering and unauthorized access.
技术问题technical problem
现有云存储依赖于第三方大型存储商来传输和存储数据,如360云盘、百度网盘等,这些大型存储商拥有全部的数据备份以及所有的用户信息,受限于中心化的架构,非常容易受到各种安全威胁。Existing cloud storage relies on third-party large-scale storage to transmit and store data, such as 360 cloud disk, Baidu network disk, etc. These large-scale storage stores have all data backup and all user information, which is limited by the centralized architecture. Very vulnerable to a variety of security threats.
本发明的目的在于克服现有技术的不足,提供一种基于区块链的分布式存储方法,实现文件的分布式存储,提高文件存储的安全性。The object of the present invention is to overcome the deficiencies of the prior art and provide a distributed storage method based on a blockchain, which realizes distributed storage of files and improves file storage security.
技术解决方案Technical solution
本发明的目的是通过以下技术方案来实现的:基于区块链的分布式存储方法,包括:The object of the present invention is achieved by the following technical solutions: a blockchain-based distributed storage method, including:
S1.分布式存储网络中的上传者生成上传请求,并将所述上传请求记录在区块链的智能合约中;S1. The uploader in the distributed storage network generates an upload request, and records the upload request in a smart contract of the blockchain;
S2.将要被存储的文件切分为多个文件分片;S2. Dividing the file to be stored into multiple file fragments;
S3.分布式存储网络中的存储者生成存储请求,并将所述存储请求记录在区块链的智能合约中;S3. The storage in the distributed storage network generates a storage request, and records the storage request in a smart contract of the blockchain;
S4.在区块链中生成上传者与存储者存储所述文件分片的存储交易;S4. Generating, in the blockchain, a storage transaction in which the uploader and the store store the file fragments;
S5.存储者存储所述文件分片。S5. The store stores the file fragment.
优选的,所述上传请求包括文件的拆分数量、文件的备份数量、文件描述、上传者的公钥、上传者的账户名、上传者ID和文件ID。Preferably, the upload request includes a split number of files, a backup number of files, a file description, an uploader's public key, an uploader's account name, an uploader ID, and a file ID.
优选的,所述存储请求包括存储者的账户名、文件ID和文件分片ID。 Preferably, the storage request includes a storage user's account name, a file ID, and a file shard ID.
优选的,所述文件ID由所述文件的哈希值和上传者的公钥构成,所述文件分片ID由所述文件分片的哈希值和上传者的公钥构成。Preferably, the file ID is composed of a hash value of the file and a public key of the uploader, and the file fragment ID is composed of a hash value of the file fragment and a public key of the uploader.
优选的,所述S4包括:上传者查看所述存储请求,并为所述存储者授予存储所述文件分片的存储权限。Preferably, the S4 includes: an uploader viewing the storage request, and granting the storage permission to store the file fragment.
优选的,所述S5包括:Preferably, the S5 comprises:
存储者向上传者发起下载所述文件分片的请求;The store initiates a request to the uploader to download the file fragment;
上传者验证存储者是否具有所述文件分片的存储权限,若是,则上传者允许存储者下载所述文件分片;The uploader verifies whether the store has the storage permission of the file fragment, and if so, the uploader allows the store to download the file fragment;
存储者从上传者处下载并存储所述文件分片。The store downloads and stores the file fragments from the uploader.
优选的,所述S5还包括:Preferably, the S5 further includes:
存储者更新所述存储请求,写入所述文件分片下载完成的信息;The storage device updates the storage request, and writes information that the file fragment downloading is completed;
上传者更新所述上传请求,写入所述文件分片已存储的信息。The uploader updates the upload request and writes the information that the file fragment has stored.
优选的,所述文件分片下载完成的信息包括文件ID、文件分片ID和存储者的账户名,所述文件分片已存储的信息包括上传者的账户名、文件ID、文件分片ID和存储者ID。 Preferably, the information that the file fragment downloading is completed includes a file ID, a file fragment ID, and an account name of the storage, and the information stored in the file fragment includes an account name, a file ID, and a file fragment ID of the uploader. And the store ID.
优选的,所述存储者与上传者之间通过电骡实现所述文件分片的传输。Preferably, the transmission of the file fragment is implemented by the storage between the storage and the uploader.
有益效果Beneficial effect
(1)本发明实现了文件的分布式存储,任何一个节点都不会拥有整个文件的完整备份,提高了文件的安全性;(1) The invention realizes distributed storage of files, and any node does not have a complete backup of the entire file, thereby improving the security of the file;
(2)将文件的元数据等重要信息通过智能合约验证存储在区块链中,由于存储在区块链中的数据不可能被篡改,因此使得这些重要信息能够得到很好的保护;(2) The important information such as the metadata of the file is stored in the blockchain through the smart contract verification. Since the data stored in the blockchain cannot be tampered with, the important information can be well protected;
(3)每个用户既可以是存储需求方,也可以是存储提供方,能够有效提高网络中用户闲散的存储资源的利用率,同时也为提供存储资源的用户带来相应的收益;(3) Each user can be either a storage demand side or a storage provider, which can effectively improve the utilization of idle storage resources of the network, and also bring corresponding benefits to users who provide storage resources;
(4)采用电骡进行文件分片的传输,稳定性良好。(4) The use of eMule for file segmentation transmission has good stability.
附图说明DRAWINGS
图1为本发明的流程示意图。Figure 1 is a schematic flow chart of the present invention.
本发明的实施方式Embodiments of the invention
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions of the present invention will be described clearly and completely in combination with the embodiments. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without any inventive effort are within the scope of the present invention.
术语解释:Explanation of terms:
区块链:一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。Blockchain: A chained data structure that combines data blocks in sequential order in chronological order, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
智能合约:一套以数字形式定义的承诺,包括合约参与方可以执行这些承诺的协议。从程序角度来看,智能合约是编程在区块链上的程序语言,当满足某些指定条件时触发相关操作。Smart Contract: A set of commitments defined in digital form, including agreements where contract participants can execute these commitments. From a procedural perspective, a smart contract is a programming language programmed on a blockchain that triggers related operations when certain specified conditions are met.
参阅图1,本实施例提供了一种基于区块链的分布式存储方法,具体包括以下步骤:Referring to FIG. 1, the embodiment provides a distributed storage method based on a blockchain, which specifically includes the following steps:
S1.分布式存储网络中的上传者生成上传请求,并将所述上传请求记录在区块链的智能合约中。S1. The uploader in the distributed storage network generates an upload request and records the upload request in the smart contract of the blockchain.
所述上传请求包括所述文件的拆分数量、所述文件的备份数量、付费意愿、文件描述、上传者的公钥、上传者的账户名、上传者ID、文件ID。所述文件ID由所述文件的哈希值和上传者的公钥构成。The upload request includes the number of splits of the file, the number of backups of the file, the willingness to pay, the description of the file, the public key of the uploader, the account name of the uploader, the uploader ID, and the file ID. The file ID is composed of a hash value of the file and a public key of the uploader.
上传者为分布式存储网络中作为存储需求方的用户,即该用户有文件需要被存储。上传者发起上传文件到分布式存储网络的请求,对该请求进行基本的校验后设置相关参数,然后调用区块链的File_Upload(文件上传)合约的Upload(上传)接口的交易,合约校验没有问题后在区块链上为其创建一个上传请求(Upload Request)记录。The uploader is a user in the distributed storage network as a storage demander, that is, the user has files to be stored. The uploader initiates a request to upload a file to the distributed storage network, performs basic verification on the request, sets relevant parameters, and then calls the transaction of the File_Upload (file upload) contract of the blockchain, and the contract check After there is no problem, create an upload request record for the blockchain.
S2.将要被存储的文件切分为多个文件分片。即根据上传请求中文件的拆分数量和备份数量将文件切分为多个文件分片;例如,文件的拆分数量为5,备份数量为2,即将文件拆分成5个文件分片,每个文件分片有两个副本,一共有十个文件分片需要进行存储。S2. Divide the file to be stored into multiple file fragments. That is, the file is divided into multiple file fragments according to the number of splits and the number of backups in the upload request; for example, the number of split files is 5, the number of backups is 2, and the file is split into 5 file fragments. There are two copies of each file fragment, and a total of ten file fragments need to be stored.
在将文件切分为多个文件分片后,将所述文件分片存储至上传者设定的位置。After the file is divided into multiple file fragments, the file is sliced and stored in the location set by the uploader.
S3.分布式存储网络中的存储者生成存储请求,并将所述存储请求记录在区块链的智能合约中。S3. The storage in the distributed storage network generates a storage request and records the storage request in a smart contract of the blockchain.
所述存储请求包括存储者的账户名、文件ID和文件分片ID;所述文件ID由所述文件的哈希值和上传者的公钥构成,所述文件分片ID由所述文件分片的哈希值和上传者的公钥构成。The storage request includes an account name, a file ID, and a file fragment ID of the storage; the file ID is composed of a hash value of the file and a public key of the uploader, and the file fragment ID is divided by the file The hash value of the slice is composed of the public key of the uploader.
存储者为分布式存储网络中作为存储资源提供方的用户,即该用户为上传者提供存储资源。存储者调用区块链的blockchain_get__upload_requests接口(查看存在的上传请求)查看上传者的上传请求,存储者在看到上传请求后,将所述文件的哈希值和上传者的公钥组合形成文件ID,生成存储请求,声明自己想要存储该文件的哪些文件分片。The storage is a user in the distributed storage network as a storage resource provider, that is, the user provides storage resources for the uploader. The storeer calls the blockchain_get__upload_requests interface of the blockchain (checking the existing upload request) to view the uploader's upload request. After seeing the upload request, the store combines the hash value of the file with the uploader's public key to form a file ID. , generate a storage request, declare which file fragments you want to store the file.
S4.在区块链中生成上传者与存储者存储所述文件分片的存储交易。即,上传者查看所述存储请求,并为所述存储者授予存储所述文件分片的存储权限。S4. Generate, in the blockchain, a storage transaction in which the uploader and the store store the file fragments. That is, the uploader views the storage request and grants the storage owner the storage authority to store the file fragment.
上传者调用区块链的wallet_list_store_request_for_my_file(存储请求查看接口,用于上传者查看与自己要上传的文件相关的存储请求)接口查看存储者的存储请求,然后,上传者调用区块链的wallet_allow_store_request接口(允许下载接口用于为存储者授予某一文件分片的存储权限)来允许存储者存储相应的文件分片(即允许存储者下载相应的文件分片)。The uploader calls the wallet_list_store_request_for_my_file of the blockchain (the storage request viewing interface is used for the uploader to view the storage request related to the file to be uploaded). The interface views the storage request of the storage, and then the uploader calls the wallet_allow_store_request interface of the blockchain ( The download interface is allowed to grant the storage permission of a file fragment to the store) to allow the store to store the corresponding file fragment (ie, allowing the store to download the corresponding file fragment).
S5.存储者存储所述文件分片。S5. The store stores the file fragment.
所述S5包括:存储者向上传者发起下载所述文件分片的请求;上传者验证存储者是否具有所述文件分片的存储权限,若是,则上传者允许存储者下载所述文件分片;存储者从上传者处下载并存储所述文件分片。The S5 includes: a request by the store to the uploader to download the file slice; the uploader verifies whether the store has the storage permission of the file slice, and if so, the uploader allows the store to download the file slice The store downloads and stores the file fragments from the uploader.
存储者的电骡给上传者的电骡发送下载相应文件分片的请求,上传者的电骡收到该请求后调用区块链的download_validation(鉴权接口,用于进行下载权限鉴定)来验证是否允许存储者下载。如果允许,则存储者的电骡从上传者的电骡下载相应的文件分片。The storage device sends a request for downloading the corresponding file fragment to the uploader's eMule. After receiving the request, the uploader's eMule calls the download_validation of the blockchain (authentication interface for performing download permission authentication) to verify whether the storage is allowed. Download. If allowed, the store's eMule downloads the corresponding file fragment from the uploader's eMule.
所述S5还包括:存储者更新所述存储请求,写入所述文件分片下载完成的信息;上传者更新所述上传请求,写入所述文件分片已存储的信息。The S5 further includes: the storage device updating the storage request, and writing the information that the file fragment downloading is completed; the uploader updating the upload request, and writing the information that has been stored in the file fragment.
所述文件分片下载完成的信息包括文件ID、文件分片ID和存储者的账户名,所述文件分片已存储的信息包括上传者的账户名、文件ID、文件分片ID和存储者ID。The file fragment downloading completed information includes a file ID, a file fragment ID, and a storage user's account name. The file fragment stored information includes an uploader's account name, a file ID, a file fragment ID, and a storage. ID.
存储者的电骡下载完成后,存储者调用区块链的declare_piece_saved(存储完成声明接口,用于存储者发起已完成某一文件分片存储的声明),在区块链上写入“该文件分片下载完成”的状态,上传者调用区块链的blockchain_list_file_save_declare(存储完成声明查看接口,用于列出区块链网络中出现的与指定文件相关的存储完成声明)接口查询自己要上传的文件的存储状态信息,上传者查看到该文件的某个文件分片已被存储后,调用区块链的confirm_piece_saved(确认存储声明接口,用于上传者发起已确认存储者完成某一文件分片的存储的声明),在区块链上写入“该文件分片已存储”的状态。当所述文件的所有文件分片被存储者下载完成后,即完成所述文件的存储。After the storage of the storage device is completed, the storeer calls the declare_piece_saved of the blockchain (the storage completion declaration interface is used for the store to initiate the declaration that the file storage has been completed), and the file is written on the blockchain. The status of the slice download is completed, the uploader calls the blockchain_list_file_save_declare of the blockchain (the storage completion statement view interface is used to list the storage completion declarations related to the specified file appearing in the blockchain network). The interface queries the file to be uploaded by itself. After storing the status information, the uploader sees that a file fragment of the file has been stored, and calls the confirm_piece_saved of the blockchain (confirming the storage declaration interface, for the uploader to initiate the storage of the confirmed file to complete the file fragmentation. The statement) writes the status of "The file fragment has been stored" on the blockchain. When all the file fragments of the file are downloaded by the storage, the storage of the file is completed.
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。The above is only a preferred embodiment of the present invention, and it should be understood that the present invention is not limited to the forms disclosed herein, and is not to be construed as being limited to the other embodiments, but may be used in various other combinations, modifications and environments. Modifications can be made by the techniques or knowledge of the above teachings or related art within the scope of the teachings herein. All changes and modifications made by those skilled in the art are intended to be within the scope of the appended claims.

Claims (9)

  1. 基于区块链的分布式存储方法,其特征在于,包括:A blockchain-based distributed storage method, comprising:
    S1.分布式存储网络中的上传者生成上传请求,并将所述上传请求记录在区块链的智能合约中;S1. The uploader in the distributed storage network generates an upload request, and records the upload request in a smart contract of the blockchain;
    S2.将要被存储的文件切分为多个文件分片;S2. Dividing the file to be stored into multiple file fragments;
    S3.分布式存储网络中的存储者生成存储请求,并将所述存储请求记录在区块链的智能合约中;S3. The storage in the distributed storage network generates a storage request, and records the storage request in a smart contract of the blockchain;
    S4.在区块链中生成上传者与存储者存储所述文件分片的存储交易;S4. Generating, in the blockchain, a storage transaction in which the uploader and the store store the file fragments;
    S5.存储者存储所述文件分片。S5. The store stores the file fragment.
  2. 根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述上传请求包括文件的拆分数量、文件的备份数量、文件描述、上传者的公钥、上传者的账户名、上传者ID和文件ID。The blockchain-based distributed storage method according to claim 1, wherein the upload request includes a split number of files, a backup number of files, a file description, an uploader's public key, and an uploader's account. Name, uploader ID, and file ID.
  3. 根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述存储请求包括存储者的账户名、文件ID和文件分片ID。   The blockchain-based distributed storage method according to claim 1, wherein the storage request includes a storage person's account name, a file ID, and a file fragment ID.
  4. 根据权利要求3所述的基于区块链的分布式存储方法,其特征在于,所述文件ID由所述文件的哈希值和上传者的公钥构成,所述文件分片ID由所述文件分片的哈希值和上传者的公钥构成。The blockchain-based distributed storage method according to claim 3, wherein the file ID is composed of a hash value of the file and a public key of an uploader, and the file fragment ID is The hash of the file fragment and the public key of the uploader.
  5. 根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述S4包括:上传者查看所述存储请求,并为所述存储者授予存储所述文件分片的存储权限。The blockchain-based distributed storage method according to claim 1, wherein the S4 comprises: an uploader viewing the storage request, and granting the storage permission to store the file fragment for the storage .
  6. 根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述S5包括:The blockchain-based distributed storage method according to claim 1, wherein the S5 comprises:
    存储者向上传者发起下载所述文件分片的请求;The store initiates a request to the uploader to download the file fragment;
    上传者验证存储者是否具有所述文件分片的存储权限,若是,则上传者允许存储者下载所述文件分片;The uploader verifies whether the store has the storage permission of the file fragment, and if so, the uploader allows the store to download the file fragment;
    存储者从上传者处下载所述文件分片。The store downloads the file fragment from the uploader.
  7. 根据权利要求6所述的基于区块链的分布式存储方法,其特征在于,所述S5还包括:The blockchain-based distributed storage method according to claim 6, wherein the S5 further comprises:
    存储者更新所述存储请求,写入所述文件分片下载完成的信息;The storage device updates the storage request, and writes information that the file fragment downloading is completed;
    上传者更新所述上传请求,写入所述文件分片已存储的信息。The uploader updates the upload request and writes the information that the file fragment has stored.
  8. 根据权利要求7所述的基于区块链的分布式存储方法,其特征在于,所述文件分片下载完成的信息包括文件ID、文件分片ID和存储者的账户名,所述文件分片已存储的信息包括上传者的账户名、文件ID、文件分片ID和存储者ID。The blockchain-based distributed storage method according to claim 7, wherein the file fragment downloading completed information includes a file ID, a file fragment ID, and a storage user's account name, and the file fragmentation The stored information includes the uploader's account name, file ID, file shard ID, and store ID.
  9. 根据权利要求6所述的基于区块链的分布式存储方法,其特征在于,所述存储者与上传者之间通过电骡实现所述文件分片的传输。The blockchain-based distributed storage method according to claim 6, wherein the storage of the file fragments is implemented by the storage device and the uploader.
PCT/CN2018/073677 2017-12-15 2018-01-22 Blockchain-based distributed storage method WO2019114097A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711344195.1 2017-12-15
CN201711344195.1A CN108111585B (en) 2017-12-15 2017-12-15 Distributed storage method based on block chain

Publications (1)

Publication Number Publication Date
WO2019114097A1 true WO2019114097A1 (en) 2019-06-20

Family

ID=62216118

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/073677 WO2019114097A1 (en) 2017-12-15 2018-01-22 Blockchain-based distributed storage method

Country Status (2)

Country Link
CN (1) CN108111585B (en)
WO (1) WO2019114097A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110619020A (en) * 2019-09-02 2019-12-27 杭州趣链科技有限公司 Block chain fragmentation method based on machine learning

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109191287B (en) * 2018-06-27 2020-08-04 浙江超脑时空科技有限公司 Block chain intelligent contract fragmentation method and device and electronic equipment
CN109246211B (en) * 2018-08-30 2021-08-13 南方科技大学 Resource uploading and resource requesting method in block chain
CN109408461A (en) * 2018-09-14 2019-03-01 中国农业大学 A kind of distributed memory system and method for block chain
CN109408463B (en) * 2018-09-21 2020-12-08 深圳市九洲电器有限公司 File distributed storage method and device and node server
CN109271115B (en) * 2018-10-11 2021-07-30 重庆晨鲸科技有限公司 Storage sharing method and device and block chain distributed network topology
CN111198862A (en) * 2018-11-19 2020-05-26 中移(杭州)信息技术有限公司 File storage method and device based on block chain, terminal equipment and medium
CN111262822B (en) * 2018-12-03 2022-04-19 中国电信股份有限公司 File storage method, device, block link point and system
CN109587253B (en) * 2018-12-11 2021-06-29 浙江大学 Method for realizing distributed storage of files based on block chain
CN109491981B (en) * 2019-01-11 2021-05-28 珮金(上海)信息科技有限公司 File management method and device based on block chain
CN109951514B (en) * 2019-01-16 2022-03-25 平安科技(深圳)有限公司 File processing method and system based on cloud storage and computer equipment
CN110032547A (en) * 2019-01-29 2019-07-19 香港贝尔科技有限公司 File stores improved method under a kind of distributed environment
CN110099114A (en) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 Block chain and the file memory method of IPFS agreement, system, terminal and storage medium
CN110300173A (en) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 Decentralization date storage method, verification method, equipment and storage medium
CN110474954B (en) * 2019-07-05 2022-10-25 深圳壹账通智能科技有限公司 Block chain-based file sharing method and device, computer equipment and readable storage medium
CN110647503A (en) * 2019-10-09 2020-01-03 重庆特斯联智慧科技股份有限公司 Distributed storage method and device
CN111163156A (en) * 2019-12-26 2020-05-15 山东爱城市网信息技术有限公司 Data processing method, device and storage medium based on block chain
CN111654375A (en) * 2020-04-17 2020-09-11 浙江吉利汽车研究院有限公司 Block chain-based edge calculation security encryption method, device and system
CN111950027A (en) * 2020-08-21 2020-11-17 安徽高山科技有限公司 File sharing method based on block chain intelligent contracts
CN111950025A (en) * 2020-08-21 2020-11-17 安徽高山科技有限公司 File distributed storage method based on block chain intelligent contract
CN112256663A (en) * 2020-10-30 2021-01-22 深圳壹账通智能科技有限公司 Block chain based distributed file storage method and system
CN117493338A (en) * 2023-11-02 2024-02-02 北京易华录信息技术股份有限公司 Data blood relationship identification and storage system based on blockchain

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534317A (en) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 Disaster recovery cloud storage system construction method based on block chain technology
CN106992990A (en) * 2017-05-19 2017-07-28 北京牛链科技有限公司 Data sharing method and system and block catenary system and computing device
US20170230353A1 (en) * 2016-02-10 2017-08-10 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
CN107249046A (en) * 2017-08-15 2017-10-13 李俊庄 A kind of distributed cloud storage system construction method based on block chain
CN107295002A (en) * 2017-07-12 2017-10-24 联动优势科技有限公司 The method and server of a kind of high in the clouds data storage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457555A (en) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 Security system and method for distributed storage
CN102546664A (en) * 2012-02-27 2012-07-04 中国科学院计算技术研究所 User and authority management method and system for distributed file system
US20160321675A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Authenticating content at an online content management system
CN105516110B (en) * 2015-12-01 2019-12-20 趣增信息科技(上海)有限公司 Mobile device security data transmission method
CN107360156B (en) * 2017-07-10 2019-10-29 广东工业大学 P2P network method for cloud storage based on block chain under a kind of big data environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170230353A1 (en) * 2016-02-10 2017-08-10 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
CN106534317A (en) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 Disaster recovery cloud storage system construction method based on block chain technology
CN106992990A (en) * 2017-05-19 2017-07-28 北京牛链科技有限公司 Data sharing method and system and block catenary system and computing device
CN107295002A (en) * 2017-07-12 2017-10-24 联动优势科技有限公司 The method and server of a kind of high in the clouds data storage
CN107249046A (en) * 2017-08-15 2017-10-13 李俊庄 A kind of distributed cloud storage system construction method based on block chain

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110619020A (en) * 2019-09-02 2019-12-27 杭州趣链科技有限公司 Block chain fragmentation method based on machine learning
CN110619020B (en) * 2019-09-02 2022-04-01 杭州趣链科技有限公司 Block chain fragmentation method based on machine learning

Also Published As

Publication number Publication date
CN108111585A (en) 2018-06-01
CN108111585B (en) 2021-08-31

Similar Documents

Publication Publication Date Title
WO2019114097A1 (en) Blockchain-based distributed storage method
WO2019114096A1 (en) Blockchain-based storage system
CN110024357B (en) System and method for data processing using distributed ledgers
US20230205929A1 (en) Securing Access to Confidential Data Using a Blockchain Ledger
CN102170440B (en) Method suitable for safely migrating data between storage clouds
WO2021088278A1 (en) File storage method, terminal, and storage medium
CN108632268B (en) Authentication method and device for block chain access, storage medium and electronic device
KR102332031B1 (en) Systems and Methods for Implementing Blockchain-Based Digital Certificates
US20160344737A1 (en) Uniqueness and auditing of a data resource through an immutable record of transactions in a hash history
US10523526B2 (en) System and method for managing services and licenses using a blockchain network
US20160344550A1 (en) Authentication of a user and/or a device through parallel synchronous update of immutable hash histories
CN111144881A (en) Selective access to asset transfer data
JP2021527274A (en) Distributed access, storage, and transfer of blockchain
CN110597832A (en) Government affair information processing method and device based on block chain network, electronic equipment and storage medium
CN111434084A (en) Permission to access information from an entity
US20190207748A1 (en) Blockchain storage device
KR20200105999A (en) System and method for generating digital marks
WO2019114098A1 (en) Blockchain-based storage system download method
US10664451B1 (en) Systems and methods for encrypting data in backend storage caches shared by multiple decentralized applications
EP3744071B1 (en) Data isolation in distributed hash chains
CN111949651A (en) Trace data transmission
US20200021602A1 (en) Trace-based transaction validation and commitment
JP2023506236A (en) Information Deletion Guarantee System Using Distributed Ledger
Tang et al. Lightweight authentication of freshness in outsourced key-value stores
JP2024509666A (en) Blockchain data segregation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18887414

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18887414

Country of ref document: EP

Kind code of ref document: A1