KR20210047503A - Block chain data mapping method and node device using distributed file system to omit block sync process and to provide remote storage - Google Patents

Block chain data mapping method and node device using distributed file system to omit block sync process and to provide remote storage Download PDF

Info

Publication number
KR20210047503A
KR20210047503A KR1020190131180A KR20190131180A KR20210047503A KR 20210047503 A KR20210047503 A KR 20210047503A KR 1020190131180 A KR1020190131180 A KR 1020190131180A KR 20190131180 A KR20190131180 A KR 20190131180A KR 20210047503 A KR20210047503 A KR 20210047503A
Authority
KR
South Korea
Prior art keywords
node
block data
new node
file system
distributed file
Prior art date
Application number
KR1020190131180A
Other languages
Korean (ko)
Other versions
KR102275389B1 (en
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 KR1020190131180A priority Critical patent/KR102275389B1/en
Publication of KR20210047503A publication Critical patent/KR20210047503A/en
Application granted granted Critical
Publication of KR102275389B1 publication Critical patent/KR102275389B1/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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • 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
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

Disclosed are a block data mapping method utilizing a distributed file system for omitting a block synchronization process and providing a remote storage, and a node device. According to one embodiment of the present application, the block data mapping method utilizing a distributed file system comprises the steps of: (a) allowing a participating node of a blockchain network to form a part of the distributed file system by storing copies of a part of blockchain data included in the distributed file system in a local storage of the participating node, when the local storage of the participating node is determined to have a size capable of storing a part of blockchain data included in the distributed file system in addition to the blockchain data of the participating node; and (b) allowing the participating node to map at least a part of block data which is not mapped among the copies to a new node, when the participating node finds the new node to map at least a part of block data which is not mapped among the copies, wherein the new node owns at least a part of the block by a mapping method.

Description

블록 동기화 과정 생략 및 원격 저장소 제공을 위한 분산파일시스템 활용 블록 데이터 매핑 방법 및 노드 장치{BLOCK CHAIN DATA MAPPING METHOD AND NODE DEVICE USING DISTRIBUTED FILE SYSTEM TO OMIT BLOCK SYNC PROCESS AND TO PROVIDE REMOTE STORAGE}Block data mapping method and node device using distributed file system to omit block synchronization process and provide remote storage {BLOCK CHAIN DATA MAPPING METHOD AND NODE DEVICE USING DISTRIBUTED FILE SYSTEM TO OMIT BLOCK SYNC PROCESS AND TO PROVIDE REMOTE STORAGE}

본원은 블록 동기화 과정 생략 및 원격 저장소 제공을 위한 분산파일시스템 활용 블록 데이터 매핑 방법 및 노드 장치에 관한 것이다.The present application relates to a block data mapping method and a node device using a distributed file system for omitting a block synchronization process and providing a remote storage.

암호화폐의 등장 이후, P2P 분산 컴퓨팅을 기반으로 데이터의 보안성을 보장하고 투명한 관리를 가능하게 하며, 4차 산업의 핵심 기술로 평가되는 블록체인 기술은 탈중앙화된 네트워크에 견고한 보안을 제공한다는 점에서 지속적으로 각광을 받고 있으나, 각 노드가 블록체인 데이터를 전부 저장하고 있어야 네트워크에 참여할 수 있다는 특성상 블록동기화 과정에서 각 노드에 가해지는 시간적, 공간적 부담이 큰 상황이다.After the advent of cryptocurrency, it guarantees data security and enables transparent management based on P2P distributed computing, and blockchain technology, which is evaluated as a core technology of the 4th industry, provides solid security for decentralized networks. Although it has been in the spotlight continuously, it is a situation where the temporal and spatial burdens placed on each node during the block synchronization process are large due to the nature that each node must store all of the blockchain data to participate in the network.

이와 관련하여, 전체 블록데이터를 저장하지 않고 블록 헤더만 저장하는 ‘라이트 노드’와 같은 솔루션이 도입된 바 있으나, 이러한 방식의 경우 데이터 전부를 저장하는 ‘풀 노드’의 작은 서버화로 이어져 블록체인 기술의 탈중앙성을 저해시킬 수 있다는 한계가 있다.In this regard, a solution such as'Light Node' that stores only the block header without storing the entire block data has been introduced, but in this case, it leads to a small server of'Full Node' that stores all data, and blockchain technology There is a limit in that it can hinder the decentralization of the company.

또한, 네트워크에 참여하기 위해 블록데이터를 각 노드의 로컬 스토리지에 저장하고 있어야 하는 블록체인 기술의 특성상 블록체인 데이터가 커짐에 따라 각 노드들의 스토리지에 가해지는 부담이 커지게 된다. 또한 노드들의 네트워크 참여 또는 탈퇴가 빈번히 발생하는 블록체인 네트워크에 있어 블록데이터 동기화 프로세스는 참여 속도 저해의 큰 원인이 되며, 이러한 문제는 특히나 하드웨어 성능이 한정된 드론과 같은 임베디드 시스템에서 더욱 문제가 될 수 있다.In addition, due to the nature of blockchain technology that must store block data in the local storage of each node in order to participate in the network, the burden on the storage of each node increases as the block chain data grows. In addition, in a blockchain network where nodes participate in or withdraw from the network frequently, the block data synchronization process is a major cause of slowing the participation rate, and this problem can be particularly problematic in embedded systems such as drones with limited hardware performance. .

본원의 배경이 되는 기술은 한국등록특허공보 제10-1950912호에 개시되어 있다.The technology behind the present application is disclosed in Korean Patent Publication No. 10-1950912.

본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 새로운 노드의 블록체인 네트워크 참여시, 블록 동기화 과정을 생략하여 블록 동기화에 필요한 시간적, 공간적 부담을 경감할 수 있는 블록 데이터 매핑 방법 및 노드 장치를 제공하려는 것을 목적으로 한다.The present application provides a block data mapping method and a node device capable of reducing the temporal and spatial burden required for block synchronization by omitting the block synchronization process when a new node participates in a block chain network, as to solve the above-described problems of the prior art. It is intended to be provided.

본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 분산파일시스템을 통해 드론, 임베디드 시스템 등 스토리지 용량이 한정된 노드에 원격 저장소를 제공할 수 있는 블록 데이터 매핑 방법 및 노드 장치를 제공하려는 것을 목적으로 한다.The present application is to solve the problems of the prior art described above, and the purpose of the present application is to provide a block data mapping method and a node device capable of providing remote storage to nodes with limited storage capacity such as drones and embedded systems through a distributed file system. do.

다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the embodiments of the present application is not limited to the technical problems as described above, and other technical problems may exist.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법은, (a) 상기 블록체인 네트워크의 참여 노드가, 자신의 로컬 스토리지가 자신의 블록체인 데이터 이외에 분산파일시스템에 포함되는 블록체인 데이터 중 일부를 저장 가능한 사이즈인 것으로 판단되면, 상기 분산파일시스템에 포함되는 블록체인 데이터 중 일부의 복사본을 자신의 로컬 스토리지에 저장하여 상기 분산파일시스템의 일부를 이루는 단계 및 (b) 상기 참여 노드가, 상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑할 신규 노드를 발견하면, 상기 신규 노드에 상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑하는 단계를 포함할 수 있다.As a technical means for achieving the above technical problem, the block data mapping method using a distributed file system according to an embodiment of the present application includes: (a) a node participating in the blockchain network, its own local storage, is its own blockchain. If it is determined that some of the block chain data included in the distributed file system can be stored in addition to the data, a copy of some of the block chain data included in the distributed file system is stored in its own local storage to be part of the distributed file system. And (b) when the participating node finds a new node to map at least a part of unmapped block data among the copies, mapping at least part of the unmapped block data among the copies to the new node. It may include steps.

또한, 상기 (b) 단계에 의해, 상기 신규 노드는 상기 매핑되지 않은 블록 데이터의 적어도 일부를 매핑 방식에 의해 소유하게 되는 것일 수 있다.In addition, by the step (b), the new node may own at least a part of the unmapped block data by a mapping method.

또한, 상기 매핑 방식에 의해, 상기 신규 노드의 블록 동기화 과정이 생략될 수 있다.In addition, by the mapping method, the block synchronization process of the new node may be omitted.

또한, 상기 참여 노드는, 상기 (a) 단계에서, 상기 복사본을 스트라이프 형태로 자신의 로컬 스토리지에 저장할 수 있다.In addition, the participating node may store the copy in its own local storage in the form of a stripe in step (a).

또한, 상기 참여 노드는 상기 복사본의 사이즈에 대응하는 인센티브를 제공받을 수 있다.In addition, the participating node may be provided with an incentive corresponding to the size of the copy.

또한, 상기 (b) 단계는, 신규 노드로부터 매핑되지 않은 블록 데이터를 찾기 위한 디스커버 메시지를 상기 신규 노드의 공개키와 함께 수신하면, 상기 참여 노드가 상기 복사본 중 매핑되지 않은 블록 데이터에 상기 공개키로 서명하고 임시 저장한 상기 메타데이터를 상기 신규 노드로 전송하여 매핑하는 단계를 포함할 수 있다.In addition, in step (b), when a discovery message for finding unmapped block data from a new node is received together with the public key of the new node, the participating node discloses the unmapped block data among the copies. It may include the step of mapping by transmitting the metadata signed with a key and temporarily stored to the new node.

또한, 서명된 상기 공개키 및 상기 메타데이터에 의해, 상기 신규 노드에게는 상기 신규 노드에게 매핑된 블록 데이터에 관한 정보만이 오픈되는 것일 수 있다.In addition, only information on block data mapped to the new node may be opened to the new node by the signed public key and the metadata.

또한, 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법은, (c) 상기 참여 노드가, 상기 블록체인 네트워크에서 탈퇴하는 탈퇴 메시지를 상기 신규 노드로부터 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시키는 단계를 포함할 수 있다.In addition, the block data mapping method using a distributed file system according to an embodiment of the present application includes: (c) When the participating node receives an withdrawal message for withdrawing from the blockchain network from the new node, it is mapped to the new node. The block data mapped to the new node may be converted into an unmapped state so that the block data can be mapped to another node.

또한, 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법은, (d) 상기 참여 노드가, 상기 신규 노드에게 매핑되었던 블록 데이터를 상기 신규 노드의 로컬 스토리지에 복사 완료하였다는 복사 완료 메시지를 상기 신규 노드로부터 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시키는 단계를 포함할 수 있다.In addition, the block data mapping method using a distributed file system according to an embodiment of the present application includes: (d) a copy completion message indicating that the participating node has finished copying the block data mapped to the new node to the local storage of the new node. When receiving from the new node, converting the block data mapped to the new node into an unmapped state so that the block data mapped to the new node can be mapped to another node.

한편, 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치는, 로컬 스토리지의 사이즈가 상기 노드 장치의 블록체인 데이터 이외에 분산파일시스템에 포함되는 블록체인 데이터 중 일부를 저장 가능한 것으로 판단되면, 상기 분산파일시스템에 포함되는 블록체인 데이터 중 일부의 복사본을 상기 로컬 스토리지에 저장하여 상기 분산파일시스템의 일부를 이루도록 하는 스토리지 할당부 및 상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑할 신규 노드를 발견하면, 상기 신규 노드에 상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑하는 매핑부를 포함할 수 있다.On the other hand, the node device for mapping block data using a distributed file system according to an embodiment of the present application is capable of storing some of the block chain data included in the distributed file system in addition to the block chain data of the node device. If determined, a storage allocation unit that stores a copy of some of the block chain data included in the distributed file system in the local storage to form a part of the distributed file system, and maps at least a portion of unmapped block data among the copies. When a new node to be performed is found, a mapping unit for mapping at least a part of unmapped block data among the copies to the new node may be included.

또한, 상기 매핑부에 의해, 상기 신규 노드는 상기 매핑되지 않은 블록 데이터의 적어도 일부를 매핑 방식에 의해 소유하게 되고, 상기 매핑 방식에 의해, 상기 신규 노드의 블록 동기화 과정이 생략되는 것일 수 있다.In addition, by the mapping unit, the new node may own at least a part of the unmapped block data by a mapping method, and a block synchronization process of the new node may be omitted by the mapping method.

또한, 상기 스토리지 할당부는, 상기 복사본을 스트라이프 형태로 상기 로컬 스토리지에 저장할 수 있다.In addition, the storage allocator may store the copy in the local storage in a stripe form.

또한, 상기 노드 장치는, 상기 복사본의 사이즈에 대응하는 인센티브를 제공받을 수 있다.In addition, the node device may be provided with an incentive corresponding to the size of the copy.

또한, 상기 스토리지 할당부는, 상기 복사본에 대한 메타데이터를 임시 저장하고, 상기 매핑부는, 신규 노드로부터 매핑되지 않은 블록 데이터를 찾기 위한 디스커버 메시지를 상기 신규 노드의 공개키와 함께 수신하면, 상기 복사본 중 매핑되지 않은 블록 데이터에 상기 공개키로 서명하고 임시 저장한 상기 메타데이터를 상기 신규 노드로 전송하여 매핑할 수 있다.In addition, the storage allocator temporarily stores metadata for the copy, and the mapping unit receives a discovery message for finding unmapped block data from a new node together with the public key of the new node, the copy Block data that is not mapped may be signed with the public key and then temporarily stored, and the metadata may be transmitted to the new node for mapping.

또한, 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치는, 상기 신규 노드로부터, 상기 블록체인 네트워크에서 탈퇴하는 탈퇴 메시지를 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시키는 데이터 관리부를 포함할 수 있다.In addition, the node device for mapping block data utilizing a distributed file system according to an embodiment of the present application, when receiving an withdrawal message for withdrawing from the blockchain network from the new node, the block data mapped to the new node is different. A data management unit for converting block data mapped to the new node into an unmapped state so that it can be mapped to a node may be included.

또한, 상기 데이터 관리부는, 상기 신규 노드에게 매핑되었던 블록 데이터를 상기 신규 노드의 로컬 스토리지에 복사 완료하였다는 복사 완료 메시지를 상기 신규 노드로부터 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시킬 수 있다.In addition, when the data management unit receives a copy completion message from the new node indicating that the block data mapped to the new node has been copied to the local storage of the new node, the block data mapped to the new node is transferred to another node. Block data that has been mapped to the new node may be converted into an unmapped state so that it can be mapped.

또한, 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법은 상기 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체에 저장되는 것일 수 있다.In addition, the block data mapping method using a distributed file system according to an embodiment of the present application may be stored in a computer-readable recording medium in which a program for executing the method in a computer is recorded.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the present application. In addition to the above-described exemplary embodiments, additional embodiments may exist in the drawings and detailed description of the invention.

전술한 본원의 과제 해결 수단에 의하면, 새로운 노드의 블록체인 네트워크 참여시, 블록 동기화 과정을 생략하여 블록 동기화에 필요한 시간적, 공간적 부담을 경감할 수 있다.According to the above-described problem solving means of the present application, when a new node participates in a blockchain network, the block synchronization process can be omitted, thereby reducing the temporal and spatial burden required for block synchronization.

전술한 본원의 과제 해결 수단에 의하면, 분산파일시스템을 통해 드론, 임베디드 시스템 등 스토리지 용량이 한정된 노드에 원격 저장소를 제공할 수 있다.According to the above-described problem solving means of the present application, a remote storage can be provided to a node having a limited storage capacity, such as a drone or an embedded system, through a distributed file system.

전술한 본원의 과제 해결 수단에 의하면, 블록체인 네트워크 참여 시의 블록 동기화 과정이 요구되지 않으므로, 노드의 참여 및 탈퇴가 빈번한 블록체인 네트워크에 효율적인 확장성을 부여할 수 있다.According to the above-described problem solving means of the present application, since a block synchronization process is not required when participating in a block chain network, efficient scalability can be provided to a block chain network in which node participation and withdrawal is frequent.

전술한 본원의 과제 해결 수단에 의하면, 블록체인 기술의 탈중앙성을 저해하지 않으면서도, 트랜잭션 발생 증가, 참여 노드의 수 등에 의해 블록체인 데이터의 크기가 지속적으로 커짐에 따라 발생할 수 있는 노드들의 스토리지 부담을 경감할 수 있다.According to the above-described problem solving means of the present application, storage of nodes that can occur as the size of the blockchain data continuously increases due to the increase in transaction occurrence and the number of participating nodes, without impeding the decentralization of the blockchain technology. The burden can be reduced.

다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.However, the effect obtainable in the present application is not limited to the above-described effects, and other effects may exist.

도 1은 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치를 포함하는 블록 체인 네트워크를 설명하기 위한 개념도이다.
도 2는 참여 노드가 스트라이프 형태로 블록 체인 데이터에 대한 복사본을 분산 저장하는 것을 설명하기 위한 개념도이다.
도 3은 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치의 개략적인 구성도이다.
도 4는 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법의 동작 흐름도이다.
도 5는 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법의 각 단계를 참여 노드 및 신규 노드의 입장에서 나타낸 세부 동작 흐름도이다.
1 is a conceptual diagram illustrating a block chain network including a node device for mapping block data using a distributed file system according to an embodiment of the present application.
2 is a conceptual diagram illustrating that a participating node distributes and stores copies of block chain data in a stripe form.
3 is a schematic configuration diagram of a node device for mapping block data using a distributed file system according to an embodiment of the present application.
4 is a flowchart illustrating an operation of a block data mapping method using a distributed file system according to an embodiment of the present application.
5 is a detailed operation flowchart showing each step of a method for mapping block data using a distributed file system according to an embodiment of the present application from the perspective of a participating node and a new node.

아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present application will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present application. However, the present application may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts irrelevant to the description are omitted in order to clearly describe the present application, and similar reference numerals are attached to similar parts throughout the specification.

본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다. Throughout the present specification, when a part is said to be "connected" with another part, it is not only the case that it is "directly connected", but also "electrically connected" or "indirectly connected" with another element interposed therebetween. "Including the case.

본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the present specification, when a member is positioned "on", "upper", "upper", "under", "lower", and "lower" of another member, this means that a member is located on another member. This includes not only the case where they are in contact but also the case where another member exists between the two members.

본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.In the entire specification of the present application, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본원은 블록 동기화 과정 생략 및 원격 저장소 제공을 위한 분산파일시스템 활용 블록 데이터 매핑 방법 및 블록 데이터 매핑을 위한 노드 장치에 관한 것이다. 특히, 본원은 분산파일시스템을 이용하여 블록체인 데이터를 복사하여 저장하고, 새로 참여하는 블록체인 노드에 분산파일시스템을 활용하여 저장된 데이터를 매핑하는 방식의 데이터 관리 기법에 관한 것이다.The present application relates to a block data mapping method using a distributed file system for omitting a block synchronization process and providing a remote storage, and a node device for mapping block data. In particular, the present application relates to a data management technique of copying and storing block chain data using a distributed file system, and mapping the stored data using a distributed file system to newly participating block chain nodes.

도 1은 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치를 포함하는 블록 체인 네트워크를 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a block chain network including a node device for mapping block data using a distributed file system according to an embodiment of the present application.

도 1을 참조하면, 본원에서의 블록체인 네트워크(10)는 하나 이상의 참여 노드(100)를 참여 주체로 하고, 각 참여 노드(100)의 일부 스토리지를 묶어놓은 분산파일시스템(20) 위에 블록체인 데이터의 복사본을 만들어 놓고, 신규 노드(200)의 참여시 만들어 놓은 복사본을 신규 노드(200)에 매핑(Blockchain data mapping)하도록 구현된다. 즉, 본원에서의 블록체인 네트워크(10)는 분산파일시스템을 활용하여, 블록체인 데이터 중 일부(예를 들면, 블록 데이터)를 매핑 방식으로 소유하게 된 신규 노드(20)가 별도의 동기화 과정 없이 블록 체인 네트워크(10)에 참여할 수 있도록 설계된다.Referring to FIG. 1, the blockchain network 10 in the present application has one or more participating nodes 100 as participants, and a block chain on a distributed file system 20 that binds some storage of each participating node 100. It is implemented to make a copy of the data and map the copy made when the new node 200 participates to the new node 200 (Blockchain data mapping). In other words, the blockchain network 10 in the present application utilizes a distributed file system, so that a new node 20 that has owned some of the blockchain data (for example, block data) in a mapping method, without a separate synchronization process. It is designed to be able to participate in the blockchain network 10.

또한, 도 1을 참조하면, 하나의 참여 노드(100)에서는 블록체인 클라이언트(blockchain client)와 분산파일시스템(DFS)이 연동되어 동작하는 것일 수 있다.In addition, referring to FIG. 1, in one participating node 100, a blockchain client and a distributed file system (DFS) may be interlocked to operate.

참고로, 본원의 실시예에 관한 설명에서, 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치(100)는 도 1을 참조하면, 참여 노드(100)와 동등한 것으로 이해될 수 있다. 달리 말해, 블록 체인 네트워크(10)의 참여 주체인 복수의 참여 노드(100) 각각은 본원에서의 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치(100)로 동작할 수 있다. 또한, 블록 데이터 매핑을 위한 노드 장치(100) 또는 참여 노드(100)는 해당 노드 그 자체 또는 해당 노드 하위에 포함되는 장치 개념으로 이해될 수 있다. 이하에서는, 설명의 편의를 위하여, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치(100)를 '참여 노드(100)'로 통일하여 지칭하도록 한다.For reference, in the description of the embodiment of the present application, the node device 100 for mapping block data utilizing a distributed file system according to an embodiment of the present application will be understood to be equivalent to the participating node 100, referring to FIG. I can. In other words, each of the plurality of participating nodes 100, which are participants of the block chain network 10, may operate as the node device 100 for mapping block data using the distributed file system in the present application. In addition, the node device 100 or the participating node 100 for block data mapping may be understood as a concept of a device included in the node itself or under the node. Hereinafter, for convenience of description, the node device 100 for mapping block data using a distributed file system will be unified and referred to as the'participating node 100'.

먼저, 참여 노드(100)는, 자신의 로컬 스토리지가, 저장된 자신의 블록체인 데이터(1) 이외에 분산파일시스템(20)에 포함되는 블록체인 데이터 중 일부를 저장 가능한 사이즈인 것으로 판단되면, 분산파일시스템(20)에 포함되는 블록체인 데이터(1) 중 일부의 복사본을 자신의 로컬 스토리지에 저장하여 분산파일시스템(20)의 일부를 이룰 수 있다.First, if the participating node 100 determines that its local storage is a size capable of storing some of the block chain data included in the distributed file system 20 in addition to its own block chain data 1 stored, the distributed file A part of the distributed file system 20 may be formed by storing a copy of some of the block chain data 1 included in the system 20 in its own local storage.

달리 말해, 각 참여 노드(100)는 분산파일시스템(20)에 할당할 로컬 스토리지 사이즈(용량)를 결정할 수 있다. 이 때, 참여 노드(100) 각각은 자신의 로컬 스토리지에 저장하는 복사본의 사이즈에 대응하는 인센티브를 제공받을 수 있다. 달리 말해, 참여 노드(100)는 자신이 분산파일시스템(20)에 제공한 로컬 스토리지 사이즈(또는 저장하는 복사본의 사이즈)에 대응하는 인센티브를 제공받을 수 있다. 이렇듯 본원에서는 참여 노드(100)에 스토리지 제공에 따른 인센티브를 제공함으로써, 분산파일시스템(20)이 충분한 스토리지를 확보하도록 유도할 수 있다.In other words, each participating node 100 may determine a local storage size (capacity) to be allocated to the distributed file system 20. In this case, each participating node 100 may be provided with an incentive corresponding to the size of a copy stored in its own local storage. In other words, the participating node 100 may be provided with an incentive corresponding to the local storage size (or the size of a copy to be stored) provided by itself to the distributed file system 20. As described above, in the present application, by providing an incentive for providing storage to the participating node 100, the distributed file system 20 may induce sufficient storage.

본원의 일 실시예에 따르면, 참여 노드(100)에 지급되는 인센티브는 토큰 형식으로 결정될 수 있다. 또한, 본원의 일 실시예에 따르면, 참여 노드(100)에 지급되는 인센티브의 크기는 분산파일시스템(20)에 제공한 로컬 스토리지 사이즈에 비례하게 결정될 수 있으나, 이에만 한정되는 것은 아니다. 다른 예로, 큰 사이즈의 로컬 스토리지를 분산파일시스템(20)에 제공하도록 유도하기 위하여, 제공한 로컬 스토리지 사이즈가 커질수록 지급되는 인센티브의 증가폭도 커지는 형태(예를 들면, Exponential 함수 형태)로 인센티브가 지급되도록 구현될 수 있다.According to an embodiment of the present application, an incentive paid to the participating node 100 may be determined in a token format. Further, according to an exemplary embodiment of the present disclosure, the size of the incentive paid to the participating node 100 may be determined in proportion to the size of the local storage provided to the distributed file system 20, but is not limited thereto. As another example, in order to induce a large-sized local storage to be provided to the distributed file system 20, as the size of the provided local storage increases, the increase in incentives paid also increases (for example, in the form of an Exponential function). It can be implemented to be paid.

또한, 본원의 일 실시예에 따르면, 참여 노드(100)는 분산파일시스템(20)에 제공한 자신의 로컬 스토리지에 블록체인 데이터(1) 중 일부의 복사본을 스트라이프 형태로 저장하는 것일 수 있다.In addition, according to an embodiment of the present application, the participating node 100 may store a copy of some of the blockchain data 1 in its own local storage provided to the distributed file system 20 in a stripe form.

도 2는 참여 노드가 스트라이프 형태로 블록체인 데이터에 대한 복사본을 분산 저장하는 것을 설명하기 위한 개념도이다. 참고로, 블록체인 데이터(1)는 신규 거래 등에 의해 발생하는 트랜잭션에 따라 생성되는 블록 데이터(2)를 최초의 블록인 제네시스 블록으로부터 체인형으로 연결한 것을 의미할 수 있다.FIG. 2 is a conceptual diagram illustrating that a participating node distributes and stores copies of blockchain data in a stripe form. For reference, the block chain data (1) may mean that block data (2) generated according to a transaction occurring by a new transaction is connected in a chain form from the genesis block, which is the first block.

도 2를 참조하면, 참여 노드(100)는 블록체인 데이터(1) 중 일부의 복사본을 스트라이프(3) 형태로 자신의 로컬 스토리지(예를 들면, 분산파일시스템(20)에 할당한 스토리지)에 저장하는 것일 수 있다. 달리 말해, 분산파일시스템(20)의 블록 데이터(2)는 스트라이핑되어 각 참여 노드(100)의 스토리지로 스트라이프(3) 형태로 분산 저장될 수 있다. 종래의 블록체인 네트워크에서는 블록 단위의 해시값을 통해 순차적 블록 연결 구조를 형성하던 것과 달리, 본원에서는 스트라이프(3) 단위의 해시값을 통합하여 하나의 블록에 대한 해시값이 정해지게 된다. 달리 말해, 하나의 블록을 이루는 스트라이프(3)들 각각의 해시를 통합한 해시가 해당 블록의 해시값으로 결정될 수 있다. 또한, 참여 노드(100)의 스토리지에 스트라이프(3) 형태로 분산 저장된 후, 신규 노드(200)로 매핑된 블록 데이터(2)에 대한 스트라이프(3)들은 해당 신규 노드(200)의 노드 ID와 공개키로 서명되므로, 매핑된 신규 노드(200)가 대칭되는 개인키를 보유하는 경우에만 매핑된 블록 데이터(달리 말해, 매핑된 블록 데이터에 대한 스트라이프(3)들)를 사용할 수 있게 된다.Referring to FIG. 2, the participating node 100 copies some of the block chain data 1 in the form of a stripe 3 in its own local storage (for example, storage allocated to the distributed file system 20). It may be to save. In other words, the block data 2 of the distributed file system 20 may be striped and stored in the form of a stripe 3 in the storage of each participating node 100. Unlike the conventional block chain network, which has formed a sequential block connection structure through hash values in units of blocks, in the present application, hash values for one block are determined by integrating hash values in units of stripes (3). In other words, a hash obtained by integrating the hashes of each of the stripes 3 constituting one block may be determined as the hash value of the corresponding block. In addition, after being distributed and stored in the storage of the participating node 100 in the form of stripes (3), the stripes (3) for the block data (2) mapped to the new node (200) are Since it is signed with a public key, the mapped block data (in other words, stripes 3 for the mapped block data) can be used only when the mapped new node 200 has a symmetric private key.

본원의 일 실시예에 따르면, 스트라이프(3)는 블록 데이터를 작은 데이터 단위로 분할한 데이터 단위로 이해될 수 있다. 예를 들어, 스트라이프(3)는 분할 데이터, 세그먼트 등으로 달리 지칭될 수 있다. 본원에서는 스트라이프(3) 형태로 분할된 블록 데이터를 분산 저장함에 따라, 하나의 참여 노드(100)에 가해지는 스토리지 부하를 줄일 뿐만 아니라, 신규 노드(200)가 매핑된 블록 데이터에 대해 접근하는 경우, 고속의 데이터 액세스를 가능케 할 수 있다.According to the exemplary embodiment of the present disclosure, the stripe 3 may be understood as a data unit obtained by dividing block data into small data units. For example, the stripe 3 may be referred to differently as segmented data, segment, or the like. In the present application, as the block data divided in the form of a stripe (3) is distributed and stored, not only the storage load applied to one participating node 100 is reduced, but also when the new node 200 accesses the mapped block data. , It can enable high-speed data access.

이하에서는, 참여 노드(100)가 신규 노드(200)에 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑하는 과정에 관하여 상세히 설명하도록 한다.Hereinafter, a process in which the participating node 100 maps at least a portion of unmapped block data among copies to the new node 200 will be described in detail.

참여 노드(100)는 복사본 중 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑할 신규 노드(200)를 발견하면, 신규 노드(200)에 복사본 중 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑할 수 있다. 본원의 일 실시예에 따르면, 블록 데이터(2)는 참여 노드(100) 또는 신규 노드(200)에 이미 매핑된 상태의 매핑된 블록 데이터(2a, 도 1을 참조하면, 'already mapped' Block data)와 특정 노드에 매핑되지 않은 상태의 매핑되지 않은 블록 데이터(2b, 도 1을 참조하면, 'non-mapped' Block data)로 구분될 수 있다. 본원의 일 실시예에 따르면, 참여 노드(100)는 분산파일시스템(20) 상에 존재하는 블록 데이터(구체적으로, 블록체인 데이터 중 일부에 대한 복사본) 중 다른 노드에 매핑되지 않은 상태의 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 신규 노드(200)에 매핑할 수 있다. 참고로, 블록 데이터(2) 각각의 매핑 상태(already mapped 상태 또는 non-mapped 상태)는 참여 노드(100)에 의해 전환될 수 있다.When the participating node 100 finds a new node 200 to map at least a part of the unmapped block data 2b among the copies, at least a part of the unmapped block data 2b among the copies Can be mapped. According to an embodiment of the present application, the block data 2 is mapped block data 2a in a state already mapped to the participating node 100 or the new node 200, referring to FIG. 1,'already mapped' Block data ) And unmapped block data (2b, referring to FIG. 1,'non-mapped' block data) in a state that is not mapped to a specific node. According to an embodiment of the present application, the participating node 100 is not mapped to another node among block data (specifically, a copy of some of the block chain data) existing on the distributed file system 20. At least a part of the unused block data 2b may be mapped to the new node 200. For reference, the mapping state (already mapped state or non-mapped state) of each of the block data 2 may be switched by the participating node 100.

