WO2023177136A1 - Blockchain data storage method and storage management device for providing service - Google Patents

Blockchain data storage method and storage management device for providing service Download PDF

Info

Publication number
WO2023177136A1
WO2023177136A1 PCT/KR2023/003032 KR2023003032W WO2023177136A1 WO 2023177136 A1 WO2023177136 A1 WO 2023177136A1 KR 2023003032 W KR2023003032 W KR 2023003032W WO 2023177136 A1 WO2023177136 A1 WO 2023177136A1
Authority
WO
WIPO (PCT)
Prior art keywords
blockchain
node
service
data
stored
Prior art date
Application number
PCT/KR2023/003032
Other languages
French (fr)
Korean (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 계명대학교 산학협력단
Publication of WO2023177136A1 publication Critical patent/WO2023177136A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a blockchain data storage method performed by a blockchain data storage management device for storing data by using a blockchain, comprising steps in which: a plurality of nodes included in a blockchain network is clustered by service so as to generate service-specific groups; blockchain nodes included in the service-specific groups are designated as specific nodes on the basis of a predetermined condition; the specific nodes generate a block on the basis of a transaction when the transaction is received from a service user; and blockchain data based on the block is stored in local storage possessed by blockchain nodes included in the service-specific groups. Therefore, latency time and data reliability are ensured by maintaining asynchronously through the local storage maintained in the blockchain node, data stored in the blockchain is stored in the storage divided by service, and a synchronization transaction is generated through a method of agreeing before storing, by node, data in the local storage, and thus reliability can be guaranteed.

Description

서비스 제공을 위한 블록체인 데이터 저장 방법 및 저장 관리장치Blockchain data storage method and storage management device for service provision
본 발명은 서비스 제공을 위한 블록체인 데이터 저장 방법 및 저장 관리장치에 관한 것으로, 보다 상세하게는 노드와 스토리지 간의 지연시간과 데이터 신뢰성이 보장되지 않는 문제점을 해결하기 위한 서비스 제공을 위한 블록체인 데이터 저장 방법 및 저장 장치에 관한 것이다.The present invention relates to a blockchain data storage method and storage management device for service provision. More specifically, blockchain data storage for service provision to solve the problem of delay time between nodes and storage and data reliability not being guaranteed. It relates to a method and storage device.
최근, 비트코인, 이더리움, 리플과 같은 암호화폐의 등장과 함께 블록체인 기술이 각광받고 있다. 블록체인 기술은 P2P 분산 컴퓨팅을 기반으로 데이터의 보안성을 보장하고 투명한 관리를 가능하게 하며 4차 산업 시대의 핵심 기술인 블록체인은 금융, 의료 등 다양한 분야에 적용되는 추세이다. 서버가 데이터를 관리하며 클라이언트에게 서비스를 제공하는 서버-클라이언트 네트워크 모델과 달리 블록체인 네트워크는 서버가 없이 탈중앙화된 구조를 가지며, 각각의 노드가 블록체인 데이터를 저장하고 있어야 네트워크에 참여할 수 있다. Recently, blockchain technology has been in the spotlight with the emergence of cryptocurrencies such as Bitcoin, Ethereum, and Ripple. Blockchain technology ensures data security and enables transparent management based on P2P distributed computing. Blockchain, a core technology of the 4th industrial era, is being applied to various fields such as finance and medicine. Unlike the server-client network model in which servers manage data and provide services to clients, blockchain networks have a decentralized structure without servers, and each node must store blockchain data to participate in the network.
그러나 트랜잭션의 지속적인 발생에 의핸 블록체인 데이터는 점점 증가하기 때문에 블록체인 용량 증가를 방지하기 위해 데이터는 오프체인 스토리지인 외부 분산 저장소 또는 클라우드 저장소에 저장하고 메타데이터만을 블록체인에 온체인으로 저장하는 방법을 사용하고 있다. However, as blockchain data continues to increase due to the continuous occurrence of transactions, in order to prevent an increase in blockchain capacity, the data is stored in off-chain external distributed storage or cloud storage, and only the metadata is stored on-chain in the blockchain. is using .
하지만 블록체인 네트워크가 아닌 외부 분산 저장소나 클라우드 저장소에 데이터를 저장할 경우 데이터에 대한 신뢰성을 보장할 수 없으며 네트워크 지연시간 또한 존재한다는 문제가 있다. However, when data is stored in an external distributed storage or cloud storage rather than a blockchain network, the reliability of the data cannot be guaranteed and network latency also exists.
[선행기술문헌][Prior art literature]
[특허문헌][Patent Document]
(특허문헌 1) 한국등록특허공보 제10-2040170호(Patent Document 1) Korean Patent Publication No. 10-2040170
본 발명은 상기와 같은 문제를 해결하기 위해 안출된 것으로, 본 발명의 목적은 블록체인 데이터 저장을 위한 외부 스토리지를 블록체인 노드에서 유지되는 로컬 스토리지를 통해 비동기적으로 유지하여 지연시간과 데이터 신뢰성을 보장하고, 블록체인에 저장되는 데이터를 서비스별로 나뉘어진 저장소에 저장하며, 데이터를 노드별 로컬 스토리지에 저장하기 전 합의하는 방법을 통해 동기화 트랜잭션을 생성함으로써 신뢰성을 보장할 수 있는 서비스 제공을 위한 블록체인 데이터 저장 방법 및 저장 관리장치를 제공하는 것이다.The present invention was created to solve the above problems, and the purpose of the present invention is to maintain external storage for storing blockchain data asynchronously through local storage maintained in the blockchain node, thereby reducing latency and data reliability. A block to provide a service that guarantees reliability by storing data stored in the blockchain in storage divided by service and creating synchronization transactions through agreement before storing the data in local storage for each node. It provides a chain data storage method and storage management device.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인을 이용하여 데이터를 저장하는 블록체인 데이터 저장 관리장치에 의해 수행되는 블록체인 데이터 저장 방법은, 블록체인 네트워크에 포함된 복수의 노드들을 서비스별로 클러스터링하여 서비스별 그룹을 생성하는 단계; 상기 서비스별 그룹에 포함되는 블록체인 노드들을 일정조건에 기초하여 특정노드로 지정하는 단계; 서비스 유저로부터 트랜잭션을 수신하면 특정노드가 상기 트랜잭션에 기초하여 블록을 생성하는 단계; 및 상기 서비스별 그룹에 포함되는 블록체인 노드들이 보유하는 로컬 스토리지에 상기 블록에 기초한 블록체인 데이터를 저장하는 단계를 포함한다. A blockchain data storage method performed by a blockchain data storage management device that stores data using a blockchain according to an embodiment of the present invention to achieve the above purpose uses a plurality of nodes included in the blockchain network. Clustering by service to create a group by service; Designating blockchain nodes included in the service-specific group as specific nodes based on certain conditions; Upon receiving a transaction from a service user, a specific node generates a block based on the transaction; and storing blockchain data based on the block in local storage held by blockchain nodes included in the service-specific group.
그리고 상기 특정노드로 지정하는 단계에서는, 상기 서비스별 그룹에 포함되는 블록체인 노드들 각각을 서비스 리더노드, 일반 블록체인 노드 및 경량 블록체인 노드 중 하나로 지정할 수 있다. In the step of designating a specific node, each of the blockchain nodes included in the service-specific group can be designated as one of a service leader node, a general blockchain node, and a lightweight blockchain node.
또한 상기 데이터를 저장하는 단계에서, 상기 일반 블록체인 노드가 보유하는 일반 로컬 스토리지에는 상기 블록체인에 연결된 모든 데이터가 저장될 수 있다. Additionally, in the step of storing the data, all data connected to the blockchain can be stored in general local storage held by the general blockchain node.
이때 상기 데이터를 저장하는 단계에서는, 상기 경량 블록체인 노드가 보유하는 경량 로컬 스토리지에는 상기 일반 로컬 스토리지에 저장된 데이터를 어드레싱(addressing)하여 주소값만 저장되도록 할 수 있다. At this time, in the step of storing the data, the data stored in the general local storage can be addressed so that only the address value is stored in the lightweight local storage held by the lightweight blockchain node.
한편 상기 블록을 생성하는 단계에서는, 상기 블록체인 데이터를 저장하는 단계 이전에 업데이트 합의를 완료하기 위하여 상기 서비스 리더노드로 지정된 노드가 상기 일반 블록체인 노드로부터 수신한 정보를 취합 후 상기 수신한 정보가 모두 동일할 경우 동기화 트랜잭션을 생성할 수 있다. Meanwhile, in the step of generating the block, in order to complete the update agreement before the step of storing the blockchain data, the node designated as the service leader node collects the information received from the general blockchain node and then collects the received information. If all are the same, a synchronization transaction can be created.
한편 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인 데이터 저장 관리장치는, 블록체인 네크워크에 포함된 복수의 블록체인 노드를 서비스별로 클러스터링하여 서비스별 그룹을 생성하는 그룹생성부; 상기 서비스별 그룹에 포함되는 블록체인 노드들을 일정조건에 기초하여 특정노드로 지정하는 노드 지정부; 및 서비스 유저로부터 트랜잭션을 수신하면 특정노드가 상기 트랜잭션에 기초하여 블록을 생성하도록 제어하고, 상기 서비스별 그룹에 포함되는 블록체인 노드들이 보유하는 로컬 스토리지에 상기 블록에 기초한 블록체인 데이터가 저장되도록 제어하는 블록 생성부를 포함한다. Meanwhile, a blockchain data storage management device according to an embodiment of the present invention for achieving the above object includes a group generator for creating a group for each service by clustering a plurality of blockchain nodes included in the blockchain network by service; a node designator that designates blockchain nodes included in the service-specific group as specific nodes based on certain conditions; And when a transaction is received from a service user, a specific node is controlled to create a block based on the transaction, and blockchain data based on the block is stored in local storage held by blockchain nodes included in each service group. It includes a block creation unit that does.
여기서 상기 노드 지정부는, 상기 서비스별 그룹에 포함되는 블록체인 노드들 각각을 서비스 리더노드, 일반 블록체인 노드 및 경량 블록체인 노드 중 하나로 지정할 수 있다. Here, the node designator may designate each of the blockchain nodes included in the service-specific group as one of a service leader node, a general blockchain node, and a lightweight blockchain node.
그리고 상기 블록 생성부는, 상기 일반 블록체인 노드가 보유하는 일반 로컬 스토리지에는 블록체인에 저장되는 모든 데이터가 저장되도록 할 수 있다. And the block generator can ensure that all data stored in the blockchain is stored in general local storage held by the general blockchain node.
또한 상기 블록 생성부는, 상기 경량 블록체인 노드가 보유하는 경량 로컬 스토리지에는 상기 일반 로컬 스토리지에 저장된 데이터를 어드레싱(addressing)하여 주소값만 저장되도록 할 수 있다. Additionally, the block generator may address data stored in the general local storage to the lightweight local storage held by the lightweight blockchain node so that only the address value is stored.
그리고 상기 블록 생성부는, 상기 블록체인 데이터를 저장하기 이전에 업데이트 합의를 완료하기 위하여 상기 서비스 리더노드로 지정된 노드가 상기 일반 블록체인 노드로부터 수신한 정보를 취합 후 상기 수신한 정보가 모두 동일할 경우 동기화 트랜잭션을 생성할 수 있다. And the block generator collects the information received from the general blockchain node by the node designated as the service leader node in order to complete the update agreement before storing the blockchain data, and when all of the received information is the same. You can create a synchronization transaction.
상술한 본 발명의 일측면에 따르면, 서비스 제공을 위한 블록체인 데이터 저장 방법 및 저장 관리장치를 제공함으로써, 블록체인 데이터 저장을 위한 외부 스토리지를 블록체인 노드에서 유지되는 로컬 스토리지를 통해 비동기적으로 유지하여 지연시간과 데이터 신뢰성을 보장하고, 블록체인에 저장되는 데이터를 서비스별로 나뉘어진 저장소에 저장하며, 데이터를 노드별 로컬 스토리지에 저장하기 전 합의하는 방법을 통해 동기화 트랜잭션을 생성함으로써 신뢰성을 보장할 수 있다. According to one aspect of the present invention described above, by providing a blockchain data storage method and storage management device for service provision, external storage for blockchain data storage is maintained asynchronously through local storage maintained in the blockchain node. This ensures latency and data reliability, stores data stored in the blockchain in storage divided by service, and ensures reliability by creating a synchronization transaction through agreement before storing the data in local storage for each node. You can.
도 1은 본 발명의 일 실시예에 따른 블록체인 데이터 저장 관리장치(100)의 구성을 설명하기 위한 도면, 1 is a diagram illustrating the configuration of a blockchain data storage management device 100 according to an embodiment of the present invention;
도 2 내지 도 5는 도 1의 블록체인 데이터 저장 관리장치(100)를 통해 블록체인 네트워크에서 블록체인 데이터가 저장되는 과정을 설명하기 위한 도면, 그리고,FIGS. 2 to 5 are diagrams for explaining the process of storing blockchain data in a blockchain network through the blockchain data storage management device 100 of FIG. 1, and
도 6은 본 발명의 일 실시예에 따른 블록체인 데이터 저장 관리방법을 설명하기 위한 흐름도이다. Figure 6 is a flowchart illustrating a blockchain data storage management method according to an embodiment of the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The detailed description of the present invention described below refers to the accompanying drawings, which show by way of example specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be implemented in one embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description that follows is not intended to be taken in a limiting sense, and the scope of the invention is limited only by the appended claims, together with all equivalents to what those claims assert, if properly described. Similar reference numbers in the drawings refer to identical or similar functions across various aspects.
본 발명에 따른 구성요소들은 물리적인 구분이 아니라 기능적인 구분에 의해서 정의되는 구성요소들로서 각각이 수행하는 기능들에 의해서 정의될 수 있다. 각각의 구성요소들은 하드웨어 또는 각각의 기능을 수행하는 프로그램 코드 및 프로세싱 유닛으로 구현될 수 있을 것이며, 두 개 이상의 구성요소의 기능이 하나의 구성요소에 포함되어 구현될 수도 있을 것이다. 따라서 이하의 실시예에서 구성요소에 부여되는 명칭은 각각의 구성요소를 물리적으로 구분하기 위한 것이 아니라 각각의 구성요소가 수행되는 대표적인 기능을 암시하기 위해서 부여된 것이며, 구성요소의 명칭에 의해서 본 발명의 기술적 사상이 한정되지 않는 것임에 유의하여야 한다.The components according to the present invention are components defined by functional division rather than physical division, and can be defined by the functions each performs. Each component may be implemented as hardware or program code and processing units that perform each function, and the functions of two or more components may be included and implemented in one component. Therefore, the names given to the components in the following embodiments are not intended to physically distinguish each component, but are given to suggest the representative function performed by each component, and the names of the components refer to the present invention. It should be noted that the technical idea is not limited.
이하에서는 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른 블록체인 데이터 저장 관리장치(100)의 구성을 설명하기 위한 도면, 그리고 도 2 내지 도 5는 도 1의 블록체인 데이터 저장 관리장치(100)를 통해 블록체인 네트워크에서 블록체인 데이터가 저장되는 과정을 설명하기 위한 도면이다. Figure 1 is a diagram for explaining the configuration of the blockchain data storage management device 100 according to an embodiment of the present invention, and Figures 2 to 5 are block diagrams through the blockchain data storage management device 100 of Figure 1. This is a diagram to explain the process by which blockchain data is stored in a chain network.
본 발명의 블록체인 데이터 저장 관리장치(100, 이하 장치)는 블록체인에 저장되는 데이터에 대한 신뢰성을 보장하는 것은 물론, 네트워크 지연시간을 감소시키기 위해 마련되며, 도면에서 노드(N)들은 컴퓨터, 스마트폰, 서버 등의 단말 기기를 의미할 수 있으며, 이때 노드(N)는 블록체인 네트워크에 연결되는 다른 장치(100)와의 통신을 수행할 수 있다. 그리고 장치(100)는 그룹생성부(110), 노드 지정부(120) 및 블록 생성부(130)를 포함할 수 있다. The blockchain data storage management device 100 (hereinafter referred to as the device) of the present invention is provided to ensure the reliability of data stored in the blockchain as well as reduce network delay time. In the figure, the nodes (N) are computers, It may refer to a terminal device such as a smartphone or server, and in this case, the node (N) can communicate with another device 100 connected to the blockchain network. Additionally, the device 100 may include a group creation unit 110, a node designation unit 120, and a block creation unit 130.
이때 장치(100)는 도면에는 미도시되었으나 그룹생성부(110), 노드 지정부(120) 및 블록 생성부(130)가 동작함에 있어 필요한 저장공간을 제공하며, 각종 정보가 저장되는 저장부 및 네트워크를 통해 외부와 각종 정보를 송수신하기 위한 통신부를 더 포함할 수 있다. 그리고 장치(100)는 블록체인 네트워크에 포함되는 복수의 노드들(N)을 제어하여 블록체인 데이터 저장 관리방법을 수행하기 위한 소프트웨어(어플리케이션)가(이) 설치되어 실행될 수 있다.At this time, the device 100, although not shown in the drawing, provides storage space necessary for the operation of the group creation unit 110, node designation unit 120, and block creation unit 130, and a storage unit where various information is stored. It may further include a communication unit for transmitting and receiving various types of information with the outside world through a network. In addition, the device 100 may install and execute software (application) for performing a blockchain data storage management method by controlling a plurality of nodes (N) included in the blockchain network.
그리고 노드(N)들은 사용자(U)의 명령에 따라 트랜잭션을 생성할 수 있다. 여기서 사용자(U)의 명령은 사용자 등록, 등록된 사용자 정보의 수정, 거래 요청, 입금 요청, 출금 요청 등 블록체인 합의 시스템에서 발생할 수 있는 다양한 요청을 의미할 수 있다. And nodes (N) can create transactions according to the commands of the user (U). Here, the user's (U) command may refer to various requests that can occur in the blockchain consensus system, such as user registration, modification of registered user information, transaction request, deposit request, and withdrawal request.
이에 따라 트랜잭션은 사용자 등록에 요구되는 정보, 수정되도록 입력된 사용자 정보, 거래를 요청하는 거래자들의 정보, 거래 내용, 금액 등의 사용자 명령에 따라 요구되는 다양한 정보들을 포함할 수 있다. Accordingly, a transaction may include various information required according to a user command, such as information required for user registration, user information entered to be modified, information on traders requesting a transaction, transaction details, and amount.
따라서 노드(N)는 사용자(U)로부터 입력되는 사용자 정보를 블록체인 네트워크에 등록된 사용자 정보와 비교하여 인증을 수행할 수 있으며 이를 통해 노드(N)들은 블록체인 네트워크에 연결되어 사용자의 명령에 따른 트랜잭션을 생성할 수 있다. Therefore, the node (N) can perform authentication by comparing the user information input from the user (U) with the user information registered in the blockchain network. Through this, the nodes (N) are connected to the blockchain network and respond to the user's commands. You can create transactions accordingly.
그리고 이러한 블록체인 네트워크의 노드(N)는 트랜잭션에 포함될 데이터 생성 및 트랜잭션의 생성과 전파를 수행하고, 블록체인의 저장, 블록의 생성 및 전파 등의 작업을 수행할 수 있다. 본 발명의 장치(100)는 다수의 서비스 제공자가 블록체인 네트워크에 참가하여 각 환경에서 발생하는 데이터가 같은 블록체인에 저장되도록 하며, 각각의 서비스 제공자들은 각각 블록체인 노드(N)와 로컬 스토리지(DB)를 구비할 수 있다. And the nodes (N) of this blockchain network can perform tasks such as generating data included in transactions, creating and disseminating transactions, storing blockchains, and creating and disseminating blocks. The device 100 of the present invention allows multiple service providers to participate in a blockchain network so that data generated in each environment is stored in the same blockchain, and each service provider has a blockchain node (N) and a local storage (N). DB) can be provided.
이를 위해 먼저 그룹생성부(110)는 블록체인 네크워크에 포함된 복수의 블록체인 노드(N)를 서비스별(A, B, C)로 클러스터링하여 서비스별 그룹(G1, G2, G3)을 생성할 수 있다. To this end, the group creation unit 110 first clusters a plurality of blockchain nodes (N) included in the blockchain network into services (A, B, C) to create groups (G1, G2, G3) for each service. You can.
노드 지정부(120)는 그룹생성부(110)에서 생성된 서비스별 그룹(G1, G2, G3)에 포함되는 블록체인 노드들(N)을 일정조건에 기초하여 특정노드(N110, N120, N130)로 지정하기 위해 마련될 수 있다. The node designation unit 120 selects the blockchain nodes (N) included in the service-specific groups (G1, G2, G3) created in the group creation unit 110 into specific nodes (N110, N120, N130) based on certain conditions. ) can be prepared to designate.
이때 복수의 블록체인 노드들(N110, N120, N130)은, 도 2에 도시된 바와 같이 데이터가 저장되는 복수의 로컬 스토리지(DB)를 보유하되, 제공하는 서비스별로 각각의 로컬 스토리지(DB)를 보유할 수 있다. 이러한 로컬 스토리지(DB)는 일반 로컬 스토리지(DB110) 및 경량 로컬 스토리지(DB120)를 포함할 수 있다. At this time, the plurality of blockchain nodes (N110, N120, N130) have a plurality of local storages (DBs) where data is stored as shown in FIG. 2, and each local storage (DB) is stored for each service provided. It can be held. Such local storage (DB) may include regular local storage (DB110) and lightweight local storage (DB120).
그리고 노드 지정부(120)는 서비스별 그룹(G1, G2, G3)에 포함되는 블록체인 노드(N)들 각각을 서비스 리더노드(N110), 일반 블록체인 노드(N120) 및 경량 블록체인 노드(N130) 중 하나로 지정할 수 있다. And the node designator 120 divides each of the blockchain nodes (N) included in the service-specific groups (G1, G2, G3) into a service leader node (N110), a general blockchain node (N120), and a lightweight blockchain node ( N130) can be specified as one of the following.
여기서 일반 블록체인 노드(N120)는 블록체인 네트워크에 참여하는 노드로 같은 블록체인을 저장하며 도 3 내지 도 5에 도시된 바와 같이 사용하는 서비스마다 다른 로컬 스토리지를 보유할 수 있다. 그리고 일반 블록체인 노드(N120)에 구비된 로컬 스토리지(DB)는 일반 로컬 스토리지(DB110)로 지정되고, 이러한 일반 로컬 스토리지(DB110)에는 서비스에서 저장할 모든 데이터가 저장될 수 있다. Here, the general blockchain node (N120) is a node participating in the blockchain network and stores the same blockchain, and can have different local storage for each service used, as shown in Figures 3 to 5. And the local storage (DB) provided in the general blockchain node (N120) is designated as general local storage (DB110), and all data to be stored in the service can be stored in this general local storage (DB110).
한편 서비스 리더노드(N110)는 서비스에서 데이터 저장을 위한 요청을 처리하는 역할을 하며, 트랜잭션을 전파 받은 후 저장할 데이터를 분배하고 동기화하는 역할을 할 수 있으며, 별도의 로컬 스토리지(DB)를 구비하지 않을 수 있다. Meanwhile, the service leader node (N110) is responsible for processing requests for data storage in the service, and can play a role in distributing and synchronizing data to be stored after receiving transactions, and does not have a separate local storage (DB). It may not be possible.
그리고 서비스 리더노드(N110)는 도면에서와 같이 게이트웨이(gateway])로써 트랜잭션을 전파 및 취합하여 서비스별로 다른 로컬 스토리지 네트워크를 유지하도록 할 수 있다. And, as shown in the figure, the service leader node (N110) can maintain different local storage networks for each service by disseminating and collecting transactions as a gateway.
이러한 서비스 리더노드(N110)는 블록체인 스마트 컨트랙트(contract)를 통해서 제공하고자 하는 서비스를 위해 생성한 노드일수도 있고, 컨트랙트에서 특정 노드를 허용하여 해당 노드를 서비스 리더노드(N110)로 지정할 수도 있다. 또는 서비스별 그룹(G1, G2, G3)을 생성하고, 해당 그룹에 포함되는 노드들 중 하나가 랜덤으로 생성될 수 있으나 꼭 이에 한정되는 것은 아니다. This service leader node (N110) may be a node created for the service to be provided through a blockchain smart contract, or the contract may allow a specific node and designate that node as the service leader node (N110). . Alternatively, a group (G1, G2, G3) may be created for each service, and one of the nodes included in the group may be randomly generated, but is not limited to this.
그리고 경량 블록체인 노드(N130-1, N130-2, N130-3)는 로컬 스토리지(DB)에 데이터를 저장하지 않고 어드레싱(addressing)된 데이터만을 저장하여 용량을 경량화하는 노드일 수 있다. 그리고 이러한 경량 블록체인 노드(N130)에 구비된 로컬 스토리지(DB)는 경량 로컬 스토리지(DB120)로 지정되고, 경량 로컬 스토리지(DB120)에는 일반 로컬 스토리지(DB110)에 저장된 데이터를 어드레싱하여 주소값만을 저장할 수 있다. And the lightweight blockchain nodes (N130-1, N130-2, N130-3) may be nodes that reduce capacity by storing only addressed data rather than storing data in local storage (DB). And the local storage (DB) provided in this lightweight blockchain node (N130) is designated as lightweight local storage (DB120), and data stored in general local storage (DB110) is addressed to lightweight local storage (DB120), and only the address value is stored in lightweight local storage (DB120). You can save it.
따라서 경량 블록체인 노드(N130-1, N130-2, N130-3)는 모든 데이터를 가지고 있지 않더라도, 주소값만 가지고 있는 경량 로컬 스토리지(DB120)를 통해 다른 노드에 접속할 수 있다. Therefore, even if lightweight blockchain nodes (N130-1, N130-2, N130-3) do not have all the data, they can access other nodes through lightweight local storage (DB120), which only has address values.
이때 노드 지정부(120)가 블록체인 노드(N)에 구비된 로컬 스토리지(DB)의 용량에 기초하여 해당 서비스에 대응하는 로컬 스토리지(DB)의 저장 용량이 사전에 설정된 용량보다 적으면 사전에 설정된 용량보다 적어지는 시점 이후에 경량 블록체인 노드(N130-1, N130-2, N130-3)로 지정되도록 할 수 있다. At this time, the node designator 120 determines in advance if the storage capacity of the local storage (DB) corresponding to the service is less than the preset capacity based on the capacity of the local storage (DB) provided in the blockchain node (N). After the point where the capacity falls below the set capacity, it can be designated as a lightweight blockchain node (N130-1, N130-2, N130-3).
물론 노드 지정부(120)가 경량 블록체인 노드(N130-1, N130-2, N130-3)를 지정하는 방식이 꼭 상술한 방식에 한정되는 것은 아니며, 다른 실시예에 따라 또는 노드 지정부(120)는 이상의 방법과 달리 블록체인 네트워크에 참여하는 블록체인 노드들(N) 중에 서비스별 그룹(G1, G2, G3) 내에서 일정 비율 또는 일정 개수만큼의 노드를 처음부터 무작위로 경량 블록체인 노드(N130)로 지정할 수도 있다. Of course, the method by which the node designator 120 designates lightweight blockchain nodes (N130-1, N130-2, N130-3) is not necessarily limited to the method described above, and may be used according to other embodiments or by the node designator ( 120), unlike the above method, randomly selects a certain percentage or a certain number of nodes from the beginning within each service group (G1, G2, G3) among the blockchain nodes (N) participating in the blockchain network as lightweight blockchain nodes. It can also be specified as (N130).
도 3을 참고하면 제1 그룹(G1)에 포함된 제2 일반 블록체인 노드(N120-2) 및 제3 일반 블록체인 노드(N120-3)가 제2 그룹(G2)에 포함된 제4 일반 블록체인 노드(N120-4)와 연결되어 있듯이 서로 다른 서비스별 그룹에 포함된 노드들끼리 연결된 것은 노드들끼리 P2P 네트워크를 통해 연결된 것을 의미할 수 있다. Referring to Figure 3, the second general blockchain node (N120-2) and the third general blockchain node (N120-3) included in the first group (G1) are the fourth general blockchain node included in the second group (G2). As connected to the blockchain node (N120-4), the connection between nodes included in different service groups may mean that the nodes are connected through a P2P network.
블록 생성부(130)는 서비스 유저(U)로부터 트랜잭션(예를 들어, 데이터 수정 요청)을 수신하면 특정노드가 트랜잭션에 기초하여 블록을 생성하도록 제어할 수 있고, 서비스별 그룹(G1, G2, G3)에 포함되는 블록체인 노드들(N)이 보유하는 로컬 스토리지(DB)에 블록에 기초한 블록체인 데이터가 저장되도록 제어할 수 있다. When the block generator 130 receives a transaction (e.g., a data modification request) from a service user (U), it can control a specific node to generate a block based on the transaction, and can control the service-specific groups (G1, G2, It is possible to control block-based blockchain data to be stored in local storage (DB) held by blockchain nodes (N) included in G3).
이러한 블록 생성부(130)는, 일반 블록체인 노드(N120)가 보유하는 일반 로컬 스토리지(DB110)에는 블록체인에 저장되는 모든 블록체인 데이터가 저장되도록 할 수 있다. 그리고 블록 생성부(130)는, 경량 블록체인 노드(N130)가 보유하는 경량 로컬 스토리지(DB120)에는 일반 로컬 스토리지(DB110)에 저장된 데이터를 어드레싱(addressing)하여 주소값만 저장되도록 할 수 있다. This block generator 130 can ensure that all blockchain data stored in the blockchain is stored in the general local storage (DB110) held by the general blockchain node (N120). And the block generator 130 can address the data stored in the general local storage (DB110) to the lightweight local storage (DB120) held by the lightweight blockchain node (N130) so that only the address value is stored.
또한 블록 생성부(130)는 블록 체인 데이터를 저장하기 이전에 업데이트 합의를 완료하기 위하여 서비스 리더노드(N110)로 지정된 노드가 동일한 서비스별 그룹에 포함되는 일반 블록체인 노드(N120)들로부터 수신한 정보를 취합한 후 그룹 내 복수의 일반 블록체인 노드들(N120)로부터 수신한 정보가 모두 동일할 경우에 도면에서와 같이 동기화 트랜잭션을 생성할 수 있다. In addition, in order to complete the update agreement before storing the blockchain data, the block generator 130 receives data from the general blockchain nodes (N120) included in the same service-specific group by the node designated as the service leader node (N110). After collecting the information, if the information received from multiple general blockchain nodes (N120) in the group is all the same, a synchronization transaction can be created as shown in the figure.
이하에서는 도 3 내지 도 5를 참고하여 보다 구체적으로 장치(100)를 통해 블록체인 네트워크 상에서 각 노드들이 데이터 합의 및 블록을 추가하여 로컬 스토리지(DB)에 저장하는 과정에 대해 설명하기로 한다. Hereinafter, with reference to FIGS. 3 to 5, the process in which each node agrees on data and adds blocks on a blockchain network through the device 100 and stores them in local storage (DB) will be described in more detail.
그룹생성부(110) 및 노드 지정부(120)를 통해 그룹 생성 및 노드 지정이 완료되면 블록 생성부(130)는 서비스 A를 사용하는 유저(U)가 도 3에 도시된 바와 같이 키 값으로 유저(U)를 식별할 수 있는 유저(U)의 아이디와 함께 값을 b로 수정하고자 하는 데이터 수정 요청, 즉 트랜잭션을 수신하면 리더노드(N110-1)가 저장할 데이터를 제1 그룹(G1)의 일반 블록체인 노드(N120-1, N120-2, N120-3)들에게 분배하고, 리더노드(N110-1)가 로컬 스토리지 업데이트를 위한 동기화 트랜잭션을 생성하도록 할 수 있다. When group creation and node designation are completed through the group creation unit 110 and the node designation unit 120, the block creation unit 130 allows the user (U) using service A to use the key value as shown in FIG. 3. When receiving a data modification request to change the value to b, along with the ID of the user (U) that can identify the user (U), that is, a transaction, the leader node (N110-1) stores the data to be stored in the first group (G1). It can be distributed to general blockchain nodes (N120-1, N120-2, N120-3) and have the leader node (N110-1) create a synchronization transaction for local storage update.
구체적으로 도 3과 같이 제1 그룹(G1)에 포함된 서비스 리더노드(N110-1)가 유저(U)로부터 수신한 트랜잭션을 제1 그룹(G1) 내에 위치한 제1 내지 제3 블록체인 노드(N120-1~N120-3)로 전파할 수 있다. Specifically, as shown in Figure 3, the service leader node (N110-1) included in the first group (G1) transmits the transaction received from the user (U) to the first to third blockchain nodes located in the first group (G1) ( It can spread to N120-1~N120-3).
그러면 제1 내지 제3 블록체인 노드(N120-1~N120-3)가 서비스 리더노드(N110)로부터 수신한 트랜잭션 내 커맨드(command)를 실행한 후 도 4의 ①과 같이 결과들을 제1 그룹(G1)의 제1 서비스 리더노드(N110-1)가 취합한 후, 결과가 모두 같을 경우 ②처럼 동기화 트랜잭션을 생성하고, 이렇게 생성된 동기화 트랜잭션을 제1 그룹(G1)의 모든 일반 블록체인 노드(N120-1~N120-3)에게 전파하도록 할 수 있다. Then, after the first to third blockchain nodes (N120-1 to N120-3) execute the commands in the transaction received from the service leader node (N110), the results are sent to the first group ( After the first service leader node (N110-1) of G1) collects, if the results are all the same, a synchronization transaction is created as in ②, and the synchronization transaction thus created is sent to all general blockchain nodes (G1) of the first group (G1). It can be spread to N120-1~N120-3).
이렇게 생성된 동기화 트랜잭션은 도면에서와 같이 로컬 스토리지 업데이트에 대한 메타데이터, 업데이트 합의에 참여한 노드 정보 및 서비스 그룹의 서비스 리더노드(N110)의 서명을 포함할 수 있다. As shown in the figure, the synchronization transaction created in this way may include metadata about the local storage update, information about nodes participating in the update agreement, and the signature of the service leader node (N110) of the service group.
그리고 블록 생성부(130)는 블록체인 네트워크에 존재하는 다른 노드들(N110, N120, N130) 중에서 블록 생성 노드를 랜덤으로 선정하고, 선정된 노드가 동기화 트랜잭션들이 포함된 블록이 생성되도록 제어하고, 생성된 블록이 전파되어 기록이 되도록 할 수 있다. 도면에서는 제3 그룹(G3)의 제3 서비스 리더노드(N110-3)가 동기화 트랜잭션을 수신하고, 이에 기초하여 제3 서비스 리더노드(N110-3)가 블록을 생성하는 것으로 도시되었으나, 이는 설명의 편의를 위한 예시적인 사항일 뿐 이에 한정되는 것은 아니다. 그리고 이렇게 생성된 블록에는 도면에서와 같이 해시, 이전블록 해시와 동기화 트랜잭션을 포함될 수 있다. And the block generator 130 randomly selects a block generation node among other nodes (N110, N120, and N130) existing in the blockchain network, and controls the selected node to generate a block containing synchronization transactions, The created block can be propagated and recorded. In the drawing, the third service leader node (N110-3) of the third group (G3) is shown receiving a synchronization transaction and generating a block based on this, but this is not explained in detail. This is only an example for convenience and is not limited thereto. And the block created in this way can include a hash, previous block hash, and synchronization transaction as shown in the drawing.
또한 블록 생성부(130)는 블록 내 서비스에 포함되는 노드가 실행한 커맨드(command) 결과를 도 5의 ③에서와 같이 로컬 스토리지(DB110)에 유지하도록 할 수 있다. 한편 그리고 블록 생성부(130)는 제1 그룹(G1)에 포함되는 경량 로컬 스토리지(DB120)에는 업데이트 합의에 참여한 노드의 주소값이 저장되도록 할 수 있고, 블록체인에는 메타 데이터만을 저장하도록 할 수 있다. Additionally, the block generator 130 may maintain the results of commands executed by nodes included in services within the block in the local storage (DB110) as shown in ③ of FIG. 5. Meanwhile, the block generator 130 can store the address values of nodes participating in the update agreement in the lightweight local storage (DB120) included in the first group (G1), and store only metadata in the blockchain. there is.
이를 통해 본 발명의 장치(100)는 블록체인에 저장되는 데이터를 노드별 로컬 스토리지에 저장하기 위해 서비스별로 나뉘어진 저장소에 데이터(텍스트, 파일 등)을 저장할 수 있고, 로컬 스토리지에 저장하기 전 합의하는 과정을 통해 동기화 트랜잭션을 생성함으로서 신뢰성을 보장할 수 있게 된다. Through this, the device 100 of the present invention can store data (text, files, etc.) in storage divided by service in order to store data stored in the blockchain in local storage for each node, and reach an agreement before storing it in local storage. Through this process, reliability can be guaranteed by creating a synchronization transaction.
도 6은 본 발명의 일 실시예에 따른 블록체인 데이터 저장 관리방법을 설명하기 위한 흐름도로써, 본 발명의 일 실시예에 따른 블록체인 데이터 저장 관리방법은 도 1 내지 도 5에 도시된 블록체인 데이터 저장 관리장치(100)와 실질적으로 동일한 구성 상에서 진행되므로, 블록체인 데이터 저장 관리장치(100, 이하 장치)와 동일한 구성요소에 대해 동일한 도면 부호를 부여하고, 반복되는 설명은 생략하기로 한다. FIG. 6 is a flowchart for explaining a blockchain data storage management method according to an embodiment of the present invention. The blockchain data storage management method according to an embodiment of the present invention includes the blockchain data shown in FIGS. 1 to 5. Since it is carried out on substantially the same configuration as the storage management device 100, the same reference numerals are assigned to the same components as the blockchain data storage management device 100 (hereinafter referred to as the device), and repeated descriptions are omitted.
장치(100)는 서비스 제공자가 제공하는 서비스별(A, B, C)로 복수의 블록체인 노드를 클러스터링하여 서비스별 그룹(G1, G2, G3)을 생성할 수 있다(S110). The device 100 can cluster a plurality of blockchain nodes by service (A, B, C) provided by the service provider to create groups (G1, G2, G3) by service (S110).
그리고 서비스별 그룹에 포함되는 블록체인 노드들을 일정조건에 기초하여 특정노드로 지정할 수 있다(S130). Additionally, blockchain nodes included in each service group can be designated as specific nodes based on certain conditions (S130).
상기 특정노드로 지정하는 단계(S130)에서는, 서비스별 그룹에 포함되는 블록체인 노드들(N) 각각을 서비스 리더노드(N110), 일반 블록체인 노드(N120) 및 경량 블록체인 노드(N130) 중 하나로 지정할 수 있다. In the step of designating the specific node (S130), each of the blockchain nodes (N) included in the service-specific group is selected from among the service leader node (N110), general blockchain node (N120), and lightweight blockchain node (N130). You can specify one.
이후 서비스 유저로부터 트랜잭션(예를 들어, 데이터 수정 요청)을 수신하면 특정노드가 트랜잭션에 기초하여 블록을 생성하도록 제어할 수 있다(S150), 이러한 트랜잭션에 기초하여 블록을 생성하도록 제어하는 단계(S150)에서는 블록체인 데이터를 저장하는 단계(S170) 이전에 업데이트 합의를 완료하기 위하여 서비스 리더노드(N110)로 지정된 노드가 일반 블록체인 노드(N120)로부터 수신한 정보를 취합한 후 수신한 정보가 모두 동일할 경우 동기화 트랜잭션을 생성할 수 있다. 이는 블록체인 네트워크가 아닌 외부 분산 파일 저장소 또는 클라우드 저장소에 데이터를 저장할 경우, 데이터에 대한 신뢰성을 보장할 수 없는 문제를 해결하기 위함이다. 본 발명에서는 블록체인에 저장되는 데이터를 노드별 로컬 스토리지에 저장하기 전에 합의하는 방법을 통해 동기화 트랜잭션을 생성함으로써 신뢰성을 보장할 수 있다. Afterwards, when a transaction (for example, a data modification request) is received from a service user, a specific node can be controlled to create a block based on the transaction (S150), and a step of controlling to create a block based on this transaction (S150) ), in order to complete the update agreement before the step of storing blockchain data (S170), the node designated as the service leader node (N110) collects the information received from the general blockchain node (N120), and then all the received information is collected. If they are identical, a synchronization transaction can be created. This is to solve the problem that data reliability cannot be guaranteed when data is stored in an external distributed file storage or cloud storage rather than a blockchain network. In the present invention, reliability can be guaranteed by creating a synchronization transaction through a method of agreeing before storing data stored in the blockchain in local storage for each node.
그리고 서비스별 그룹에 포함되는 블록체인 노드들(N120)이 보유하는 로컬 스토리지(DB110)에 블록에 기초한 블록체인 데이터를 저장할 수 있다(S170). And block-based blockchain data can be stored in local storage (DB110) held by blockchain nodes (N120) included in each service group (S170).
이러한 블록체인 데이터를 저장하는 단계(S170)에서는 일반 블록체인 노드(N120)가 보유하는 일반 로컬 스토리지(DB110)에는 블록체인에 연결된 모든 데이터가 저장되도록 할 수 있다. In the step of storing such blockchain data (S170), all data connected to the blockchain can be stored in the general local storage (DB110) held by the general blockchain node (N120).
또한 블록체인 데이터를 저장하는 단계(S170)에서는 경량 블록체인 노드(N130)가 보유하는 경량 로컬 스토리지(DB120)에는 일반 로컬 스토리지(DB110)에 저장된 데이터를 어드레싱하여 주소값만 저장되도록 할 수 있다. In addition, in the step of storing blockchain data (S170), the data stored in general local storage (DB110) can be addressed to the lightweight local storage (DB120) held by the lightweight blockchain node (N130) so that only the address value is stored.
이를 통해 본 발명에 따른 블록체인 데이터 저장 방법은 노드와 스토리지 간의 지연시간이 발생하는 문제를 해결할 수 있게 된다. Through this, the blockchain data storage method according to the present invention can solve the problem of delay time between nodes and storage.
이와 같은 본 발명의 블록체인 데이터 저장 방법은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. The blockchain data storage method of the present invention can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present invention, or may be known and usable by those skilled in the computer software field.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the invention and vice versa.
이상에서는 본 발명의 다양한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.Although various embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and may be used in the technical field to which the invention pertains without departing from the gist of the invention as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical idea or perspective of the present invention.
[부호의 설명][Explanation of symbols]
100 : 블록체인 데이터 저장 관리장치 110 : 그룹 생성부 100: Blockchain data storage management device 110: Group creation unit
120 : 노드 지정부 130 : 블록 생성부120: node designation unit 130: block generation unit
N110 : 리더노드 N120 : 일반 블록체인 노드 N110: Leader node N120: General blockchain node
N130 : 경량 블록체인 노드 DB110 : 로컬 스토리지 N130: Lightweight blockchain node DB110: Local storage
DB120 : 경량 로컬 스토리지 U : 서비스 유저DB120: Lightweight local storage U: Service user

