WO2018201797A1 - Block chain-based distributed storage - Google Patents

Block chain-based distributed storage Download PDF

Info

Publication number
WO2018201797A1
WO2018201797A1 PCT/CN2018/078515 CN2018078515W WO2018201797A1 WO 2018201797 A1 WO2018201797 A1 WO 2018201797A1 CN 2018078515 W CN2018078515 W CN 2018078515W WO 2018201797 A1 WO2018201797 A1 WO 2018201797A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
hash value
distributed
network
distributed network
Prior art date
Application number
PCT/CN2018/078515
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 WO2018201797A1 publication Critical patent/WO2018201797A1/en

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

Definitions

  • Embodiments of the present disclosure generally relate to the field of file storage technology, and more particularly to a blockchain based distributed storage method and apparatus.
  • a blockchain is a decentralized storage and computational technique that generates persistent, unmodifiable records by superimposing encrypted blocks of data in chronological order and stores them in nodes of the blockchain network. This allows a reliable database to be maintained collectively in a decentralized manner. Each data block contains system data for a certain period of time, and a data fingerprint is generated to verify the validity of its information and to link to the next database block. Therefore, the blockchain has technical advantages in data tamper resistance, transparency, and decentralization.
  • Internet intermediaries use third-party digital signature companies to guarantee the authenticity of documents, such as electronic contracts.
  • parties involved in an electronic contract sign an electronic contract and then store the electronic contract in a storage device of a third-party digital signing company to ensure the authenticity (no tampering) and availability (backup) of the electronic contract.
  • a true and usable electronic contract can be obtained from a digitally signed company to ensure the legal validity of the electronic contract.
  • embodiments of the present disclosure propose a blockchain-based distributed storage method and apparatus.
  • the embodiment of the present disclosure can realize the tamper-proof and distributed storage of files by combining the blockchain and the distributed file system, thereby solving the problem that the capacity of the blockchain node is limited, and effectively ensuring the stored files. Authenticity and usability.
  • a blockchain-based distributed storage method includes obtaining a file to be stored and generating an index of the hash value and the hash value for the file.
  • the method also includes recording the hash value in the blockchain network and storing the file in a distributed network, wherein the file is located based on the hash value in the distributed network.
  • an electronic device includes a processor and a memory coupled to the processor and storing instructions.
  • the instructions when executed by the processor, cause the electronic device to: obtain a file to be stored; generate an index for the hash value and the hash value of the file; record the hash value in the blockchain network; And storing the files in a distributed network where files are located based on hash values in the distributed network.
  • an embodiment of the present disclosure further provides a computer readable storage medium.
  • the computer readable storage medium has computer readable program instructions stored thereon. These computer-executable instructions, when executed in a device, cause the device to perform the methods or processes described in accordance with various embodiments of the present disclosure.
  • Figure 1 illustrates a schematic diagram of an architecture of a conventional blockchain network
  • FIG. 2 illustrates a flow diagram of a blockchain-based distributed storage method in accordance with an embodiment of the present disclosure
  • FIG. 3 illustrates a schematic diagram of an architecture of a blockchain-based distributed network, in accordance with one embodiment of the present disclosure
  • FIG. 4 illustrates a schematic diagram of an architecture of a blockchain-based distributed network, in accordance with another embodiment of the present disclosure
  • FIG. 5 illustrates a schematic diagram of an architecture of a blockchain-based distributed network in accordance with yet another embodiment of the present disclosure
  • FIG. 6 illustrates a flow diagram of a method of obtaining a file from a blockchain-based distributed network, in accordance with an embodiment of the present disclosure
  • FIG. 7 illustrates a schematic block diagram of an apparatus that can be used to implement embodiments of the present disclosure.
  • each block of the flowchart or block diagram may represent a module, a program segment, or a portion of code, which may include one or more for implementing various embodiments. Executable instructions for the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks may also occur in a different order than that illustrated in the drawings. For example, two blocks shown in succession may in fact be executed substantially in parallel, or they can sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the flowcharts and/or block diagrams, and combinations of blocks in the flowcharts and/or block diagrams can be implemented using a dedicated hardware-based system that performs the specified functions or operations. Or can be implemented using a combination of dedicated hardware and computer instructions.
  • the third-party digital signature company to ensure the authenticity of the electronic contract is less efficient, and the parties to the contract need to go to the digital signature company for forensics, and the process of obtaining evidence is cumbersome. In addition, some certification and archiving fees must be paid to the digital signature company.
  • One improvement to the traditional contractual preservation approach is the use of blockchains to store electronic contracts. Since the electronic contract can be stored directly in the blockchain network, the method of using the blockchain facilitates rights protection, while increasing the transparency of storage and reducing costs.
  • blockchain technology uses multipoint mirroring, where data blocks are stored on each node in the blockchain network.
  • the data of the blockchain full node is already very large, and the capacity of each node is limited, so that the summary information of the file (for example, electronic contract) can only be saved in the blockchain network, and the original file cannot be saved. Since the original file is not stored in the blockchain network, once the data is accidentally invalidated or physically deleted, the electronic contract cannot be recovered. Therefore, the blockchain technology can only be used to verify whether the electronic contract has been tampered with, but cannot guarantee the electronic contract. Availability.
  • Embodiments of the present disclosure provide a blockchain-based distributed storage method and apparatus.
  • Embodiments of the present disclosure store a hash of a file in a blockchain network by combining a blockchain and a distributed file system, while dispersingly storing individual file blocks of the original file in a distributed network. Therefore, embodiments of the present disclosure can solve the problem of limited capacity of blockchain nodes, and can implement tamper-proof and distributed storage of files, thereby effectively ensuring the authenticity and usability of stored files. Exemplary methods and apparatus of embodiments of the present disclosure are described below with reference to the drawings.
  • FIG. 1 illustrates a schematic diagram of an architecture 100 of a conventional blockchain network.
  • architecture 100 includes blockchain nodes 111, 112, 113, 114, 115, and 116. These blockchain nodes can synchronize data over the network, for example, the summary information of the electronic contract can be synchronized in the blockchain network. Due to the decentralization and transparency of the blockchain network, original and real electronic contract summary information can be obtained from the blockchain network as needed. However, the traditional blockchain network does not preserve the original files of the electronic contract for capacity reasons, and thus cannot guarantee the availability of the original files.
  • FIG. 2 illustrates a flow diagram of a blockchain based distributed storage method 200, in accordance with an embodiment of the present disclosure. It should be understood that the method 200 can be performed, for example, by the node 313 described below with respect to FIG. 3, the node 413 depicted in FIG. 4, the node 513 depicted in FIG. 5, or the device 700 of the FIG.
  • a file to be stored is obtained.
  • the file may be an electronic contract associated with a plurality of users, wherein each user may obtain a key (eg, a digital certificate) issued by the certificate authority through offline identity review, the key may be used for the electronic
  • the contract is signed.
  • one party can create an electronic contract and sign the electronic contract, and then submit the electronic contract to the blockchain network.
  • the blockchain network then sends a request to sign the electronic contract to the other party, and when the other party completes the signature, the signature of the electronic contract and the signature status are modified in real time and stored in the blockchain network.
  • the file can also be an electronic protocol, an email, a chat material, and the like.
  • an index is generated for the hash and hash values of the file.
  • Those skilled in the art will appreciate that any existing or future developed hash generation method can be used to generate a hash value for a file as long as the generated hash value is capable of distinguishing between different files.
  • an index for the hash also known as a transaction hash
  • the index is provided to the user for subsequent queries.
  • the hash value is recorded in the blockchain network.
  • the generated hash value is stored in the blockchain network, which is used to identify the original file.
  • a blockchain smart contract can be used to store the hash value of a file and its corresponding signature state.
  • the file is stored in a distributed network where the file is located based on a hash value in the distributed network.
  • the distributed network is a point-to-point protocol based InterPlanetary File System (IPFS) network, and the IPFS distributed network maintains a distributed hash table.
  • IPFS uses a content-based address instead of the traditional domain-based approach.
  • the hash of the file is used as an index into the IPFS distributed network. If there are any modifications to the file, its corresponding hash value will change.
  • the file is safer and more reliable because it uses the hash of the file to find the file.
  • each node in the IPFS distributed network only stores a part of data.
  • the files are divided into multiple file blocks and distributed in each node for storage and backup, making the file more difficult to be attacked. Or have been tampered with. It should be understood that while embodiments of the present disclosure have primarily described embodiments of the present disclosure with an IPFS distributed network as an example, other distributed networks that locate files based on hash values are also feasible.
  • the file can be completed in multiple nodes stored in the IPFS.
  • the file may also be sliced into a plurality of file blocks, and then the plurality of file blocks may be distributedly stored in a plurality of nodes in the IPFS distributed network.
  • each file block is stored in at least two of the plurality of nodes.
  • the hash value of the file to be preserved is stored in the blockchain network, and the original file is stored in the distributed network, thereby ensuring the authenticity of the file. It also guarantees the availability of files, and makes up for the shortcomings of blockchain nodes with limited capacity and linear expansion of storage space.
  • the parties to the electronic contract can obtain electronic contracts from the distributed network based on the blockchain after being authenticated.
  • FIG. 3 illustrates a schematic diagram of an architecture 300 of a blockchain-based distributed network, in accordance with one embodiment of the present disclosure.
  • architecture 300 includes a blockchain network 310 and an IPFS distributed network 320, wherein blockchain network 310 includes blockchain nodes 311, 312, 313, 314, 315, and 316, while IPFS distributed network 320 Distributed nodes 321, 322, 323, 324, and 325 are included.
  • architecture 300 can also include computing devices 330 and 340.
  • the supervisory authority can dock the blockchain network to become a node in the blockchain network.
  • the device of the supervisory department can be the blockchain node 311, and then all the data in the blockchain network can be obtained.
  • the blockchain network supports node automatic data synchronization, that is, any node in the blockchain network can obtain a complete data backup on the blockchain.
  • Each of the blockchain nodes 311-316 and the distributed nodes 321-325 can be a computing device, which can be a server or user device (eg, a mobile device such as a smartphone, tablet, laptop, etc., or fixed) Devices, such as desktop computers).
  • a server or user device eg, a mobile device such as a smartphone, tablet, laptop, etc., or fixed
  • Devices such as desktop computers.
  • the block chain nodes 311-316 in the blockchain network 310 synchronize data blocks through the network, while the nodes 321-325 in the IPFS distributed network 320 implement distributed file storage over the network, blocks.
  • the chain network 310 and the IPFS distributed network 320 are also connected through a network.
  • the network can be any wired and/or wireless network.
  • the network may include, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a virtual private network (VPN) network, a wireless communication network, and the like.
  • VPN virtual private network
  • computing device 330 submits the electronic contract to blockchain node 313, which then generates a hash value for the electronic contract and its index from blockchain node 313, storing the hash value in distributed network 310. And providing an index to computing device 330.
  • Computing device 340 can then sign the electronic contract and store the signed signature status in blockchain network 310.
  • blockchain node 313 can send the file to IPFS distributed network 320 for distributed storage. For example, a file can be divided into multiple file blocks and stored in a distributed manner in the IPFS distributed network 320, where files can be looked up by hash values.
  • the hash value of the file is stored in the blockchain network 310, it can be verified that the file has not been tampered with, and further, since the file is distributedly stored in the IPFS distributed network 320, since the file is usually not lost, The availability of the file can be guaranteed.
  • architecture 400 includes a blockchain network 410 and an IPFS distributed network 420, wherein blockchain network 410 includes blockchain nodes 411, 412, 413, 414, 415, and 416, while IPFS distributed network 420 Distributed nodes 421, 422, 423, 424, 425, 413, and 414 are included.
  • the difference from the architecture 300 depicted in FIG. 3 is that the blockchain network 310 and the IPFS distributed network 320 in FIG. 3 are completely separate, with no duplication between nodes; and the blockchain network 410 in FIG. There is a partial overlap with the IPFS distributed network 420, that is, some nodes act as both blockchain nodes and distributed nodes, such as nodes 413, 414.
  • blockchain programs and distributed storage programs are run concurrently on nodes 413 and 414 such that nodes 413 and 414 store both the hash value of the file and the file block of the file.
  • FIG. 5 illustrates a schematic diagram of an architecture 500 of a blockchain-based distributed network, in accordance with yet another embodiment of the present disclosure.
  • the architecture 500 includes a network 510, and the network 510 acts both as a blockchain network and as an IPFS distributed network, that is, the blockchain network and the IPFS distributed network completely overlap, wherein the network 510 includes nodes 511, 512, 513, 514, 515, 516.
  • each of the nodes 511-516 is both a blockchain node and a distributed node, and each node simultaneously runs a blockchain program and a distributed storage program, so that all nodes store files. Greek value, and each node only stores a portion of the file block in the file.
  • tamper resistance, loss prevention, and secure backup storage of files can be achieved.
  • any participant or supervisory authority may join the blockchain network as a member node for notarization and supervision.
  • FIG. 6 illustrates a flow diagram of a method 600 of obtaining a file from a blockchain-based distributed network, in accordance with an embodiment of the present disclosure. It should be understood that the method 200 can be performed, for example, by the node 313 described above with respect to FIG. 3, the node 413 depicted in FIG. 4, the node 513 depicted in FIG. 5, and the apparatus 700 described below with reference to FIG.
  • a hash value is obtained from the blockchain network based on the index, for example, the blockchain node 313 looks up the hash value in the blockchain network 310 based on the index received from the computing device 330, and then uses the hash value
  • the distributed hash table in the IPFS distributed network 320 is queried.
  • it is determined whether the hash value exists in the distributed hash table for example, using the hash value to query all records in the distributed hash table, and when identical, the hash value exists in the distributed hash table. . If so, the file is obtained from the IPFS distributed network 320 by the hash value at 606. This file is true and reliable because it is a file obtained from unmodified hash values in the blockchain network.
  • the signature status of the file can be verified from the blockchain network, for example, verifying that the electronic contract has been signed by computing devices 330 and 340. If the hash value does not exist in the distributed hash table, then at 610 the file is indicated to be modified in the distributed network. Because IPFS distributed networks have backup and redundancy mechanisms, files in IPFS distributed networks are usually not corrupted or modified. According to an embodiment of the present disclosure, since the hash value of the file is not modified in the blockchain network, the file obtained from the IPFS distributed network is also the original file that has not been tampered with.
  • the embodiment of the present disclosure can solve the problem of limited capacity of the blockchain node by combining the blockchain and the distributed file system, and can implement tamper-proof and distributed storage of the file, thereby effectively ensuring the stored The authenticity and usability of the document.
  • the embodiment of the present disclosure has a simple forensic process and a short cycle, and effectively improves the forensic efficiency of the electronic contract.
  • new user equipment can be used to access the blockchain network and the IPFS distributed network.
  • the metadata of the file eg, a hash value
  • the original file is obtained from the IPFS distributed network based on the hash value.
  • the user equipment constructs local data blocks locally each time it is queried, making it part of the blockchain network node, thereby better ensuring decentralized storage of data.
  • the device can be implemented in hardware, software, or a combination of software and hardware.
  • the hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or dedicated design hardware.
  • a suitable instruction execution system such as a microprocessor or dedicated design hardware.
  • processor control code such as in a programmable memory such as a magnetic disk, an optical disk carrier medium, or a read only memory.
  • a data carrier such as an optical or electronic signal carrier.
  • the apparatus and apparatus of embodiments of the present disclosure may be implemented not only by hardware such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, and the like.
  • the circuit implementation can also be implemented by, for example, software executed by various types of processors, or by a combination of the above hardware circuits and software.
  • FIG. 7 illustrates a schematic block diagram of an electronic device 700 that can be used to implement embodiments of the present disclosure. It should be understood that electronic device 700 can be implemented as any of the nodes described in Figures 3-5, or electronic device 700 can be implemented as any of any of the nodes described in Figures 3-5.
  • device 700 includes a central processing unit (CPU) 701 (eg, a processor) that can be loaded into random access memory from computer program instructions stored in read only memory (ROM) 702 or from storage unit 708 ( Computer program instructions in RAM) 703 to perform various appropriate actions and processes. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored.
  • the CPU 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704.
  • An input/output (I/O) interface 705 is also coupled to bus 704.
  • a plurality of components in device 700 are coupled to I/O interface 705, including: input unit 706, such as a keyboard, mouse, etc.; output unit 707, such as various types of displays, speakers, etc.; storage unit 708, such as a magnetic disk, optical disk, etc. And a communication unit 709 such as a network card, a modem, a wireless communication transceiver, and the like. Communication unit 709 allows device 700 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.
  • methods 200 and 600 may be performed by processing unit 701.
  • methods 200 and 600 can be implemented as a computer software program that is tangibly embodied in a machine readable medium, such as storage unit 708.
  • some or all of the computer program may be loaded and/or installed onto device 700 via ROM 702 and/or communication unit 709.
  • ROM 702 and/or communication unit 709 When a computer program is loaded into RAM 703 and executed by CPU 701, one or more of the acts or steps of methods 200 and 600 described above may be performed.
  • the computer program product can include a computer readable storage medium having computer readable program instructions for performing various aspects of the present disclosure.
  • the computer readable storage medium can be a tangible device that can hold and store the instructions used by the instruction execution device.
  • the computer readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • Non-exhaustive list of computer readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM) Or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, for example, with instructions stored thereon A raised structure in the hole card or groove, and any suitable combination of the above.
  • a computer readable storage medium as used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (eg, a light pulse through a fiber optic cable), or through a wire The electrical signal transmitted.
  • the computer readable program instructions described herein can be downloaded to a respective computing/processing device from a computer readable storage medium or downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and/or a wireless network.
  • the network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and/or edge servers.
  • a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in each computing/processing device .
  • Computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine related instructions, microcode, firmware instructions, state setting data, or in one or more programming languages.
  • Source code or object code written in any combination including an object oriented programming language - such as C++, and conventional procedural programming languages - such as the "C" language or similar programming language.
  • the computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer, partly on the remote computer, or entirely on the remote computer or server. carried out.
  • the remote computer can be connected to the user's computer via any kind of network, including a local area network (LAN) or wide area network (WAN), or can be connected to an external computer (eg, using an Internet service provider to access the Internet) connection).
  • the customized electronic circuit such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), can be customized by utilizing state information of computer readable program instructions.
  • Computer readable program instructions are executed to implement various aspects of the present disclosure.