이 때, 참여 노드(100)가 블록체인 네트워크(10)에 새로이 참여하려는 신규 노드(200)에 복사본 중 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑하여 전달함으로써, 신규 노드(200)는 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑 방식에 의해 소유하게 되는 것으로 이해될 수 있다. 나아가, 상기 매핑 방식에 의해, 신규 노드(200)의 블록체인 네트워크(10)에 대한 블록 동기화 과정이 생략될 수 있다.At this time, the participating node 100 maps and transmits at least a portion of the unmapped block data 2b among the copies to the new node 200 that intends to newly participate in the block chain network 10, so that the new node 200 It may be understood that at least a part of the unmapped block data 2b is owned by a mapping method. Further, by the mapping method, a block synchronization process for the blockchain network 10 of the new node 200 may be omitted.

또한, 본원의 블록체인 네트워크(10)에 참여하는 신규 노드(200)들은 분산파일시스템(20)에 저장된 블록 데이터를 매핑 방식으로 보유할 수 있기 때문에, 모든 블록체인 데이터를 저장할 스토리지 용량을 보유하고 있지 않더라도 본원의 블록체인 네트워크(10)에 참여할 수 있게 된다. 달리 말해, 본원의 블록 체인 네트워크(10)는 매핑 방식을 통해 종래의 블록체인 네트워크에 비해 적은 용량의 스토리지를 보유한 노드들의 참여를 허용할 수 있다.In addition, since the new nodes 200 participating in the blockchain network 10 of the present application can retain the block data stored in the distributed file system 20 in a mapping method, they have a storage capacity to store all blockchain data. Even if it does not exist, it will be possible to participate in the blockchain network 10 of the present application. In other words, the blockchain network 10 of the present application may allow the participation of nodes having a smaller capacity than the conventional blockchain network through a mapping method.