Claims (10)

  1. 블록체인을 이용하여 데이터를 저장하는 블록체인 데이터 저장 관리장치에 의해 수행되는 블록체인 데이터 저장 방법에 있어서, In the blockchain data storage method performed by a blockchain data storage management device that stores data using blockchain,
    블록체인 네트워크에 포함된 복수의 노드들을 서비스별로 클러스터링하여 서비스별 그룹을 생성하는 단계; Clustering a plurality of nodes included in the blockchain network by service to create a group by service;
    상기 서비스별 그룹에 포함되는 블록체인 노드들을 일정조건에 기초하여 특정노드로 지정하는 단계; Designating blockchain nodes included in the service-specific group as specific nodes based on certain conditions;
    서비스 유저로부터 트랜잭션을 수신하면 특정노드가 상기 트랜잭션에 기초하여 블록을 생성하는 단계; 및Upon receiving a transaction from a service user, a specific node generates a block based on the transaction; and
    상기 서비스별 그룹에 포함되는 블록체인 노드들이 보유하는 로컬 스토리지에 상기 블록에 기초한 블록체인 데이터를 저장하는 단계를 포함하는 블록체인 데이터 저장 방법. A blockchain data storage method comprising storing blockchain data based on the block in local storage held by blockchain nodes included in the service-specific group.
  2. 제1항에 있어서, According to paragraph 1,
    상기 특정노드로 지정하는 단계에서는, In the step of designating the specific node,
    상기 서비스별 그룹에 포함되는 블록체인 노드들 각각을 서비스 리더노드, 일반 블록체인 노드 및 경량 블록체인 노드 중 하나로 지정하는 것을 특징으로 하는 블록체인 데이터 저장 방법. A blockchain data storage method characterized by designating each of the blockchain nodes included in the service-specific group as one of a service leader node, a general blockchain node, and a lightweight blockchain node.
  3. 제2항에 있어서, According to paragraph 2,
    상기 데이터를 저장하는 단계에서, In the step of storing the data,
    상기 일반 블록체인 노드가 보유하는 일반 로컬 스토리지에는 상기 블록체인에 연결된 모든 데이터가 저장되는 것을 특징으로 하는 블록체인 데이터 저장 방법. A blockchain data storage method, characterized in that all data connected to the blockchain is stored in general local storage held by the general blockchain node.
  4. 제3항에 있어서, According to paragraph 3,
    상기 데이터를 저장하는 단계에서는, In the step of storing the data,
    상기 경량 블록체인 노드가 보유하는 경량 로컬 스토리지에는 상기 일반 로컬 스토리지에 저장된 데이터를 어드레싱(addressing)하여 주소값만 저장되도록 하는 것을 특징으로 하는 블록체인 데이터 저장 방법. A blockchain data storage method characterized by addressing the data stored in the general local storage so that only the address value is stored in the lightweight local storage held by the lightweight blockchain node.
  5. 제2항에 있어서, According to paragraph 2,
    상기 블록을 생성하는 단계에서는, In the step of creating the block,
    상기 블록체인 데이터를 저장하는 단계 이전에 업데이트 합의를 완료하기 위하여 상기 서비스 리더노드로 지정된 노드가 상기 일반 블록체인 노드로부터 수신한 정보를 취합 후 상기 수신한 정보가 모두 동일할 경우 동기화 트랜잭션을 생성하는 것을 특징으로 하는 블록체인 데이터 저장 방법. In order to complete the update agreement before the step of storing the blockchain data, the node designated as the service leader node collects the information received from the general blockchain node and then creates a synchronization transaction if all of the received information is the same. A blockchain data storage method characterized by:
  6. 블록체인 네크워크에 포함된 복수의 블록체인 노드를 서비스별로 클러스터링하여 서비스별 그룹을 생성하는 그룹생성부;A group creation unit that clusters a plurality of blockchain nodes included in the blockchain network by service to create a group by service;
    상기 서비스별 그룹에 포함되는 블록체인 노드들을 일정조건에 기초하여 특정노드로 지정하는 노드 지정부; 및a node designator that designates blockchain nodes included in the service-specific group as specific nodes based on certain conditions; and
    서비스 유저로부터 트랜잭션을 수신하면 특정노드가 상기 트랜잭션에 기초하여 블록을 생성하도록 제어하고, 상기 서비스별 그룹에 포함되는 블록체인 노드들이 보유하는 로컬 스토리지에 상기 블록에 기초한 블록체인 데이터가 저장되도록 제어하는 블록 생성부를 포함하는 블록체인 데이터 저장 관리장치. When a transaction is received from a service user, a specific node is controlled to create a block based on the transaction, and blockchain data based on the block is stored in local storage held by blockchain nodes included in each service group. A blockchain data storage management device that includes a block generation unit.
  7. 제6항에 있어서, According to clause 6,
    상기 노드 지정부는, The node designator,
    상기 서비스별 그룹에 포함되는 블록체인 노드들 각각을 서비스 리더노드, 일반 블록체인 노드 및 경량 블록체인 노드 중 하나로 지정하는 것을 특징으로 하는 블록체인 데이터 저장 관리장치.A blockchain data storage management device characterized in that each of the blockchain nodes included in the service-specific group is designated as one of a service leader node, a general blockchain node, and a lightweight blockchain node.
  8. 제7항에 있어서, In clause 7,
    상기 블록 생성부는, The block generator,
    상기 일반 블록체인 노드가 보유하는 일반 로컬 스토리지에는 블록체인에 저장되는 모든 데이터가 저장되도록 하는 것을 특징으로 하는 블록체인 데이터 저장 관리장치.A blockchain data storage management device characterized in that all data stored in the blockchain is stored in general local storage held by the general blockchain node.
  9. 제8항에 있어서, According to clause 8,
    상기 블록 생성부는, The block generator,
    상기 경량 블록체인 노드가 보유하는 경량 로컬 스토리지에는 상기 일반 로컬 스토리지에 저장된 데이터를 어드레싱(addressing)하여 주소값만 저장되도록 하는 것을 특징으로 하는 블록체인 데이터 저장 관리장치.A blockchain data storage management device characterized in that only the address value is stored in the lightweight local storage held by the lightweight blockchain node by addressing the data stored in the general local storage.
  10. 제7항에 있어서, In clause 7,
    상기 블록 생성부는, The block generator,
    상기 블록체인 데이터를 저장하기 이전에 업데이트 합의를 완료하기 위하여 상기 서비스 리더노드로 지정된 노드가 상기 일반 블록체인 노드로부터 수신한 정보를 취합 후 상기 수신한 정보가 모두 동일할 경우 동기화 트랜잭션을 생성하는 것을 특징으로 하는 블록체인 데이터 저장 관리장치. In order to complete update agreement before storing the blockchain data, the node designated as the service leader node collects the information received from the general blockchain node and then creates a synchronization transaction if all the received information is the same. Characteristics of a blockchain data storage management device.