Abstract

Disclosed is a block chain-based distributed storage method. The method comprises: obtaining a file which needs to be stored; and generating a hash value and an index of the hash value for the file. The method also comprises: recording the hash value in a block chain network; and storing the file in a distributed network, wherein the file is located on the basis of the hash value in the distributed network. Therefore, tampering proofing and the distributed storage of the file can be realized through combining a block chain and a distributed file system, thereby solving the problem of the limited capacity of block chain nodes, and effectively ensuring the authenticity and the availability of the stored file.

Description

基于区块链的分布式存储Blockchain-based distributed storage 技术领域Technical field
本公开的实施例总体上涉及文件存储技术领域,更具体地涉及基于区块链的分布式存储方法和设备。Embodiments of the present disclosure generally relate to the field of file storage technology, and more particularly to a blockchain based distributed storage method and apparatus.
背景技术Background technique
区块链是一种去中心化的存储和计算技术,其通过将加密数据块按照时间顺序叠加而生成的持久的不可修改的记录,并且将计入存储在区块链网络的各个节点中,使得以去中心化的方式集体维护一个可靠数据库。每个数据块中包含了一定时间内的系统数据,并且生成数据指纹用于验证其信息的有效性和链接下一个数据库块。因此,区块链在数据防篡改、透明性以及去中心化方面具有技术优势。A blockchain is a decentralized storage and computational technique that generates persistent, unmodifiable records by superimposing encrypted blocks of data in chronological order and stores them in nodes of the blockchain network. This allows a reliable database to be maintained collectively in a decentralized manner. Each data block contains system data for a certain period of time, and a data fingerprint is generated to verify the validity of its information and to link to the next database block. Therefore, the blockchain has technical advantages in data tamper resistance, transparency, and decentralization.
通常,互联网中介机构通过第三方数字签名公司来保证文件(例如电子合同)的真实性。例如,电子合同所涉及的各方对电子合同进行签名,然后将电子合同存储到第三方数字签名公司的存储设备中,以保证电子合同的真实性(无篡改)和可用性(备份)。当出现争议时,可以从数字签名公司获得真实且可用的电子合同,以保证电子合同的法律效力。在此过程中,需要一些时间去第三方数字签名公司获取电子合同并且需要支付一些认证和存档费用。Typically, Internet intermediaries use third-party digital signature companies to guarantee the authenticity of documents, such as electronic contracts. For example, parties involved in an electronic contract sign an electronic contract and then store the electronic contract in a storage device of a third-party digital signing company to ensure the authenticity (no tampering) and availability (backup) of the electronic contract. In the event of a dispute, a true and usable electronic contract can be obtained from a digitally signed company to ensure the legal validity of the electronic contract. In the process, it takes some time for a third-party digital signing company to obtain an electronic contract and pay for some certification and archiving fees.
发明内容Summary of the invention
有鉴于此,本公开的各实施例提出了一种基于区块链的分布式存储方法和设备。本公开的实施例通过将区块链和分布式文件系统相结合,能够实现文件的防篡改和分布式存储,从而解决了区块链节点容量有限的问题,并且有效保证了所存储的文件的真实性和可用性。In view of this, embodiments of the present disclosure propose a blockchain-based distributed storage method and apparatus. The embodiment of the present disclosure can realize the tamper-proof and distributed storage of files by combining the blockchain and the distributed file system, thereby solving the problem that the capacity of the blockchain node is limited, and effectively ensuring the stored files. Authenticity and usability.
根据本公开的第一方面,提供了一种基于区块链的分布式存储方法。该方法包括获得要被存储的文件并且生成针对该文件的哈希值以及哈希值的索引。该方法还包括将哈希值记录在区块链网络中并且将文件存储在分布式网络中,其中文件在分布式网络中基于哈希值被定位。According to a first aspect of the present disclosure, a blockchain-based distributed storage method is provided. The method includes obtaining a file to be stored and generating an index of the hash value and the hash value for the file. The method also includes recording the hash value in the blockchain network and storing the file in a distributed network, wherein the file is located based on the hash value in the distributed network.
根据本公开的第二方面,提供了一种电子设备。该电子设备包括处理器和耦合至处理器并且存储有指令的存储器。所述指令在由处理器执行时使得电子设备执行以下动作:获得要被存储的文件;生成针对该文件的哈希值以及哈希值的索引;将哈希值记录在区块链网络中;以及将文件存储在分布式网络中,其中文件在分布式网络中基于哈希值被定位。According to a second aspect of the present disclosure, an electronic device is provided. The electronic device includes a processor and a memory coupled to the processor and storing instructions. The instructions, when executed by the processor, cause the electronic device to: obtain a file to be stored; generate an index for the hash value and the hash value of the file; record the hash value in the blockchain network; And storing the files in a distributed network where files are located based on hash values in the distributed network.
根据本公开的第三方面,本公开的实施例还提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令。这些计算机可执行指令在设备中运行时使得该设备执行根据本公开中的各个实施例所描述的方法或过程。According to a third aspect of the present disclosure, an embodiment of the present disclosure further provides a computer readable storage medium. The computer readable storage medium has computer readable program instructions stored thereon. These computer-executable instructions, when executed in a device, cause the device to perform the methods or processes described in accordance with various embodiments of the present disclosure.
附图说明DRAWINGS
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:The features, advantages and other aspects of the various embodiments of the present disclosure will become more apparent from the aspects In the figure:
图1图示了传统的区块链网络的架构的示意图;Figure 1 illustrates a schematic diagram of an architecture of a conventional blockchain network;
图2图示了根据本公开的实施例的基于区块链的分布式存储方法的流程图;2 illustrates a flow diagram of a blockchain-based distributed storage method in accordance with an embodiment of the present disclosure;
图3图示了根据本公开的一个实施例的基于区块链的分布式网络的架构的示意图;3 illustrates a schematic diagram of an architecture of a blockchain-based distributed network, in accordance with one embodiment of the present disclosure;
图4图示了根据本公开的另一实施例的基于区块链的分布式网络的架构的示意图;4 illustrates a schematic diagram of an architecture of a blockchain-based distributed network, in accordance with another embodiment of the present disclosure;
图5图示了根据本公开的又一实施例的基于区块链的分布式网络的架构的示意图;FIG. 5 illustrates a schematic diagram of an architecture of a blockchain-based distributed network in accordance with yet another embodiment of the present disclosure; FIG.
图6图示了根据本公开的实施例的从基于区块链的分布式网络获取文件的方法的流程图;以及6 illustrates a flow diagram of a method of obtaining a file from a blockchain-based distributed network, in accordance with an embodiment of the present disclosure;
图7图示了可以用来实施本公开的实施例的设备的示意性框图。FIG. 7 illustrates a schematic block diagram of an apparatus that can be used to implement embodiments of the present disclosure.
具体实施方式detailed description
以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架 构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。Various exemplary embodiments of the present disclosure are described in detail below with reference to the drawings. The flowchart and block diagrams in the Figures illustrate the architecture, functionality and operation of possible implementations of methods and systems in accordance with various embodiments of the present disclosure. It should be noted that each block of the flowchart or block diagram may represent a module, a program segment, or a portion of code, which may include one or more for implementing various embodiments. Executable instructions for the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks may also occur in a different order than that illustrated in the drawings. For example, two blocks shown in succession may in fact be executed substantially in parallel, or they can sometimes be executed in the reverse order, depending upon the functionality involved. It should also be noted that each block of the flowcharts and/or block diagrams, and combinations of blocks in the flowcharts and/or block diagrams can be implemented using a dedicated hardware-based system that performs the specified functions or operations. Or can be implemented using a combination of dedicated hardware and computer instructions.
本文所使用的术语"包括"、"包含"及类似术语应该被理解为是开放性的术语,即"包括/包含但不限于",表示还可以包括其他内容。在本公开内容中,术语"基于"是"至少部分地基于";术语"一个实施例"表示"至少一个实施例";术语"另一实施例"表示"至少一个另外的实施例"。The terms "including", "comprising", and the like, as used herein, are understood to mean an open term, that is, "including/including, but not limited to," meaning that other items may also be included. In the present disclosure, the term "based on" is "based at least in part on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment."
应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制发明的范围。It is to be understood that the exemplary embodiments are given by way of example only, and are not intended to limit the scope of the invention.
传统地,通过第三方数字签名公司来保证电子合同的真实性的效率较低,需要合同各方去数字签名公司进行取证,取证过程繁琐。此外,还需向数字签名公司支付一些认证和存档费用。对于传统合同保全方式的一种改进是使用区块链来存储电子合同。由于可以将电子合同直接存储在区块链网络中,因而使用区块链的方法便于维权,同时增加了存储的透明度,还能够降低成本。Traditionally, the third-party digital signature company to ensure the authenticity of the electronic contract is less efficient, and the parties to the contract need to go to the digital signature company for forensics, and the process of obtaining evidence is cumbersome. In addition, some certification and archiving fees must be paid to the digital signature company. One improvement to the traditional contractual preservation approach is the use of blockchains to store electronic contracts. Since the electronic contract can be stored directly in the blockchain network, the method of using the blockchain facilitates rights protection, while increasing the transparency of storage and reducing costs.
然而,区块链技术使用的是多点镜像技术,数据块会在区块链网络中的各个节点上进行存储。此外,区块链全量节点的数据已经非常大,并且各个节点的容量有限,因而只能将文件(例如电子合同)的摘要信息保存在区块链网络中,而不能保存原始文件。由于区块链网络中不存储原始文件,一旦数据意外失效或者被物理删除,将导致电子合同无法被恢复,因而区块链技术只能用来验证电子合同是否被篡改,而无法保证电子合同的可用性。However, blockchain technology uses multipoint mirroring, where data blocks are stored on each node in the blockchain network. In addition, the data of the blockchain full node is already very large, and the capacity of each node is limited, so that the summary information of the file (for example, electronic contract) can only be saved in the blockchain network, and the original file cannot be saved. Since the original file is not stored in the blockchain network, once the data is accidentally invalidated or physically deleted, the electronic contract cannot be recovered. Therefore, the blockchain technology can only be used to verify whether the electronic contract has been tampered with, but cannot guarantee the electronic contract. Availability.
本公开的实施例提供了一种基于区块链的分布式存储方法和设备。本公开的实施例通过将区块链和分布式文件系统相结合,在区块链网络中存 储文件的哈希值,同时在分布式网络中分散地存储原始文件的各个文件块。因此,本公开的实施例能够解决区块链节点容量有限的问题,并且能够实现文件的防篡改和分布式存储,由此有效保证所存储的文件的真实性和可用性。以下参考附图描述了本公开的实施例示例性方法和设备。Embodiments of the present disclosure provide a blockchain-based distributed storage method and apparatus. Embodiments of the present disclosure store a hash of a file in a blockchain network by combining a blockchain and a distributed file system, while dispersingly storing individual file blocks of the original file in a distributed network. Therefore, embodiments of the present disclosure can solve the problem of limited capacity of blockchain nodes, and can implement tamper-proof and distributed storage of files, thereby effectively ensuring the authenticity and usability of stored files. Exemplary methods and apparatus of embodiments of the present disclosure are described below with reference to the drawings.
图1图示了传统的区块链网络的架构100的示意图。如图1所示,架构100包括区块链节点111、112、113、114、115以及116。这些区块链节点可以通过网络同步数据,例如,可以将电子合同的摘要信息同步在区块链网络中。由于区块链网络的去中心化和透明性,在需要时可以从区块链网络中获取原始且真实的电子合同摘要信息。然而,传统的区块链网络由于容量原因,并不会保存电子合同的原始文件,因而无法保证原始文件的可用性。FIG. 1 illustrates a schematic diagram of an architecture 100 of a conventional blockchain network. As shown in FIG. 1, architecture 100 includes blockchain nodes 111, 112, 113, 114, 115, and 116. These blockchain nodes can synchronize data over the network, for example, the summary information of the electronic contract can be synchronized in the blockchain network. Due to the decentralization and transparency of the blockchain network, original and real electronic contract summary information can be obtained from the blockchain network as needed. However, the traditional blockchain network does not preserve the original files of the electronic contract for capacity reasons, and thus cannot guarantee the availability of the original files.
图2图示了根据本公开的实施例的基于区块链的分布式存储方法200的流程图。应当理解,方法200例如可以由以下参考图3所描述的节点313、图4所描述的节点413、图5所描述的节点513或者图7说明书的设备700所执行。FIG. 2 illustrates a flow diagram of a blockchain based distributed storage method 200, in accordance with an embodiment of the present disclosure. It should be understood that the method 200 can be performed, for example, by the node 313 described below with respect to FIG. 3, the node 413 depicted in FIG. 4, the node 513 depicted in FIG. 5, or the device 700 of the FIG.
在202,获得要被存储的文件。在一些实施例,文件可以为与多个用户相关联的电子合同,其中每个用户可以通过线下身份审核而获得由认证中心颁发的密钥(例如数字证书),密钥可以用于对电子合同进行签名。例如,针对涉及两方的电子合同,一方可以创建电子合同并且对电子合同进行签名,然后将电子合同提交到区块链网络中。区块链网络然后将对电子合同进行签名的请求发给另一方以,当另一方完成签名后,电子合同的签名以及签名状态会被实时地修改并且存储在区块链网络中。备选地,该文件还可以为电子协议、电子邮件以及聊天资料等。At 202, a file to be stored is obtained. In some embodiments, the file may be an electronic contract associated with a plurality of users, wherein each user may obtain a key (eg, a digital certificate) issued by the certificate authority through offline identity review, the key may be used for the electronic The contract is signed. For example, for an electronic contract involving two parties, one party can create an electronic contract and sign the electronic contract, and then submit the electronic contract to the blockchain network. The blockchain network then sends a request to sign the electronic contract to the other party, and when the other party completes the signature, the signature of the electronic contract and the signature status are modified in real time and stored in the blockchain network. Alternatively, the file can also be an electronic protocol, an email, a chat material, and the like.
在204,生成针对文件的哈希值和哈希值的索引。本领域技术人员应当理解,任何现有的或将来开发的哈希值生成方法可用于生成针对文件的哈希值,只要所生成的哈希值能够区分不同的文件。此外,还生成针对哈希的索引(也称交易哈希),并且将索引提供给用户,以用于后续查询。At 204, an index is generated for the hash and hash values of the file. Those skilled in the art will appreciate that any existing or future developed hash generation method can be used to generate a hash value for a file as long as the generated hash value is capable of distinguishing between different files. In addition, an index for the hash (also known as a transaction hash) is generated and the index is provided to the user for subsequent queries.
在206,将哈希值记录在区块链网络中。例如,利用区块链的去中心化和透明性等特性,在区块链网络中保存所生成的哈希值,其用于标识原始文件。在一些实施例中,可以使用区块链智能合约来存储文件的哈希值及其相应签名状态。At 206, the hash value is recorded in the blockchain network. For example, using the characteristics of decentralization and transparency of the blockchain, the generated hash value is stored in the blockchain network, which is used to identify the original file. In some embodiments, a blockchain smart contract can be used to store the hash value of a file and its corresponding signature state.
在208,将文件存储在分布式网络中,其中文件在分布式网络中基于哈希值被定位。在一些实施例中,分布式网络是基于点对点协议的星际文件系统(InterPlanetary File System,IPFS)网络,并且IPFS分布式网络维护分布式哈希表。IPFS使用基于内容的地址来取代传统的基于域名的方式,当一个新的文件被添加到IPFS分布式网络中时,该文件的哈希值作为该文件在IPFS分布式网络中的索引。如果文件存在任何修改,则其对应的哈希值都会发生改变。由于使用文件的哈希值来查找文件,因而文件更安全且更可靠。At 208, the file is stored in a distributed network where the file is located based on a hash value in the distributed network. In some embodiments, the distributed network is a point-to-point protocol based InterPlanetary File System (IPFS) network, and the IPFS distributed network maintains a distributed hash table. IPFS uses a content-based address instead of the traditional domain-based approach. When a new file is added to an IPFS distributed network, the hash of the file is used as an index into the IPFS distributed network. If there are any modifications to the file, its corresponding hash value will change. The file is safer and more reliable because it uses the hash of the file to find the file.
与区块链网络相比,IPFS分布式网络中每个节点仅存储一部分数据,IPFS分布式网络中将文件划分成多个文件块分散在各个节点中进行存储和备份,使得文件更难以被攻击或被篡改。应当理解,虽然本公开的实施例主要以IPFS分布式网络作为示例描述了本公开的实施例,但是基于哈希值来定位文件的其他分布式网络也是可行的。Compared with the blockchain network, each node in the IPFS distributed network only stores a part of data. In the IPFS distributed network, the files are divided into multiple file blocks and distributed in each node for storage and backup, making the file more difficult to be attacked. Or have been tampered with. It should be understood that while embodiments of the present disclosure have primarily described embodiments of the present disclosure with an IPFS distributed network as an example, other distributed networks that locate files based on hash values are also feasible.
在一些实施例中,可以将文件完整在存储在IPFS中的多个节点中。备选地,也可以将文件切分成多个文件块,然后将多个文件块分布地存储在IPFS分布式网络中的多个节点中。为了保证数据备份和冗余,每个文件块被存储在多个节点中的至少两个节点中。In some embodiments, the file can be completed in multiple nodes stored in the IPFS. Alternatively, the file may also be sliced into a plurality of file blocks, and then the plurality of file blocks may be distributedly stored in a plurality of nodes in the IPFS distributed network. To ensure data backup and redundancy, each file block is stored in at least two of the plurality of nodes.
因此,根据本公开的实施例的方法200,需要被保全的文件的哈希值被存储在区块链网络中,而原始文件被存储在分布式网络中,因而既保证了文件的真实性,又保证了文件的可用性,弥补了区块链节点容量有限和不支持存储空间线性扩展的缺陷。此外,当需要查验文件(例如电子合同)时,电子合同的相关方通过身份验证后可以从基于区块链的分布式网络获取电子合同。Therefore, according to the method 200 of the embodiment of the present disclosure, the hash value of the file to be preserved is stored in the blockchain network, and the original file is stored in the distributed network, thereby ensuring the authenticity of the file. It also guarantees the availability of files, and makes up for the shortcomings of blockchain nodes with limited capacity and linear expansion of storage space. In addition, when it is necessary to check documents (such as electronic contracts), the parties to the electronic contract can obtain electronic contracts from the distributed network based on the blockchain after being authenticated.
图3图示了根据本公开的一个实施例的基于区块链的分布式网络的架构300的示意图。如图3所示,架构300包括区块链网络310和IPFS分布式网络320,其中区块链网络310包括区块链节点311、312、313、314、315以及316,而IPFS分布式网络320包括分布式节点321、322、323、324以及325。此外,如图3所示,架构300还可以包括计算设备330和340。在一些实施例中,监管部门可以对接区块链网络,成为区块链网络中的一个节点,例如监管部门的设备可以是区块链节点311,则其可以获得区块链网络中的所有数据,从而履行监管职责。区块链网络支持节点自动数据同 步,也就是说,区块链网络中的任何节点都可以获得区块链上完整的数据备份。FIG. 3 illustrates a schematic diagram of an architecture 300 of a blockchain-based distributed network, in accordance with one embodiment of the present disclosure. As shown in FIG. 3, architecture 300 includes a blockchain network 310 and an IPFS distributed network 320, wherein blockchain network 310 includes blockchain nodes 311, 312, 313, 314, 315, and 316, while IPFS distributed network 320 Distributed nodes 321, 322, 323, 324, and 325 are included. Moreover, as shown in FIG. 3, architecture 300 can also include computing devices 330 and 340. In some embodiments, the supervisory authority can dock the blockchain network to become a node in the blockchain network. For example, the device of the supervisory department can be the blockchain node 311, and then all the data in the blockchain network can be obtained. To perform regulatory duties. The blockchain network supports node automatic data synchronization, that is, any node in the blockchain network can obtain a complete data backup on the blockchain.
区块链节点311-316和分布式节点321-325中的每个节点可以为计算设备,计算设备可以为服务器或者用户设备(例如移动设备,诸如智能手机、平板电脑、便携式计算机等,或固定设备,诸如台式计算机)。本领域技术人员应当理解,虽然图3中示出了区块链网络310和IPFS分布式网络320中的一些节点,但是也可以包括其他的节点。Each of the blockchain nodes 311-316 and the distributed nodes 321-325 can be a computing device, which can be a server or user device (eg, a mobile device such as a smartphone, tablet, laptop, etc., or fixed) Devices, such as desktop computers). Those skilled in the art will appreciate that although some of the nodes in the blockchain network 310 and the IPFS distributed network 320 are shown in FIG. 3, other nodes may be included.
在一些实施例中,区块链网络310中的区块链节点311-316之间通过网络同步数据块,而IPFS分布式网络320中的节点321-325通过网络实现分布式文件存储,区块链网络310与IPFS分布式网络320也是通过网络相连接。网络可以是任何有线和/或无线网络。可选地,该网络可以包括但不限于因特网、广域网、城域网、局域网、虚拟专用网络(VPN)网络、无线通信网络,等等。In some embodiments, the block chain nodes 311-316 in the blockchain network 310 synchronize data blocks through the network, while the nodes 321-325 in the IPFS distributed network 320 implement distributed file storage over the network, blocks. The chain network 310 and the IPFS distributed network 320 are also connected through a network. The network can be any wired and/or wireless network. Alternatively, the network may include, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a virtual private network (VPN) network, a wireless communication network, and the like.
在一个实施例中,计算设备330将电子合同提交到区块链节点313,然后由区块链节点313生成针对该电子合同的哈希值及其索引,将哈希值存储在分布式网络310中,并且向计算设备330提供索引。然后,计算设备340可以对该电子合同进行签名,并且将签名后的签名状态存储到区块链网络310中。接下来,区块链节点313可以将文件发送到IPFS分布式网络320进行分布式存储。例如,文件可以被切分成多个文件块分散地存储在IPFS分布式网络320中,其中文件可以通过哈希值被查找。由于文件的哈希值被存储在区块链网络310中,因而可以验证文件没被篡改,此外,由于文件被分布式地存储在IPFS分布式网络320中,因为文件通常不会被丢失,因而可以保证文件的可用性。In one embodiment, computing device 330 submits the electronic contract to blockchain node 313, which then generates a hash value for the electronic contract and its index from blockchain node 313, storing the hash value in distributed network 310. And providing an index to computing device 330. Computing device 340 can then sign the electronic contract and store the signed signature status in blockchain network 310. Next, blockchain node 313 can send the file to IPFS distributed network 320 for distributed storage. For example, a file can be divided into multiple file blocks and stored in a distributed manner in the IPFS distributed network 320, where files can be looked up by hash values. Since the hash value of the file is stored in the blockchain network 310, it can be verified that the file has not been tampered with, and further, since the file is distributedly stored in the IPFS distributed network 320, since the file is usually not lost, The availability of the file can be guaranteed.
图4图示了根据本公开的另一实施例的基于区块链的分布式网络的架构400的示意图。如图4所示,架构400包括区块链网络410和IPFS分布式网络420,其中区块链网络410包括区块链节点411、412、413、414、415以及416,而IPFS分布式网络420包括分布式节点421、422、423、424、425、413以及414。4 illustrates a schematic diagram of an architecture 400 of a blockchain-based distributed network, in accordance with another embodiment of the present disclosure. As shown in FIG. 4, architecture 400 includes a blockchain network 410 and an IPFS distributed network 420, wherein blockchain network 410 includes blockchain nodes 411, 412, 413, 414, 415, and 416, while IPFS distributed network 420 Distributed nodes 421, 422, 423, 424, 425, 413, and 414 are included.
与图3中所描述的架构300不同之处在于,图3中的区块链网络310和IPFS分布式网络320是完全分离的,节点之间没有重复;而图4中的区块链网络410和IPFS分布式网络420之间有部分重叠,也即,一些节点既 充当区块链节点又充当分布式节点,如节点413、414。例如,节点413和414上同时运行区块链程序和分布式存储程序,这样,节点413和414既存储文件的哈希值,又存储文件的文件块。The difference from the architecture 300 depicted in FIG. 3 is that the blockchain network 310 and the IPFS distributed network 320 in FIG. 3 are completely separate, with no duplication between nodes; and the blockchain network 410 in FIG. There is a partial overlap with the IPFS distributed network 420, that is, some nodes act as both blockchain nodes and distributed nodes, such as nodes 413, 414. For example, blockchain programs and distributed storage programs are run concurrently on nodes 413 and 414 such that nodes 413 and 414 store both the hash value of the file and the file block of the file.
图5图示了根据本公开的又一实施例的基于区块链的分布式网络的架构500的示意图。如图5所示,架构500包括网络510,而网络510既充当区块链网络又充当IPFS分布式网络,也即,区块链网络和IPFS分布式网络完全重叠,其中网络510包括节点511、512、513、514、515、516。如图5所示,节点511-516中的每个节点既是区块链节点又是分布式节点,每个节点同时运行区块链程序和分布式存储程序,这样,所有节点都存储文件的哈希值,而每个节点只存储文件中的一部分文件块。FIG. 5 illustrates a schematic diagram of an architecture 500 of a blockchain-based distributed network, in accordance with yet another embodiment of the present disclosure. As shown in FIG. 5, the architecture 500 includes a network 510, and the network 510 acts both as a blockchain network and as an IPFS distributed network, that is, the blockchain network and the IPFS distributed network completely overlap, wherein the network 510 includes nodes 511, 512, 513, 514, 515, 516. As shown in FIG. 5, each of the nodes 511-516 is both a blockchain node and a distributed node, and each node simultaneously runs a blockchain program and a distributed storage program, so that all nodes store files. Greek value, and each node only stores a portion of the file block in the file.
根据本公开的实施例的架构300-500,可以实现文件的防篡改、防丢失、以及安全备份存储。此外,任何参与者或监督机构可以加入区块链网络中作为成员节点进行公证和监督。According to the architectures 300-500 of the embodiments of the present disclosure, tamper resistance, loss prevention, and secure backup storage of files can be achieved. In addition, any participant or supervisory authority may join the blockchain network as a member node for notarization and supervision.
图6图示了根据本公开的实施例的从基于区块链的分布式网络获取文件的方法600的流程图。应当理解,方法200例如可以由以上参考图3所描述的节点313、图4所描述的节点413、图5所描述的节点513以及以下参考图7所描述的设备700所执行。FIG. 6 illustrates a flow diagram of a method 600 of obtaining a file from a blockchain-based distributed network, in accordance with an embodiment of the present disclosure. It should be understood that the method 200 can be performed, for example, by the node 313 described above with respect to FIG. 3, the node 413 depicted in FIG. 4, the node 513 depicted in FIG. 5, and the apparatus 700 described below with reference to FIG.
在602,基于索引从区块链网络获得哈希值,例如,区块链节点313根据从计算设备330接收到的索引来在区块链网络310中查找哈希值,然后使用该哈希值来查询IPFS分布式网络320中的分布式哈希表。在604,确定哈希值是否存在于分布式哈希表中,例如使用该哈希值去查询分布式哈希表中的所有记录,完全相同时表示哈希值存在于分布式哈希表中。如果存在,则在606通过该哈希值从IPFS分布式网络320获得文件。由于是通过区块链网络中未被更改过的哈希值获得的文件,因而该文件是真实且可靠的。在608,可以从区块链网络验证文件的签名状态,例如,验证电子合同是否已由计算设备330和340签名。如果哈希值不存在于分布式哈希表,则在610指示文件在分布式网络中被修改。由于IPFS分布式网络具有备份和冗余机制,因此IPFS分布式网络中的文件通常不会被损坏或者被修改。根据本公开的实施例,由于文件的哈希值在区块链网络中不会被修改,因而从IPFS分布式网络中获得的文件也是未被篡改的原始文件。At 602, a hash value is obtained from the blockchain network based on the index, for example, the blockchain node 313 looks up the hash value in the blockchain network 310 based on the index received from the computing device 330, and then uses the hash value The distributed hash table in the IPFS distributed network 320 is queried. At 604, it is determined whether the hash value exists in the distributed hash table, for example, using the hash value to query all records in the distributed hash table, and when identical, the hash value exists in the distributed hash table. . If so, the file is obtained from the IPFS distributed network 320 by the hash value at 606. This file is true and reliable because it is a file obtained from unmodified hash values in the blockchain network. At 608, the signature status of the file can be verified from the blockchain network, for example, verifying that the electronic contract has been signed by computing devices 330 and 340. If the hash value does not exist in the distributed hash table, then at 610 the file is indicated to be modified in the distributed network. Because IPFS distributed networks have backup and redundancy mechanisms, files in IPFS distributed networks are usually not corrupted or modified. According to an embodiment of the present disclosure, since the hash value of the file is not modified in the blockchain network, the file obtained from the IPFS distributed network is also the original file that has not been tampered with.
因此,本公开的实施例通过将区块链和分布式文件系统相结合,能够 解决区块链节点容量有限的问题,并且能够实现文件的防篡改和分布式存储,由此有效保证所存储的文件的真实性和可用性。此外,与传统的第三方签名认证方式相比,本公开的实施例取证流程简单、周期短,有效地提高了电子合同的取证效率。Therefore, the embodiment of the present disclosure can solve the problem of limited capacity of the blockchain node by combining the blockchain and the distributed file system, and can implement tamper-proof and distributed storage of the file, thereby effectively ensuring the stored The authenticity and usability of the document. In addition, compared with the traditional third-party signature authentication method, the embodiment of the present disclosure has a simple forensic process and a short cycle, and effectively improves the forensic efficiency of the electronic contract.
在一些实施例中,可以使用新的用户设备去接入区块链网络和IPFS分布式网络。例如,基于索引从区块链网络获得文件的元数据(例如哈希值),然后基于哈希值从IPFS分布式网络获得原始文件。可选地或者附加地,用户设备每次查询时都会在本地构建本地数据块,使其成为区块链网络节点的一部分,从而更好地保证了数据的去中心化存储。In some embodiments, new user equipment can be used to access the blockchain network and the IPFS distributed network. For example, the metadata of the file (eg, a hash value) is obtained from the blockchain network based on the index, and then the original file is obtained from the IPFS distributed network based on the hash value. Alternatively or additionally, the user equipment constructs local data blocks locally each time it is queried, making it part of the blockchain network node, thereby better ensuring decentralized storage of data.
应当理解,根据本公开的实施例的设备可以利用各种方式来实现。例如,在某些实施例中,该设备可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、光盘载体介质、诸如只读存储器的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本公开的实施例的设备和装置不仅可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合来实现。It should be understood that devices in accordance with embodiments of the present disclosure may be implemented in a variety of manners. For example, in some embodiments, the device can be implemented in hardware, software, or a combination of software and hardware. The hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or dedicated design hardware. One of ordinary skill in the art will appreciate that the methods and systems described above can be implemented using computer-executable instructions and/or embodied in processor control code, such as in a programmable memory such as a magnetic disk, an optical disk carrier medium, or a read only memory. Such code is provided on a data carrier such as an optical or electronic signal carrier. The apparatus and apparatus of embodiments of the present disclosure may be implemented not only by hardware such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, and the like. The circuit implementation can also be implemented by, for example, software executed by various types of processors, or by a combination of the above hardware circuits and software.
图7图示了可以用来实施本公开的实施例的电子设备700的示意性框图。应当理解,电子设备700可以被实现为图3-5所描述的任一节点,或者电子设备700也可以被实现为图3-5所描述的任一节点中的任一个模块。如图7所示,设备700包括中央处理单元(CPU)701(例如处理器),其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。FIG. 7 illustrates a schematic block diagram of an electronic device 700 that can be used to implement embodiments of the present disclosure. It should be understood that electronic device 700 can be implemented as any of the nodes described in Figures 3-5, or electronic device 700 can be implemented as any of any of the nodes described in Figures 3-5. As shown in FIG. 7, device 700 includes a central processing unit (CPU) 701 (eg, a processor) that can be loaded into random access memory from computer program instructions stored in read only memory (ROM) 702 or from storage unit 708 ( Computer program instructions in RAM) 703 to perform various appropriate actions and processes. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The CPU 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also coupled to bus 704.
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例 如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。A plurality of components in device 700 are coupled to I/O interface 705, including: input unit 706, such as a keyboard, mouse, etc.; output unit 707, such as various types of displays, speakers, etc.; storage unit 708, such as a magnetic disk, optical disk, etc. And a communication unit 709 such as a network card, a modem, a wireless communication transceiver, and the like. Communication unit 709 allows device 700 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.
上文所描述的各种方法,例如方法200或600,可由处理单元701执行。例如,在一些实施例中,方法200和600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM 703并由CPU 701执行时,可以执行上文描述的方法200和600中的一个或多个动作或步骤。The various methods described above, such as method 200 or 600, may be performed by processing unit 701. For example, in some embodiments, methods 200 and 600 can be implemented as a computer software program that is tangibly embodied in a machine readable medium, such as storage unit 708. In some embodiments, some or all of the computer program may be loaded and/or installed onto device 700 via ROM 702 and/or communication unit 709. When a computer program is loaded into RAM 703 and executed by CPU 701, one or more of the acts or steps of methods 200 and 600 described above may be performed.
计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。The computer program product can include a computer readable storage medium having computer readable program instructions for performing various aspects of the present disclosure. The computer readable storage medium can be a tangible device that can hold and store the instructions used by the instruction execution device. The computer readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM) Or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, for example, with instructions stored thereon A raised structure in the hole card or groove, and any suitable combination of the above. A computer readable storage medium as used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (eg, a light pulse through a fiber optic cable), or through a wire The electrical signal transmitted.
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。The computer readable program instructions described herein can be downloaded to a respective computing/processing device from a computer readable storage medium or downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in each computing/processing device .
用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集 架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如C++等,以及常规的过程式编程语言-诸如"C"语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。Computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine related instructions, microcode, firmware instructions, state setting data, or in one or more programming languages. Source code or object code written in any combination, including an object oriented programming language - such as C++, and conventional procedural programming languages - such as the "C" language or similar programming language. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer, partly on the remote computer, or entirely on the remote computer or server. carried out. In the case of a remote computer, the remote computer can be connected to the user's computer via any kind of network, including a local area network (LAN) or wide area network (WAN), or can be connected to an external computer (eg, using an Internet service provider to access the Internet) connection). In some embodiments, the customized electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), can be customized by utilizing state information of computer readable program instructions. Computer readable program instructions are executed to implement various aspects of the present disclosure.
应当注意,尽管在上文的详细描述中提及了设备的若干模块或子模块,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。It should be noted that although several modules or sub-modules of the device are mentioned in the above detailed description, such division is merely exemplary and not mandatory. Indeed, in accordance with embodiments of the present disclosure, the features and functions of the two or more modules described above may be embodied in one module. Conversely, the features and functions of one of the modules described above may be further divided into multiple modules.
以上所述仅为本公开的实施例可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。The above is only an alternative embodiment of the embodiments of the present disclosure, and is not intended to limit the embodiments of the present disclosure, and various modifications and changes can be made to the embodiments of the present disclosure. Any modifications, equivalent substitutions, improvements, etc. within the spirit and scope of the embodiments of the present disclosure are intended to be included within the scope of the embodiments of the present disclosure.
虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附的权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。Although the embodiments of the present disclosure have been described with reference to the specific embodiments thereof, it is understood that the embodiments of the present disclosure are not limited to the specific embodiments disclosed. The various embodiments of the present disclosure are intended to cover various modifications and equivalents. The scope of the following claims is to be accorded