또한, 본원의 일 실시예에 따르면, 참여 노드(100)는 자신의 로컬 스토리지(달리 말해, 분산파일시스템(20)에 할당한 스토리지)에 복사본을 저장하는 경우, 복사본에 대한 메타데이터를 임시 저장할 수 있다.In addition, according to an embodiment of the present application, when the participating node 100 stores a copy in its own local storage (in other words, storage allocated to the distributed file system 20), the metadata for the copy is temporarily stored. I can.

또한, 본원의 일 실시예에 따르면, 참여 노드(100)는 신규 노드(200)로부터 매핑되지 않은 블록 데이터(2b)를 찾기 위한 디스커버 메시지를 신규 노드(200)의 공개키와 함께 수신하면, 참여 노드(100)가 복사본 중 매핑되지 않은 블록 데이터(2b)에 수신된 공개키로 서명하고 임시 저장한 복사본에 대한 메타데이터를 신규 노드(200)로 전송하여 매핑이 수행되는 것일 수 있다.In addition, according to an embodiment of the present application, when the participating node 100 receives a discover message for finding unmapped block data 2b from the new node 200 together with the public key of the new node 200, Mapping may be performed by the participating node 100 signing with the public key received in the unmapped block data 2b among the copies and transmitting metadata about the temporarily stored copy to the new node 200.