PCT/KR2023/003032 2022-03-14 2023-03-06 Blockchain data storage method and storage management device for providing service WO2023177136A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220031191A KR20230134196A (en) 2022-03-14 2022-03-14 Blockchain data storage method and storage management device for service provision
KR10-2022-0031191 2022-03-14

Publications (1)

Publication Number Publication Date
WO2023177136A1 true WO2023177136A1 (en) 2023-09-21

Family

ID=88023961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/003032 WO2023177136A1 (en) 2022-03-14 2023-03-06 Blockchain data storage method and storage management device for providing service

Country Status (2)

Country Link
KR (1) KR20230134196A (en)
WO (1) WO2023177136A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164831A1 (en) * 2010-12-23 2014-06-12 Mongodb, Inc. Method and apparatus for maintaining replica sets
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
JP2020017948A (en) * 2018-07-26 2020-01-30 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Application realization method based on block chain network, apparatus, device, and storage medium
KR20200113155A (en) * 2019-03-21 2020-10-06 알리바바 그룹 홀딩 리미티드 Data isolation in blockchain networks
KR102230471B1 (en) * 2019-12-26 2021-03-23 주식회사 록스307 Method of generating group proof for efficient transaction on blockchain network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102040170B1 (en) 2017-12-26 2019-11-27 경희대학교 산학협력단 Method of storing data using block-chain and Cloud System using thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164831A1 (en) * 2010-12-23 2014-06-12 Mongodb, Inc. Method and apparatus for maintaining replica sets
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
JP2020017948A (en) * 2018-07-26 2020-01-30 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Application realization method based on block chain network, apparatus, device, and storage medium
KR20200113155A (en) * 2019-03-21 2020-10-06 알리바바 그룹 홀딩 리미티드 Data isolation in blockchain networks
KR102230471B1 (en) * 2019-12-26 2021-03-23 주식회사 록스307 Method of generating group proof for efficient transaction on blockchain network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NA DONG-JUN, PARK SE-JIN: "Blockchain scalability technique that supports large-capacity storage ", KNOM REVIEW, vol. 25, no. 1, 1 August 2022 (2022-08-01), pages 9 - 15, XP093090380, DOI: 10.22670/knom.2022.25.1.9 *