Claims (17)

  1. 一种基于区块链的分布式存储方法,包括:A distributed storage method based on blockchain, comprising:
    获得要被存储的文件;Obtain the file to be stored;
    生成针对所述文件的哈希值和所述哈希值的索引;Generating an index for the hash value of the file and the hash value;
    将所述哈希值记录在区块链网络中;以及Recording the hash value in a blockchain network;
    将所述文件存储在分布式网络中,所述文件在所述分布式网络中基于所述哈希值被定位。The file is stored in a distributed network, the file being located in the distributed network based on the hash value.
  2. 根据权利要求1所述的方法,其中所述分布式网络是基于点对点协议的星际文件系统(IPFS)网络,并且所述分布式网络维护分布式哈希表。The method of claim 1 wherein said distributed network is a Point-to-Point Protocol based Interstellar File System (IPFS) network and said distributed network maintains a distributed hash table.
  3. 根据权利要求2所述的方法,其中将所述文件存储在分布式网络中包括:The method of claim 2 wherein storing the file in a distributed network comprises:
    将所述文件切分成多个文件块;以及Dividing the file into multiple file blocks;
    将多个文件块存储在所述分布式网络中的多个节点中,其中所述多个文件块中的每个文件块被存储在所述多个节点中的至少两个节点中。A plurality of file blocks are stored in a plurality of nodes in the distributed network, wherein each of the plurality of file blocks is stored in at least two of the plurality of nodes.
  4. 根据权利要求2所述的方法,还包括:The method of claim 2 further comprising:
    基于所述索引从所述区块链网络获得所述哈希值;以及Obtaining the hash value from the blockchain network based on the index;
    基于所述哈希值从所述分布式网络获得所述文件。The file is obtained from the distributed network based on the hash value.
  5. 根据权利要求4所述的方法,其中基于所述哈希值从所述分布式网络获得所述文件包括:The method of claim 4 wherein obtaining the file from the distributed network based on the hash value comprises:
    确定所述哈希值是否存在于所述分布式哈希表中;以及Determining whether the hash value is present in the distributed hash table;
    响应于确定所述哈希值存在于所述分布式哈希表中,从所述分布式网络获得所述文件。The file is obtained from the distributed network in response to determining that the hash value is present in the distributed hash table.
  6. 根据权利要求1或2所述的方法,其中所述文件是与多个用户相关联的电子合同,并且所述多个用户中的每个用户能够使用各自的签名密钥对所述电子合同进行签名,以及其中获得要被存储的文件包括:A method according to claim 1 or 2, wherein said file is an electronic contract associated with a plurality of users, and each of said plurality of users is capable of performing said electronic contract using a respective signature key The signature, as well as the files in which it is to be stored, include:
    从所述多个用户中的一个用户获得所述电子合同,所述电子合同利用所述一个用户的签名密钥被生成;以及Obtaining the electronic contract from one of the plurality of users, the electronic contract being generated using a signature key of the one user;
    向所述多个用户中的其他用户发送对所述电子合同进行签名的请求。A request to sign the electronic contract is sent to other ones of the plurality of users.
  7. 根据权利要求6所述的方法,还包括:The method of claim 6 further comprising:
    从所述多个用户中的其他用户接收对于所述电子合同的签名;Receiving a signature for the electronic contract from other ones of the plurality of users;
    修改所述电子合同的合同签名状态;以及Modifying the contract signature status of the electronic contract;
    将修改后的所述合同签名状态存储在所述区块链网络中。The modified contract signature status is stored in the blockchain network.
  8. 根据权利要求1或2所述的方法,其中所述文件为电子合同、电子协议、电子邮件、或聊天资料中的至少一种。The method of claim 1 or 2, wherein the file is at least one of an electronic contract, an electronic agreement, an email, or a chat material.
  9. 一种电子设备,包括An electronic device, including
    处理器;processor;
    存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时使得所述设备执行以下动作:A memory coupled to the processor and storing instructions that, when executed by the processor, cause the device to perform the following actions:
    获得要被存储的文件;Obtain the file to be stored;
    生成针对所述文件的哈希值和所述哈希值的索引;Generating an index for the hash value of the file and the hash value;
    将所述哈希值记录在区块链网络中;以及Recording the hash value in a blockchain network;
    将所述文件存储在分布式网络中,所述文件在所述分布式网络中基于所述哈希值被定位。The file is stored in a distributed network, the file being located in the distributed network based on the hash value.
  10. 根据权利要求9所述的设备,其中所述分布式网络是基于点对点协议的星际文件系统(IPFS)网络,并且所述分布式网络维护分布式哈希表。The apparatus of claim 9, wherein the distributed network is a Point-to-Point Protocol-based Interstellar File System (IPFS) network, and the distributed network maintains a distributed hash table.
  11. 根据权利要求10所述的设备,其中将所述文件存储在分布式网络中包括:The device of claim 10 wherein storing the file in a distributed network comprises:
    将所述文件切分成多个文件块;以及Dividing the file into multiple file blocks;
    将多个文件块存储在所述分布式网络中的多个节点中,其中所述多个文件块中的每个文件块被存储在所述多个节点中的至少两个节点中。A plurality of file blocks are stored in a plurality of nodes in the distributed network, wherein each of the plurality of file blocks is stored in at least two of the plurality of nodes.
  12. 根据权利要求10所述的设备,所述动作还包括:The device of claim 10, the action further comprising:
    基于所述索引从所述区块链网络获得所述哈希值;以及Obtaining the hash value from the blockchain network based on the index;
    基于所述哈希值从所述分布式网络获得所述文件。The file is obtained from the distributed network based on the hash value.
  13. 根据权利要求12所述的设备,其中基于所述哈希值从所述分布式网络获得所述文件包括:The device of claim 12, wherein obtaining the file from the distributed network based on the hash value comprises:
    确定所述哈希值是否存在于所述分布式哈希表中;以及Determining whether the hash value is present in the distributed hash table;
    响应于确定所述哈希值存在于所述分布式哈希表中,从所述分布式网络获得所述文件。The file is obtained from the distributed network in response to determining that the hash value is present in the distributed hash table.
  14. 根据权利要求9或10所述的设备,其中所述文件是与多个用户相关联的电子合同,并且所述多个用户中的每个用户能够使用各自的签名密钥对所述电子合同进行签名,以及其中获得要被存储的文件包括:The apparatus according to claim 9 or 10, wherein said file is an electronic contract associated with a plurality of users, and each of said plurality of users is capable of performing said electronic contract using a respective signature key The signature, as well as the files in which it is to be stored, include:
    从所述多个用户中的一个用户获得所述电子合同,所述电子合同利用所述一个用户的签名密钥被生成;以及Obtaining the electronic contract from one of the plurality of users, the electronic contract being generated using a signature key of the one user;
    向所述多个用户中的其他用户发送对所述电子合同进行签名的请求。A request to sign the electronic contract is sent to other ones of the plurality of users.
  15. 根据权利要求14所述的设备,所述动作还包括:The device of claim 14, the action further comprising:
    从所述多个用户中的其他用户接收对于所述电子合同的签名;Receiving a signature for the electronic contract from other ones of the plurality of users;
    修改所述电子合同的合同签名状态;以及Modifying the contract signature status of the electronic contract;
    将修改后的所述合同签名状态存储在所述区块链网络中。The modified contract signature status is stored in the blockchain network.
  16. 根据权利要求9或10所述的设备,其中所述文件为电子合同、电子协议、电子邮件、或聊天资料中的至少一种。The device according to claim 9 or 10, wherein the file is at least one of an electronic contract, an electronic agreement, an email, or a chat material.
  17. 一种计算机可读存储介质,其包括计算机可执行指令,所述计算机可执行指令在设备中运行时使得所述设备执行根据权利要求1-8中任一项所述的方法。A computer readable storage medium comprising computer executable instructions that, when executed in a device, cause the device to perform the method of any of claims 1-8.