이러한 매핑 방식에 따라서, 서명된 공개키 및 메타데이터에 의해, 블록체인 네트워크(10)에 새로이 참여한 신규 노드(200)에게는 신규 노드(200)에게 매핑된 블록 데이터에 관한 정보만이 오픈되는 것일 수 있다. 달리 말해, 하나의 신규 노드(200)로 매핑된 블록 데이터는 노드 ID와 신규 노드(200)의 공개키로 서명되므로, 해당 신규 노드(200)만 보유하고 있는 개인키를 통해서 매핑된 블록 데이터를 이용할 수 있게 된다.According to this mapping method, only information about the block data mapped to the new node 200 may be opened to the new node 200 newly participating in the blockchain network 10 by the signed public key and metadata. have. In other words, since the block data mapped to one new node 200 is signed with the node ID and the public key of the new node 200, the mapped block data is used through the private key held by only the new node 200. You will be able to.

또한, 본원에서의 분산파일시스템(20)은 기존 분산파일시스템과 달리 Management Server 또는 Metadata Server가 별도로 존재하지 않는다. 신규 노드(200)는 자신에게 매핑된 블록 데이터를 로컬 스토리지에 스트라이프(3) 형태로 저장중인 참여 노드(200)들의 정보만 메타데이터로써 직접 저장하게 된다. 즉, 신규 노드(200) 자신의 데이터와 관련 없는(달리 말해, 신규 노드(200)에게 매핑된 블록 데이터(2)에 대한 스트라이프(3)를 저장하고 있지 않은) 참여 노드(100)의 스토리지는 신규 노드(200) 입장에서 보이지 않는다. 달리 말해, 신규 노드(200)는 자신에게 매핑된 블록 데이터와 관련 없는 블록 데이터만을 저장하고 있는 참여 노드(100)의 스토리지에는 접근할 수 없게 된다.In addition, unlike the existing distributed file system, the distributed file system 20 herein does not have a separate management server or a metadata server. The new node 200 directly stores only the information of the participating nodes 200 that are storing the block data mapped to itself in the form of a stripe 3 in the local storage as metadata. That is, the storage of the participating node 100 that is not related to the new node 200's own data (that is, does not store the stripes 3 for the block data 2 mapped to the new node 200) It is not visible from the perspective of the new node 200. In other words, the new node 200 cannot access the storage of the participating node 100 that stores only block data that is not related to the block data mapped to it.

본원의 일 실시예에 따르면, 신규 노드(200)는 참여 노드(100)로부터 전달된 메타데이터를 통해 분산파일시스템 인스턴스에 대한 메타데이터 서버로 동작할 수 있다. 즉, 신규 노드(200)가 자신에게 매핑된 블록 데이터를 저장하는 참여 노드(100)들에 대한 메타데이터를 직접 저장하여 하나의 메타데이터 서버와 같은 역할을 하기 때문에, 본원에서는 중앙화된 매니지먼트 서버 없이도 탈중앙화되고, 인스턴스별로 분리된 분산파일시스템(20)의 동작이 가능하다.According to an embodiment of the present application, the new node 200 may operate as a metadata server for a distributed file system instance through metadata transmitted from the participating node 100. That is, since the new node 200 directly stores the metadata for the participating nodes 100 that store the block data mapped to it and acts like a metadata server, in the present application, even without a centralized management server. It is possible to operate the distributed file system 20 that is decentralized and separated for each instance.

또한, 본원의 일 실시예에 따르면, 참여 노드(100)는, 블록체인 네트워크에서 탈퇴하는 탈퇴 메시지를 신규 노드(200)로부터 수신하면, 신규 노드(200)에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 신규 노드(200)에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시킬 수 있다.In addition, according to an embodiment of the present application, when the participating node 100 receives the withdrawal message to withdraw from the blockchain network from the new node 200, the block data mapped to the new node 200 is mapped to another node. Block data that has been mapped to the new node 200 may be converted to an unmapped state so that it can be performed.

달리 말해, 임의의 노드의 탈퇴 시, 탈퇴하려는 노드(신규 노드(200))는 자신에게 매핑된 블록 데이터를 저장중이던 참여 노드(100)들에 탈퇴메시지를 전송하고, 해당 참여 노드(100)들의 스토리지(구체적으로, 해당 참여 노드(100)들이 분산파일시스템(20)에 할당한 스토리지)에 저장 중이던 스트라이프(3)들은 매핑되지 않은 상태(non-mapped 상태)의 블록 데이터(2b)가 되어, 이후 새로운 신규 노드(200)에게 매핑 될 수 있는 상태로 전환된다.In other words, when a node withdraws from a certain node, the node (new node 200) that wants to withdraw transmits a withdrawal message to the participating nodes 100 that were storing the mapped block data, and The stripes 3 that were being stored in the storage (specifically, the storage allocated to the distributed file system 20 by the participating nodes 100) become block data 2b in an unmapped state (non-mapped state), After that, it is converted to a state that can be mapped to a new node 200.

또한, 본원이 일 실시예에 따르면, 참여 노드(100)는, 신규 노드(200)에게 매핑되었던 블록 데이터를 신규 노드(200)의 로컬 스토리지에 복사 완료하였다는 복사 완료 메시지를 신규 노드(200)로부터 수신하면, 신규 노드(200)에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 신규 노드(200)에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시킬 수 있다.In addition, according to an embodiment of the present application, the participating node 100 transmits a copy completion message indicating that the block data mapped to the new node 200 has been copied to the local storage of the new node 200. When received from, block data mapped to the new node 200 may be converted into an unmapped state so that block data mapped to the new node 200 can be mapped to another node.

달리 말해, 소정의 신규 노드(200)가 블록체인 네트워크(10)에 참여한 이후, 해당 신규 노드(200)의 스토리지가 충분하여 분산파일시스템(20)이 아닌 자신의 로컬 스토리지에 블록체인 데이터(1)를 저장할 것을 희망하는 경우, 신규 노드(200)가 로컬 스토리지에 블록체인 데이터를 동기화 하는 동안, 분산파일시스템(20) 위의 복사본을 사용하여 블록체인 네트워크(10)에 참여하고, 동기화가 완료되면 해당 복사본은 매핑이 해제되어 다른 노드에 매핑될 수 있는 상태로 전환된다. In other words, after a predetermined new node 200 participates in the blockchain network 10, the storage of the new node 200 is sufficient, so that the block chain data (1) is stored in its own local storage rather than the distributed file system 20. ), while the new node 200 synchronizes the blockchain data to the local storage, it joins the blockchain network 10 using the copy above the distributed file system 20, and the synchronization is completed. When this happens, the copy is unmapped and converted to a state where it can be mapped to another node.

즉, 로컬 스토리지가 충분한 노드(신규 노드(200))는 분산파일시스템(20)을 통해 자신에게 매핑된 블록체인 데이터를 자신의 로컬 스토리지에 복사(동기화)할 수 있으며, 복사하는 동안은 매핑된 데이터를 소유하여 사용할 수 있다. 복사가 완료되면 자신에게 매핑된 블록 데이터를 저장중이었던 참여 노드(100)들에 복사 완료 메시지를 전송하고, 탈퇴와 마찬가지로 해당 블록 데이터는 매핑되지 않은 상태(non-mapped 상태)가 되어 이후 다른 노드(예를 들면, 새로운 신규 노드(200))에 매핑될 수 있다. 로컬 스토리지가 충분한 노드의 경우, 이와 같은 방식으로 자신의 로컬 스토리지에 직접 블록체인 데이터를 저장하고, 블록체인과 연동된 분산파일시스템(20)에 더 많은 양의 스토리지를 할당하는 방식으로 인센티브(예를 들면, 토큰 형태)를 획득할 수 있다.That is, a node with sufficient local storage (new node 200) can copy (synchronize) the blockchain data mapped to itself to its own local storage through the distributed file system 20, and the mapped You can own and use the data. When the copying is complete, the copy completion message is transmitted to the participating nodes 100 that have been storing the mapped block data, and the block data becomes unmapped (non-mapped state) as with withdrawal, and thereafter, other nodes (For example, it may be mapped to a new node 200). In the case of nodes with sufficient local storage, incentives (e.g., by storing blockchain data directly in their local storage in this way) and allocating a larger amount of storage to the distributed file system (20) linked to the blockchain. For example, in the form of a token).