Also Published As

Publication number Publication date
KR20230134196A (en) 2023-09-21

Similar Documents

Publication Publication Date Title
WO2012086918A2 (en) Distributed storage system for distributed storing of object based on position of plurality of data nodes, method for distributed storing based on same position, and storage medium readable by computer
Milani et al. A comprehensive review of the data replication techniques in the cloud environments: Major trends and future directions
WO2012148067A1 (en) Method and apparatus for distributing and storing a plurality of copies in a cloud storage system
WO2012086919A2 (en) Distributed storage system including plurality of proxy servers, method for managing object thereof, and storage medium readable by computer
US5970488A (en) Real-time distributed database system and method
US6119121A (en) Method of maintaining login service parameters
US7484048B2 (en) Conditional message delivery to holder of locks relating to a distributed locking manager
CN103179053B (en) For providing the system and method for data management service
WO2021221242A1 (en) Federated learning system and method
WO2019198885A1 (en) Decentralized service platform using multiple blockchain-based service nodes
CN107066867A (en) A kind of big data cluster resource allocation methods and device
US9930006B2 (en) Method for assigning logical addresses to the connection ports of devices of a server cluster, and corresponding computer program and server cluster
WO2013122338A1 (en) Method for distributed indexing and searching for efficiently analyzing time series data in search systems
CN110413595A (en) A kind of data migration method and relevant apparatus applied to distributed data base
US20100145911A1 (en) Serverless Replication of Databases
WO2018021593A1 (en) Online database management system and method for minimizing performance degradation of transaction when reconfiguring table
WO2023177136A1 (en) Blockchain data storage method and storage management device for providing service
WO2010093084A1 (en) Method and system for providing distributed programming environment using distributed spaces, and computer readable recording medium
WO2018221996A1 (en) Method for storing service internal data by using cloud account, and program
WO2017200129A1 (en) Method and system for processing high-speed stream big data on basis of in-memory db
WO2013100551A1 (en) P2p-based update client, server device, system, and method
CN110597809B (en) Consistency algorithm system supporting tree-like data structure and implementation method thereof
WO2018226007A1 (en) Updated publication information providing method and program
CN112711589A (en) Storage control method and system for MDSplus
CN113055448A (en) Metadata management method and device

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

Country of ref document: EP

Kind code of ref document: A1