PCT/CN2018/078515 2017-05-03 2018-03-09 Block chain-based distributed storage WO2018201797A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710303311.9A CN107273410B (en) 2017-05-03 2017-05-03 Block chain based distributed storage
CN201710303311.9 2017-05-03

Publications (1)

Publication Number Publication Date
WO2018201797A1 true WO2018201797A1 (en) 2018-11-08

Family

ID=60073679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/078515 WO2018201797A1 (en) 2017-05-03 2018-03-09 Block chain-based distributed storage

Country Status (2)

Country Link
CN (1) CN107273410B (en)
WO (1) WO2018201797A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902075A (en) * 2019-01-24 2019-06-18 深圳市步云科技有限公司 A kind of distributed cloud storage management platform system based on IPFS and block chain
GB2578487A (en) * 2018-10-25 2020-05-13 Inst Information Ind Data processing apparatus and data processing method for internet of things system
WO2020011287A3 (en) * 2019-10-15 2020-08-20 Alipay (Hangzhou) Information Technology Co., Ltd. Indexing and recovering encoded blockchain data
CN112035576A (en) * 2020-09-03 2020-12-04 厦门大学 Distributed storage method of block chain account book
EP3879781A1 (en) * 2020-03-13 2021-09-15 Deutsche Telekom AG Methods and systems for network service management in a distributed architecture
US11575597B2 (en) 2020-03-13 2023-02-07 Staex Gmbh Methods and systems for message relay in a distributed architecture

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273410B (en) * 2017-05-03 2020-07-07 上海点融信息科技有限责任公司 Block chain based distributed storage
CN107943833B (en) * 2017-10-25 2021-11-19 华南农业大学 Centerless distributed file storage and retrieval method based on block chain
CN107748850A (en) * 2017-10-30 2018-03-02 北京计算机技术及应用研究所 A kind of method and system that maintenance of equipment work data is preserved using block chain
EP3704621B1 (en) * 2017-11-03 2023-03-29 Visa International Service Association Secure identity and profiling system
CN108009646B (en) * 2017-11-30 2021-11-12 深圳市轱辘车联数据技术有限公司 Vehicle data processing method and server
CN108134822A (en) * 2017-12-15 2018-06-08 成都链网络科技有限公司 The method for down loading of storage system based on block chain
CN108280628A (en) * 2018-02-01 2018-07-13 泰康保险集团股份有限公司 Core based on block chain technology pays for method, apparatus, medium and electronic equipment
CN108462568B (en) * 2018-02-11 2021-08-06 西安电子科技大学 Block chain-based secure file storage and sharing method and cloud storage system
CN108389129B (en) * 2018-02-27 2020-12-04 创新先进技术有限公司 Transaction execution method and device based on block chain and electronic equipment
CN108566420A (en) * 2018-03-29 2018-09-21 上海点融信息科技有限责任公司 Data processing method, equipment and computer readable storage medium for block chain
CN108647230B (en) * 2018-03-29 2021-10-08 深圳市网心科技有限公司 Distributed storage method, electronic device, and storage medium
CN108664216B (en) * 2018-04-04 2021-06-04 北京小米移动软件有限公司 Data storage method and device
US10901845B2 (en) * 2018-04-16 2021-01-26 Microsoft Technology Licensing, Llc Erasure coding for a single-image memory
JP7324222B2 (en) * 2018-05-01 2023-08-09 インターナショナル・ビジネス・マシーンズ・コーポレーション Computing system, method and computer program for managing blockchain
CN108573071A (en) * 2018-05-09 2018-09-25 广东工业大学 A kind of file operation method and relevant apparatus
CN108694238A (en) * 2018-05-14 2018-10-23 腾讯科技(深圳)有限公司 Business data processing method, device based on block chain and storage medium
CN108681898B (en) * 2018-05-15 2021-09-17 广东工业大学 Data transaction method and system based on block chain
CN108664223B (en) 2018-05-18 2021-07-02 百度在线网络技术(北京)有限公司 Distributed storage method and device, computer equipment and storage medium
CN108710681B (en) * 2018-05-18 2022-02-22 腾讯科技(深圳)有限公司 File acquisition method, device, equipment and storage medium
CN108734029A (en) * 2018-05-23 2018-11-02 陈萍 A kind of approaches to IM and platform based on block chain and interspace file system
CN108764902B (en) * 2018-05-23 2020-12-22 北京京东尚科信息技术有限公司 Method, node and blockchain system for storing data
CN108769757B (en) * 2018-05-25 2021-02-02 数字乾元科技有限公司 Video statistics and transaction system and method
EP3804279A4 (en) * 2018-06-01 2022-01-19 Nokia Technologies OY Method and apparatus for decentralized trust evaluation in a distributed network
CN108809630A (en) * 2018-06-19 2018-11-13 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of testament store method, system, equipment and computer readable storage medium
CN109243583B (en) * 2018-07-09 2020-05-12 研境信息科技(上海)有限公司 Method and equipment for decentralized management of medical image data based on block chain
CN108846297B (en) * 2018-07-16 2019-11-01 广州追溯信息科技有限公司 A method of distributing and retrieve data in the block chain network with peer node
CN110727391A (en) * 2018-07-16 2020-01-24 北京京东尚科信息技术有限公司 Transaction data storage method and device, block chain system, medium and electronic equipment
CN109067858A (en) * 2018-07-20 2018-12-21 安居慧云(厦门)科技有限公司 A kind of distributed information storage method based on block chain technology
CN109040235B (en) * 2018-08-01 2020-08-18 厦门大学 Industrial control system operation record storage method based on block chain technology
CN109086577B (en) * 2018-08-06 2022-09-09 深圳市迅雷网络技术有限公司 Block chain-based original musical work management method and related equipment
CN109146684B (en) * 2018-08-07 2021-12-03 农夫铺子发展集团有限公司 Decentralized transaction verification method
CN109347893A (en) * 2018-08-09 2019-02-15 玄章技术有限公司 A kind of file memory method and device of block chain network
CN112335217A (en) * 2018-08-17 2021-02-05 西门子股份公司 Distributed data processing method, device and system and machine readable medium
CN109165205A (en) * 2018-08-21 2019-01-08 甲骨文科技时代(深圳)有限公司 A kind of date storage method and device based on block chain
CN108900364B (en) * 2018-08-22 2021-11-26 泰康保险集团股份有限公司 Block chain network management method, block chain network management device, block chain network management medium and electronic equipment
CN109036579B (en) * 2018-08-22 2021-11-26 泰康保险集团股份有限公司 Information prediction method, device, medium and electronic equipment based on block chain
CN109246211B (en) * 2018-08-30 2021-08-13 南方科技大学 Resource uploading and resource requesting method in block chain
CN109325011A (en) * 2018-09-03 2019-02-12 上海奥若拉信息科技集团有限公司 Data storage, processing, sharing method and system based on block chain
CN109409122B (en) * 2018-09-13 2022-08-16 远光软件股份有限公司 File storage method, electronic device and storage medium
CN109492049B (en) * 2018-09-21 2021-05-04 上海点融信息科技有限责任公司 Data processing, block generation and synchronization method for block chain network
CN109376172B (en) * 2018-09-27 2020-09-29 精硕科技(北京)股份有限公司 Data acquisition method and system based on block chain
CN109325765A (en) * 2018-09-30 2019-02-12 真相网络科技(北京)有限公司 A kind of intelligence really weighs method and intelligent contract system
CN109598518A (en) 2018-09-30 2019-04-09 阿里巴巴集团控股有限公司 Method for anti-counterfeit and device, electronic equipment based on block chain
CN109347948A (en) * 2018-10-15 2019-02-15 杭州安恒信息技术股份有限公司 A kind of big data tamper resistant method and system based on block chain technology
CN111090385A (en) * 2018-10-23 2020-05-01 中思博安科技(北京)有限公司 Data management method and device based on block chain
CN109460407A (en) * 2018-10-26 2019-03-12 北京唐冠天朗科技开发有限公司 A kind of information storage means and system
CN109635572B (en) * 2018-11-05 2021-05-25 深圳变设龙信息科技有限公司 Contract signing method and device based on block chain and terminal equipment
CN109491968B (en) * 2018-11-13 2021-01-22 恒生电子股份有限公司 File processing method, device, equipment and computer readable storage medium
CN109741192A (en) * 2018-11-15 2019-05-10 深圳壹账通智能科技有限公司 Date storage method, device, equipment and readable storage medium storing program for executing based on block chain
US10949388B2 (en) * 2018-11-16 2021-03-16 Advanced Messaging Technologies, Inc. Systems and methods for distributed data storage and delivery using blockchain
CN111259452A (en) * 2018-11-30 2020-06-09 华为技术有限公司 Data management method based on block chain and related device
CN109766723A (en) * 2018-12-11 2019-05-17 烨链(上海)科技有限公司 A kind of block chain data framework, regulatory framework, monitoring and managing method and computer readable storage medium
CN109753823B (en) * 2018-12-11 2021-11-02 烨链(上海)科技有限公司 Block chain data supervision method, system and computer storage medium
CN109726249B (en) * 2018-12-12 2020-06-09 杭州基尔区块链科技有限公司 Decentralized chip research and development transaction data storage method and system
CN109684519B (en) * 2018-12-12 2020-04-03 杭州基尔区块链科技有限公司 Decentralized chip research and development transaction data storage method and system based on block chain
CN111324902A (en) * 2018-12-14 2020-06-23 航天信息股份有限公司 Data access method, device and system based on block chain
CN111325552A (en) * 2018-12-14 2020-06-23 北京海益同展信息科技有限公司 Data processing method and device, electronic equipment and storage medium
CN109684878B (en) * 2018-12-17 2021-01-26 杭州安恒信息技术股份有限公司 Privacy information tamper-proofing method and system based on block chain technology
CN109815206A (en) * 2018-12-25 2019-05-28 上海点对点科技有限公司 A kind of distributed storage network based on block chain
CN109617903A (en) * 2018-12-29 2019-04-12 杭州趣链科技有限公司 A kind of trusted file storage system and method based on IPFS and block chain
CN109885423B (en) * 2019-01-04 2023-05-23 上海七印信息科技有限公司 Block chain source data backup method
CN111416832B (en) * 2019-01-07 2023-03-24 珠海金山办公软件有限公司 File updating method and device, electronic equipment and readable storage medium
CN109753825A (en) * 2019-01-09 2019-05-14 篱笆墙网络科技有限公司 The storage of backup file, backup document down loading method and system
CN109491981B (en) * 2019-01-11 2021-05-28 珮金(上海)信息科技有限公司 File management method and device based on block chain
CN109992563A (en) * 2019-01-18 2019-07-09 阿里巴巴集团控股有限公司 A kind of service scripts storage method and device based on block chain
CN109886647A (en) * 2019-01-29 2019-06-14 广东华伦招标有限公司 Procurement business managing functional module method, apparatus, equipment and storage medium
CN109801041A (en) * 2019-01-29 2019-05-24 广东华伦招标有限公司 Procurement business management method, device, equipment and storage medium
CN111522809B (en) * 2019-02-02 2023-04-21 阿里巴巴集团控股有限公司 Data processing method, system and equipment
CN110018924A (en) * 2019-02-21 2019-07-16 同方股份有限公司 A kind of file damage preventing method based on block chain and correcting and eleting codes
CN109889522B (en) * 2019-02-25 2022-02-11 重庆邮电大学 Block chain-based Internet of things information security protection method
CN109918375B (en) * 2019-02-26 2021-07-30 杭州云象网络技术有限公司 Large text storage, indexing and retrieval method based on block chain and distributed storage
CN109831527B (en) * 2019-03-13 2021-12-28 试金石信用服务有限公司 File processing method, user side, server and readable storage medium
CN110086607B (en) * 2019-03-13 2021-08-17 深圳壹账通智能科技有限公司 Method and device for rapidly switching deployment key, computer equipment and storage medium
CN110059054A (en) * 2019-03-25 2019-07-26 天津大学 It is a kind of based on the information of vehicles of block chain and IPFS storage and search method
CN109951490A (en) * 2019-03-27 2019-06-28 远光软件股份有限公司 Webpage integrity assurance, system and electronic equipment based on block chain
CN109873879A (en) * 2019-04-17 2019-06-11 上海沄界信息科技有限公司 It can the distributed cloud storage method and device really weighed of data
CN110061838B (en) * 2019-04-28 2022-07-19 广州大学 Decentralized storage system for DNS resource records and implementation method thereof
CN110083610B (en) * 2019-04-29 2022-11-04 百度在线网络技术(北京)有限公司 Data processing method, device, system, trusted computing device, equipment and medium
CN110096901B (en) * 2019-05-08 2021-04-02 北京智签科技有限公司 Electronic contract data encryption storage method and signing client
CN110109874A (en) * 2019-05-13 2019-08-09 北京共识数信科技有限公司 A kind of non-stop layer distributed document retrieval method based on block chain
CN110351239B (en) * 2019-05-24 2022-01-25 平安普惠企业管理有限公司 Block chain-based electronic contract storage method and device and electronic equipment
CN110290182B (en) * 2019-05-31 2021-01-26 北京邮电大学 Distributed Web application storage system, service system and access method
CN110334538A (en) * 2019-06-03 2019-10-15 阿里巴巴集团控股有限公司 A kind of method and device for the risk of missing for prompting block chain to deposit card source file
CN110392094B (en) * 2019-06-03 2021-03-19 网宿科技股份有限公司 Method for acquiring service data and converged CDN system
CN112637300B (en) * 2019-06-18 2022-11-11 贝富(广州)新技术有限公司 Block chain-based distributed storage and acquisition method and device for video information
CN110413621B (en) * 2019-07-31 2021-08-06 中国工商银行股份有限公司 Offline filing system and method based on block chain
CN111159100A (en) * 2019-11-21 2020-05-15 深圳壹账通智能科技有限公司 Block chain file access method and device, computer equipment and storage medium
CN110990486A (en) * 2019-11-29 2020-04-10 北京有名知行科技有限公司 Block link evidence issuing and storing method and device based on network data interaction
CN111163151A (en) * 2019-12-26 2020-05-15 联想(北京)有限公司 Information processing method and device and computer readable storage medium
CN111159769B (en) * 2019-12-31 2023-06-09 杭州产链数字科技有限公司 Building engineering cost supervision system and method based on block chain
CN111242649A (en) * 2020-01-20 2020-06-05 嵩链(上海)科技有限公司 Enterprise qualification detection method and device based on block chain and storage medium
CN111460395B (en) * 2020-04-03 2024-01-30 北京邮电大学 Shared data storage and copyright protection tracing method and system
CN111177277B (en) * 2020-04-10 2020-08-04 支付宝(杭州)信息技术有限公司 Data storage method, transaction storage method and device
CN111506549B (en) * 2020-04-16 2023-07-14 深圳市迅雷网络技术有限公司 File processing system, method, equipment and storage medium based on block chain
CN111583041B (en) * 2020-05-13 2023-04-28 中国银行股份有限公司 Block chain-based bond issuing data storage and verification processing method and device
CN111726343A (en) * 2020-06-11 2020-09-29 桂林电子科技大学 Electronic official document safe transmission method based on IPFS and block chain
CN111882261A (en) * 2020-06-15 2020-11-03 合肥维天运通信息科技股份有限公司 Logistics document archiving method and system based on block chain and interplanetary file system
CN111882260A (en) * 2020-06-15 2020-11-03 合肥维天运通信息科技股份有限公司 Logistics data disclosure method and system based on block chain and IPFS
CN112035863A (en) * 2020-07-20 2020-12-04 江苏傲为控股有限公司 Electronic contract evidence obtaining method and system based on intelligent contract mode
CN112084164A (en) * 2020-09-16 2020-12-15 厦门市美亚柏科信息安全研究所有限公司 Data evidence storing method and system based on block chain and interplanetary file system
CN112214456B (en) * 2020-11-05 2022-05-10 深圳市瀚兰区块链地产有限公司 House property data processing method and device and electronic equipment
CN112328565A (en) * 2020-11-06 2021-02-05 中国银联股份有限公司 Resource sharing method and device based on block chain
CN112623918B (en) * 2020-12-09 2023-06-02 中铁第四勘察设计院集团有限公司 Intelligent escalator decision-making method and system based on IPFS
CN112637170A (en) * 2020-12-15 2021-04-09 浙江大华技术股份有限公司 Device secret information management method, device and storage medium
CN113098938B (en) * 2021-03-25 2022-07-12 卓尔智联(武汉)研究院有限公司 Video sharing method and device and electronic equipment
CN113032814B (en) * 2021-04-28 2022-06-24 华南理工大学 Internet of things data management method and system
CN113360953B (en) * 2021-06-03 2023-05-26 上海和数软件有限公司 IPFS and blockchain-based file distributed storage management method and system
CN113407512A (en) * 2021-06-10 2021-09-17 湖南大学 Block chain-based distributed storage system, method, device and storage medium
CN114189526A (en) * 2021-11-01 2022-03-15 北京中合谷投资有限公司 Centralized scheduling algorithm of distributed network
CN116319815B (en) * 2023-05-17 2023-08-04 驿羚江苏大数据有限公司 Cloud data placement policy management system introducing SaaS features

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022775A (en) * 2016-05-13 2016-10-12 邓迪 File signature method and system based on block chains
CN106485168A (en) * 2016-10-17 2017-03-08 成都知道创宇信息技术有限公司 A kind of method whether being modified using MD5 value checking contract documents
CN106534273A (en) * 2016-10-31 2017-03-22 中金云金融(北京)大数据科技股份有限公司 Block chain metadata storage system, and storage method and retrieval method thereof
CN106534317A (en) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 Disaster recovery cloud storage system construction method based on block chain technology
CN107273410A (en) * 2017-05-03 2017-10-20 上海点融信息科技有限责任公司 Distributed storage based on block chain

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296184A (en) * 2015-06-05 2017-01-04 地气股份有限公司 Electronic money management method and electronic-monetary system
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CN106227833A (en) * 2016-07-26 2016-12-14 宁圣金融信息服务(上海)有限公司 Block chaining search engine method, system and device
CN106055993A (en) * 2016-08-13 2016-10-26 深圳市樊溪电子有限公司 Encryption storage system for block chains and method for applying encryption storage system
CN106330431A (en) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 Data processing method, apparatus and system based on block chain technology
CN106375317A (en) * 2016-08-31 2017-02-01 北京明朝万达科技股份有限公司 Block chain-based big data security authentication method and system
CN106406896B (en) * 2016-09-27 2020-03-17 北京天德科技有限公司 Block chain block building method based on parallel Pipeline technology
CN106506638B (en) * 2016-11-04 2020-01-07 江苏通付盾科技有限公司 Block storage method and device in block chain
CN106603198A (en) * 2016-12-02 2017-04-26 深圳大学 Blockchain distributed storage method and system with network coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022775A (en) * 2016-05-13 2016-10-12 邓迪 File signature method and system based on block chains
CN106485168A (en) * 2016-10-17 2017-03-08 成都知道创宇信息技术有限公司 A kind of method whether being modified using MD5 value checking contract documents
CN106534273A (en) * 2016-10-31 2017-03-22 中金云金融(北京)大数据科技股份有限公司 Block chain metadata storage system, and storage method and retrieval method thereof
CN106534317A (en) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 Disaster recovery cloud storage system construction method based on block chain technology
CN107273410A (en) * 2017-05-03 2017-10-20 上海点融信息科技有限责任公司 Distributed storage based on block chain

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2578487A (en) * 2018-10-25 2020-05-13 Inst Information Ind Data processing apparatus and data processing method for internet of things system
US10754961B2 (en) 2018-10-25 2020-08-25 Institute For Information Industry Data processing apparatus and data processing method for internet of things system
GB2578487B (en) * 2018-10-25 2020-12-09 Inst Information Ind Data processing apparatus and data processing method for internet of things system
CN109902075A (en) * 2019-01-24 2019-06-18 深圳市步云科技有限公司 A kind of distributed cloud storage management platform system based on IPFS and block chain
CN109902075B (en) * 2019-01-24 2022-02-11 深圳市步云科技有限公司 Distributed cloud storage management platform system based on IPFS and block chain
WO2020011287A3 (en) * 2019-10-15 2020-08-20 Alipay (Hangzhou) Information Technology Co., Ltd. Indexing and recovering encoded blockchain data
US10977114B2 (en) 2019-10-15 2021-04-13 Alipay (Hangzhou) Information Technology Co., Ltd. Indexing and recovering encoded blockchain data
US11307927B2 (en) 2019-10-15 2022-04-19 Alipay (Hangzhou) Information Technology Co., Ltd. Indexing and recovering encoded blockchain data
EP3879781A1 (en) * 2020-03-13 2021-09-15 Deutsche Telekom AG Methods and systems for network service management in a distributed architecture
US11575597B2 (en) 2020-03-13 2023-02-07 Staex Gmbh Methods and systems for message relay in a distributed architecture
US11706284B2 (en) 2020-03-13 2023-07-18 Deutsche Telekom Ag Methods and systems for network service management in a distributed architecture
CN112035576A (en) * 2020-09-03 2020-12-04 厦门大学 Distributed storage method of block chain account book