결과적으로 본원은, 드론, 임베디드 시스템 등 하드웨어 성능이 한정된 환경의 노드들에게 더 많은 원격 저장소가 주어지는 효과를 불러올 수 있다. 즉, 분산파일시스템(20)을 통하여 미리 복사된 블록체인 데이터를 신규 노드(200)에 매핑시킴으로써, 신규 노드(200)가 블록체인 네트워크에 참여시 발생하는 시간적 오버헤드를 없애고, 토큰 형태의 인센티브 제공을 통해 분산파일시스템(20)에 충분한 스토리지를 확보할 수 있어, 로컬 스토리지가 부족한 드론, 임베디드 시스템 등의 하드웨어 성능이 한정된 기기(노드)에도 충분한 크기의 원격 저장소를 제공할 수 있게 된다.As a result, the present application can bring about the effect of giving more remote storage to nodes in environments with limited hardware capabilities, such as drones and embedded systems. That is, by mapping the block chain data copied in advance through the distributed file system 20 to the new node 200, the temporal overhead that occurs when the new node 200 participates in the blockchain network is eliminated, and incentives in the form of tokens Through the provision, sufficient storage can be secured in the distributed file system 20, so that a remote storage of sufficient size can be provided to devices (nodes) with limited hardware performance, such as drones and embedded systems, which lack local storage.

도 3은 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치의 개략적인 구성도이다.3 is a schematic configuration diagram of a node device for mapping block data using a distributed file system according to an embodiment of the present application.

도 3을 참조하면, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치(100)(달리 말해, 참여 노드(100))는, 스토리지 할당부(110), 매핑부(120) 및 데이터 관리부(130)를 포함할 수 있다.Referring to FIG. 3, a node device 100 (in other words, a participating node 100) for mapping block data utilizing a distributed file system is a storage allocation unit 110, a mapping unit 120, and a data management unit 130. It may include.

스토리지 할당부(110)는, 로컬 스토리지의 사이즈가 노드 장치(100)의 블록체인 데이터 이외에 분산파일시스템(20)에 포함되는 블록체인 데이터 중 일부를 저장 가능한 것으로 판단되면, 분산파일시스템(20)에 포함되는 블록체인 데이터 중 일부의 복사본을 로컬 스토리지에 저장하여 노드 장치(100)의 스토리지 중 적어도 일부가 분산파일시스템(20)의 일부를 이루도록 할 수 있다.When it is determined that the size of the local storage is capable of storing some of the block chain data included in the distributed file system 20 in addition to the block chain data of the node device 100, the distributed file system 20 A copy of some of the block chain data included in is stored in a local storage so that at least a part of the storage of the node device 100 forms part of the distributed file system 20.

구체적으로, 스토리지 할당부(110)는, 복사본을 스트라이프(3) 형태로 로컬 스토리지에 저장할 수 있다. 또한, 노드 장치(100)는 복사본의 사이즈에 대응하는 인센티브를 제공받을 수 있다.Specifically, the storage allocator 110 may store a copy in the form of a stripe 3 in local storage. In addition, the node device 100 may be provided with an incentive corresponding to the size of the copy.

또한, 스토리지 할당부(110)는 복사본 저장시, 복사본에 대한 메타데이터를 임시 저장할 수 있다.In addition, the storage allocator 110 may temporarily store metadata about the copy when storing the copy.

매핑부(120)는, 복사본 중 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑할 신규 노드(200)를 발견하면, 신규 노드(200)에 복사본 중 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑할 수 있다.When the mapping unit 120 finds a new node 200 to map at least a portion of the unmapped block data 2b among the copies, the mapping unit 120 detects at least a portion of the unmapped block data 2b among the copies. Some can be mapped.

따라서, 매핑부(120)에 의해, 신규 노드(200)는 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑 방식에 의해 소유하게 되고, 매핑 방식에 의해, 신규 노드(200)의 블록 동기화 과정이 생략되는 것일 수 있다.Therefore, by the mapping unit 120, the new node 200 owns at least a part of the unmapped block data 2b by the mapping method, and the block synchronization process of the new node 200 by the mapping method May be omitted.

구체적으로, 매핑부(120)는, 신규 노드(200)로부터 매핑되지 않은 블록 데이터를 찾기 위한 디스커버 메시지를 신규 노드(200)의 공개키와 함께 수신하면, 복사본 중 매핑되지 않은 블록 데이터(2b)에 수신된 공개키로 서명하고 스토리지 할당부(110)에 의해 임시 저장된 메타데이터를 신규 노드(200)로 전송하여 매핑을 수행할 수 있다.Specifically, when the mapping unit 120 receives a discovery message for finding unmapped block data from the new node 200 together with the public key of the new node 200, the unmapped block data 2b ) And transmits metadata temporarily stored by the storage allocator 110 to the new node 200 to perform mapping.

데이터 관리부(130)는, 신규 노드(200)로부터, 블록체인 네트워크(10)에서 탈퇴하는 탈퇴 메시지를 수신하면, 신규 노드(200)에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 신규 노드(200)에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시킬 수 있다.When the data management unit 130 receives the withdrawal message for withdrawing from the blockchain network 10 from the new node 200, the new node ( 200) may be converted to an unmapped state.

또한, 데이터 관리부(130)는, 신규 노드(200)에게 매핑되었던 블록 데이터를 신규 노드(200)의 로컬 스토리지에 복사 완료하였다는 복사 완료 메시지를 신규 노드(200)로부터 수신하면, 신규 노드(200)에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 신규 노드(200)에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시킬 수 있다.In addition, the data management unit 130 receives a copy completion message from the new node 200 indicating that the block data mapped to the new node 200 has been copied to the local storage of the new node 200. Block data mapped to the new node 200 may be converted into an unmapped state so that block data mapped to) can be mapped to another node.

이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.Hereinafter, based on the details described above, the operation flow of the present application will be briefly described.

도 4는 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법의 동작 흐름도이다.4 is a flowchart illustrating an operation of a block data mapping method using a distributed file system according to an embodiment of the present application.

도 4에 도시된 분산파일시스템 활용 블록 데이터 매핑 방법은 앞서 설명된 분산파일시스템 활용 블록 데이터 매핑 방법을 위한 노드 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 분산파일시스템 활용 블록 데이터 매핑 방법을 위한 노드 장치(100)에 대하여 설명된 내용은 분산파일시스템 활용 블록 데이터 매핑 방법에 대한 설명에도 동일하게 적용될 수 있다.The method for mapping block data using a distributed file system illustrated in FIG. 4 may be performed by the node device 100 for the method for mapping block data using a distributed file system described above. Accordingly, even if omitted below, the description of the node device 100 for the method of mapping block data using the distributed file system may be equally applied to the description of the method of mapping block data using the distributed file system.

도 4를 참조하면, 단계 S410에서 스토리지 할당부(110)는, (a) 노드 장치(100)의 로컬 스토리지가 자신의 블록체인 데이터 이외에 분산파일시스템(20)에 포함되는 블록체인 데이터 중 일부를 저장 가능한 사이즈인 것으로 판단되면, 분산파일시스템(20)에 포함되는 블록체인 데이터 중 일부의 복사본을 자신의 로컬 스토리지에 저장하여 분산파일시스템(20)의 일부를 이루도록 할 수 있다.4, in step S410, the storage allocating unit 110, (a) the local storage of the node device 100 stores some of the block chain data included in the distributed file system 20 in addition to its own block chain data. If it is determined that the size is storable, a copy of some of the block chain data included in the distributed file system 20 may be stored in its own local storage to form a part of the distributed file system 20.

또한, 단계 S410에서(달리 말해, (a) 단계에서) 스토리지 할당부(110)는, 복사본에 대한 메타데이터를 임시 저장할 수 있다.In addition, in step S410 (in other words, in step (a)), the storage allocating unit 110 may temporarily store metadata for the copy.

다음으로, 단계 S420에서 매핑부(120)는, (b) 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑할 신규 노드(200)를 발견하면, 신규 노드(200)에 복사본 중 매핑되지 않은 블록 데이터(2b)의 적어도 일부를 매핑할 수 있다.Next, in step S420, when the mapping unit 120 finds a new node 200 to map at least a part of the unmapped block data among the copies, the At least part of the data 2b may be mapped.

구체적으로, 단계 S420에서(달리 말해, (b) 단계에서) 매핑부는, 신규 노드(200)로부터 매핑되지 않은 블록 데이터(2b)를 찾기 위한 디스커버 메시지를 신규 노드(200)의 공개키와 함께 수신하면, 복사본 중 매핑되지 않은 블록 데이터(2b)에 수신된 공개키로 서명하고 단계 S410에서 임시 저장한 메타데이터를 신규 노드(200)로 전송할 수 있다.Specifically, in step S420 (in other words, in step (b)), the mapping unit sends a discovery message for finding unmapped block data 2b from the new node 200 together with the public key of the new node 200. Upon receipt, the unmapped block data 2b among the copies may be signed with the received public key, and the metadata temporarily stored in step S410 may be transmitted to the new node 200.

다음으로, 단계 S430에서 데이터 관리부(130)는, (c) 블록체인 네트워크(10)에서 탈퇴하는 탈퇴 메시지를 신규 노드(200)로부터 수신하면, 신규 노드(200)에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 신규 노드(200)에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시킬 수 있다.Next, in step S430, the data management unit 130, when (c) receiving the withdrawal message for withdrawing from the blockchain network 10 from the new node 200, the block data mapped to the new node 200 is a different node. Block data that has been mapped to the new node 200 may be converted to an unmapped state so that the data can be mapped to a new node 200.

또한, 단계 S440에서 데이터 관리부(130)는, (d) 신규 노드(200)에게 매핑되었던 블록 데이터를 신규 노드(200)의 로컬 스토리지에 복사 완료하였다는 복사 완료 메시지를 신규 노드(200)로부터 수신하면, 신규 노드(200)에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 신규 노드(200)에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시킬 수 있다.In addition, in step S440, the data management unit 130 receives a copy completion message from the new node 200 indicating that (d) the block data mapped to the new node 200 has been copied to the local storage of the new node 200. Then, block data mapped to the new node 200 may be converted into an unmapped state so that block data mapped to the new node 200 may be mapped to another node.

상술한 설명에서, 단계 S410 내지 S440은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S410 to S440 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present disclosure. In addition, some steps may be omitted as necessary, or the order between steps may be changed.

