WO2018043865A2 - 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 - Google Patents

블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 Download PDF

Info

Publication number
WO2018043865A2
WO2018043865A2 PCT/KR2017/004672 KR2017004672W WO2018043865A2 WO 2018043865 A2 WO2018043865 A2 WO 2018043865A2 KR 2017004672 W KR2017004672 W KR 2017004672W WO 2018043865 A2 WO2018043865 A2 WO 2018043865A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
data
transaction
hash value
blockchain
Prior art date
Application number
PCT/KR2017/004672
Other languages
English (en)
French (fr)
Other versions
WO2018043865A3 (ko
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 서강대학교 산학협력단
Priority to US16/310,654 priority Critical patent/US10747721B2/en
Publication of WO2018043865A2 publication Critical patent/WO2018043865A2/ko
Publication of WO2018043865A3 publication Critical patent/WO2018043865A3/ko

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/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems

Definitions

  • the present invention relates to a file management / retrieval system based on blockchain, and more particularly, to a file management / retrieval system and file management / that can search and provide data names and owners of data based on the block chain. It is about a search method.
  • Block chain also known as public trading ledger, is a technology that prevents hacking that can occur when trading in virtual currency.
  • Traditional financial firms keep transaction records on a centralized server, while blockchain sends transaction details to all users participating in a transaction and checks each transaction for counterfeiting.
  • Blockchain is applied to Bitcoin, a representative online virtual currency. Bitcoin records transaction details transparently in a book that anyone can read, and several computers using Bitcoin verify this record every 10 minutes to prevent hacking.
  • a conventional file sharing system stores and manages data or files in a cloud storage using a centralized server, and users access or request data or files by accessing the cloud storage.
  • a centralized server for managing them is required, resulting in a complicated system design and maintenance.
  • the present invention proposes a platform for implementing a data management and requesting system without a centralized server using a blockchain.
  • An object of the present invention for solving the above problems is to store and manage the information about the data files stored in each node in the form of a block chain by using a block chain (Block chain), the owner of each data file It provides a blockchain-based file management and retrieval system that allows you to view and search.
  • Another object of the present invention is to provide a file management and retrieval method used in the above-described file management and retrieval system.
  • Each node may include a block chain configured by concatenating blocks consisting of a block hash value, a nonce value of a current block, a hash value of a previous block, and a time stamp;
  • An IP list storing IP addresses and Port numbers for all nodes having the block chain;
  • a transaction transmission module for generating a transaction including information about the data, owner information, and an electronic signature when data is stored or deleted in a preset folder, and transmitting the generated transaction to other nodes having a block chain; And receiving a transaction from another node having a blockchain, when generating a block first for the received transaction, sending the block hash value and the nonce value to the other nodes, and receiving the block hash value and the nonce value from the other node.
  • a blockchain execution module which generates a block using the received information and connects the block to the blockchain; And
  • Each block of the block chain is generated for a data file stored in a plurality of nodes, and the block hash value of each block applies a hash algorithm preset for information about data, owner information of the data, and a nonce value.
  • the generated hash value, the information on the data of the transaction includes a data name, the owner information of the data of the transaction includes the IP address and Port number of the node where the data is stored.
  • the transaction transmission module sets a data name when data is stored or deleted in a preset folder, and sets the data name and the IP address of the node and the set data name. It is preferable to create a transaction including a port number and an electronic signature, and to transmit the generated transaction to other nodes having a blockchain.
  • the transaction transfer module adds a first flag indicating data generation to information about the data and adds it to the transaction.
  • a first flag indicating data generation to information about the data and adds it to the transaction.
  • the second flag indicating data deletion in the information about the data and add it to the transaction.
  • the blockchain execution module when receiving a transaction from another node, executes a proof of work on the information of the received transaction to block the block hash value and nonce. Value), transmits the generated block hash value and the nonce value to other nodes, and receives the block hash value and the nonce value from another node, using the received block hash value and the nonce value. It is preferable to generate a block when the validity is verified and to connect the generated block to the blockchain.
  • the file management and retrieval system further comprises a file retrieval module for retrieving data and owners stored in each node using a blockchain,
  • the file search module When a data name to be searched is input, the file search module reads a nonce value of each block stored in the blockchain, and reads the nonce value, the input data name, and each node of the IP list. Generate a hash value using an IP address and a port number, determine whether the generated hash value coincides with a block hash value of a block including the nonce value, and determine a block hash value that matches the generated hash value. If a block exists, it is preferable to determine that a node having a corresponding IP address and a port number is the owner, and if there is no block having a block hash value matching the generated hash value, it is preferable to determine that there is no corresponding data. .
  • the blockchain execution module when the blockchain execution module receives one transaction from other nodes having the blockchain, the blockchain execution module generates one block for the received one transaction. It is desirable to connect to the blockchain.
  • a file management and retrieval method in each node for managing and retrieving data stored in a plurality of nodes by utilizing a block chain includes: (a) a current block Storing a block chain consisting of blocks consisting of a hash value of the block, a nonce value, a hash value of the previous block, and a time stamp; (b) having an IP list storing IP addresses and Port numbers for all nodes having the blockchain; (c) if data is stored or deleted in a preset folder, create a transaction including information about the data, information about the owner, and an electronic signature, and send the generated transaction to other nodes having a blockchain; Making; And (d) upon receiving a transaction from other nodes having a blockchain, generating a block for the received transaction and connecting the blockchain to the blockchain;
  • Each block of the block chain is generated for a data file stored in a plurality of nodes, and the block hash value of each block applies a hash algorithm preset for information about data, owner information of the data, and a nonce value.
  • the generated hash value, the information on the data of the transaction includes a data name, the owner information of the data of the transaction includes the IP address and Port number of the node where the data is stored.
  • step (c) if data is stored or deleted in a preset folder, the data name is set, and the set data name and IP address of the node are set. It is preferable to create a transaction including a port number and a digital signature, and to transmit the generated transaction to other nodes having a blockchain.
  • the data name is converted into ASCII code and included in a transaction, and the IP address and port number are converted to decimal and converted into a transaction. It is preferred to be included.
  • step (c) if data is stored in a preset folder, the first flag indicating data generation is included in the information about the data and added to the transaction. If the data in the preset folder is deleted, it is preferable to include the second flag indicating data deletion in the information about the data and add it to the transaction.
  • the step (d) when receiving a transaction from another node, performs a proof of work on the information of the received transaction and is the first of all the nodes.
  • a block hash value and a nonce value are generated, a block is generated using the block hash value and a nonce value, the block hash value and the nonce value are transmitted to other nodes, and the block hash value and the nonce value are received from another node.
  • the authentication is performed by validating the received transaction using the received block hash value and the nonce value, it is preferable to generate a block and connect the generated block to the block chain.
  • the file management and retrieval method further includes (e) a file retrieval step of retrieving and providing a requested data name from the outside,
  • the (e) file searching step when a data name to be searched is input, a nonce value of each block stored in the block chain is read, and each of the read nonce value, the input data name, and the IP list is read. Generate a hash value using the IP address and the port number for the nodes, determine whether the generated hash value coincides with the block hash value of the block containing the nonce value, and blocks that match the generated hash value If a block having a hash value exists, it is determined that the node having the corresponding IP address and a port number is the owner. If there is no block having a block hash value matching the generated hash value, it is determined that there is no corresponding data. It is preferable.
  • the file management and retrieval system can search for a data name using a block chain, identify the owner of the data, and obtain the owner's IP address and port number by checking the owner. You can request the data.
  • the file management and retrieval system according to the present invention can be utilized as a platform for a file management and retrieval system that does not require a central management server by utilizing a blockchain, and as a file sharing request system by identifying the data location through blockchain retrieval. It can be utilized.
  • the block hash value of the blockchain includes the name of the data and the owner information so that other users can easily confirm the location of the data.
  • FIG. 1 is a block diagram of a file management and retrieval system based on a blockchain according to a preferred embodiment of the present invention
  • Figure 2 is a structure of each node in the file management and retrieval system according to the present invention The block diagram shown.
  • FIG. 3 is a conceptual diagram illustrating a block chain and blocks constituting a block chain included in each node in a file management and retrieval system according to an exemplary embodiment of the present invention.
  • FIG. 4 is a flowchart sequentially illustrating a process of connecting a block including a data name and owner information to a blockchain performed by each node in a file management and retrieval system according to a preferred embodiment of the present invention.
  • FIG. 5 is a block diagram illustrating a process of generating a transaction by a transaction transmission module of each node in a file management and retrieval system according to a preferred embodiment of the present invention.
  • FIG. 6 is a file management and retrieval system according to a preferred embodiment of the present invention, where (a) is a transaction sending node which is a data owner who created data or a file and outputs a transaction transmission result, and (b) a transaction receiving node Shows the result of receiving a transaction.
  • FIG. 7 is a conceptual diagram illustrating an encryption and decryption algorithm for a digital signature in a file management and retrieval system according to a preferred embodiment of the present invention.
  • FIG. 8 illustrates a transaction including an electronic signature and a public key in a file management and retrieval system according to a preferred embodiment of the present invention.
  • FIG. 9 is a conceptual diagram illustrating a process in which a transaction receiving node generates and transmits a block hash value through proof of work in a file management and retrieval system according to a preferred embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a file management and retrieval system according to a preferred embodiment of the present invention, in which a block newly generated by each node is stored in a json file.
  • FIG. 11 is a flowchart illustrating an operation of a file search module of each node in a file management and search system according to a preferred embodiment of the present invention
  • FIG. 12 illustrates data stored in a blockchain using a file search module of each node. This is a conceptual diagram showing the process of identifying the owner after the name search.
  • FIG. 13 is a diagram illustrating a file management and retrieval system according to a preferred embodiment of the present invention, in which (a) shows a block Json file of a blockchain being opened and compared with information of an IP list, and (b) It is a figure which shows the result of having found a data name in a blockchain.
  • the present invention relates to a file management and retrieval system based on a blockchain capable of identifying a data name and owner, and storing the generated data and translating the data name together with information of the IP address and port number of the node where the data is stored.
  • the nodes that receive it create a block based on the transaction and connect it to the blockchain so that everyone can share the data name and the owner information that created the data. Since this information is recorded in the blockchain, all nodes share the same information, and in order for the malicious node to modify the contents arbitrarily, the contents of the blockchain owned by all nodes must be modified. In itself, it is very secure.
  • FIG. 1 is a block diagram of a file management and retrieval system based on a blockchain according to a preferred embodiment of the present invention
  • Figure 2 is a structure of each node in the file management and retrieval system according to the present invention The block diagram shown.
  • the file management and retrieval system 1 manages data stored in a plurality of nodes using a block chain without a separate central management server.
  • a system capable of searching, each node 2, 3, 4, ..., n is a block chain 10, data storage module 12, IP list 11, transaction transfer module ( 13), a blockchain execution module 14 and a file search module 15.
  • the block chain 10 is formed by connecting a plurality of blocks in a chain form, and the blocks are formed in the form of a Json file, a hash value of a current block, a nonce value, a hash value of a previous block, It includes a time stamp.
  • the hash value and the nonce value are values obtained by using a preset hash function for the data name, the owner's IP address, and the port number.
  • FIG. 3 is a conceptual diagram illustrating a block chain and blocks constituting a block chain included in each node in a file management and retrieval system according to an exemplary embodiment of the present invention.
  • blocks of a block chain include not only their own hash value but also the block hash value of the previous block, each block of the block chain is connected to each other like a chain.
  • the IP list 11 stores IP addresses and port numbers of all nodes having the block chain, and is provided by all nodes.
  • the data storage module 12 is a memory area in which data or files are generated and stored in a preset folder, and each node pre-specifies a folder for storing data or files to be shared with other nodes in the data storage area. .
  • the system according to the present invention makes it possible to provide a file sharing platform in which all nodes can share data stored in the data storage module.
  • the transaction transfer module 13 sets a data name, and the information and owner of the data or file including the data name. Create a transaction that includes the information and the electronic signature, and send the generated transaction to other nodes with a blockchain.
  • a node that transmits a transaction is referred to as a "transaction transmitting node”.
  • the data name is converted into ASCII code and included in the transaction, and the IP address and port number are converted into decimal and included in the transaction.
  • the transaction transfer module When the data or file is stored in a preset folder, the transaction transfer module adds a first flag indicating the creation of the data or file to the transaction as part of the information about the data, and the data or file in the preset folder is added. Once deleted, it is desirable to add a second flag indicating data deletion to the transaction as part of the information about the data.
  • the blockchain execution module 14 When the blockchain execution module 14 receives a transaction from other nodes having a blockchain, the blockchain execution module 14 generates a block for the received transaction and connects the blockchain to the blockchain.
  • a node that receives a transaction from a transaction sending node is referred to as a "transaction receiving node”.
  • the operation of the blockchain execution module 14 will be described in more detail.
  • the blockchain execution module executes proof-of-work to generate a block hash value necessary for generating the block.
  • the proof of work is a task of generating a hexadecimal block hash value satisfying a predetermined number of '0's by calculating a random nonce value with the received transaction using a preset hash function.
  • the SHA 256 hash function is used, and other hash functions may be used. The reason for this proof of work is to make it impossible for any of the nodes participating in the blockchain to create a block, so that the malicious node can't determine the node that will create the current block. Will be prevented.
  • the height of the blockchain of Bitcoin is 417453
  • the number of '0' of the block hash value is 17.Bitcoin adjusts the block creation difficulty while increasing the number of '0', which is currently the highest CPU or GPU.
  • the difficulty of block generation is set by taking the number of '0's that generate one block in 10 minutes based on a system having performance.
  • the blockchain execution module finds a block hash value and a random nonce value, generates a block by using the blockchain fact, and generates a block. And the found block hash value and a random nonce value to all nodes.
  • a node that first succeeds in proof-of-work among the transaction receiving nodes is referred to as a "proof of work success node”.
  • the blockchain execution module determines validity of the transaction and the received block hash value and the nonce value using a validity test algorithm, and then validates the result. When this is completed, an additional block is generated using the received block hash value and the nonce value, and the additional block is connected to the block chain.
  • the file retrieval module 15 can retrieve data and owners stored in each node using the blockchain 10 and the IP list 11.
  • the file search module When a data name to be searched is input, the file search module reads a nonce value of each block stored in the blockchain, and reads the nonce value, the input data name, and each node of the IP list.
  • the block hash value is generated using the IP address and the port number, and it is determined whether the generated block hash value matches the block hash value of the block including the nonce value. If a block having a block hash value corresponding to the generated block hash exists, it is determined that the node having the corresponding IP address and the port number is the owner and requests the corresponding data from the node. If a block having a block hash value that matches the generated block hash value does not exist, it is determined that there is no corresponding data.
  • the blockchain execution module when the blockchain execution module receives one transaction from other nodes having a blockchain, the blockchain execution module generates one block for the received one transaction and connects it to the blockchain. It is characterized by.
  • FIG. 4 is a flowchart sequentially illustrating a process of connecting a block including a data name and owner information to a blockchain performed by each node in a file management and retrieval system according to a preferred embodiment of the present invention. Referring to FIG. 4, a process of linking a block including a data name and owner information to a blockchain performed by each node will be described in detail.
  • Each node has a blockchain and an IP list, and each node pre-specifies a folder for storing data or files to be shared with other nodes in a data storage area.
  • each node if a data or file is generated and stored or deleted in the preset folder by the transaction transfer module, sets a name for the data or file, and the data name and data that is the owner of the data. Generates a transaction including the IP address, port number, and digital signature of the stored node, and transmits the generated transaction to other nodes as a whole (step 400).
  • the transaction further includes one of a first flag and a second flag indicating deletion of data, so that the data can be determined to be generated or deleted in a future search.
  • the other nodes will receive a transaction from the transaction sending node (step 410).
  • the transaction receiving nodes execute proof-of-work via the blockchain execution module to generate the block hash value necessary for generating the block for the received transaction (step 420).
  • the first node that succeeds in proof-of-work finds a block hash value and a random nonce value through a blockchain execution module, generates a block using the block nonce, and generates a block.
  • the fact, the found block hash value and the random nonce value are transmitted to all nodes (step 430).
  • the other nodes that receive the block hash value and the nonce value from the proof of work success node determine the validity of the transaction and the received block hash value and the nonce value using a valid test algorithm (step 440).
  • an additional block is generated using the received block hash value and the nonce value, and the additional block is connected to the block chain (step 450).
  • FIG. 5 is a block diagram illustrating a process of generating a transaction by a transaction transmission module of each node in a file management and retrieval system according to a preferred embodiment of the present invention.
  • the owner creates data or files in a predetermined folder and names the data a1.txt.
  • the first node participating in the blockchain creates a random folder in the same directory as the blockchain executable program and stores the blocks of the blockchain in the folder.
  • each node use Python's Watchdog API to monitor the creation, deletion, and modification of all files in a custom folder to run a Python program only when the files have been created.
  • the generated and deleted data names represent data names through simple listing using ASCII codes that can represent letters as numbers, and IP addresses are converted to binary numbers and then converted to decimal numbers. This process creates a transaction with the extracted data name, owner's IP address and port number, and a digital signature.
  • FIG. 6 is a file management and retrieval system according to a preferred embodiment of the present invention, where (a) is a transaction sending node which is a data owner who created data or a file and outputs a transaction transmission result, and (b) a transaction receiving node Shows the result of receiving a transaction.
  • nodes participating in a block chain have IP lists for all nodes, and IP addresses and port numbers of the block chain participating nodes are stored in the IP list. After generating the data, the node that created the transaction sends the transaction to all nodes using the IP address and port number stored in the IP list. In this case, TCP Socket communication is used. Referring to (b) of FIG. 6, as a result of receiving the transaction by the remaining nodes other than the node that created the transaction, it can be confirmed that the transaction has been successfully received.
  • the blockchain used in the conventional bitcoin requires a lot of information such as a send address, a receive address, and a transaction amount in a transaction
  • the blockchain according to the present invention is a transaction in order to check the location of data shared by all nodes. By only transmitting the data name and the owner information, it is possible to minimize the bandwidth of the link by reducing the size of the transmitted and received packets.
  • FIG. 7 is a conceptual diagram illustrating an encryption and decryption algorithm for an electronic signature in a file management and retrieval system according to a preferred embodiment of the present invention
  • FIG. 8 includes an electronic signature and a public key. It shows a transaction.
  • a transaction sending node which is a data owner, generates a digital signature using a private key and transmits the electronic signature in a transaction when the transaction is transmitted.
  • the digital signature of the received transaction is decrypted using the public key to check whether the owner IP and port that sent the transaction match the IP address and port number included in the transaction.
  • a digital signature is generated by using a private key and a public key.
  • the cryptographic theory used in the digital signature is ECDSA, and the owner's port to be used for IP address and TCP socket communication of a transaction sending node.
  • ECDSA Europay, MasterCard, and Visa
  • the digital signature is attached to the transaction and sent to another node with the public key generated by ECDSA.
  • the transaction receiving node decrypts using the enclosed public key and verifies that the transaction is valid by checking whether the output result is True or False. Confirmation of the digital signature prevents spoofing, preventing any malicious node from sending the wrong transaction in the block.
  • a transaction including an electronic signature and a public key transmitted by a transaction sending node includes five pieces of information including a data generation owner and a data name, an IP address, a port number, a public key, and an electronic signature. .
  • the transaction validity verification result decrypted by the transaction receiving node using the public key will be described.
  • the transaction receiving node decrypts the digital signature using the public key of the transaction sending node, and if it is confirmed that the result of decryption for validating the transaction is true, proceeds to the block generation step after the validation; If the decryption result is false, the transaction is discarded.
  • FIG. 9 is a conceptual diagram illustrating a process in which a transaction receiving node generates and transmits a block hash value through proof of work in a file management and retrieval system according to a preferred embodiment of the present invention.
  • the number of zeros of the actual Bitcoin blockchain block hash is set to 17 required difficulty levels and the difficulty levels are set accordingly.
  • only one transaction is included, not a block including several transactions, that is, one data name and owner information are input in one block. Only this information is used to make a block hash so that data name and owner information can be confirmed through block hash analysis when retrieving data later.
  • To apply the hash algorithm list the IP, port, and data names received in the transaction, and randomly generate nonce values and generate a block hash using the SHA256 hash algorithm (1).
  • the nonce is continuously changed until it finds a hash value with more than 17 zeros, which is set as a reference value, and it is accepted as a block hash when a valid hash condition is found.
  • the block hash value and the nonce value generated by an arbitrary node are transmitted to all nodes participating in the blockchain.
  • the received node analyzes the received block hash value and nonce value and validates it (3). . By validating the block validity, it is possible to confirm that the hash algorithm result matches the received block hash.
  • Each node has all the transaction information for block creation, so list the transaction information, IP address, port number, and data name, and proceed with the SHA256 hash algorithm using the received nonce value. The node knows that the contents of the transaction did not change when they match, and can block the block generation of the malicious node. After the block validation is completed, the contents are stored in the form of Json file (4) and then connected to the block chain (5).
  • FIG. 10 is a diagram illustrating a file management and retrieval system according to a preferred embodiment of the present invention, in which blocks newly created by nodes are stored in the form of a Json file.
  • a block is stored in the form of a Json file, and a time stamp ('time', a hash value of the current block ('hash'), a nonce value, and a hash value of the previous block ('prev hash')). ).
  • FIG. 11 is a flowchart illustrating an operation of a file search module of each node in a file management and search system according to a preferred embodiment of the present invention
  • FIG. 12 illustrates data stored in a blockchain using a file search module of each node. This is a conceptual diagram showing the process of identifying the owner after the name search.
  • step 900 when a user inputs a data name (a) as text (step 900), information of IP addresses and port numbers of each node in the IP list 11 after conversion to ASCII code is obtained. List them together (step 910).
  • the blockchain 10 stored as a Json file is read to read a nonce value of the block (step 920), and a hash value is obtained by applying a SHA256 hash algorithm with the read nonce value and the above-listed information (step 930). Then, it is checked whether the hash value thus obtained matches the block hash value of the Json file (step 940).
  • FIG. 13 is a diagram illustrating a file management and retrieval system according to a preferred embodiment of the present invention, in which (a) shows a block Json file of a blockchain being opened and compared with information of an IP list, and (b) It is a figure which shows the result of having found a data name in a blockchain.
  • a Jason file for each block constituting the blockchain is opened to read a nonce value, an IP address and a port number for each node constituting the IP list are read.
  • the hash value is obtained by using the data name inputted from the user, the IP address and port number of each read node, and the nonce value for each block. If the hash value thus obtained coincides with the hash value of the block including the nonce value, the node is identified as the owner of the data.
  • the file management and retrieval system can implement a platform capable of identifying a list of files that can be shared by retrieving the IP address and port information of a file owner by retrieving the data name of the blockchain.
  • the retrieved node requests the corresponding data from the owner node, and the file sharing system can be implemented by transmitting the file through the TCP socket communication after confirming the owner node.
  • the file management and retrieval system stores the data name and owner information only through the blockchain to share the required data through the blockchain search, so the entire file for sharing in the existing cloud method It can solve the problem of consuming a lot of storage capacity.Because the information of blocks belonging to the blockchain is excluded, the height of blocks, the number of blocks, transaction information, etc. are excluded, and only the information such as block hash and nonce necessary for data retrieval is saved. The problem of excess storage capacity of the chain itself can also be solved.
  • the system and method according to the invention can be widely used in file sharing systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 데이터 명칭 및 소유주 확인이 가능한 블록체인을 기반으로 한 파일 관리 및 검색 시스템에 관한 것이다. 상기 파일 관리 및 검색 시스템은, 생성한 데이터를 저장하고 데이터 명칭을 상기 데이터가 저장된 노드의 IP address와 port number의 정보와 함께 트랜잭션 형태로 다른 노드에 전달하면, 이를 수신한 노드들은 해당 트랜잭션을 기반으로 블록을 생성하여 블록체인에 연결함으로써, 데이터 이름과 해당 데이터를 생성한 소유주 정보를 모든 사람들이 공유하게 된다. 이 정보는 블록체인으로 기록이 되어 있기 때문에 모든 노드가 같은 정보를 공유하여서 악의적 노드가 임의로 내용을 수정하기 위해서는 모든 노드가 가지고 있는 블록체인의 내용을 수정해야 하므로 임의적 수정이 사실상 불가능하기 때문에 블록체인 자체로도 보안성이 뛰어나다.