Also Published As

Publication number Publication date
CN107273410A (en) 2017-10-20
CN107273410B (en) 2020-07-07

Similar Documents

Publication Publication Date Title
WO2018201797A1 (en) Block chain-based distributed storage
US11500729B2 (en) System and method for preserving data using replication and blockchain notarization
EP3893433B1 (en) Data isolation in blockchain networks
CN110024357B (en) System and method for data processing using distributed ledgers
WO2018205729A1 (en) Blockchain data processing based on zero-knowledge proof
US10614233B2 (en) Managing access to documents with a file monitor
JP2022529967A (en) Extracting data from the blockchain network
US10205747B2 (en) Protection for computing systems from revoked system updates
US11403401B2 (en) Preventing unauthorized package deployment in clusters
US20190207748A1 (en) Blockchain storage device
US10169600B2 (en) Encryption policies for various nodes of a file
US11082409B2 (en) Verifying message authenticity with decentralized tamper-evident logs
US20190266334A1 (en) System and Method for User Managed Encryption Recovery Using Blockchain for Data at Rest
US20150134619A1 (en) Digital data retention management
US11533185B1 (en) Systems for generating and managing certificate authorities
US20180302787A1 (en) Systems and methods for securely provisioning hypertext transfer protocol secure (https) pins to a mobile client
CN106156345B (en) Item file deposits card method, deposits card equipment and terminal device
CN109450925B (en) User authority verification method and device for operation and maintenance of power secondary system and electronic equipment
US9906370B2 (en) Trust relationship management amongst racks in a data center
US20200403803A1 (en) Auditably proving a usage history of an asset
WO2022001879A1 (en) Management of computing secrets
US11418327B2 (en) Automatic provisioning of key material rotation information to services
US20210026544A1 (en) Access revocation messaging mechanism
TWI569166B (en) Data verification method
WO2023240780A1 (en) Method and apparatus for managing virtual resource of account, and storage medium

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: 18794334

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 17/02/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18794334

Country of ref document: EP

Kind code of ref document: A1