도 5는 본원의 일 실시예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법의 각 단계를 참여 노드 및 신규 노드의 입장에서 나타낸 세부 동작 흐름도이다.5 is a detailed operation flowchart showing each step of a method for mapping block data using a distributed file system according to an embodiment of the present application from the perspective of a participating node and a new node.

도 5를 참조하면, 단계 S511 내지 S517은 참여 노드(100)가 주체가 되어 수행되고, 단계 S521 내지 S524는 신규 노드(200)가 주체가 되어 수행되는 단계를 각각 나타낼 수 있다.Referring to FIG. 5, steps S511 to S517 are performed by the participating node 100 as a subject, and steps S521 to S524 may represent steps performed by the new node 200 as a subject, respectively.

단계 S511에서 참여 노드(100)의 스토리지에 블록체인 데이터의 복사본이 저장되어 있는지 여부를 판단할 수 있다. 단계 S511의 판단 결과, 해당 참여 노드(100)가 블록체인 데이터의 복사본을 저장하고 있지 않은 경우(No), 단계 S513으로 진행하여 이후의 단계 S514, 단계 S515 등이 수행될 수 있다. 반대로, 해당 참여 노드(100)가 이미 블록체인 데이터의 복사본을 저장하고 있는 경우(Yes), 단계 S512로 진행하여 단계 S512에서 해당 참여 노드(100)는 단계 S513, 단계 S514, 단계 S515 등을 수행하지 않고 현 상태를 유지하게 된다.In step S511, it may be determined whether a copy of the blockchain data is stored in the storage of the participating node 100. As a result of the determination in step S511, if the participating node 100 does not store a copy of the blockchain data (No), the process proceeds to step S513 and subsequent steps S514, S515, and the like may be performed. Conversely, if the participating node 100 already stores a copy of the blockchain data (Yes), the process proceeds to step S512, and in step S512, the participating node 100 performs steps S513, S514, and S515. Without doing so, it will remain in its current state.

다음으로, 단계 S513에서 해당 참여 노드(100)를 통해 이후의 단계 S514, 단계 S515 등을 수행할지 여부를 결정하기 위하여 현재 블록체인 데이터의 사이즈(S)의 크기가 고려될 수 있다. 여기서, 블록체인 데이터의 사이즈(S)는 해당 참여 노드(100)가 분산파일시스템에 할당할 로컬 스토리지의 사이즈를 의미할 수 있다.Next, in step S513, the size of the current block chain data size S may be considered in order to determine whether to perform subsequent steps S514, S515, etc. through the participating node 100. Here, the size (S) of the block chain data may mean the size of local storage that the participating node 100 will allocate to the distributed file system.

단계 S513에서 현재 블록체인 데이터의 사이즈(S)가 S/10≥2의 관계식을 만족할 경우, 단계 S514로 진행할 수 있다. 반대로, 현재 블록체인 데이터의 사이즈(S)가 S/10<2의 관계식을 만족할 경우, 단계 S512로 진행하여 해당 참여 노드(100)는 단계 S514, 단계 S515 등을 수행하지 않고 현 상태를 유지하게 된다.In step S513, when the size (S) of the current block chain data satisfies the relational expression of S/10≥2, the process may proceed to step S514. Conversely, if the size (S) of the current block chain data satisfies the relational expression of S/10 <2, the process proceeds to step S512 and the participating node 100 maintains the current state without performing steps S514, S515, etc. do.

본원의 일 실시예에 따르면, 현재 블록체인 데이터의 사이즈(S)는 GB(기가바이트) 단위로 측정되는 것일 수 있으나, 이에만 한정되는 것은 아니다. 또한, 단계 S513에 적용되는 수식의 구체적인 수치 범위는 본원의 블록체인 네트워크(10)의 참여 노드의 수, 블록체인 데이터의 유형 등에 기초하여 다양하게 변형될 수 있다.According to an embodiment of the present application, the size (S) of the current blockchain data may be measured in GB (gigabytes), but is not limited thereto. In addition, the specific numerical range of the formula applied to step S513 may be variously modified based on the number of participating nodes in the blockchain network 10 of the present application, the type of blockchain data, and the like.

다음으로, 단계 S514에서 현재 블록체인 데이터의 사이즈(S)가 소정 수준(예를 들면 S/10≥2의 관계식을 만족하는 수준) 이상 큰 것으로 판단되는 경우, 참여 노드(100)는, 블록체인 데이터의 복사본 생성하고, 생성된 복사본을 로컬 스토리지에 분산 저장할(달리 말해, 분산파일시스템(20)을 구축할) 노드를 탐색하기 위하여, (S/10-1)개의 노드를 찾기 위한 메시지를 블록체인 네트워크(10) 내에 전파할 수 있다.Next, in step S514, when it is determined that the size (S) of the current blockchain data is larger than a predetermined level (for example, a level that satisfies the relational expression of S/10≥2), the participating node 100 Blocks a message to find (S/10-1) nodes in order to search for nodes to create copies of data and to distribute and store the generated copies in local storage (in other words, to build distributed file system 20). It can propagate within the chain network 10.

본원의 일 실시예에 따르면, 단계 S514에서 참여 노드(100)가 탐색하는 노드의 개수는 본원의 블록체인 네트워크(10)의 참여 노드의 수 및 블록체인 데이터의 데이터 유형 중 적어도 하나에 기초하여 (S/10-1)이외의 개수로 결정될 수 있다.According to an embodiment of the present application, the number of nodes that the participating node 100 searches in step S514 is based on at least one of the number of participating nodes of the blockchain network 10 of the present application and the data type of the blockchain data ( It can be determined by a number other than S/10-1).

보다 구체적으로 설명하면, 단계 S514에서 노드 탐색을 위한 메시지를 전파하는 참여 노드(100)는 선행된 단계 S511에 의하여, 블록체인 데이터의 복사본(예를 들어, 복사본의 스트라이프)을 갖고 있지 않은 참여 노드(100)로 결정되므로, 블록체인 데이터의 복사본(이미 매핑된 복사본 및 매핑되지 않은(non-mapped) 복사본을 모두 포함한다.)을 저장하고 있는 참여 노드(100)는 메시지를 전파하지 않고 기존 상태를 유지하다가, 복사본 생성을 위한 메시지를 수신하면 추가적으로 메시지를 전파한 참여 노드(100)와 함께 복사본 생성에 참여하게 된다.More specifically, the participating node 100 that propagates a message for node discovery in step S514 is a participating node that does not have a copy of the blockchain data (eg, a stripe of copy) by the preceding step S511. Since it is determined as (100), the participating node 100, which is storing a copy of the blockchain data (including both already mapped and non-mapped copies), does not propagate the message and does not propagate the message in the existing state. While maintaining, when receiving a message for creating a copy, it participates in the creation of a copy together with the participating node 100, which further propagated the message.

다음으로, 단계 S515에서, 메시지를 전파한 참여 노드(100)는 탐색된 다른 참여 노드(100)들(예를 들면, (S/10-1)개의 참여 노드(100)) 및 자신(즉, 메시지를 전파한 참여 노드(100))을 포함하여 분산파일시스템 인스턴스를 생성하고, 블록체인 데이터에 대한 복사본을 생성 및 저장할 수 있다. 여기서, 참여 노드(100)는 복사본에 대한 메타데이터를 임시 저장할 수 있다. 달리 말해, 단계 S515에서 전파를 시작한 참여 노드(100)를 포함하는 S/10 개의 참여 노드(100)는 서로 연결되어 하나의 분산파일시스템 인스턴스를 만들어 블록체인 데이터의 복사본을 생성 및 분산 저장하고, 이에 대한 메타데이터는 메시지 전파를 시작한 참여 노드(100)가 임시로 저장하도록 구현될 수 있다.Next, in step S515, the participating node 100 that has propagated the message is searched for other participating nodes 100 (for example, (S/10-1) participating nodes 100) and themselves (ie, A distributed file system instance can be created including the participating node 100 that propagated the message, and a copy of the blockchain data can be created and stored. Here, the participating node 100 may temporarily store metadata about the copy. In other words, the S/10 participating nodes 100 including the participating nodes 100 that have started propagation in step S515 are connected to each other to create one distributed file system instance to create and distribute a copy of the block chain data, Metadata for this may be implemented to temporarily store the participating node 100 that has started message propagation.

다음으로 단계 S516에서, 복사본에 대한 메타데이터를 저장하고 있던 참여 노드(100)는, 블록체인 네트워크(10)에 참여를 시도하는 새로운 신규 노드(200)가 존재하는 경우(달리 말해, 참여 노드(100)가 신규 노드(200)로부터 매핑되지 않은 블록 데이터(non-mapped 상태의 블록 데이터; 2b)를 찾기 위한 디스커버 메시지(discover)를 수신하는 경우), 매핑되지 않은 블록 데이터(복사본)에 신규 노드(200)로부터 전송받은 공개키로 서명한 후, 임시 저장 중이던 메타데이터를 신규 노드(200)에 전달할 수 있다.Next, in step S516, the participating node 100 that has stored the metadata for the copy, when a new node 200 attempting to participate in the blockchain network 10 exists (in other words, the participating node ( 100) receives a discovery message (discover) to find unmapped block data (block data in a non-mapped state; 2b) from the new node 200), new to unmapped block data (copy) After signing with the public key transmitted from the node 200, metadata that has been temporarily stored may be transferred to the new node 200.

이를 통해 신규 노드(200)는 자신에게 매핑된 블록 데이터에 대한 스트라이프(3)를 저장하고 있는 참여 노드(100)에 대한 정보를 메타데이터로 직접 보유하게 되어 마치 로컬 스토리지에 블록체인 데이터를 저장하고 있는 것처럼 블록 동기화 과정 없이 블록체인 네트워크(10)에 참여할 수 있게 된다.Through this, the new node 200 directly holds the information on the participating node 100, which stores the stripe 3 of the block data mapped to it, as metadata, and stores the block chain data in local storage. As if there is, it is possible to participate in the blockchain network 10 without the block synchronization process.

또한, 단계 S517에서, 신규 노드(200)가 블록체인 네트워크(10)에서 탈퇴하려는 경우 또는 신규 노드(200)가 매핑되었던 블록 데이터를 자신의 로컬 스토리지에 복사 완료한 경우, 신규 노드(200)로부터 신규 노드(200)에게 매핑된 블록 데이터 및 매핑된 블록 데이터와 연계된 메타 데이터를 반환하겠다는 반환 메시지를 수신한 참여 노드(100)는 해당 메타 데이터의 반환을 완료하고, 해당 신규 노드(200)에게 매핑되었던 블록 데이터를 매핑되지 않은 상태(non-mapped)로 전환할 수 있다.In addition, in step S517, when the new node 200 attempts to withdraw from the blockchain network 10 or when the block data to which the new node 200 has been mapped has been copied to its own local storage, from the new node 200 Upon receiving the return message indicating that the mapped block data and the metadata associated with the mapped block data are returned to the new node 200, the participating node 100 completes the return of the corresponding metadata and sends the message to the new node 200. Block data that has been mapped can be converted to a non-mapped state.

즉, 단계 S517에 의하여 매핑되지 않은 상태(non-mapped)로 전환된 블록 데이터는 다른 신규 노드(200)가 블록체인 네트워크(10)에 참여하려는 경우(달리 말해, 다른 신규 노드(200)로부터 discover 메시지가 전송된 경우), 해당 신규 노드(200)에게 매핑될 수 있다.That is, the block data converted to the non-mapped state in step S517 is discovered when another new node 200 attempts to participate in the blockchain network 10 (in other words, discovers from another new node 200). When a message is transmitted), it may be mapped to the corresponding new node 200.