Description

블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
본 발명은 블록 체인을 기반으로 한 파일 관리/검색 시스템에 관한 것으로서, 더욱 구체적으로는 블록 체인을 기반으로 하여 데이터 명칭과 데이터의 소유주를 검색하여 제공할 수 있는 파일 관리/검색 시스템 및 파일 관리/검색 방법에 관한 것이다.
블록 체인(Block chain)은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 블록체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 10분에 한 번씩 이 기록을 검증하여 해킹을 막는다.
한편, 종래의 일반적인 파일 공유 시스템은 중앙 집중형 서버를 이용한 클라우드 storage 에 데이터 또는 파일들을 저장 및 관리하며, 사용자들이 클라우드 storage 에 접속하여 데이터 또는 파일을 요청하거나 검색하게 된다. 이 경우 대용량 저장 장치가 요구될 뿐만 아니라, 이들을 관리하기 위한 중앙 집중형 서버가 요구되므로, 시스템 설계 및 유지가 복잡해지는 문제점이 발생한다.
본 발명은 블록 체인을 활용하여 중앙 집중형 서버없이 데이터 관리 및 요청시스템을 구현하기 위한 플랫폼을 제안하고자 한다.
전술한 문제점을 해결하기 위한 본 발명의 목적은 블록 체인(Block chain)을 활용하여 각 노드들에 저장된 데이터 파일들에 대한 정보를 블록 체인의 형태로 저장 및 관리하고, 각 데이터 파일에 대한 소유주를 확인하고 검색할 수 있도록 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템을 제공하는 것이다.
본 발명의 다른 목적은 전술한 파일 관리 및 검색 시스템에 사용되는 파일 관리 및 검색 방법을 제공하는 것이다.
전술한 기술적 과제를 달성하기 위한 본 발명의 제1 특징에 따른 블록 체인(Block chain)을 활용하여 다수의 노드들에 저장된 데이터 또는 파일을 관리 및 검색할 수 있도록 하는 파일 관리 및 검색 시스템에 있어서,
각 노드들은, 현재 블록의 해쉬(block hash)값, 논스(Nonce) 값, 이전 블록의 해쉬값 및 Time stamp로 이루어진 블록들이 연결되어 구성된 블록 체인; 상기 블록 체인을 갖는 모든 노드들에 대한 IP 주소 및 Port 번호를 저장한 IP 리스트; 사전에 설정된 폴더에 데이터가 저장되거나 삭제되면, 상기 데이터에 대한 정보, 소유주 정보 및 전자 서명을 포함하는 트랜잭션을 생성하고, 상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 트랜잭션 전송 모듈; 및 블록 체인을 갖는 다른 노드로부터 트랜잭션을 수신하면, 수신된 트랜잭션에 대해 가장 먼저 블록을 생성하면 블록 해쉬값과 논스값을 다른 노드들에게 송신하며, 다른 노드로부터 블록 해쉬값과 논스값을 수신하면 수신된 정보를 이용하여 블록을 생성하여 블록 체인에 연결시키는 블록 체인 실행 모듈; 을 구비하고,
상기 블록 체인의 각 블록은 다수의 노드들에 저장된 데이터 파일에 대하여 각각 생성된 것으로서, 각 블록의 블록 해쉬값은 데이터에 대한 정보, 데이터의 소유주 정보와 논스값에 대하여 사전 설정된 해쉬 알고리즘을 적용하여 생성한 해쉬값이며, 상기 트랜잭션의 데이터에 대한 정보는 데이터 명칭을 포함하며, 상기 트랜잭션의 데이터의 소유주 정보는 해당 데이터가 저장된 노드의 IP 주소와 Port 번호를 포함한다.
전술한 제1 특징에 따른 파일 관리 및 검색 시스템에 있어서, 상기 트랜잭션 전송 모듈은, 사전에 설정된 폴더내에 데이터가 저장되거나 삭제되면, 데이터 명칭을 설정하고, 상기 설정된 데이터 명칭 및 해당 노드의 IP 주소와 Port 번호, 전자 서명을 포함하는 트랜잭션을 생성하고, 상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 것이 바람직하다.
전술한 제1 특징에 따른 파일 관리 및 검색 시스템에 있어서, 상기 트랜잭션 전송 모듈은, 사전에 설정된 폴더내에 데이터가 저장되면, 데이터 생성을 나타내는 제1 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키고, 사전에 설정된 폴더내의 데이터가 삭제되면, 데이터 삭제를 나타내는 제2 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키는 것이 바람직하다.
전술한 제1 특징에 따른 파일 관리 및 검색 시스템에 있어서, 블록 체인 실행 모듈은, 다른 노드로부터 트랜잭션을 수신하면, 수신된 트랜잭션의 정보들에 대하여 proof of work를 실행하여 블록 해쉬값과 논스(Nonce)값을 생성하고, 생성된 블록 해쉬값과 논스값을 다른 노드들로 전송하며, 다른 노드로부터 블록 해쉬값과 논스값을 수신하면, 수신된 블록 해쉬값과 논스값을 이용하여 상기 수신된 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하고, 상기 생성된 블록을 블록 체인에 연결시키는 것이 바람직하다.
전술한 제1 특징에 따른 파일 관리 및 검색 시스템에 있어서, 상기 파일 관리 및 검색 시스템은 블록 체인을 이용하여 각 노드에 저장된 데이터와 소유주를 검색하는 파일 검색 모듈을 더 구비하고,
상기 파일 검색 모듈은, 검색하고자 하는 데이터 명칭이 입력되면, 블록 체인에 저장된 각 블록의 논스(nonce) 값을 판독하고, 상기 판독된 논스값, 상기 입력된 데이터 명칭 및 IP 리스트의 각 노드들에 대한 IP 주소와 Port 번호를 이용하여 해쉬값을 생성하고, 상기 생성된 해쉬값이 상기 논스값이 포함된 블록의 블록 해쉬값과 일치하는지를 판단하고, 상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하면, 해당 IP 주소와 Port 번호를 갖는 노드가 소유주임을 결정하고, 상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하지 않으면, 해당 데이터가 없음을 결정하는 것이 바람직하다.
전술한 제1 특징에 따른 파일 관리 및 검색 시스템에 있어서, 상기 블록 체인 실행 모듈은, 블록 체인을 갖는 다른 노드들로부터 하나의 트랜잭션을 수신하면, 수신된 하나의 트랜잭션에 대해 하나의 블록을 생성하여 블록 체인에 연결시키는 것이 바람직하다.
본 발명의 제2 특징에 따른 블록 체인(Block chain)을 활용하여 다수의 노드들에 저장된 데이터를 관리 및 검색할 수 있도록 하기 위한 각 노드들에서의 파일 관리 및 검색 방법은, (a) 현재 블록의 해쉬(block hash)값, 논스(Nonce) 값, 이전 블록의 해쉬값 및 Time stamp로 이루어진 블록들로 이루어진 블록 체인을 저장하는 단계; (b) 상기 블록 체인을 갖는 모든 노드들에 대한 IP 주소 및 Port 번호를 저장한 IP 리스트를 구비하는 단계; (c) 사전에 설정된 폴더에 데이터가 저장되거나 삭제되면, 상기 데이터에 대한 정보, 소유주에 대한 정보 및 전자 서명을 포함하는 트랜잭션을 생성하고, 상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 단계; 및 (d) 블록 체인을 갖는 다른 노드들로부터 트랜잭션을 수신하면, 수신된 트랜잭션에 대한 블록을 생성하여 블록 체인에 연결시키는 단계;를 구비하고,
상기 블록 체인의 각 블록은 다수의 노드들에 저장된 데이터 파일에 대하여 각각 생성된 것으로서, 각 블록의 블록 해쉬값은 데이터에 대한 정보, 데이터의 소유주 정보와 논스값에 대하여 사전 설정된 해쉬 알고리즘을 적용하여 생성한 해쉬값이며, 상기 트랜잭션의 데이터에 대한 정보는 데이터 명칭을 포함하며, 상기 트랜잭션의 데이터의 소유주 정보는 해당 데이터가 저장된 노드의 IP 주소와 Port 번호를 포함한다.
전술한 제2 특징에 따른 파일 관리 및 검색 방법에 있어서, 상기 (c) 단계는, 사전에 설정된 폴더내에 데이터가 저장되거나 삭제되면, 데이터 명칭을 설정하고, 상기 설정된 데이터 명칭 및 해당 노드의 IP 주소와 Port 번호, 전자 서명을 포함하는 트랜잭션을 생성하고, 상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 것이 바람직하다.
전술한 제2 특징에 따른 파일 관리 및 검색 방법에 있어서, 상기 데이터 명칭은 아스키 코드(ASCII Code)의 형태로 변환되어 트랜잭션에 포함되고, 상기 IP 주소 및 Port 번호는 십진수의 형태로 변환되어 트랜잭션에 포함되는 것이 바람직하다.
전술한 제2 특징에 따른 파일 관리 및 검색 방법에 있어서, 상기 (c) 단계는, 사전에 설정된 폴더내에 데이터가 저장되면, 데이터 생성을 나타내는 제1 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키고, 사전에 설정된 폴더내의 데이터가 삭제되면, 데이터 삭제를 나타내는 제2 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키는 것이 바람직하다.
전술한 제2 특징에 따른 파일 관리 및 검색 방법에 있어서, 상기 (d) 단계는, 다른 노드로부터 트랜잭션을 수신하면, 수신된 트랜잭션의 정보들에 대하여 proof of work 를 수행하여 모든 노드들 중 가장 먼저 블록 해쉬값과 논스(Nonce)값을 생성하면, 이를 이용하여 블록을 생성하며, 상기 생성된 블록 해쉬값과 논스값을 다른 노드들로 전송하며, 다른 노드로부터 블록 해쉬값과 논스값을 수신하면, 수신된 블록 해쉬값과 논스값을 이용하여 상기 수신된 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하고, 상기 생성된 블록을 블록 체인에 연결시키는 것이 바람직하다.
전술한 제2 특징에 따른 파일 관리 및 검색 방법에 있어서, 상기 파일 관리 및 검색 방법은 (e) 외부로부터 요청된 데이터 명칭을 검색하여 제공하는 파일 검색 단계를 더 구비하고,
상기 (e) 파일 검색 단계는, 검색하고자 하는 데이터 명칭이 입력되면, 블록 체인에 저장된 각 블록의 논스(nonce) 값을 판독하고, 상기 판독된 논스값, 상기 입력된 데이터 명칭 및 IP 리스트의 각 노드들에 대한 IP 주소와 Port 번호를 이용하여 해쉬값을 생성하고, 상기 생성된 해쉬값이 상기 논스값이 포함된 블록의 블록 해쉬값과 일치하는지를 판단하고, 상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하면, 해당 IP 주소와 Port 번호를 갖는 노드가 소유주임을 결정하고, 상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하지 않으면, 해당 데이터가 없음을 결정하는 것이 바람직하다.
본 발명에 따른 파일 관리 및 검색 시스템은 블록 체인(Block chain)을 활용하여 데이터 명칭을 검색하고, 해당 데이터에 대한 소유주를 확인할 수 있으며, 소유주의 확인에 의해 소유주의 IP 주소 및 Port 번호를 획득하여 해당 데이터를 요청할 수 있게 된다.
또한, 본 발명에 따른 파일 관리 및 검색 시스템은 블록 체인을 활용함으로써, 중앙 관리 서버가 필요치 않은 파일 관리 및 검색 시스템의 플랫폼으로 활용 가능하며, 블록체인 검색을 통한 데이터 위치 파악으로 파일 공유 요청 시스템으로 활용 가능하다.
한편, 본 발명에 따른 파일 관리 및 검색 시스템은, 블록 체인의 블록 해쉬값이 데이터의 명칭과 소유주 정보를 포함하도록 함으로써 데이터의 위치를 다른 사용자가 쉽게 확인 가능하다.
또한, 본 발명에 따른 파일 관리 및 검색 시스템은, 블록체인 생성과정에서 신뢰성이 보장되므로 보안 측면에서 전자 서명을 통해 인증(Authentication), 부인방지(Non-repudiation)와 블록 hash 생성의 message digest를 통해 무결성(Integrity)을 가진다.
도 1은 본 발명의 바람직한 실시예에 따른 블록 체인을 기반으로 한 파일 관리 및 검색 시스템을 전체적으로 도시한 구성도이며, 도 2는 본 발명에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드의 구조를 도시한 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드들에 구비된 블록 체인 및 블록 체인을 구성하는 블록들을 예시적으로 도시한 개념도이다.
도 4는 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드들에 의해 수행되는 블록 체인에 데이터 명칭 및 소유주 정보를 포함하는 블록을 연결시키는 과정을 순차적으로 도시한 흐름도이다.
도 5는 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드의 트랜잭션 전송 모듈이 트랜잭션을 생성하는 과정을 설명하기 위하여 도시한 구성도이다.
도 6은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, (a)는 데이터 또는 파일을 생성한 데이터 소유주인 트랜잭션 송신 노드가 트랜잭션 송신 결과를 출력한 것이며, (b) 트랜잭션 수신 노드의 트랜잭션 수신 결과를 출력한 것이다.
도 7은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 전자 서명에 대한 암호화 및 복호화 알고리즘을 설명하기 위하여 도시한 개념도이다.
도 8은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 전자 서명 및 공개키(public key)를 포함한 트랜잭션을 도시한 것이다.
도 9는 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 트랜잭션 수신 노드가 proof of work를 통해 블록 해쉬값을 생성하고 전송하는 과정을 도시한 개념도이다.
도 10은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드들에 의해 새롭게 생성된 블록이 json 파일 형태로 저장된 것을 도시하는 도면이다.
도 11은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드의 파일 검색 모듈의 동작을 도시한 흐름도이며, 도 12는 각 노드들의 파일 검색 모듈을 이용하여 블록체인에 저장된 데이터 명칭 검색 후 소유주를 확인하는 과정을 도시한 개념도이다.
도 13은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, (a)는 블록 체인의 블록 Json 파일을 열어 IP 리스트의 정보와 비교하는 것을 도시하는 도면이고, (b)는 검색한 데이터 명칭을 블록체인 내에서 찾아낸 결과를 도시하는 도면이다.
본 발명은 데이터 명칭 및 소유주 확인이 가능한 블록체인을 기반으로 한 파일 관리 및 검색 시스템에 관한 것으로서, 생성한 데이터를 저장하고 데이터 명칭을 상기 데이터가 저장된 노드의 IP address와 port number의 정보와 함께 트랜잭션 형태로 다른 노드에 전달하면, 이를 수신한 노드들은 해당 트랜잭션을 기반으로 블록을 생성하여 블록체인에 연결함으로써, 데이터 이름과 해당 데이터를 생성한 소유주 정보를 모든 사람들이 공유하게 된다. 이 정보는 블록체인으로 기록이 되어 있기 때문에 모든 노드가 같은 정보를 공유하여서 악의적 노드가 임의로 내용을 수정하기 위해서는 모든 노드가 가지고 있는 블록체인의 내용을 수정해야 하므로 임의적 수정이 사실상 불가능하기 때문에 블록체인 자체로도 보안성이 뛰어나다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 블록 체인을 기반으로 한 파일 관리 및 검색 시스템의 구조 및 동작에 대하여 구체적으로 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 블록 체인을 기반으로 한 파일 관리 및 검색 시스템을 전체적으로 도시한 구성도이며, 도 2는 본 발명에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드의 구조를 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템(1)은 별도의 중앙 관리 서버없이 블록 체인(Block chain)을 활용하여 다수의 노드들에 저장된 데이터를 관리 및 검색할 수 있도록 하는 시스템으로서, 각 노드들(2,3,4, ..., n)은, 블록 체인(10), 데이터 저장 모듈(12), IP 리스트(11), 트랜잭션 전송 모듈(13), 블록 체인 실행 모듈(14) 및 파일 검색 모듈(15)을 구비한다.
상기 블록 체인(10)은 다수 개의 블록들이 사슬 형태로 연결되어 이루어진 것으로서, 상기 블록들은 Json 파일 형태로 이루어지며, 현재 블록의 해쉬(Hash) 값, 논스(Nonce) 값, 이전 블록의 해쉬값, 타임 스탬프(Time Stamp)를 포함한다. 상기 해쉬값과 논스값은 데이터 명칭과 소유주의 IP 주소 및 Port 번호에 대하여 사전 설정된 해쉬 함수를 이용하여 구한 값들이다.
도 3은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드들에 구비된 블록 체인 및 블록 체인을 구성하는 블록들을 예시적으로 도시한 개념도이다. 도 3을 참조하면, 블록 체인의 블록들은 자신의 블록 해쉬값 뿐만 아니라 바로 이전의 블록에 대한 블록 해쉬값도 함께 포함하고 있으므로, 블록 체인의 각 블록들은 사슬처럼 서로 연결되어 이어져 나가게 된다.
상기 IP 리스트(11)는 상기 블록 체인을 갖는 모든 노드들에 대한 IP 주소 및 Port 번호를 저장한 것으로서, 모든 노드들이 구비한다.
상기 데이터 저장 모듈(12)은 데이터 또는 파일들이 생성되어 사전 설정된 폴더에 저장되는 메모리 영역으로서, 각 노드들은 데이터 저장 영역에 다른 노드들과 공유하고자 하는 데이터 또는 파일을 저장하기 위한 폴더를 사전 지정해 둔다. 본 발명에 따른 시스템에 의하여 모든 노드들이 상기 데이터 저장 모듈에 저장된 데이터들을 공유할 수 있는 파일 공유 플랫폼을 제공할 수 있게 된다.
상기 트랜잭션 전송 모듈(13)은 상기 데이터 저장 모듈(12)의 사전 설정된 폴더에 데이터 또는 파일이 저장되거나 삭제되면, 데이터 명칭을 설정하고, 상기 데이터 명칭을 포함하는 상기 데이터 또는 파일에 대한 정보, 소유주 정보 및 전자 서명을 포함하는 트랜잭션을 생성하고, 상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송한다. 본 명세서에서는, 설명의 편의상, 트랜잭션을 전송한 노드를 "트랜잭션 송신 노드"라고 표시한다.
상기 데이터 명칭은 아스키 코드(ASCII Code)의 형태로 변환되어 트랜잭션에 포함되고, 상기 IP 주소 및 Port 번호는 십진수의 형태로 변환되어 트랜잭션에 포함되는 것이 바람직하다.
상기 트랜잭션 전송 모듈은, 사전에 설정된 폴더내에 데이터 또는 파일이 저장되면, 데이터 또는 파일의 생성을 나타내는 제1 플래그를 데이터에 대한 정보의 일부로서 트랜잭션에 추가시키고, 사전에 설정된 폴더내의 데이터 또는 파일이 삭제되면, 데이터 삭제를 나타내는 제2 플래그를 데이터에 대한 정보의 일부로서 트랜잭션에 추가시키는 것이 바람직하다.
상기 블록 체인 실행 모듈(14)은 블록 체인을 갖는 다른 노드들로부터 트랜잭션을 수신하면, 수신된 트랜잭션에 대해 블록을 생성하여 블록 체인에 연결시켜 블록 체인을 확장시키게 된다. 본 명세서에서는, 설명의 편의상, 트랜잭션 송신 노드로부터 트랜잭션을 수신한 노드를 "트랜잭션 수신 노드"라고 표시한다. 이하, 상기 블록 체인 실행 모듈(14)의 동작을 보다 구체적으로 설명한다.
상기 블록 체인 실행 모듈은 다른 노드로부터 트랜잭션을 수신하면, 자신이 블록을 생성하기 위하여 필요한 블록 해쉬값을 만들기 위하여 proof-of-work 를 실행한다. 상기 proof of work 는 사전 설정된 해쉬 함수를 사용하여 랜덤한 논스값을 상기 수신된 트랜잭션과 연산하여 정해진 '0'의 개수를 충족시키는 16진수의 블록 해쉬값을 만드는 작업이다. 본 발명에 따른 시스템에서는 SHA 256 해쉬 함수를 사용하며, 그 외의 다른 해쉬 함수도 사용가능하다. 이와 같이 proof of work를 하는 이유는, 블록 체인에 참여한 노드들 중 어떠한 노드가 블록을 생성할지 모르게 만들기 위한 것으로서, 악의적 노드가 현재 블록을 생성할 노드를 판단하지 못하게 하여 악의적 노드의 공격(attack)을 방지하게 된다. 예컨대, 비트 코인의 블록 체인의 높이는 417453개이고, 이 블록 해쉬값의 '0'의 개수는 17개인데, 비트 코인은 '0'의 개수를 늘리면서 블록 생성 난이도를 조절하는데, 현재 가장 높은 CPU 또는 GPU 성능을 갖는 시스템을 기준으로 하여 10분에 1개의 블록을 생성하는 '0'의 개수를 취하는 식으로 블록 생성 난이도를 설정하고 있다.
상기 블록 체인 실행 모듈은, 상기 트랜잭션 수신 노드들 중 proof-of-work 를 가장 먼저 성공하면, 블록 해쉬값과 랜덤한 논스(Nonce) 값을 찾아내고, 이를 이용하여 블록을 생성하며, 블록 생성 사실과 상기 찾아낸 블록 해쉬값과 랜덤한 논스값을 전체 노드들에게 전송한다. 본 명세서에서는, 설명의 편의상, 트랜잭션 수신 노드들 중 proof-of-work를 가장 먼저 성공한 노드를 "proof of work 성공 노드"라고 표시한다.
상기 블록 체인 실행 모듈은, 상기 proof of work 성공 노드로부터 블록 해쉬값과 논스값을 수신하면, 유효 검정 알고리즘을 이용하여 트랜잭션과 상기 수신한 블록 해쉬값과 논스값에 대하여 유효성을 판단한 후, 유효성 검증이 완료되면 상기 수신한 블록 해쉬값과 논스값을 이용하여 추가의 블록을 생성하고 상기 블록 체인에 상기 추가의 블록을 연결시킨다.
상기 파일 검색 모듈(15)은 블록 체인(10)과 IP 리스트(11)를 이용하여 각 노드에 저장된 데이터와 소유주를 검색할 수 있도록 한다.
상기 파일 검색 모듈은, 검색하고자 하는 데이터 명칭이 입력되면, 블록 체인에 저장된 각 블록의 논스(nonce) 값을 판독하고, 상기 판독된 논스값, 상기 입력된 데이터 명칭 및 IP 리스트의 각 노드들에 대한 IP 주소와 Port 번호를 이용하여 블록 해쉬값을 생성하고, 상기 생성된 블록 해쉬값이 상기 논스값이 포함된 블록의 블록 해쉬값과 일치하는지를 판단한다. 만약, 상기 생성된 블록 해쉬와 일치하는 블록 해쉬값을 갖는 블록이 존재하면, 해당 IP 주소와 Port 번호를 갖는 노드가 소유주임을 결정하고, 해당 노드로 해당 데이터를 요청한다. 만약, 상기 생성된 블록 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하지 않으면, 해당 데이터는 없다고 결정하게 된다.
한편, 본 발명에 따른 시스템에 있어서, 상기 블록 체인 실행 모듈은, 블록 체인을 갖는 다른 노드들로부터 하나의 트랜잭션을 수신하면, 수신된 하나의 트랜잭션에 대해 하나의 블록을 생성하여 블록 체인에 연결시키는 것을 특징으로 한다.
이하, 전술한 구성을 갖는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템에 있어서, 각 노드에서의 파일 관리 및 검색 방법을 보다 구체적으로 설명한다.
도 4는 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드들에 의해 수행되는 블록 체인에 데이터 명칭 및 소유주 정보를 포함하는 블록을 연결시키는 과정을 순차적으로 도시한 흐름도이다. 도 4를 참조하여, 각 노드들에 의해 수행되는 블록 체인에 데이터 명칭 및 소유주 정보를 포함하는 블록을 연결시키는 과정을 구체적으로 설명한다.
각 노드들은 블록 체인 및 IP 리스트를 구비하며, 각 노드들은 데이터 저장 영역에 다른 노드들과 공유하고자 하는 데이터 또는 파일을 저장하기 위한 폴더를 사전 지정해 둔다.
먼저, 각 노드들은, 트랜잭션 전송 모듈에 의해, 상기 사전 설정된 폴더에 데이터 또는 파일을 생성하여 저장하거나 삭제하면, 상기 데이터 또는 파일에 대한 명칭을 설정하고, 상기 데이터 명칭, 상기 데이터에 대한 소유주인 데이터가 저장된 노드의 IP 주소와 Port 번호, 전자 서명을 포함하는 트랜잭션을 생성하고, 생성된 트랜잭션을 다른 노드들에게 전체적으로 전송한다(단계 400). 이때, 상기 트랜잭션은 데이터의 생성을 제1 플래그 및 데이터의 삭제를 나타내는 제2 플래그 중 하나를 더 구비하여, 향후 검색시에 해당 데이터가 생성 또는 삭제되었음을 판단할 수 있도록 하는 것이 바람직하다.
한편, 다른 노드들은 트랜잭션 송신 노드로부터 트랜잭션을 수신하게 된다(단계 410).
상기 트랜잭션 수신 노드들은, 블록 체인 실행 모듈을 통해, 상기 수신된 트랜잭션에 대하여 자신이 블록을 생성하기 위하여 필요한 블록 해쉬값을 만들기 위하여 proof-of-work 를 실행한다(단계 420).
상기 트랜잭션 수신 노드들 중 proof-of-work 를 가장 먼저 성공한 노드는, 블록 체인 실행 모듈을 통해, 블록 해쉬값과 랜덤한 논스(Nonce) 값을 찾아내고, 이를 이용하여 블록을 생성하며, 블록 생성 사실과 상기 찾아낸 블록 해쉬값과 랜덤한 논스값을 전체 노드들에게 전송한다(단계 430).
상기 proof of work 성공 노드로부터 블록 해쉬값과 논스값을 수신한 다른 노드들은 유효 검정 알고리즘을 이용하여 트랜잭션과 상기 수신한 블록 해쉬값과 논스값에 대하여 유효성을 판단한 후(단계 440), 유효성 검증이 완료되면 상기 수신한 블록 해쉬값과 논스값을 이용하여 추가의 블록을 생성하고 상기 블록 체인에 상기 추가의 블록을 연결시킨다(단계 450).
도 5는 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드의 트랜잭션 전송 모듈이 트랜잭션을 생성하는 과정을 설명하기 위하여 도시한 구성도이다.
도 5를 참조하면, 소유주는 사전 지정된 폴더내에 데이터 또는 파일을 생성하고, 데이터 명칭을 a1.txt 라 명명한다. 블록 체인에 처음 참여하는 노드는 블록 체인 실행 프로그램과 같은 디렉토리에 임의의 폴더를 생성하여 해당 폴더에 블록 체인의 블록들을 저장하게 된다. 한편, 각 노드는 Python의 Watchdog API를 사용하여 사용자 지정 폴더의 모든 파일의 생성, 삭제 및 수정을 감시하여 파일이 생성되었을 때만 Python 프로그램을 진행하는 것이 바람직하다. 이때, 트랜잭션에 사전 설정된 플래그를 포함시킴으로써, 해당 명칭의 데이터 또는 파일의 현재 상태를 알려주는 것이 바람직하다. 예컨대, 데이터 또는 파일의 생성시에는 제1 플래그를 트랜잭션에 포함시키고 데이터 또는 파일의 삭제시에는 제2 플래그를 트랜잭션에 포함시킴으로써, 해당 명칭의 데이터를 필요로 하는 노드가 검색할 때에 데이터의 존재 여부를 확인할 수 있도록 하게 된다. 한편, 생성 및 삭제된 데이터 명칭은 문자를 숫자로 표현가능한 아스키(ASCII) 코드를 이용하여 단순 나열을 통한 데이터 명칭을 표현하고 IP 주소는 이진수로 변환시킨 후 십진수로 변환시키는 것이 바람직하다. 이러한 과정을 통해 추출된 데이터 명칭, 소유주의 IP 주소와 Port 번호와 전자 서명(Signature)과 함께 트랜잭션을 생성하게 된다.
도 6은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, (a)는 데이터 또는 파일을 생성한 데이터 소유주인 트랜잭션 송신 노드가 트랜잭션 송신 결과를 출력한 것이며, (b) 트랜잭션 수신 노드의 트랜잭션 수신 결과를 출력한 것이다.
도 6의 (a)를 참조하면, 블록 체인에 참여하는 노드들은 모든 노드들에 대한 IP 리스트를 구비하고 있으며, IP 리스트에는 블록 체인 참여 노드들의 IP 주소, Port 번호가 저장되어 있다. 데이터 생성후 트랜잭션을 생성한 노드는 IP 리스트에 저장된 IP 주소와 Port 번호를 이용하여 모든 노드들에게 트랜잭션을 전송하며, 이때 전송방식은 TCP Socket 통신을 사용한다. 도 6의 (b)를 참조하면, 트랜잭션을 생성한 노드가 아닌 나머지 노드들이 트랜잭션을 수신한 결과로서, 트랜잭션을 성공적으로 수신한 것을 확인할 수 있다. 종래의 비트코인에서 사용되는 블록 체인은 트랜잭션 내부에 송신 주소, 수신 주소, 거래량 등의 많은 정보가 필요하지만, 본 발명에 따른 블록 체인은 모든 노드들이 공유한 데이터의 위치를 확인할 수 있도록 하기 위하여 트랜잭션에 데이터 명칭과 소유주 정보만을 전송함으로써, 송수신되는 패킷의 크기를 줄여 링크의 bandwidth를 최소화시킬 수 있게 된다.
도 7은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 전자 서명에 대한 암호화 및 복호화 알고리즘을 설명하기 위하여 도시한 개념도이며, 도 8은 전자 서명 및 공개키(public key)를 포함한 트랜잭션을 도시한 것이다.
도 7을 참조하면, 본 발명에 따른 시스템에 있어서, 데이터 소유주인 트랜잭션 송신 노드는 트랜잭션을 송신할 때 private key를 이용하여 전자서명을 생성하고 전자서명을 트랜잭션에 포함시켜 송신하며, 트랜잭션 수신 노드는 public key를 이용하여 수신된 트랜잭션의 전자서명을 복호화하여 트랜잭션을 송신한 소유주 IP 및 port와 트랜잭션에 포함된 IP address 및 port number가 일치하는지 확인하게 된다.
본 발명에 따른 시스템은, private key와 public key를 이용하여 전자 서명(signature)를 생성하게 되는데, 전자서명 시 사용한 암호 이론은 ECDSA이며, 트랜잭션 송신 노드의 IP address와 TCP socket 통신에 사용할 소유주의 port number를 나열하여 자신의 private key와 암호화함으로써, 전자서명을 생성하게 된다. 해당 전자서명은 트랜잭션에 첨부되고 ECDSA로 생성한 public key를 동봉하여 다른 노드에 전송한다. 트랜잭션 수신 노드는 동봉된 public key를 이용해 복호화시켜 출력된 결과가 True 혹은 False인지를 확인하여 해당 트랜잭션이 유효함을 검증하게 된다. 전자서명의 확인으로 spoofing을 방지하여 임의의 악의적 노드가 잘못된 트랜잭션을 전송하여 블록에 포함시키는 것을 방지한다.
도 8을 참조하면, 트랜잭션 송신 노드가 전송한 전자 서명 및 공개키(public key)를 포함한 트랜잭션은 데이터 생성 소유주 및 데이터 명칭, IP address, port number, public key, 전자서명의 5가지 정보를 포함한다.
이하, 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 트랜잭션 수신 노드가 공개키를 이용하여 복호화한 트랜잭션 유효 검증 결과에 대하여 설명한다. 본 발명에 따른 시스템에 있어서, 트랜잭션 수신 노드는 트랜잭션 송신 노드의 public key를 이용해, 전자서명을 복호화하고, 만약 트랜잭션 유효 검증을 위한 복호화의 결과가 true임을 확인하면 유효성 검증 이후 블록생성단계를 진행하고, 만약 복호화의 결과가 false일 경우 해당 트랜잭션을 버리게 된다.
도 9는 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 트랜잭션 수신 노드가 proof of work를 통해 블록 해쉬값을 생성하고 전송하는 과정을 도시한 개념도이다.
도 9를 참조하면, 실제 비트코인 블록체인 블록 hash의 0의 개수는 17개가 필요한 난이도로 설정되어 있으며 그에 맞게 난이도를 설정한다. 기존의 블록체인과 달리 여러 트랜잭션을 포함한 블록이 아닌 하나의 트랜잭션만 포함하는데, 즉 하나의 블록에 하나의 데이터 명칭, 소유주 정보가 입력된다. 이 정보만 이용하여 블록 hash로 만들어 추후에 데이터 검색 시 블록 hash 분석을 통해 데이터 명칭과 소유주 정보를 확인 가능하게 한다. Hash 알고리즘을 적용하기 위해 트랜잭션으로 수신한 IP, port, 데이터 명칭을 나열하고, 랜덤하게 nonce값을 생성해서 SHA256 hash 알고리즘을 사용해 블록 hash를 생성한다(1). 설정한 기준 값인 0이 17개보다 많은 0을 가진 hash값을 찾기까지 nonce를 계속 변화시켜가고, 조건에 타당한 hash를 찾을 시 블록 hash로 받아들인다. 임의의 노드가 생성한 블록 hash값과 nonce값을 블록체인에 참여한 모든 노드들에게 전송하며(2) 수신한 노드는 자신이 받은 블록 hash값과 nonce값을 분석하여 유효성 검증을 진행한다(3). 블록 유효 검증을 실시하여 hash 알고리즘 결과와 수신한 블록 hash가 일치하는 것을 확인 가능하다. 각 노드들은 블록 생성 위한 트랜잭션 정보를 모두 가지고 있으므로, 트랜잭션 정보인 IP 주소, port 번호, 데이터 명칭을 나열하고 수신한 nonce값을 이용해 SHA256 해쉬 알고리즘을 진행하여 출력된 hash 값이 수신한 블록 hash값과 일치했을 때 트랜잭션의 내용이 변하지 않았다는 사실을 노드가 인지하여, 악의적 노드의 블록 생성을 차단할 수 있다. 블록 유효성 검증이 완료된 블록은 해당 내용들이 Json 파일 형태로 저장된 후(4), 블록 체인에 연결된다(5).
도 10은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드들에 의해 새롭게 생성된 블록이 Json 파일 형태로 저장된 것을 도시하는 도면이다.
도 10을 참조하면, 블록은 Json 파일 형태로 저장되며, 타임 스탬프('time', 현재 블록의 해쉬값('hash'), 논스값(nonce'), 이전 블록의 해쉬값('prev hash')을 포함하게 된다.
도 11은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, 각 노드의 파일 검색 모듈의 동작을 도시한 흐름도이며, 도 12는 각 노드들의 파일 검색 모듈을 이용하여 블록체인에 저장된 데이터 명칭 검색 후 소유주를 확인하는 과정을 도시한 개념도이다.
도 12는 블록체인에 참여한 사용자가 필요한 데이터를 요청받기 위해 데이터 명칭을 검색하고 해당 데이터를 가진 소유주를 찾는 과정이다. 도 11 및 도 12를 참조하면, 먼저 사용자가 데이터 명칭(a)을 텍스트로 입력하면(단계 900), ASCII code로 변환 후 IP 리스트(11)에 있는 각 노드들의 IP 주소와 port 번호의 정보와 함께 나열한다(단계 910). Json 파일 형태로 저장된 블록체인(10)을 읽어 해당 블록의 nonce 값을 판독하고(단계 920), 상기 판독된 nonce 값과 앞서 나열한 정보들과 함께 SHA256 hash 알고리즘을 적용시켜 해쉬값을 구하며(단계 930), 이렇게 구한 해쉬값이 Json 파일의 블록 hash값과 일치하는지를 확인한다(단계 940). Json 블록 하나를 열어 IP 리스트의 모든 노드들의 IP 주소와 port 번호를 이용해 nonce값과 함께 hash값을 찾아내고 일치하는 hash값이 존재하지 않는다면 다음 블록을 열어 같은 방식으로 반복하여 진행한다. 블록의 hash값과 일치하는 hash 값을 찾아내면, 해당 IP 주소와 port 번호를 가진 노드가 검색한 데이터의 소유주임을 확인 가능하다(단계 950). 만약 검색한 데이터 명칭이 블록체인에 존재하지 않을 경우 "not found"를 return한다(단계 960).
도 13은 본 발명의 바람직한 실시예에 따른 파일 관리 및 검색 시스템에 있어서, (a)는 블록 체인의 블록 Json 파일을 열어 IP 리스트의 정보와 비교하는 것을 도시하는 도면이고, (b)는 검색한 데이터 명칭을 블록체인 내에서 찾아낸 결과를 도시하는 도면이다.
도 13의 (a)를 참조하면, 블록 체인을 구성하는 각 블록에 대한 Jason 파일을 열어 논스(nonce) 값을 판독하고, IP 리스트를 구성하는 각 노드들에 대한 IP 주소와 Port 번호를 판독하고, 사용자로부터 입력된 데이터 명칭과 상기 판독된 각 노드에 대한 IP 주소와 Port 번호, 그리고 각 블록에 대한 논스 값을 이용하여 해쉬값을 구한다. 이렇게 구한 해쉬값이 상기 논스 값이 포함된 블록의 해쉬값과 일치하는 경우, 해당 노드가 데이터의 소유주로 확인된다.
이와 같이, 본 발명에 따른 파일 관리 및 검색 시스템은, 데이터 명칭을 블록체인의 hash를 검색하여 소유주(File owner)의 IP address 및 port 정보를 찾아냄으로서 공유 가능한 파일의 리스트를 확인 가능한 플랫폼을 구현할 수 있고, 블록체인 상에서 데이터의 소유주 정보를 확인했을 시, 검색한 노드는 소유주 노드에 해당 데이터를 요청하게 되고, 소유주 노드의 confirm 후 파일을 TCP socket 통신을 통해 전송함으로서 파일 공유 시스템 또한 구현 가능하다.
한편, 본 발명에 따른 파일 관리 및 검색 시스템은 블록체인을 통한 데이터 명칭과 소유주의 정보만 저장하여 블록체인 검색을 통해 필요한 데이터를 공유 요청하는 형식이기 때문에 기존의 클라우드 방식에서 공유하기 위한 파일 전체를 저장하여 많은 저장 용량 소모의 문제를 해결할 수 있으며, 블록체인에 속한 블록의 정보를 블록의 높이, 블록의 개수, 트랜잭션 정보 등을 제외시키고 데이터 검색에 필요한 블록 hash 및 nonce 등의 정보만 저장하므로 블록체인 자체가 가지는 저장 용량 과다 소모 문제 또한 해결 가능하다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 따른 시스템 및 방법은 파일 공유 시스템에 널리 사용될 수 있다.

Claims (15)

  1. 블록 체인(Block chain)을 활용하여 다수의 노드들에 저장된 데이터 또는 파일을 관리 및 검색할 수 있도록 하는 파일 관리 및 검색 시스템에 있어서,
    각 노드들은,
    적어도 블록 해쉬(block hash)값 및 논스(Nonce) 값을 포함하는 블록들이 연결되어 구성된 블록 체인;
    상기 블록 체인을 갖는 모든 노드들에 대한 IP 주소 및 Port 번호를 저장한 IP 리스트;
    사전에 설정된 폴더에 데이터 또는 파일이 저장되거나 삭제되면, 상기 데이터에 대한 정보 및 소유주 정보를 포함하는 트랜잭션을 생성하고, 상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 트랜잭션 전송 모듈; 및
    블록 체인을 갖는 다른 노드로부터 트랜잭션을 수신하면, 수신된 트랜잭션에 대해 가장 먼저 블록을 생성하면 블록 해쉬값과 논스값을 다른 노드들에게 송신하며, 다른 노드로부터 블록 해쉬값과 논스값을 수신하면 수신된 정보를 이용하여 블록을 생성하여 블록 체인에 연결시키는 블록 체인 실행 모듈; 을 구비하고,
    상기 블록 체인의 각 블록은 다수의 노드들에 저장된 데이터 또는 파일에 대하여 각각 생성된 것으로서, 각 블록의 블록 해쉬값은 데이터에 대한 정보, 데이터의 소유주 정보와 논스값에 대하여 사전 설정된 해쉬 알고리즘을 적용하여 생성한 해쉬값인 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  2. 제1항에 있어서, 상기 트랜잭션의 데이터에 대한 정보는 데이터 명칭을 포함하며,
    상기 트랜잭션의 데이터의 소유주 정보는 해당 데이터가 저장된 노드의 IP 주소와 Port 번호를 포함하는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  3. 제1항에 있어서, 상기 트랜잭션 전송 모듈은
    사전에 설정된 폴더내에 데이터 또는 파일이 저장되거나 삭제되면, 데이터 명칭을 설정하고,
    상기 설정된 데이터 명칭 및 해당 노드의 IP 주소와 Port 번호를 포함하는 트랜잭션을 생성하고,
    상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  4. 제3항에 있어서, 상기 데이터 명칭은 아스키 코드(ASCII Code)의 형태로 변환되어 트랜잭션에 포함되고,
    상기 IP 주소 및 Port 번호는 십진수의 형태로 변환되어 트랜잭션에 포함되는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  5. 제3항에 있어서, 상기 트랜잭션 전송 모듈은,
    사전에 설정된 폴더내에 데이터 또는 파일이 저장되면, 데이터 생성을 나타내는 제1 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키고,
    사전에 설정된 폴더내의 데이터 또는 파일이 삭제되면, 데이터 삭제를 나타내는 제2 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  6. 제1항에 있어서, 블록 체인 실행 모듈은
    다른 노드로부터 트랜잭션을 수신하면, 수신된 트랜잭션의 정보들에 대하여 proof of work를 실행하여 블록 해쉬값과 논스(Nonce)값을 생성하고, 생성된 블록 해쉬값과 논스값을 다른 노드들로 전송하며,
    다른 노드로부터 블록 해쉬값과 논스값을 수신하면, 수신된 블록 해쉬값과 논스값을 이용하여 상기 수신된 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하고,
    상기 생성된 블록을 블록 체인에 연결시키는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  7. 제1항에 있어서, 상기 파일 관리 및 검색 시스템은 블록 체인을 이용하여 각 노드에 저장된 데이터와 소유주를 검색하는 파일 검색 모듈을 더 구비하고,
    상기 파일 검색 모듈은,
    검색하고자 하는 데이터 명칭이 입력되면,
    블록 체인에 저장된 각 블록의 논스(nonce) 값을 판독하고, 상기 판독된 논스값, 상기 입력된 데이터 명칭 및 IP 리스트의 각 노드들에 대한 IP 주소와 Port 번호를 이용하여 해쉬값을 생성하고, 상기 생성된 해쉬값이 상기 논스값이 포함된 블록의 블록 해쉬값과 일치하는지를 판단하고,
    상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하면, 해당 IP 주소와 Port 번호를 갖는 노드가 소유주임을 결정하고,
    상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하지 않으면, 해당 데이터가 없음을 결정하는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  8. 제1항에 있어서, 상기 블록 체인 실행 모듈은,
    블록 체인을 갖는 다른 노드들로부터 하나의 트랜잭션을 수신하면, 수신된 하나의 트랜잭션에 대해 하나의 블록을 생성하여 블록 체인에 연결시키는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 시스템.
  9. 블록 체인(Block chain)을 활용하여 다수의 노드들에 저장된 데이터를 관리 및 검색할 수 있도록 하기 위한 각 노드들에서의 파일 관리 및 검색 방법에 있어서,
    (a) 적어도 블록의 해쉬(block hash)값 및 논스(Nonce) 값을 포함하는 블록들로 이루어진 블록 체인을 저장하는 단계;
    (b) 상기 블록 체인을 갖는 모든 노드들에 대한 IP 주소 및 Port 번호를 저장한 IP 리스트를 구비하는 단계;
    (c) 사전에 설정된 폴더에 데이터 또는 파일이 저장되거나 삭제되면, 상기 데이터에 대한 정보 및 소유주 정보를 포함하는 트랜잭션을 생성하고, 상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 단계; 및
    (d) 블록 체인을 갖는 다른 노드들로부터 트랜잭션을 수신하면, 수신된 트랜잭션에 대한 블록을 생성하여 블록 체인에 연결시키는 단계; 을 구비하고,
    상기 블록 체인의 각 블록은 다수의 노드들에 저장된 데이터 파일에 대하여 각각 생성된 것으로서, 각 블록의 블록 해쉬값은 데이터에 대한 정보, 데이터의 소유주 정보와 논스값에 대하여 사전 설정된 해쉬 알고리즘을 적용하여 생성한 해쉬값인 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 방법.
  10. 제9항에 있어서, 상기 트랜잭션의 데이터에 대한 정보는 데이터 명칭을 포함하며,
    상기 트랜잭션의 데이터의 소유주 정보는 해당 데이터가 저장된 노드의 IP 주소와 Port 번호를 포함하는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 방법.
  11. 제9항에 있어서, 상기 (c) 단계는,
    사전에 설정된 폴더내에 데이터 또는 파일이 저장되거나 삭제되면, 데이터 명칭을 설정하고,
    상기 설정된 데이터 명칭 및 해당 노드의 IP 주소와 Port 번호, 전자 서명을 포함하는 트랜잭션을 생성하고,
    상기 생성된 트랜잭션을 블록 체인을 갖는 다른 노드들로 전송하는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 방법.
  12. 제11항에 있어서, 상기 데이터 명칭은 아스키 코드(ASCII Code)의 형태로 변환되어 트랜잭션에 포함되고,
    상기 IP 주소 및 Port 번호는 십진수의 형태로 변환되어 트랜잭션에 포함되는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 방법.
  13. 제9항에 있어서, 상기 (c) 단계는,
    사전에 설정된 폴더내에 데이터 또는 파일이 저장되면, 데이터 생성을 나타내는 제1 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키고,
    사전에 설정된 폴더내의 데이터 또는 파일이 삭제되면, 데이터 삭제를 나타내는 제2 플래그를 데이터에 대한 정보에 포함시켜 트랜잭션에 추가시키는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 방법.
  14. 제9항에 있어서, 상기 (d) 단계는,
    다른 노드로부터 트랜잭션을 수신하면, 수신된 트랜잭션의 정보들에 대하여 proof of work 를 수행하여 모든 노드들 중 가장 먼저 블록 해쉬값과 논스(Nonce)값을 생성하면, 이를 이용하여 블록을 생성하며, 상기 생성된 블록 해쉬값과 논스값을 다른 노드들로 전송하며,
    다른 노드로부터 블록 해쉬값과 논스값을 수신하면, 수신된 블록 해쉬값과 논스값을 이용하여 상기 수신된 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하고,
    상기 생성된 블록을 블록 체인에 연결시키는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 방법.
  15. 제9항에 있어서, 상기 파일 관리 및 검색 방법은 (e) 외부로부터 요청된 데이터 명칭을 검색하여 제공하는 파일 검색 단계를 더 구비하고,
    상기 (e) 파일 검색 단계는,
    검색하고자 하는 데이터 명칭이 입력되면,
    블록 체인에 저장된 각 블록의 논스(nonce) 값을 판독하고, 상기 판독된 논스값, 상기 입력된 데이터 명칭 및 IP 리스트의 각 노드들에 대한 IP 주소와 Port 번호를 이용하여 해쉬값을 생성하고, 상기 생성된 해쉬값이 상기 논스값이 포함된 블록의 블록 해쉬값과 일치하는지를 판단하고,
    상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하면, 해당 IP 주소와 Port 번호를 갖는 노드가 소유주임을 결정하고,
    상기 생성된 해쉬값과 일치하는 블록 해쉬값을 갖는 블록이 존재하지 않으면, 해당 데이터가 없음을 결정하는 것을 특징으로 하는 블록 체인을 기반으로 한 파일 관리 및 검색 방법.
PCT/KR2017/004672 2016-08-31 2017-05-02 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 WO2018043865A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/310,654 US10747721B2 (en) 2016-08-31 2017-05-02 File management/search system and file management/search method based on block chain

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160111914A KR101781583B1 (ko) 2016-08-31 2016-08-31 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
KR10-2016-0111914 2016-08-31

Publications (2)

Publication Number Publication Date
WO2018043865A2 true WO2018043865A2 (ko) 2018-03-08
WO2018043865A3 WO2018043865A3 (ko) 2018-08-09

Family

ID=60036531

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/004672 WO2018043865A2 (ko) 2016-08-31 2017-05-02 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법

Country Status (3)

Country Link
US (1) US10747721B2 (ko)
KR (1) KR101781583B1 (ko)
WO (1) WO2018043865A2 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108711089A (zh) * 2018-05-15 2018-10-26 成都市微泊科技有限公司 一种基于区块链的跨平台车位共享交易方法
CN108846753A (zh) * 2018-06-06 2018-11-20 北京京东尚科信息技术有限公司 用于处理数据的方法和装置
CN108985759A (zh) * 2018-06-15 2018-12-11 杭州复杂美科技有限公司 一种加密货币的地址生成方法及系统、设备和存储介质
CN109086388A (zh) * 2018-07-26 2018-12-25 百度在线网络技术(北京)有限公司 区块链数据存储方法、装置、设备及介质
CN109087105A (zh) * 2018-08-31 2018-12-25 深圳付贝科技有限公司 用于挖矿的哈希搜索方法、挖矿机及区块链系统
CN109087111A (zh) * 2018-08-31 2018-12-25 深圳付贝科技有限公司 基于区块链的共识验证方法、挖矿机及区块链系统
CN109150861A (zh) * 2018-04-25 2019-01-04 泰山·约克·维纳斯基 区块链网络通信系统
CN109213730A (zh) * 2018-09-14 2019-01-15 莆田市烛火信息技术有限公司 一种关联区块链主链的文件存储服务地址变更方法及系统
CN109587237A (zh) * 2018-12-03 2019-04-05 爱立信(中国)通信有限公司 记录并提供数据的方法,网络节点及网络
CN109635036A (zh) * 2018-11-16 2019-04-16 播金信息科技(上海)有限公司 一种区块链构建模型及构建方法
WO2020082614A1 (zh) * 2018-10-25 2020-04-30 深圳壹账通智能科技有限公司 区块链信息的共享方法、装置及计算机设备
WO2020233624A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合交易类型和事件函数类型的收据存储方法和节点
US11481765B2 (en) 2018-10-25 2022-10-25 Advanced New Technologies Co., Ltd. Blockchain-based transaction processing method and apparatus and electronic device

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3189414A4 (en) 2014-08-22 2018-04-18 Priv8Pay, Inc. Verification system for secure transmission in a distributed processing network
CN105653617B (zh) * 2015-12-22 2019-02-26 广州视源电子科技股份有限公司 多媒体文件管理器快速显示文件的方法及系统
EP3405862B1 (en) * 2016-01-19 2020-11-18 Priv8Pay, Inc. Network node authentication
BR112018071743A2 (pt) 2016-04-29 2019-02-19 Nchain Holdings Ltd método de controle e sistema implementados por computador e sistema de controle incorporando um cálculo ou operação booleana
US20190149337A1 (en) * 2016-04-29 2019-05-16 nChain Holdings Limited Implementing logic gate functionality using a blockchain
CN113766035B (zh) * 2017-03-28 2023-05-23 创新先进技术有限公司 一种业务受理及共识的方法及装置
EP3665857B1 (en) * 2017-08-07 2022-02-23 Visa International Service Association Blockchain architecture with record security
KR102331947B1 (ko) * 2017-09-28 2021-11-25 주식회사 케이티 블록체인에서 데이터 관리 시스템 및 방법
US10790982B2 (en) * 2017-10-27 2020-09-29 Secureworks Corp. Systems and methods for block chain authentication
KR101953090B1 (ko) * 2017-11-01 2019-03-04 (주)알티캐스트 블록체인기술을 이용한 컨텐츠 유통 관리 시스템 및 방법
KR101941785B1 (ko) * 2017-11-01 2019-01-28 주식회사 알티캐스트 블록체인기술을 이용한 컨텐츠 유통 관리 시스템 및 방법
KR101941786B1 (ko) * 2017-11-01 2019-01-28 주식회사 알티캐스트 블록체인기술을 이용한 컨텐츠 유통 관리 시스템 및 방법
US11075744B2 (en) * 2017-11-20 2021-07-27 Acronis International Gmbh Blockchain-based media content authentication methods and systems
KR102062535B1 (ko) * 2017-11-22 2020-01-06 엔에이치엔 주식회사 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치
KR101915718B1 (ko) * 2017-12-07 2018-11-06 에이엠텔레콤주식회사 Ps-lte 단말장치 및 ps-lte 통신망의 보안 방법 및 그 시스템
KR102034449B1 (ko) * 2017-12-12 2019-10-21 주식회사 디지캡 콘텐츠 블록체인에서의 콘텐츠 암호키 관리 및 배포 방법
KR102232641B1 (ko) * 2017-12-13 2021-03-26 서강대학교산학협력단 블록체인 기반 IoT 환경에서의 다중 검색을 지원하는 데이터 구조체를 이용한 검색 방법 및 그 방법에 따른 장치
KR101998986B1 (ko) * 2017-12-13 2019-07-10 건국대학교 산학협력단 블록체인을 이용한 랜섬웨어 방지 방법 및 장치
WO2019117651A1 (ko) * 2017-12-13 2019-06-20 서강대학교 산학협력단 블록체인 기반 IoT 환경에서의 다중 검색을 지원하는 데이터 구조체를 이용한 검색 방법 및 그 방법에 따른 장치
CN108228744B (zh) * 2017-12-19 2020-12-11 深圳市轱辘车联数据技术有限公司 一种车辆诊断数据的管理方法及装置
KR102067882B1 (ko) 2017-12-29 2020-02-11 부경대학교 산학협력단 블록체인 기반 데이터 접근 제어 시스템 및 방법
US10715323B2 (en) 2017-12-29 2020-07-14 Ebay Inc. Traceable key block-chain ledger
US11544708B2 (en) 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
US11249982B2 (en) * 2018-01-19 2022-02-15 Acronis International Gmbh Blockchain-based verification of machine learning
US11088826B2 (en) * 2018-02-27 2021-08-10 International Business Machines Corporation Managing assets with expiration on a blockchain
KR102107438B1 (ko) * 2018-03-07 2020-06-02 주식회사 한글과컴퓨터 블록체인을 이용한 전자 문서 관리 장치 및 이의 동작 방법
CN108509809A (zh) * 2018-04-02 2018-09-07 重庆强阳科技有限公司 一种基于平面坐标系的虚拟地块的区块链数据管理方法
CN108647960B (zh) * 2018-04-09 2020-05-19 中链云创(广州)科技有限公司 一种基于区块链技术的捐助资金管理方法及系统
CN108550037B (zh) * 2018-04-11 2022-05-17 北京知金链网络技术有限公司 基于区块链的文件处理方法和装置
KR102089853B1 (ko) * 2018-04-16 2020-04-23 주식회사 스마트엠투엠 이종 네트워크 간 데이터 동기화를 위한 블록체인 시스템 및 이의 제어 방법
KR102044396B1 (ko) * 2018-05-25 2019-11-13 서강대학교산학협력단 블록체인을 기반으로 한 국가 재난 관리 시스템 및 방법
KR102085141B1 (ko) * 2018-06-19 2020-03-05 한전케이디엔주식회사 블록체인 기반 전력거래용 hems 시스템
KR102209178B1 (ko) * 2018-07-17 2021-01-29 이윤경 유전체 및 유전체 정보의 보존 및 활용을 위한 방법
CN109255252B (zh) * 2018-07-19 2022-04-01 广州柿子信息技术有限公司 一种基于区块链的人员管理方法及系统
KR102041720B1 (ko) * 2018-07-20 2019-11-06 숭실대학교산학협력단 플렉서블 블록체인 프레임워크 구현 시스템 및 p2p 네트워크 설계 방법, 상기 방법을 수행하기 위한 기록 매체
JP7073977B2 (ja) * 2018-08-09 2022-05-24 日本電信電話株式会社 伝言情報管理システム、伝言情報管理方法、伝言情報管理装置および伝言情報管理プログラム
KR102273549B1 (ko) * 2018-08-23 2021-07-06 주식회사 퀀텀게이트 블록체인 기반의 교통안전 제공 시스템 및 방법
US11223481B2 (en) 2018-08-29 2022-01-11 J2 Cloud Services, Llc Electronic document signing using blockchain
US11442926B2 (en) 2018-09-05 2022-09-13 Nhn Corporation Method and system for storing driving record data based on block chain
KR102113873B1 (ko) * 2018-09-05 2020-05-21 엔에이치엔 주식회사 블록체인 네트워크를 통해 자율주행 관련 주행기록 정보를 관리하는 방법 및 이를 실행하는 시스템
KR102144404B1 (ko) * 2018-09-05 2020-08-12 엔에이치엔 주식회사 블록체인 기반 주행기록 데이터 저장방법 및 이를 실행하는 시스템
CN109299336B (zh) * 2018-09-30 2022-07-01 腾讯科技(深圳)有限公司 数据备份方法、装置、存储介质及计算设备
KR102132391B1 (ko) * 2018-10-05 2020-07-09 서강대학교 산학협력단 블록체인 네트워크에서의 데이터 저장 용량 확장 방법
US11301452B2 (en) 2018-10-09 2022-04-12 Ebay, Inc. Storing and verification of derivative work data on blockchain with original work data
CN111899103B (zh) 2018-10-25 2024-05-03 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
KR102128858B1 (ko) 2018-10-26 2020-07-01 유제승 블록체인 기반의 도서 공유경제 플랫폼 구축 시스템 및 방법
CN109635163A (zh) * 2018-10-31 2019-04-16 优信数享(北京)信息技术有限公司 一种基于区块链的物品数据管理方法及系统
US11637691B2 (en) * 2018-11-06 2023-04-25 International Business Machines Corporation Management of a size of a ledger
US10824345B2 (en) * 2018-11-29 2020-11-03 Intuit Inc. Systems and methods for storing object state on hash chains
CN111324645B (zh) * 2018-12-14 2023-05-30 北京沃东天骏信息技术有限公司 区块链的数据处理方法及装置
US11249953B2 (en) * 2019-01-30 2022-02-15 Penta Security Systems Inc. Method and apparatus for sharing big data using block chain
KR102254207B1 (ko) * 2019-02-18 2021-05-20 넷마블 주식회사 블록체인 상에서의 게임 데이터 관리 방법
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
KR102228210B1 (ko) * 2019-04-29 2021-03-16 에이치엔핀코어 주식회사 블록체인 네트워크에서의 트랜잭션의 삭제를 가능하게 하는 노드 장치 및 그 동작 방법
KR102081777B1 (ko) * 2019-05-15 2020-02-27 (주)아이엠시티 블록체인을 이용한 교통위반 과태료 관리방법
KR102295263B1 (ko) * 2019-06-13 2021-08-30 주식회사 한컴위드 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법
CN110225043B (zh) * 2019-06-17 2021-04-02 北京瑞策科技有限公司 应用于区块链的打包方法及装置
KR102230764B1 (ko) * 2019-07-01 2021-03-19 건국대학교 산학협력단 블록체인 기반 파일 수정 증거 저장 방법 및 이를 이용하는 장치
US11251963B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US11057189B2 (en) * 2019-07-31 2021-07-06 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11252166B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
KR102086966B1 (ko) * 2019-09-06 2020-03-09 주식회사 퀀텀게이트 블록체인 기반의 운행기록 분석과 안전운전 판단을 실행하는 dtg 단말기 및 방법
KR102196478B1 (ko) * 2019-10-04 2020-12-30 주식회사 레인보우브레인 블록체인 기반 인공 지능 로봇 자동화 소프트웨어 실행 결과물의 신뢰성 검증 서비스 제공 방법 및 시스템
KR102065315B1 (ko) * 2019-10-04 2020-01-13 주식회사 도우테크 블록체인 기반 파일 보관 및 공유 시스템 및 방법
US11381589B2 (en) 2019-10-11 2022-07-05 Secureworks Corp. Systems and methods for distributed extended common vulnerabilities and exposures data management
TWI723622B (zh) * 2019-11-08 2021-04-01 許毓展 能夠安全地存取及刪除資料的資料管理方法及系統
JP6671617B1 (ja) * 2019-12-11 2020-03-25 株式会社ブルーキャッスル ブロックチェーン技術と分散ストレージ技術とにより実現した分散型ストレージプラットフォームおよびアプリケーションプログラム
US11068443B2 (en) * 2019-12-13 2021-07-20 Raynor DONGIEUX Information deletion assurance system using distributed ledger
KR102304138B1 (ko) 2019-12-18 2021-09-17 충남대학교산학협력단 웹 사이트 이용 기록 관리 시스템
US11310051B2 (en) 2020-01-15 2022-04-19 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
KR20210129465A (ko) * 2020-04-20 2021-10-28 (주)사이버라인 연구노트 관리 장치 및 이를 이용한 연구노트 검색 방법
KR102443302B1 (ko) * 2020-11-02 2022-09-15 계명대학교 산학협력단 블록 체인 기반 서버리스 서비스 개발 장치 및 방법
US11665148B2 (en) * 2021-03-22 2023-05-30 Cisco Technology, Inc. Systems and methods for addressing cryptoprocessor hardware scaling limitations
US20220374884A1 (en) * 2021-05-24 2022-11-24 Radian Group Inc. Blockchain Secured Transaction Workflows
US20220029814A1 (en) * 2021-06-02 2022-01-27 Fujitsu Limited Non-transitory computer-readable storage medium, information processing method, and information processing apparatus
CN113901144B (zh) * 2021-10-15 2024-02-06 北京智融云河科技有限公司 非全网共识区块链下的查询方法、设备及存储介质
CN114374515B (zh) * 2021-12-01 2023-09-12 深圳市银之杰科技股份有限公司 智能多方联合调度方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015175722A1 (en) * 2014-05-13 2015-11-19 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain proof-of-work, systems and methods
US9836908B2 (en) * 2014-07-25 2017-12-05 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
JP6648555B2 (ja) * 2016-02-29 2020-02-14 富士ゼロックス株式会社 情報処理装置及びプログラム
US11144911B2 (en) * 2016-06-20 2021-10-12 Intel Corporation Technologies for device commissioning
US10362517B2 (en) * 2017-04-07 2019-07-23 Vapor IO Inc. Distributed handoff-related processing for wireless networks

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150861A (zh) * 2018-04-25 2019-01-04 泰山·约克·维纳斯基 区块链网络通信系统
CN109150861B (zh) * 2018-04-25 2021-03-30 泰山·约克·维纳斯基 区块链网络通信系统
CN108711089A (zh) * 2018-05-15 2018-10-26 成都市微泊科技有限公司 一种基于区块链的跨平台车位共享交易方法
CN108846753A (zh) * 2018-06-06 2018-11-20 北京京东尚科信息技术有限公司 用于处理数据的方法和装置
CN108846753B (zh) * 2018-06-06 2021-11-09 北京京东尚科信息技术有限公司 用于处理数据的方法和装置
CN108985759B (zh) * 2018-06-15 2020-10-23 杭州复杂美科技有限公司 一种加密货币的地址生成方法及系统、设备和存储介质
CN108985759A (zh) * 2018-06-15 2018-12-11 杭州复杂美科技有限公司 一种加密货币的地址生成方法及系统、设备和存储介质
CN109086388A (zh) * 2018-07-26 2018-12-25 百度在线网络技术(北京)有限公司 区块链数据存储方法、装置、设备及介质
CN109087105A (zh) * 2018-08-31 2018-12-25 深圳付贝科技有限公司 用于挖矿的哈希搜索方法、挖矿机及区块链系统
CN109087111A (zh) * 2018-08-31 2018-12-25 深圳付贝科技有限公司 基于区块链的共识验证方法、挖矿机及区块链系统
CN109213730A (zh) * 2018-09-14 2019-01-15 莆田市烛火信息技术有限公司 一种关联区块链主链的文件存储服务地址变更方法及系统
WO2020082614A1 (zh) * 2018-10-25 2020-04-30 深圳壹账通智能科技有限公司 区块链信息的共享方法、装置及计算机设备
US11481765B2 (en) 2018-10-25 2022-10-25 Advanced New Technologies Co., Ltd. Blockchain-based transaction processing method and apparatus and electronic device
CN109635036A (zh) * 2018-11-16 2019-04-16 播金信息科技(上海)有限公司 一种区块链构建模型及构建方法
CN109635036B (zh) * 2018-11-16 2021-07-27 播金信息科技(上海)有限公司 一种区块链构建模型及构建方法
WO2020114310A1 (en) * 2018-12-03 2020-06-11 Telefonaktiebolaget Lm Ericsson (Publ) Method, network node and network for recording and providing data,
CN109587237A (zh) * 2018-12-03 2019-04-05 爱立信(中国)通信有限公司 记录并提供数据的方法,网络节点及网络
WO2020233624A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合交易类型和事件函数类型的收据存储方法和节点

Also Published As

Publication number Publication date
KR101781583B1 (ko) 2017-09-27
US20190179801A1 (en) 2019-06-13
US10747721B2 (en) 2020-08-18
WO2018043865A3 (ko) 2018-08-09

Similar Documents

Publication Publication Date Title
WO2018043865A2 (ko) 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
WO2022042301A1 (zh) 一种数据处理方法、装置、智能设备及存储介质
WO2018194351A1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버
WO2018194350A1 (ko) Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버
WO2017192007A2 (ko) 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
US11729175B2 (en) Blockchain folding
KR20190075771A (ko) 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
JP2019514087A (ja) 分散型ハッシュテーブル及びピア・ツー・ピア分散型台帳を利用してデジタルアセットのオーナシップを検証する方法及びシステム
US11258771B2 (en) Systems and methods for sending user data from a trusted party to a third party using a distributed registry
WO2020071650A1 (ko) 블록체인 기반의 경비처리 데이터 관리 시스템과 방법 및 이를 위한 컴퓨터 프로그램
WO2019125041A1 (ko) 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
WO2021137396A1 (ko) 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말
CN113328997A (zh) 联盟链跨链系统及方法
WO2020213763A1 (ko) 블록체인과는 다른 형식의 저장소에 저장되는 블록체인 데이터를 검증하는 방법 및 시스템
WO2022177204A1 (ko) Did 기반의 탈중앙화된 사용자 데이터 저장 및 공유 시스템
CN111899019A (zh) 一种黑名单多方交叉验证和共享的方法及系统
CN111291394A (zh) 一种虚假信息管理方法、装置和存储介质
CN107635028B (zh) 一种资源的命名方法、装置、区块链集群和电子设备
CN110910110B (zh) 一种数据处理方法、装置及计算机存储介质
CN112311779A (zh) 应用于区块链系统的数据访问控制方法及装置
WO2019125069A1 (ko) 블록체인을 이용한 개인정보 분리 후 조합을 통한 인증 시스템
US20210374214A1 (en) Method and system for securing computer software using a distributed hash table and a blockchain
KR20190140550A (ko) 블록체인 기반 지식재산 공유경제 시스템 및 그 방법
WO2023149660A1 (ko) 그룹 서명 기반 연합학습 방법 및 시스템, 이를 수행하기 위한 기록 매체
WO2023095967A1 (ko) 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 시스템

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

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17846790

Country of ref document: EP

Kind code of ref document: A2