상술한 매핑 과정을 신규 노드(200)의 입장에서 설명하면 다음과 같다.The above-described mapping process will be described from the perspective of the new node 200 as follows.

단계 S521에서 신규 노드(200)는 자신의 공개키와 함께 매핑되지 않은(non-mapped) 블록 데이터(2b)를 찾기 위한 디스커버 메시지(discover)를 블록체인 네트워크(10)에 전파할 수 있다.In step S521, the new node 200 may propagate a discover message for finding the non-mapped block data 2b together with its public key to the blockchain network 10.

다음으로, 단계 S522에서 신규 노드(200)는 전파된 디스커버 메시지에 대응하여 참여 노드(200)로부터 전송된 자신의 공개키로 서명되어 매핑된 블록 데이터 및 해당 매핑된 블록 데이터에 대한 메타데이터를 수신할 수 있다.Next, in step S522, the new node 200 receives the mapped block data and metadata for the mapped block data signed with its own public key transmitted from the participating node 200 in response to the spread discovery message. can do.

다음으로, 단계 S523에서 신규 노드(200)는 분산파일시스템(20)을 통해 분산 저장된 블록체인 데이터(달리 말해, 매핑된 블록 데이터)를 보유하게 되어 블록 체인 네트워크(10)에 참여할 수 있는 상태가 된다. 달리 말해, 신규 노드(200)는 전달된 메타데이터를 통해 분산파일시스템 인스턴스에 대한 메타데이터 서버로 기능할 수 있다.Next, in step S523, the new node 200 holds blockchain data (in other words, mapped block data) distributedly stored through the distributed file system 20, so that it is possible to participate in the blockchain network 10. do. In other words, the new node 200 may function as a metadata server for a distributed file system instance through the transmitted metadata.

또한, 단계 S524에서 블록체인 네트워크(10)에서 탈퇴하려는 신규 노드(200) 또는 매핑되었던 블록 데이터를 자신의 로컬 스토리지에 복사 완료한 신규 노드(200)는, 참여 노드(100)에게 매핑된 블록 데이터 및 매핑된 블록 데이터와 연계된 메타 데이터를 반환하겠다는 내용의 반환 메시지를 전송할 수 있다.In addition, in step S524, the new node 200 to withdraw from the blockchain network 10 or the new node 200 that has completed copying the mapped block data to its own local storage is the block data mapped to the participating node 100. And a return message indicating that meta data associated with the mapped block data will be returned.

상술한 설명에서, 단계 S511 내지 단계 S517과 단계 S521 내지 단계 S524은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S511 to S517 and steps S521 to S524 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, or the order between steps may be changed.

본원의 일 실시 예에 따른 분산파일시스템 활용 블록 데이터 매핑 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본원을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본원의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The block data mapping method using a distributed file system according to an exemplary embodiment of the present disclosure may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present application, or may be known and usable to a person skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present application, and vice versa.

또한, 전술한 분산파일시스템 활용 블록 데이터 매핑 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.In addition, the above-described method of mapping block data utilizing a distributed file system may be implemented in the form of a computer program or application executed by a computer stored in a recording medium.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present application is for illustrative purposes only, and those of ordinary skill in the art to which the present application pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present application.

10: 블록체인 네트워크
20: 분산파일시스템
100: 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치, 참여 노드
110: 스토리지 할당부
120: 매핑부
130: 데이터 관리부
200: 신규 노드
1: 블록체인 데이터
2: 블록 데이터
2a: 매핑된 블록 데이터
2b: 매핑되지 않은 블록 데이터
3: 스트라이프
10: Blockchain network
20: distributed file system
100: Node device for block data mapping using distributed file system, participating node
110: storage allocation unit
120: mapping unit
130: data management unit
200: new node
1: Blockchain data
2: block data
2a: mapped block data
2b: unmapped block data
3: stripe

Claims (16)

블록체인 네트워크에서의 블록 데이터 매핑 방법으로서,
(a) 상기 블록체인 네트워크의 참여 노드가, 자신의 로컬 스토리지가 자신의 블록체인 데이터 이외에 분산파일시스템에 포함되는 블록체인 데이터 중 일부를 저장 가능한 사이즈인 것으로 판단되면, 상기 분산파일시스템에 포함되는 블록체인 데이터 중 일부의 복사본을 자신의 로컬 스토리지에 저장하여 상기 분산파일시스템의 일부를 이루는 단계; 및
(b) 상기 참여 노드가, 상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑할 신규 노드를 발견하면, 상기 신규 노드에 상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑하는 단계를 포함하고,
상기 (b) 단계에 의해, 상기 신규 노드는 상기 매핑되지 않은 블록 데이터의 적어도 일부를 매핑 방식에 의해 소유하게 되는 것인, 분산파일시스템 활용 블록 데이터 매핑 방법.
As a block data mapping method in a blockchain network,
(a) If the participating node of the blockchain network determines that its local storage is a size capable of storing some of the block chain data included in the distributed file system in addition to its own block chain data, Storing a copy of some of the blockchain data in its own local storage to form a part of the distributed file system; And
(b) when the participating node finds a new node to map at least part of the unmapped block data among the copies, mapping at least part of the unmapped block data among the copies to the new node, and ,
By the step (b), the new node owns at least a part of the unmapped block data by a mapping method.
제1항에 있어서,
상기 매핑 방식에 의해, 상기 신규 노드의 블록 동기화 과정이 생략되는 것인, 분산파일시스템 활용 블록 데이터 매핑 방법.
The method of claim 1,
By the mapping method, the block synchronization process of the new node is omitted.
제1항에 있어서,
상기 참여 노드는,
상기 (a) 단계에서, 상기 복사본을 스트라이프 형태로 자신의 로컬 스토리지에 저장하는 것인, 분산파일시스템 활용 블록 데이터 매핑 방법.
The method of claim 1,
The participating node,
In the step (a), the copy is stored in its own local storage in a stripe form.
제1항에 있어서,
상기 참여 노드는 상기 복사본의 사이즈에 대응하는 인센티브를 제공받는 것인, 분산파일시스템 활용 블록 데이터 매핑 방법.
The method of claim 1,
The participating node is provided with an incentive corresponding to the size of the copy, block data mapping method using a distributed file system.
제1항에 있어서,
상기 (a) 단계에서, 상기 참여 노드는 상기 복사본에 대한 메타데이터를 임시 저장하고,
상기 (b) 단계는,
신규 노드로부터 매핑되지 않은 블록 데이터를 찾기 위한 디스커버 메시지를 상기 신규 노드의 공개키와 함께 수신하면, 상기 참여 노드가 상기 복사본 중 매핑되지 않은 블록 데이터에 상기 공개키로 서명하고 임시 저장한 상기 메타데이터를 상기 신규 노드로 전송하여 매핑하는 단계를 포함하는 것인, 분산파일시스템 활용 블록 데이터 매핑 방법.
The method of claim 1,
In the step (a), the participating node temporarily stores metadata for the copy,
The step (b),
When a discovery message for finding unmapped block data from a new node is received together with the public key of the new node, the participating node signs the unmapped block data among the copies with the public key and temporarily stores the metadata The method comprising the step of mapping by transmitting to the new node, distributed file system utilization block data mapping method.
제5항에 있어서,
서명된 상기 공개키 및 상기 메타데이터에 의해, 상기 신규 노드에게는 상기 신규 노드에게 매핑된 블록 데이터에 관한 정보만이 오픈되는 것인, 분산파일시스템 활용 블록 데이터 매핑 방법.
The method of claim 5,
The method for mapping block data using a distributed file system, wherein only information on block data mapped to the new node is opened to the new node by the signed public key and the metadata.
제1항에 있어서,
(c) 상기 참여 노드가, 상기 블록체인 네트워크에서 탈퇴하는 탈퇴 메시지를 상기 신규 노드로부터 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시키는 단계를 더 포함하는, 분산파일시스템 활용 블록 데이터 매핑 방법.
The method of claim 1,
(c) When the participating node receives the withdrawal message for withdrawing from the blockchain network from the new node, block data mapped to the new node is stored so that the block data mapped to the new node can be mapped to another node. Block data mapping method utilizing a distributed file system further comprising the step of converting to an unmapped state.
제1항에 있어서,
(d) 상기 참여 노드가, 상기 신규 노드에게 매핑되었던 블록 데이터를 상기 신규 노드의 로컬 스토리지에 복사 완료하였다는 복사 완료 메시지를 상기 신규 노드로부터 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시키는 단계를 더 포함하는, 분산파일시스템 활용 블록 데이터 매핑 방법.
The method of claim 1,
(d) When the participating node receives a copy completion message from the new node indicating that the block data mapped to the new node has been copied to the local storage of the new node, the block data mapped to the new node is a different node. The block data mapping method using a distributed file system, further comprising converting the block data mapped to the new node into an unmapped state so that the data can be mapped to the new node.
블록체인 네트워크에서의 블록 데이터 매핑을 위한 노드 장치로서,
로컬 스토리지의 사이즈가 상기 노드 장치의 블록체인 데이터 이외에 분산파일시스템에 포함되는 블록체인 데이터 중 일부를 저장 가능한 것으로 판단되면, 상기 분산파일시스템에 포함되는 블록체인 데이터 중 일부의 복사본을 상기 로컬 스토리지에 저장하여 상기 분산파일시스템의 일부를 이루도록 하는 스토리지 할당부; 및
상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑할 신규 노드를 발견하면, 상기 신규 노드에 상기 복사본 중 매핑되지 않은 블록 데이터의 적어도 일부를 매핑하는 매핑부를 포함하는, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치.
As a node device for mapping block data in a blockchain network,
If the size of the local storage is determined to be capable of storing some of the block chain data included in the distributed file system other than the block chain data of the node device, a copy of some of the block chain data included in the distributed file system is stored in the local storage. A storage allocator configured to store and form a part of the distributed file system; And
Block data mapping utilizing a distributed file system, including a mapping unit for mapping at least a part of unmapped block data among the copies to the new node when a new node to which at least part of unmapped block data is to be mapped is found among the copies. Node device for
제9항에 있어서,
상기 매핑부에 의해, 상기 신규 노드는 상기 매핑되지 않은 블록 데이터의 적어도 일부를 매핑 방식에 의해 소유하게 되고,
상기 매핑 방식에 의해, 상기 신규 노드의 블록 동기화 과정이 생략되는 것을 특징으로 하는, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치.
The method of claim 9,
By the mapping unit, the new node owns at least a part of the unmapped block data by a mapping method,
A node device for mapping block data utilizing a distributed file system, characterized in that the block synchronization process of the new node is omitted by the mapping method.
제9항에 있어서,
상기 스토리지 할당부는, 상기 복사본을 스트라이프 형태로 상기 로컬 스토리지에 저장하는 것인, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치.
The method of claim 9,
The storage allocating unit stores the copy in the local storage in a stripe form, a node device for mapping block data utilizing a distributed file system.
제9항에 있어서,
상기 노드 장치는, 상기 복사본의 사이즈에 대응하는 인센티브를 제공받는 것인, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치.
The method of claim 9,
The node device is to be provided with an incentive corresponding to the size of the copy, the node device for mapping block data utilizing a distributed file system.
제9항에 있어서,
상기 스토리지 할당부는, 상기 복사본에 대한 메타데이터를 임시 저장하고,
상기 매핑부는, 신규 노드로부터 매핑되지 않은 블록 데이터를 찾기 위한 디스커버 메시지를 상기 신규 노드의 공개키와 함께 수신하면, 상기 복사본 중 매핑되지 않은 블록 데이터에 상기 공개키로 서명하고 임시 저장한 상기 메타데이터를 상기 신규 노드로 전송하여 매핑하는 것인, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치.
The method of claim 9,
The storage allocating unit temporarily stores metadata for the copy,
The mapping unit, when receiving a discovery message for finding unmapped block data from a new node together with the public key of the new node, signs the unmapped block data among the copies with the public key and temporarily stores the metadata. The node device for mapping block data using a distributed file system to transmit and map the data to the new node.
제9항에 있어서,
상기 신규 노드로부터, 상기 블록체인 네트워크에서 탈퇴하는 탈퇴 메시지를 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시키는 데이터 관리부를 더 포함하는 것인, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치.
The method of claim 9,
Upon receiving the withdrawal message from the new node to withdraw from the blockchain network, the block data mapped to the new node is converted into an unmapped state so that the block data mapped to the new node can be mapped to another node. The node device for mapping block data utilizing a distributed file system, further comprising a data management unit.
제14항에 있어서,
상기 데이터 관리부는, 상기 신규 노드에게 매핑되었던 블록 데이터를 상기 신규 노드의 로컬 스토리지에 복사 완료하였다는 복사 완료 메시지를 상기 신규 노드로부터 수신하면, 상기 신규 노드에게 매핑되었던 블록 데이터가 다른 노드에게 매핑될 수 있도록 상기 신규 노드에게 매핑되었던 블록 데이터를 매핑되지 않은 상태로 전환시키는 것인, 분산파일시스템 활용 블록 데이터 매핑을 위한 노드 장치.
The method of claim 14,
When the data management unit receives a copy completion message from the new node indicating that the block data mapped to the new node has been copied to the local storage of the new node, the block data mapped to the new node is mapped to another node. A node device for mapping block data using a distributed file system to convert the block data mapped to the new node into an unmapped state so that the node can be mapped.
제1항 내지 제8항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium storing a program for executing the method of claim 1 on a computer.
KR1020190131180A 2019-10-22 2019-10-22 Block chain data mapping method and node device using distributed file system to omit block sync process and to provide remote storage KR102275389B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190131180A KR102275389B1 (en) 2019-10-22 2019-10-22 Block chain data mapping method and node device using distributed file system to omit block sync process and to provide remote storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190131180A KR102275389B1 (en) 2019-10-22 2019-10-22 Block chain data mapping method and node device using distributed file system to omit block sync process and to provide remote storage

Publications (2)

Publication Number Publication Date
KR20210047503A true KR20210047503A (en) 2021-04-30
KR102275389B1 KR102275389B1 (en) 2021-07-08

Family

ID=75740838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190131180A KR102275389B1 (en) 2019-10-22 2019-10-22 Block chain data mapping method and node device using distributed file system to omit block sync process and to provide remote storage

Country Status (1)

Country Link
KR (1) KR102275389B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116643300A (en) * 2023-07-25 2023-08-25 齐鲁空天信息研究院 Satellite navigation data distributed real-time processing method and system based on map mapping

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130118088A (en) * 2012-04-19 2013-10-29 케이티하이텔 주식회사 Distributed file system having multi mds architecture and method for processing data using the same
KR20170010787A (en) * 2014-05-13 2017-02-01 클라우드 크라우딩 코포레이션 Distributed secure data storage and transmission of streaming media content
KR101704702B1 (en) * 2016-04-18 2017-02-08 (주)케이사인 Tagging based personal data de-identification system and de-identification method of personal data
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks
KR101727525B1 (en) * 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof
KR20170137388A (en) * 2016-06-03 2017-12-13 (주) 블록체인오에스 A method for ensuring integrity by using a blockchain technology
JP2018018348A (en) * 2016-07-28 2018-02-01 Kddi株式会社 System for creating block chain, and program
KR20180046078A (en) * 2016-10-27 2018-05-08 삼성에스디에스 주식회사 Database rebalancing method
KR20180085570A (en) * 2017-01-19 2018-07-27 주식회사 케이티 Apparatus for managing data using block chain and method thereof
JP2019003416A (en) * 2017-06-15 2019-01-10 富士通株式会社 Storage control device, control program, and control method
KR101950912B1 (en) * 2016-08-01 2019-02-21 서강대학교산학협력단 Verification system and method for transaction based block chain
KR20190075772A (en) * 2017-12-21 2019-07-01 바스아이디 랩 재팬 컴퍼니 리미티드 AuthenticationSystem Using Block Chain Through Combination of Data after Separating Personal Information
KR20190098752A (en) * 2017-07-14 2019-08-22 알리바바 그룹 홀딩 리미티드 Blockchain based data processing method and device

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130118088A (en) * 2012-04-19 2013-10-29 케이티하이텔 주식회사 Distributed file system having multi mds architecture and method for processing data using the same
KR20170010787A (en) * 2014-05-13 2017-02-01 클라우드 크라우딩 코포레이션 Distributed secure data storage and transmission of streaming media content
KR101704702B1 (en) * 2016-04-18 2017-02-08 (주)케이사인 Tagging based personal data de-identification system and de-identification method of personal data
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks
KR20170137388A (en) * 2016-06-03 2017-12-13 (주) 블록체인오에스 A method for ensuring integrity by using a blockchain technology
JP2018018348A (en) * 2016-07-28 2018-02-01 Kddi株式会社 System for creating block chain, and program
KR101950912B1 (en) * 2016-08-01 2019-02-21 서강대학교산학협력단 Verification system and method for transaction based block chain
KR101727525B1 (en) * 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof
KR20180046078A (en) * 2016-10-27 2018-05-08 삼성에스디에스 주식회사 Database rebalancing method
KR20180085570A (en) * 2017-01-19 2018-07-27 주식회사 케이티 Apparatus for managing data using block chain and method thereof
JP2019003416A (en) * 2017-06-15 2019-01-10 富士通株式会社 Storage control device, control program, and control method
KR20190098752A (en) * 2017-07-14 2019-08-22 알리바바 그룹 홀딩 리미티드 Blockchain based data processing method and device
KR20190075772A (en) * 2017-12-21 2019-07-01 바스아이디 랩 재팬 컴퍼니 리미티드 AuthenticationSystem Using Block Chain Through Combination of Data after Separating Personal Information
KR20190075793A (en) * 2017-12-21 2019-07-01 바스아이디 랩 재팬 컴퍼니 리미티드 Authentication System for Providing Instant Access Using Block Chain

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
de Pedro, Adán Sánchez, Daniele Levi, and Luis Iván Cuende. "Witnet: A decentralized oracle network protocol." arXiv preprint arXiv:1711.09756 (2017.11.27.) 1부. *
Eric Wall, Chainmerger - unifying blockchains after a fork, https://medium.com/@ercwl/chainmerger-unifying-blockchains-after-a-fork-4ccc930907c0 (2017.9.24.) 1부. *
https://medium.com/@kblockresearch/8-ipfs-interplanetary-file-system-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1%EB%B6%80-http-web%EC%9D%84-%EB%84%98%EC%96%B4%EC%84%9C-ipfs-web%EC%9C%BC%EB%A1%9C-46382a2a65 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116643300A (en) * 2023-07-25 2023-08-25 齐鲁空天信息研究院 Satellite navigation data distributed real-time processing method and system based on map mapping
CN116643300B (en) * 2023-07-25 2023-10-10 齐鲁空天信息研究院 Satellite navigation data distributed real-time processing method and system based on map mapping

Also Published As

Publication number Publication date
KR102275389B1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
US10255340B2 (en) Method and apparatus for distributed configuration management
WO2018045820A1 (en) File synchronization method, device, and system
EP3361387A1 (en) Data transmission method, equipment and system
KR101544480B1 (en) Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium
US9864527B1 (en) Distributed data storage management
EP3553647B1 (en) Data write method, apparatus, and system
US9952940B2 (en) Method of operating a shared nothing cluster system
CN105324757A (en) Deduplicated data storage system having distributed manifest
CN110531924A (en) For extending the method and apparatus, storage medium and system of block chain memory capacity
CN109246122A (en) A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement
CN105339929A (en) Selecting a store for deduplicated data
US8934363B2 (en) Managing data transfer in a network environment
CN110569302A (en) method and device for physical isolation of distributed cluster based on lucene
CN109471861A (en) A kind of data distribution formula stocking system based on MySql
KR102275389B1 (en) Block chain data mapping method and node device using distributed file system to omit block sync process and to provide remote storage
CN109407975A (en) Data writing method and calculate node and distributed memory system
US9871863B2 (en) Managing network attached storage
US11061719B2 (en) High availability cluster management of computing nodes
CN107547657A (en) A kind of method, apparatus and storage medium numbered based on one point data in cloud storage system
WO2023207076A1 (en) Method and apparatus for establishing blockchain subnet
CN114338714A (en) Block synchronization method and device, electronic equipment and storage medium
CN116561217A (en) Metadata management system and method
US20220027315A1 (en) Method of synchronous deletion for distributed storage system
CN114338724A (en) Block synchronization method and device, electronic equipment and storage medium
JP5278254B2 (en) Storage system, data storage method and program

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant