KR102181098B1 - System and method for distributed database using block chain - Google Patents

System and method for distributed database using block chain Download PDF

Info

Publication number
KR102181098B1
KR102181098B1 KR1020180004662A KR20180004662A KR102181098B1 KR 102181098 B1 KR102181098 B1 KR 102181098B1 KR 1020180004662 A KR1020180004662 A KR 1020180004662A KR 20180004662 A KR20180004662 A KR 20180004662A KR 102181098 B1 KR102181098 B1 KR 102181098B1
Authority
KR
South Korea
Prior art keywords
data
unit
unit node
node
nodes
Prior art date
Application number
KR1020180004662A
Other languages
Korean (ko)
Other versions
KR20190086301A (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 KR1020180004662A priority Critical patent/KR102181098B1/en
Priority to PCT/KR2018/013566 priority patent/WO2019112193A1/en
Publication of KR20190086301A publication Critical patent/KR20190086301A/en
Application granted granted Critical
Publication of KR102181098B1 publication Critical patent/KR102181098B1/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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 유선 및 무선 통신망 중 적어도 하나에 복수의 단위 노드가 연결되고, 상기 단위 노드 내에서 데이터의 무결성을 상기 복수의 노드들 간에서 상호 인증 확인하는 블록 체인 시스템에 관한 것으로, 단위 노드에는 적어도 하나의 사용자 단말이 연결되고, 상기 단위 노드는, 상기 유선 및 무선 통신망중 적어도 하나에 직간접적으로 연결되어 상기 사용자 단말이 작성한 업무 장부를 포함하는 개별블록을 체인형태로 연계한, 블록 체인을 기반으로 고유의 공개키와 개인키를 생성하여 제공하며, 상기 복수의 단위 노드들은 각각의 고유 공개키 리스트를 가지고 있고, 상기 고유 공개키 리스트로부터 선택된 특정 공개키에 대응하는 노드에 대해 자신의 개인키를 결합한 데이터를 상기 다른 단위 노드에 전송하여 데이터를 동기화하는 블록 체인 시스템이다.The present invention relates to a block chain system in which a plurality of unit nodes are connected to at least one of a wired and wireless communication network, and the integrity of data in the unit node is mutually authenticated between the plurality of nodes, and at least One user terminal is connected, and the unit node is directly or indirectly connected to at least one of the wired and wireless communication networks, and an individual block including a business ledger created by the user terminal is linked in a chain form, based on a block chain. A unique public key and a private key are generated and provided, and the plurality of unit nodes each have a unique public key list, and their private key is provided for a node corresponding to a specific public key selected from the unique public key list. It is a blockchain system that synchronizes data by transmitting the combined data to the other unit node.

Description

블록 체인을 이용한 분산 데이터베이스 시스템 및 방법{SYSTEM AND METHOD FOR DISTRIBUTED DATABASE USING BLOCK CHAIN}Distributed database system and method using blockchain {SYSTEM AND METHOD FOR DISTRIBUTED DATABASE USING BLOCK CHAIN}

본 발명은 분산 데이터베이스 시스템 및 방법에 관한 것으로서, 보다 구체적으로는 블록 체인 기술을 이용하여 분산 데이터베이스 및 백업 시스템을 수행하기 위한 시스템의 구조 및 방법에 관한 것이다.The present invention relates to a distributed database system and method, and more specifically, to a system structure and method for performing a distributed database and backup system using a block chain technology.

블록 체인(Block chain)은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록 체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 블록 체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 10분에 한 번씩 이 기록을 검증하여 해킹을 막는다.Block chain, also called public transaction ledger, is a technology that prevents hacking that can occur when trading with virtual currency. In the case of existing financial companies, transaction records are kept on a centralized server, whereas blockchain sends transaction details to all users participating in transactions, and uses a method to prevent data forgery by collating them with each transaction. Blockchain is applied to Bitcoin, a representative online virtual currency. Bitcoin transparently records transaction details in a ledger that anyone can read, and several computers using Bitcoin verify this record every 10 minutes to prevent hacking.

비트코인은 시스템을 통제하는 서버가 없이 P2P(pear to pear) 방식으로 완전히 분산화된 형태로 작동하게 설계되었다. 또한, 화폐를 사용할 수 있는 사용자를 따로 등록하는 기관을 두지 않고 누구나 시스템을 사용할 수 있게 했다. 등록하는 서버가 없으므로, 각각의 사용자는 공개키를 일종의 일회용 계좌번호처럼 사용한다. 예컨대, A라는 사용자가 특정 메시지에 자신만이 알고 있는 개인키로 서명하면, 제삼자는 공개키를 이용해 그 서명이 이 공개키의 짝에 해당하는 비밀키로 서명한 것인지(다시 말해 A라는 사용자가 작성한 것이 맞는지) 인증할 수 있다.Bitcoin is designed to operate in a completely decentralized form in a P2P (pear to pear) method without a server controlling the system. In addition, it allows anyone to use the system without having an institution that separately registers users who can use currency. Since there is no server to register, each user uses the public key as a kind of one-time account number. For example, if user A signs a specific message with a private key that only he knows, a third party uses the public key to determine whether the signature was signed with a private key corresponding to this public key (in other words, what user A wrote is Yes) can be authenticated.

최근, 블록 체인의 보안 기술에 대한 관심이 높아지면서, 가상 화폐뿐만 아니라 금융 거래, 의료 데이터 관리, 파일 관리 등 다양한 분야에 블록 체인 기술이 적용되고 있다.Recently, as interest in blockchain security technology has increased, blockchain technology has been applied to various fields such as financial transactions, medical data management, and file management as well as virtual currency.

블록 체인 방식은 모든 노드가 같은 정보를 공유하여서 악의적 노드가 임의로 내용을 수정하기 위해서는 모든 노드가 가지고 있는 블록 체인의 내용을 수정해야 하므로 임의적 수정이 사실상 불가능하기 때문에 보안성이 뛰어나다는 장점이 있다.The blockchain method has the advantage of excellent security because it is virtually impossible to arbitrarily modify the contents of the block chain possessed by all nodes in order for malicious nodes to arbitrarily modify the contents because all nodes share the same information.

그러나, 상기 블록 체인 방식은 사용자 단말에서 모든 데이터를 공유하고 있기 때문에 50% 이상의 사용자가 담합을 하여 조작을 할 경우 모든 사용자 단말에서 조작된 데이터를 인식하는 문제가 발생할 수 있다.However, since the block chain method shares all data in the user terminal, if more than 50% of users collide and manipulate it, a problem of recognizing the manipulated data in all user terminals may occur.

대한민국등록특허공보 제10-1763827호 블록 체인 기반 의료데이터전송시스템, 방법 및 프로그램(주식회사 라이프시맨틱스) 2017.07.26Korean Registered Patent Publication No. 10-1763827 Blockchain-based medical data transmission system, method and program (Life Semantics, Inc.) 2017.07.26

본 발명은 블록 체인 시스템을 이용해서 분산 데이터베이스를 형성하여, 과도한 트래픽을 방지하면서 안전하게 데이터베이스를 활용하기 위함이다.The present invention is to securely utilize the database while preventing excessive traffic by forming a distributed database using a block chain system.

상기와 같은 목적을 달성하기 위한 유선 및 무선 통신망 중 적어도 하나에 복수의 단위 노드가 연결되고, 상기 단위 노드 내에서 데이터의 무결성을 상기 복수의 노드들 간에서 상호 인증 확인하는 블록 체인 시스템에 있어서, 상기 복수의 단위 노드는 중앙 데이터베이스에 연결되고, 상기 단위 노드는, 상기 유선 및 무선 통신망중 적어도 하나에 직간접적으로 연결되어 네트워크 상황을 고려하여 업데이트된 데이터를 다른 단위 노드 및 상기 중앙 데이터베이스에 전송하여 데이터를 동기화할 수 있다.In a block chain system in which a plurality of unit nodes are connected to at least one of a wired and wireless communication network to achieve the above object, and the integrity of data in the unit node is mutually authenticated among the plurality of nodes, The plurality of unit nodes are connected to a central database, and the unit nodes are directly or indirectly connected to at least one of the wired and wireless communication networks to transmit updated data to other unit nodes and the central database in consideration of network conditions. Data can be synchronized.

일 실시예에 따르면, 상기 단위 노드는, 상기 업데이트된 데이터 중 블록 헤더만 상기 다른 단위 노드에 전송하여 동기화하고, 상기 중앙 데이터베이스에 전체 데이터를 백업하여 동기화할 수 있다.According to an embodiment, the unit node may synchronize by transmitting only a block header among the updated data to the other unit node, and back up the entire data to the central database for synchronization.

일 실시예에 따르면, 상기 데이터는 만료 시한을 포함하고, 상기 단위 노드는 만료 시한이 도래한 데이터는 삭제할 수 있다.According to an embodiment, the data includes an expiration time limit, and the unit node may delete data whose expiration time limit has reached.

일 실시예에 따르면, 상기 단위 노드는, 필요한 데이터가 발생하면, 원본을 소유하고 있는 단위 노드에 상기 필요한 데이터를 요청하고, 상기 원본을 소유하고 있는 단위 노드가 불능상태인 경우에, 상기 중앙 데이터베이스에 상기 필요한 데이터를 요청할 수 있다.According to an embodiment, the unit node requests the necessary data from a unit node that owns the original when necessary data is generated, and when the unit node that owns the original is disabled, the central database You can request the necessary data above.

일 실시예에 따르면, 상기 단위 노드는, 필요한 데이터만 선택적으로 동기화 과정을 수행할 수 있다.According to an embodiment, the unit node may selectively perform a synchronization process for only necessary data.

일 실시예에 따르면, 상기 단위 노드는, 이전 블록 및 다음 블록을 포함하는 인접 블록을 선정하여 동기화 과정을 수행할 수 있다.According to an embodiment, the unit node may perform a synchronization process by selecting an adjacent block including a previous block and a next block.

일 실시예에 따르면, 상기 데이터베이스는, 상기 복수의 노드와 블록을 송신 및 수신할 때 데이터의 유효성을 판단할 수 있다.According to an embodiment, the database may determine validity of data when transmitting and receiving the plurality of nodes and blocks.

적어도 하나의 중앙 데이터베이스에 연결된 단위 노드가 수행하는 블록 체인 운영 방법은 사용자 단말로부터 데이터를 업데이트하는 단계, 다른 단위 노드로부터 승인 절차를 밟는 단계, 블록 헤더를 포함하는 간략 데이터를 다른 단위 노드와 동기화하는 단계 및 네트워크 상황을 고려하여 상기 중앙 데이터베이스에 상기 업데이트된 장부를 백업하는 단계를 포함할 수 있다.The block chain operation method performed by a unit node connected to at least one central database includes: updating data from a user terminal, undergoing an approval procedure from another unit node, and synchronizing simple data including block headers with other unit nodes. And backing up the updated ledger to the central database in consideration of the step and network conditions.

본 발명에 따르면, 중앙 데이터베이스에 모든 데이터를 백업시키고, 단위 노드들은 간략한 데이터 헤더만 저장하기 때문에 단위 노드의 저장 공간을 절약할 수 있다.According to the present invention, since all data is backed up in a central database and unit nodes store only simple data headers, storage space of the unit node can be saved.

본 발명에 따르면, 모든 단위 노드들과 모든 데이터를 동기화하는 것이 아니므로 네트워크 트래픽과 연산량을 현저하게 절감할 수 있다.According to the present invention, since not all unit nodes and all data are synchronized, network traffic and computational amount can be significantly reduced.

본 발명에 따르면, 중앙 데이터베이스를 통해 안전하게 데이터를 유통시킬 수 있다.According to the present invention, data can be safely distributed through a central database.

도 1은 본 발명이 적용되는 블록 체인을 이용한 분산 데이터베이스 시스템의 개념을 나타내는 도면이다.
도 2는 본 발명에 따른 블록 체인을 이용한 분산 데이터베이스 시스템에서의 선택적 동기화를 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 블록 체인을 이용한 분산 데이터베이스 시스템에서 블록 헤더를 포함하는 간략 데이터를 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 블록 체인을 이용한 분산 데이터베이스 방법을 설명하기 위한 흐름도이다.
1 is a diagram showing the concept of a distributed database system using a block chain to which the present invention is applied.
2 is a diagram for explaining selective synchronization in a distributed database system using a block chain according to the present invention.
3 is a diagram for explaining simple data including a block header in a distributed database system using a block chain according to an embodiment of the present invention.
4 is a flowchart illustrating a distributed database method using a block chain according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명을 실시하기 위한 구체적인 내용을 실시 예에 기초하여 설명한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.Hereinafter, specific contents for carrying out the present invention will be described based on embodiments with reference to the drawings. These embodiments are described in detail sufficient to enable a person skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different from each other, but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the present invention in relation to one embodiment. In addition, it is to be understood that the location or arrangement of individual components in each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description to be described below is not intended to be taken in a limiting sense, and the scope of the present invention is limited only by the appended claims, along with all scopes equivalent to those claimed by the claims, if appropriately described. Like reference numerals in the drawings refer to the same or similar functions over several aspects.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있는 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백히 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used with meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

본 발명은 사용자 단말들 간에 블록 체인을 형성하는 것이 아니라, 네트워크 장치들이 블록 체인 컨트롤러로서 불록 체인을 형성하고, 사용자 단말에서 수행해야 하는 업무를 블록 체인 컨트롤러를 통해 수행함으로써 사용자 단말의 에너지 소모를 효과적으로 줄일 수 있는 블록 체인을 이용한 공급 체인 네트워크 시스템 및 방법을 개시한다.In the present invention, rather than forming a block chain between user terminals, network devices form a block chain as a block chain controller, and effectively reduce the energy consumption of user terminals by performing tasks to be performed on the user terminal through the block chain controller. Disclosing a supply chain network system and method using a block chain that can be reduced.

블록 체인이 개발된 이후로 블록 체인의 세계에서 발생된 모든 트랜잭션은 각각의 노드에 기록되고, 모든 노드들은 동일한 데이터(거래 장부)로 동기화된다. 따라서, 새로운 블록이 추가되면, 연결된 노드 수만큼 통신 네트워크 트래픽과 연산량이 발생하게 되어, 네트워크가 낭비되는 결과가 발생한다. 또한, 노드들은 모든 업데이트된 데이터(거래 장부)를 저장해야 하므로 저장 공간이 과도하게 낭비된다.Since the development of the blockchain, all transactions that have occurred in the world of the blockchain are recorded in each node, and all nodes are synchronized with the same data (transaction book). Therefore, when a new block is added, communication network traffic and computation amount are generated as much as the number of connected nodes, resulting in a waste of network. In addition, the nodes need to store all updated data (transaction book), which wastes excessive storage space.

본 발명에서는 복수의 블록 체인 컨트롤러들이 블록 체인 네트워크를 형성하고 사용자 단말에서는 블록 체인 컨트롤러를 이용하여 인증함으로써 보다 강화된 보안성을 확보할 수 있다. 본 발명에서는 종래와 같이 사용자 단말 간의 블록 체인 형성이 아니라 네트워크 장비를 블록 체인으로 구성하고, 이를 블록 체인 컨트롤러(Block Chain Controller)라 지칭하기로 한다. In the present invention, a plurality of block chain controllers form a block chain network, and a user terminal can secure more enhanced security by authenticating using a block chain controller. In the present invention, instead of forming a block chain between user terminals as in the prior art, network equipment is configured as a block chain, and this is referred to as a block chain controller.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those skilled in the art to easily implement the present invention.

도 1은 본 발명이 적용되는 블록 체인을 이용한 분산 데이터베이스 시스템의 개념을 나타내는 도면이다.1 is a diagram showing the concept of a distributed database system using a block chain to which the present invention is applied.

도 1을 참조하면, 블록 체인을 이용한 분산 데이터베이스 시스템은 중앙 데이터베이스(110), 상기 중앙 데이터베이스(110)에 연결되어 블록 체인 네트워크를 형성하고 있는 단위 노드(121, 122, 123), 상기 단위 노드(121, 122, 123)에 연결된 사용자 단말(131, 132, 133, 134, 135, 136, 137, 138, 139)을 포함할 수 있다.1, a distributed database system using a block chain includes a central database 110, a unit node 121, 122, 123 connected to the central database 110 to form a block chain network, and the unit node ( 121, 122, 123) connected to the user terminal (131, 132, 133, 134, 135, 136, 137, 138, 139) may be included.

도시된 바와 같이, 복수의 단위 노드(121, 122, 123)들은 블록 체인 네트워크를 포함하는 인터넷, 이동통신망, 저전력통신망(LPWAN : Low Power Wide area Network) 중 적어도 하나로 상호 연결되어 이루어질 수 있다.As shown, the plurality of unit nodes 121, 122, and 123 may be interconnected with at least one of the Internet including a block chain network, a mobile communication network, and a low power wide area network (LPWAN).

전체 단위 노드(이하 “노드” 또는 “단위 노드”를 혼용하여 사용함)의 개수는 설명의 편의상 일정개수로 도시되어 있지만 그 수는 무수히 많으며, 특별히 제한을 두지 않는다.The total number of unit nodes (hereinafter, “nodes” or “unit nodes” are used together) is shown as a fixed number for convenience of description, but the number is innumerable and not particularly limited.

각 단위 노드(121, 122, 123)들은 관여하는 각 구성요소들의 규모나 연결방식 등에서 차이가 있지만, 기본적으로 블록 체인을 포함하고 연결된 노드에 대해 기존 블록 체인을 기반으로 고유 공개키와 개인키를 생성하여 제공할 수 있다.Each unit node (121, 122, 123) differs in the size and connection method of each component involved, but basically includes a block chain and provides a unique public key and a private key for the connected node based on the existing block chain. It can be created and provided.

더욱 상세하게는, 본 발명은 유선 및 무선 통신망 중 적어도 하나에 복수의 단위 노드(121, 122, 123)들이 연결되고, 상기 단위 노드(121, 122, 123) 내에서 데이터의 무결성을 상기 복수의 단위 노드(121, 122, 123)들 간에서 상호 인증 확인하는 블록 체인 시스템으로서, 상기 단위 노드(121, 122, 123)들은, 유선 및 무선 통신망중 적어도 하나에 직간접적으로 연결되어 업무 장부를 포함하는 개별블록을 체인형태로 연계한 블록 체인을 기반으로 고유의 공개키와 개인키를 생성하여 제공할 수 있다.More specifically, in the present invention, a plurality of unit nodes 121, 122, 123 are connected to at least one of a wired and wireless communication network, and the integrity of data in the unit nodes 121, 122, 123 As a block chain system that checks mutual authentication between unit nodes 121, 122, 123, the unit nodes 121, 122, 123 are directly or indirectly connected to at least one of wired and wireless communication networks to include a business ledger It is possible to create and provide unique public and private keys based on a block chain that links individual blocks in a chain form.

일 실시예에 따르면, 상기 단위 노드(121, 122, 123)는 블록 체인 컨트롤러로 동작할 수 있다. 여기서 블록 체인 컨트롤러는 네트워크 단이 블록 체인으로 연결되어 컨트롤러 역할을 하는 것을 의미한다. 종래의 블록 체인 시스템은 컨트롤러나 중앙 제어 시스템이 없어서 공격에 취약하지만, 블록 체인 컨트롤러 개념을 도임하고, 네트워크 장비로 하여금 컨트롤러 역할을 하게 하면, 유저는 사용자 단말을 통해 블록 체인 컨트롤러에 접근하기가 쉬워지고, 컨트롤러가 직접 승인이나 결정 알고리즘을 처리하기 때문에 보안성을 증가시키며, 안정적으로 데이터를 유지할 수 있다.According to an embodiment, the unit nodes 121, 122, and 123 may operate as a block chain controller. Here, the blockchain controller means that the network end acts as a controller by being connected to the blockchain. Conventional blockchain systems are vulnerable to attacks because they do not have a controller or central control system, but if the concept of a blockchain controller is adopted and the network equipment acts as a controller, users can easily access the blockchain controller through the user terminal. And because the controller directly processes the approval or decision algorithm, it increases security and can keep data stably.

또한, 종래의 블록 체인은 사용자 단말에서 모든 복제품을 가지고 있어서, 중복된 데이터가 매우 많이 존재하지만, 블록 체인 컨트롤러 개념 하에서는 컨트롤러가 모든 데이터를 가지고 있으며, 유저는 블록 체인에 관한 정보를 가지고 있지 않을 수 있다. 이때, 컨트롤러끼리 P2P 연결을 이루고 있어, 서로 동기화하면서 블록 체인 서비스를 할 수 있도록 한다.In addition, the conventional blockchain has all replicas in the user terminal, so there is a lot of redundant data, but under the concept of a blockchain controller, the controller has all the data, and the user may not have information about the blockchain. have. At this time, the controllers have a P2P connection, so they can synchronize with each other and provide blockchain services.

일 실시예에 따르면, 블록 체인을 이용한 분산 데이터베이스 시스템에서는 블록 체인 컨트롤러간 실시간 통신이 가능할 수 있다. 즉, 각 블록 체인 컨트롤러는 자신에 연결된 사용자 단말에 대한 정보를 가지고 있으며, 블록 체인 네트워크를 이루고 있는 다른 블록 체인 컨트롤러를 알고 있어, 상호 인증도 가능하다. 예를 들면, 상호간 통신을 시작할 때, 사용자 단말과 블록 체인 컨트롤러는 상호간에 해시 값을 주고 받음으로써 블록 체인 컨트롤러는 해시 값을 통해 사용자 단말의 유효성을 검토할 수 있다.According to an embodiment, in a distributed database system using a block chain, real-time communication between block chain controllers may be possible. In other words, each blockchain controller has information on the user terminal connected to it, and knows other blockchain controllers that make up the blockchain network, so mutual authentication is also possible. For example, when starting communication with each other, the user terminal and the blockchain controller exchange a hash value with each other, so that the blockchain controller can review the validity of the user terminal through the hash value.

일 실시예에 따르면, 블록 체인을 이용한 분산 데이터베이스 시스템에서 단위 노드(121, 122, 123)들은 각각 중앙 데이터베이스(110)에 연결될 수 있다. 일반적인 블록 체인 네트워크와 같이 단위 노드(121, 122, 123)들은 서로 트랜잭션을 동기화 할 수 있고, 네트워크 상황을 고려해서 네트워크가 원활한 때에 중앙 데이터베이스(110)에 원본 데이터를 백업해놓을 수 있다.According to an embodiment, in a distributed database system using a block chain, the unit nodes 121, 122, 123 may be connected to the central database 110, respectively. Like a general blockchain network, the unit nodes 121, 122, and 123 can synchronize transactions with each other, and in consideration of network conditions, the original data can be backed up in the central database 110 when the network is smooth.

블록 체인 네트워크에서는 유효한 거래를 기록하기 위해서는 모든 단위 노드의 실시간 동기화가 필요하다. 이때, 모든 단위 노드가 동일한 블록을 갖도록 하기 위해서는 단위 노드 수 만큼의 통신량이 필요하다.In a blockchain network, real-time synchronization of all unit nodes is required to record valid transactions. At this time, in order for all unit nodes to have the same block, a communication amount equal to the number of unit nodes is required.

일 실시예에 따르면, 단위 노드(121)는 유선 및 무선 통신망중 적어도 하나에 직간접적으로 연결되어 네트워크 상황을 고려하여 업데이트된 데이터를 다른 단위 노드 및 상기 중앙 데이터베이스에 전송하여 데이터를 동기화할 수 있다. 예를 들면, 단위 노드(121)는 네트워크 상태를 확인해서, 안정적인 네트워크 상태에서는 일반적인 동기화를 시도하고, 네트워크 상태가 안정적이지 않은 경우에는, 다른 단위 노드에 해시 값만 미리 보내고, 나중에 데이터가 필요할 때, 해당 데이터만 선택적으로 동기화할 수 있다.According to an embodiment, the unit node 121 may be directly or indirectly connected to at least one of a wired and wireless communication network to synchronize data by transmitting updated data to another unit node and the central database in consideration of network conditions. . For example, the unit node 121 checks the network state and attempts general synchronization in a stable network state, and if the network state is not stable, only sends a hash value to another unit node in advance, and when data is needed later, Only that data can be selectively synchronized.

일 실시예에 따르면, 네트워크에 문제가 있는 경우, 단위 노드(121)는 유저의 요청이 있을 때에만 데이터 동기화를 할 수 있다. 이러한 레이지 싱크로나이제이션(Lazy Synchronization)을 통해서, 네트워크에 부하가 덜 가도록 할 수 있으며, 공격을 받거나 관리자의 실수로 데이터가 손상될 경우, 다른 단위 노드(122, 123)에 데이터를 요청해서 백업을 받을 수 있다.According to an embodiment, when there is a problem with the network, the unit node 121 may synchronize data only when there is a user's request. Through such lazy synchronization, it is possible to put less load on the network, and if data is damaged by an attack or an administrator's mistake, data is requested from other unit nodes (122, 123) to perform backup. I can receive it.

일실시예에 따르면, 단위 노드(121, 122, 123)들은 서로 블록 헤더를 포함하는 간략한 데이터만 주고받고, 모든 데이터는 중앙 데이터베이스(110)에 저장해서 통신 트래픽 및 저장 공간을 절약할 수 있다.According to an embodiment, the unit nodes 121, 122, and 123 exchange only simple data including a block header with each other, and store all data in the central database 110 to save communication traffic and storage space.

일실시예에 따르면, 사용자 단말(121)이 새로운 트랜잭션을 단위 노드(121)에 업로드할 수 있다. 이때, 단위 노드(121)는 블록 체인 네트워크를 형성하고 있는 다른 단위 노드(122, 123)들과 동기화를 수행할 수 있다. 일실시예에 따르면, 단위 노드(121, 122, 123)들 간의 동기화는 블록 헤더만 포함하는 간략한 데이터가 될 수 있다. 일실시예에 따르면, 단위 노드(121)는 업데이트된 데이터 중 블록 헤더만 단위 노드(122, 123)에 전송하여 동기화하고, 중앙 데이터베이스(110)에 전체 데이터를 백업하여 동기화할 수 있다.According to an embodiment, the user terminal 121 may upload a new transaction to the unit node 121. In this case, the unit node 121 may perform synchronization with other unit nodes 122 and 123 forming a block chain network. According to an embodiment, synchronization between unit nodes 121, 122, 123 may be simple data including only a block header. According to an embodiment, the unit node 121 may synchronize by transmitting only a block header among the updated data to the unit nodes 122 and 123, and back up the entire data to the central database 110 to synchronize.

일실시예에 따르면, 단위 노드(121)는 새로운 블록의 추가를 요구할 수 있다. 이때, 단위 노드(122, 123)에 의해 승인이 되면, 단위 노드(121)는 중앙 데이터베이스(110)에만 실제 데이터를 동기화할 수 있다. 이후, 네트워크 상황에 맞추어 중앙 데이터베이스(110)는 단위 노드(122, 123)에 데이터를 동기화할 수 있다.According to an embodiment, the unit node 121 may request the addition of a new block. At this time, when approval by the unit nodes 122 and 123, the unit node 121 may synchronize actual data only with the central database 110. Thereafter, the central database 110 may synchronize data to the unit nodes 122 and 123 according to the network situation.

일실시예에 따르면, 네트워크 경로가 체증상태일 때, 필요한 데이터에 대해서만 선택적으로 동기화 과정을 수행할 수 있다. 선택적 동기화에 대한 자세한 설명은 도 2에서 하도록 한다.According to an embodiment, when a network path is congested, a synchronization process may be selectively performed on only necessary data. A detailed description of selective synchronization will be given in FIG. 2.

일실시예에 따른 블록 체인을 이용한 분산 데이터베이스 시스템은 상기 단위 노드(121, 122, 123)들에 연결되는 사용자 단말(110, 111, 112 등)을 더 포함할 수 있다.The distributed database system using a block chain according to an embodiment may further include user terminals 110, 111, 112, etc. connected to the unit nodes 121, 122, 123.

본 발명의 다양한 실시 예들에 따른 사용자 단말은, 예를 들면 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.The user terminal according to various embodiments of the present invention includes, for example, a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, and a desktop. PC (desktop personal computer), laptop PC (laptop personal computer), netbook computer, workstation, server, PDA (personal digital assistant), PMP (portable multimedia player), MP3 player, mobile medical device , Camera, or wearable device (e.g. smart glasses, head-mounted-device (HMD)), electronic clothing, electronic bracelet, electronic necklace, electronic appcessory, It may include at least one of an electronic tattoo, a smart mirror, or a smart watch.

일실시예에 따르면, 단위 노드(121, 122, 123)에 저장되는 데이터는 만료 시한을 포함할 수 있다. 이때, 단위 노드(121, 122, 123)는 상기 만료 시한이 도래한 데이터는 삭제할 수 있다. 따라서, 단위 노드(121, 122, 123)는 만료 시한 이후에 해당 데이터가 다시 필요한 경우, 중앙 데이터베이스(110)를 통해서 해당 데이터를 다시 동기화 받을 수 있다.According to an embodiment, data stored in the unit nodes 121, 122, and 123 may include an expiration time limit. In this case, the unit nodes 121, 122, and 123 may delete data whose expiration time limit has reached. Accordingly, when the corresponding data is required again after the expiration time period, the unit nodes 121, 122, and 123 may synchronize the corresponding data again through the central database 110.

여기서, 각 단위 노드(121, 122, 123)는 단위 노드(121, 122, 123)가 접근할 때 마다 새로운 만료 시한으로 갱신할 수 있다. Here, each of the unit nodes 121, 122, 123 may be updated with a new expiration time limit whenever the unit nodes 121, 122, 123 access.

일 실시예에 따르면, 단위 노드(121)는, 필요한 데이터가 발생하면, 원본을 소유하고 있는 단위 노드(122)에 필요한 데이터를 요청하고, 원본을 소유하고 있는 단위 노드(122)가 불능상태인 경우에, 중앙 데이터베이스(110)에 필요한 데이터를 요청할 수 있다. 즉, 필요한 데이터를 생산한 단위 노드가 단위 노드(122)인 경우, 단위 노드(121)는 단위 노드(122)에 데이터의 동기화를 요청할 수 있다. 이때, 단위 노드(122)가 오프라인이거나, 다른 작업 중에 있는 경우, 중앙 데이터베이스(110)에 필요한 데이터를 요청할 수 있다. 따라서, 중앙 데이터베이스(110)로 과도한 트래픽이 몰리는 것을 방지할 수 있다.According to an embodiment, when necessary data is generated, the unit node 121 requests necessary data from the unit node 122 that owns the original, and the unit node 122 that owns the original is in a disabled state. In this case, it is possible to request necessary data from the central database 110. That is, when the unit node that produced the necessary data is the unit node 122, the unit node 121 may request the unit node 122 to synchronize data. At this time, when the unit node 122 is offline or in other work, it may request necessary data from the central database 110. Accordingly, it is possible to prevent excessive traffic from being concentrated in the central database 110.

일 실시예에 따르면, 분산 데이터베이스 시스템이 계약서의 유지를 위해서 사용될 경우, 악의적 목적으로 단위 노드(121)에서 계약서 데이터를 해킹당한 경우, 단위 노드(122) 또는 단위 노드(123)으로부터 계약서 사본을 자동으로 받아올 수 있다. 즉, 손상된 계약서를 복원하는 경우, 다른 단위 노드(122, 123)로부터 데이터를 받아서 복구를 시킬 수 있다. According to an embodiment, when the distributed database system is used to maintain contracts, when contract data is hacked by the unit node 121 for malicious purposes, a copy of the contract is automatically generated from the unit node 122 or the unit node 123. You can get it. That is, when restoring a damaged contract, data may be received from other unit nodes 122 and 123 and may be restored.

일 실시예에 따르면, 단위 노드(121)는 자신이 가지고 있는 해시 값을 단위 노드(122, 123)에 보내면 단위 노드(122, 123)는 해시 값이 정상인지 아닌지를 확인받을 수 있다. 이때, 단위 노드(122, 123)는 단위 노드(121)를 승인 또는 거절할 수 있다. 즉, 단위 노드(121)는 단위 노드(122, 123)에 요청 패킷을 송신할 수 있고, 단위 노드(122, 123)는 단위 노드(121)에 응답 패킷을 송신할 수 있다. 데이터가 손상되거나 데이터가 위조된 경우, 단위 노드(122, 123) 또는 중앙 데이터베이스(110)를 통해 백업 데이터를 수신하여 복구할 수 있다.According to an embodiment, when the unit node 121 transmits a hash value that it has to the unit nodes 122 and 123, the unit node 122 and 123 may check whether the hash value is normal or not. In this case, the unit nodes 122 and 123 may approve or reject the unit node 121. That is, the unit node 121 may transmit a request packet to the unit nodes 122 and 123, and the unit nodes 122 and 123 may transmit a response packet to the unit node 121. When the data is damaged or the data is forged, the backup data may be received and restored through the unit nodes 122 and 123 or the central database 110.

일실시예에 따르면, 사용자 단말(131)은 네트워크의 상황에 따라서 연결할 단위 노드를 결정할 수 있다. 사용자 단말(131)은 가장 근접하기 때문에 선택된 단위 노드(121)가 사용불능상태에 있는 경우, 다른 단위 노드(122)를 선택할 수 있다. 단위 노드(121, 122, 123)들은 디스커버리 프로토콜을 통해서 사용자 단말들에게 자신의 상태/위치를 알릴 수 있다.According to an embodiment, the user terminal 131 may determine a unit node to be connected according to a network situation. Since the user terminal 131 is the closest, if the selected unit node 121 is in an unusable state, another unit node 122 may be selected. The unit nodes 121, 122, and 123 may inform user terminals of their state/location through a discovery protocol.

일실시예에 따르면, 중앙 데이터베이스(110)는, 복수의 단위 노드(121, 122, 123)와 블록을 송신 및 수신할 때에 데이터의 유효성을 판단할 수 있다. 이렇게 중앙 데이터베이스(110)가 데이터의 유효성 여부를 검증함으로써 중앙 데이터베이스로의 해킹 공격을 방어할 수 있다.According to an embodiment, the central database 110 may determine the validity of data when transmitting and receiving a plurality of unit nodes 121, 122, 123 and blocks. In this way, by verifying whether the data is valid or not, the central database 110 can prevent hacking attacks on the central database.

도 2는 본 발명에 따른 블록 체인을 이용한 분산 데이터베이스 시스템에서의 선택적 동기화를 설명하기 위한 도면이다.2 is a diagram for explaining selective synchronization in a distributed database system using a block chain according to the present invention.

도 2를 참조하면, 블록 체인 시스템에서의 블록 체인의 예시를 확인할 수 있다. 블록 체인은 블록(210), 블록(220), 블록(230), 블록(240), 블록(250)을 포함할 수 있다.Referring to FIG. 2, an example of a block chain in a block chain system can be seen. The block chain may include a block 210, a block 220, a block 230, a block 240, and a block 250.

일 실시예에 따르면, 단위 노드는 필요한 데이터인 블록(230)만 선택해서 동기화 과정을 수행할 수 있다. 즉, 다른 단위 노드에게 블록 체인의 모든 데이터를 요청하는 것이 아니라, 필요한 블록만 선택적으로 요청할 수 있다.According to an embodiment, the unit node may perform a synchronization process by selecting only the block 230 that is necessary data. In other words, instead of requesting all data of the block chain from other unit nodes, it is possible to selectively request only the necessary blocks.

다른 일 실시예에 따르면, 단위 노드는 타겟 블록(230)의 이전 블록(220) 및 다음 블록(240)을 포함하는 인접 블록(200)을 선정하여 동기화 과정을 수행할 수 있다. 이때 이전 블록(220)이나 다음 블록(230)이 이미 동기화되어 있는 경우, 인접 블록의 동기화는 생략할 수 있다.According to another embodiment, the unit node may perform a synchronization process by selecting an adjacent block 200 including the previous block 220 and the next block 240 of the target block 230. At this time, when the previous block 220 or the next block 230 is already synchronized, synchronization of the adjacent block may be omitted.

도 3은 본 발명의 실시 예에 따른 블록 체인을 이용한 분산 데이터베이스 시스템에서 블록 헤더를 포함하는 간략 데이터를 설명하기 위한 도면이다.3 is a diagram for explaining simple data including a block header in a distributed database system using a block chain according to an embodiment of the present invention.

도 3을 참조하면, 블록(320)은 Merkle Root, Prev Hash, Nonce 를 포함하는 블록 헤더(312)와 해당 블록의 모든 데이터를 포함하는 Merkle Tree를 포함할 수 있다. 이때, 단위 노드는, 업데이트된 데이터 중 블록 헤더를 포함하는 간략한 데이터를 다른 단위 노드에 전송하여 동기화하고, 중앙 데이터베이스에 전체 데이터를 백업하여 동기화할 수 있다.Referring to FIG. 3, a block 320 may include a block header 312 including Merkle Root, Prev Hash, and Nonce, and a Merkle Tree including all data of the corresponding block. In this case, the unit node may synchronize by transmitting simple data including a block header among the updated data to another unit node, and back up the entire data to the central database for synchronization.

즉, 제1 노드는 제2 노드에서 생성된 전체 데이터를 보유하는 것이 아니라, Merkle Tree를 제외한 블록 헤더만 보유하고, Merkle Tree를 포함하는 전체 데이터는 중앙 데이터베이스가 보유하도록 할 수 있다.That is, the first node does not hold all the data generated in the second node, but only the block header excluding the Merkle Tree, and the central database may hold all data including the Merkle Tree.

일 실시예에 따르면, 단위 노드가 해킹을 당하거나 관리자의 실수로 데이터가 손상 혹은 유실된 경우에도, 레이지 싱크로나이제이션(Lazy Synchronization) 방법을 활용하여 Merkle Tree가 제외된 블록 헤더만 동기화를 진행할 수 있다. 만약 블록 체인 전체에 대해 모든 데이터의 동기화를 진행하는 경우, 네트워크 전체에 영향을 주거나 중앙 데이터베이스에 과도한 부하가 유발될 수 있다.According to an embodiment, even when a unit node is hacked or data is damaged or lost due to an administrator's mistake, only the block headers excluding the Merkle Tree can be synchronized by using a lazy synchronization method. have. If all data is synchronized for the entire blockchain, it may affect the entire network or cause excessive load on the central database.

명확하게 도시하지 않았으나, 도 1 내지 도 3에 도시된 장치는 도 1 내지 도 3에 도시되지 않은 구성요소를 더 포함하거나 또는 도 1 내지 도 3에 도시된 일부 구성요소를 포함하지 않을 수 있다. 또한, 도 1 내지 도 3에 도시된 바와 다르게, 일부 구성요소가 복수의 세부적인 구성요소로 분리되거나, 복수의 구성요소가 하나의 구성요소로 결합되어 제공될 수도 있다.Although not clearly illustrated, the devices illustrated in FIGS. 1 to 3 may further include components not illustrated in FIGS. 1 to 3 or may not include some components illustrated in FIGS. 1 to 3. In addition, unlike shown in FIGS. 1 to 3, some components may be separated into a plurality of detailed components, or a plurality of components may be combined into one component and provided.

명확하게 도시하지 않았으나, 도 1 내지 도 3에 도시된 바와 다르게, 각 장치는 물리적으로, 공간적으로 또는 기능적으로 구분된 복수의 서버로 분리되어 제공될 수 있다. 이 경우, 각각의 서버는 도 1 내지 도 3에 도시된 일부 구성요소를 포함하거나 포함하지 않을 수 있다.Although not clearly illustrated, different from those shown in FIGS. 1 to 3, each device may be separated and provided into a plurality of servers that are physically, spatially or functionally divided. In this case, each server may or may not include some components illustrated in FIGS. 1 to 3.

한편, 상기 장치의 각각의 구성요소들은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.Meanwhile, each component of the device is separately indicated in the drawings to indicate that they can be separated functionally and logically, and does not mean that they are physically separate components or implemented as separate codes.

도 4는 본 발명의 실시 예에 따른 블록 체인을 이용한 분산 데이터베이스 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a distributed database method using a block chain according to an embodiment of the present invention.

도 4를 참조하면, 제1 노드(410), 제2 노드(420) 및 중앙 데이터베이스(430)에서 수행하는 블록 체인 시스템을 확인할 수 있다.Referring to FIG. 4, a block chain system performed by the first node 410, the second node 420 and the central database 430 can be confirmed.

단계(S411)에서, 일실시예에 따르면, 제1 노드(410)는 블록 체인의 블록 데이터를 업데이트할 수 있다. 이때, 블록 데이터는 거래 장부를 포함하는 트랜잭션이 될 수 있다. 여기서 데이터는 사용자 단말로부터 수신한 업데이트된 데이터일 수 있다.In step S411, according to an embodiment, the first node 410 may update block data of the block chain. In this case, the block data may be a transaction including a transaction book. Here, the data may be updated data received from the user terminal.

단계(S412)에서, 일실시예에 따르면, 제1 노드(410)는 동일한 블록 체인 네트워크에 있는 제2 노드(420)에 승인 절차를 요청하고, 제2 노드(420)는 제1 노드(410)의 유효성을 확인하고 승인할 수 있다.In step S412, according to an embodiment, the first node 410 requests an approval procedure from the second node 420 in the same blockchain network, and the second node 420 is the first node 410 ) Can be validated and approved.

단계(S413)에서, 일실시예에 따르면, 제2 노드(420)는 제1 노드(410)에서 업데이트된 데이터의 블록 헤더 데이터를 동기화할 수 있다. 즉, 제1 노드(410)는 블록 헤더를 포함하는 간략 데이터를 제2 노드(420)와 동기화할 수 있다.In step S413, according to an embodiment, the second node 420 may synchronize block header data of the data updated in the first node 410. That is, the first node 410 may synchronize simple data including the block header with the second node 420.

단계(S414)에서, 일실시예에 따르면, 중앙 데이터베이스(430)는 제1 노드(410)에서 업데이트된 데이터의 전체 데이터를 백업하여 동기화할 수 있다. 이때, 제1 노드(410)는 네트워크 상황을 고려하여, 업데이트된 데이터의 전체 데이터를 중앙 데이터베이스(430)에 백업하여 동기화할 수 있다.In step S414, according to an embodiment, the central database 430 may back up and synchronize all data of data updated in the first node 410. In this case, the first node 410 may back up the entire data of the updated data to the central database 430 in consideration of network conditions and synchronize them.

단계(S415)에서, 일실시예에 따르면, 제2 노드(420)가 업데이트된 데이터를 필요로할 경우, 원래 데이터를 생성한 노드인 제1 노드(410)에 직접 데이터의 전송을 요청할 수 있다.In step S415, according to an embodiment, when the second node 420 needs the updated data, it may directly request the first node 410, which is the node that originally generated the data, to transmit the data. .

단계(S416)에서, 일실시예에 따르면, 제2 노드(420)가 업데이트된 데이터를 필요로 하지만, 원래 데이터를 생성한 노드인 제1 노드(410)가 불능 상태에 있는 경우, 중앙 데이터베이스(430)에 백업된 데이터의 전송을 요청할 수 있다.In step S416, according to an embodiment, if the second node 420 needs the updated data, but the first node 410, which is the node that originally generated the data, is in a disabled state, the central database ( 430) may be requested to transmit the backed up data.

한편, 본 발명의 일 실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Meanwhile, the method according to an embodiment of the present invention 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 invention, or may be known and usable to those skilled in 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 the 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 above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

이상으로, 본 발명의 실시 예에 따른 시스템, 장치 및 방법을 상세히 설명하였다. 전술한 본 발명의 실시 예에서는 사용자 단말을 예를 들어 설명하였으나 어떠한 전자 장치에도 동일하게 적용할 수 있다. 이하, 본 발명의 실시 예에 따른 사용자 단말들을 포함하여 변형 가능한 다양한 전자 장치의 구현 예를 설명한다.In the above, the system, apparatus, and method according to an embodiment of the present invention have been described in detail. In the above-described embodiment of the present invention, a user terminal has been described as an example, but the same can be applied to any electronic device. Hereinafter, implementation examples of various electronic devices that can be modified including user terminals according to an embodiment of the present invention will be described.

본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.The present invention has been described above with the purpose of method steps representing the performance of specific functions and their relationships. The boundaries and order of these functional components and method steps have been arbitrarily defined herein for convenience of description. Alternative boundaries and orders may be defined as long as the specific functions and relationships are properly performed. Any such alternative boundaries and sequences are therefore within the scope and spirit of the claimed invention. In addition, the boundaries of these functional components have been arbitrarily defined for convenience of description. Alternative boundaries can be defined as long as certain important functions are performed properly. Likewise, flowchart blocks may also have been arbitrarily defined herein to indicate any significant functionality. For extended use, the flow diagram block boundaries and order may have been defined and still perform some important function. Alternative definitions of both functional elements and flowchart blocks and sequences are therefore within the scope and spirit of the claimed invention.

본 발명은 또한 하나 이상의 실시 예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시 예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시 예는 여기에 설명된 하나 이상의 실시 예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시 예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.The present invention may also have been described, at least in part, in terms of one or more embodiments. Embodiments of the invention are used herein to represent the invention, its aspects, its features, its concepts, and/or examples thereof. A physical embodiment of an apparatus, article of manufacture, machine, and/or process embodying the present invention refers to one or more aspects, features, concepts, examples, etc. described with reference to one or more embodiments described herein. Can include. Moreover, in the entire drawing, embodiments may incorporate the same or similarly named functions, steps, modules, etc., which may use the same or different reference numerals, and as such, the functions, Steps, modules, etc. may be the same or similar functions, steps, modules, etc. or others.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but these are provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , If a person of ordinary skill in the field to which the present invention belongs, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention is limited to the described embodiments and should not be defined, and all things that are equivalent or equivalent to the claims as well as the claims to be described later fall within the scope of the spirit of the present invention. .

110 : 중앙 데이터베이스
121, 122, 123 : 단위 노드
131, 132, 133, 134, 135, 136, 137, 138, 139 : 사용자 단말
110: central database
121, 122, 123: unit node
131, 132, 133, 134, 135, 136, 137, 138, 139: User terminal

Claims (8)

유선 및 무선 통신망 중 적어도 하나에 복수의 단위 노드가 연결되고, 상기 단위 노드 내에서 데이터의 무결성을 상기 복수의 노드들 간에 상호 인증 확인하는 블록 체인 시스템에 있어서,
상기 복수의 단위 노드는 중앙 데이터베이스에 연결되고,
상기 단위 노드는,
상기 유선 및 무선 통신망중 적어도 하나에 직간접적으로 연결되어 안정적인 네트워크 상황에서 업데이트된 데이터를 다른 단위 노드 및 상기 중앙 데이터베이스에 전송하여 상기 업데이트된 데이터를 동기화하는
블록 체인 시스템.
In a block chain system in which a plurality of unit nodes are connected to at least one of a wired and wireless communication network, and the integrity of data in the unit node is mutually authenticated between the plurality of nodes,
The plurality of unit nodes are connected to a central database,
The unit node,
Synchronizing the updated data by directly or indirectly connected to at least one of the wired and wireless communication networks and transmitting updated data to another unit node and the central database in a stable network situation
Blockchain system.
제1항에 있어서,
상기 단위 노드는,
상기 업데이트된 데이터 중 블록 헤더만 상기 다른 단위 노드에 전송하여 동기화하고,
상기 중앙 데이터베이스에 전체 데이터를 백업하여 동기화하는
블록 체인 시스템.
The method of claim 1,
The unit node,
Of the updated data, only a block header is transmitted to the other unit node to synchronize,
Synchronize by backing up the entire data to the central database
Blockchain system.
제1항에 있어서,
상기 데이터는 만료 시한을 포함하고,
상기 단위 노드는 만료 시한이 도래한 데이터는 삭제하는
블록 체인 시스템.
The method of claim 1,
The data includes an expiration date,
The unit node deletes data whose expiration time has reached
Blockchain system.
제1항에 있어서,
상기 단위 노드는,
필요한 데이터가 발생하면, 원본을 소유하고 있는 단위 노드에 상기 필요한 데이터를 요청하고, 상기 원본을 소유하고 있는 단위 노드가 불능상태인 경우에, 상기 중앙 데이터베이스에 상기 필요한 데이터를 요청하는
블록 체인 시스템.
The method of claim 1,
The unit node,
When necessary data is generated, requesting the necessary data from a unit node that owns the original, and requesting the necessary data from the central database when the unit node that owns the original is disabled.
Blockchain system.
삭제delete 유선 및 무선 통신망 중 적어도 하나에 복수의 단위 노드가 연결되고, 상기 단위 노드 내에서 데이터의 무결성을 상기 복수의 노드들 간에 상호 인증 확인하는 블록 체인 시스템에 있어서,
상기 복수의 단위 노드는 중앙 데이터베이스에 연결되고,
상기 단위 노드는,
상기 유선 및 무선 통신망중 적어도 하나에 직간접적으로 연결되고, 불안정적인 네트워크 상황에서 업데이트된 데이터 중 필요한 데이터만 선택하여 다른 단위 노드 및 상기 중앙 데이터베이스에 전송하여 상기 업데이트된 데이터를 선택적으로 동기화하되,
상기 단위 노드는,
상기 블록 체인 시스템에 포함되는 복수의 블록들 중에서 타겟 블록의 이전 블록 및 다음 블록을 포함하는 인접 블록을 선정하여 상기 데이터 동기화 과정을 수행하는 것인, 블록 체인 시스템.
In a block chain system in which a plurality of unit nodes are connected to at least one of a wired and wireless communication network, and the integrity of data in the unit node is mutually authenticated between the plurality of nodes,
The plurality of unit nodes are connected to a central database,
The unit node,
Directly or indirectly connected to at least one of the wired and wireless communication networks, and selectively synchronizing the updated data by selecting only necessary data among updated data in an unstable network situation and transmitting it to another unit node and the central database,
The unit node,
To perform the data synchronization process by selecting an adjacent block including a previous block and a next block of a target block from among a plurality of blocks included in the block chain system.
제1항 또는 제6항에 있어서,
상기 중앙 데이터베이스는,
상기 복수의 노드와 블록을 송신 및 수신할 때 데이터의 유효성을 판단하는
블록 체인 시스템.
The method of claim 1 or 6,
The central database,
To determine the validity of data when transmitting and receiving the plurality of nodes and blocks
Blockchain system.
적어도 하나의 중앙 데이터베이스에 연결된 단위 노드가 수행하는 블록 체인 운영 방법에 있어서,
사용자 단말로부터 데이터를 업데이트하는 단계;
다른 단위 노드로부터 승인 절차를 밟는 단계;
블록 헤더를 포함하는 간략 데이터를 다른 단위 노드와 동기화하는 단계; 및
안정적인 네트워크 상황에서 상기 중앙 데이터베이스에 상기 업데이트된 데이터를 백업하고, 불안정적인 네트워크 상황에서 상기 중앙 데이터베이스에 상기 업데이트된 데이터 중 필요한 데이터만 선택적으로 동기화하는 단계;
를 포함하는 블록 체인 운영 방법.
In the block chain operation method performed by a unit node connected to at least one central database,
Updating data from the user terminal;
Taking an approval procedure from another unit node;
Synchronizing simple data including a block header with another unit node; And
Backing up the updated data to the central database in a stable network condition, and selectively synchronizing only necessary data among the updated data to the central database in an unstable network condition;
Blockchain operation method that includes.
KR1020180004662A 2017-12-08 2018-01-12 System and method for distributed database using block chain KR102181098B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180004662A KR102181098B1 (en) 2018-01-12 2018-01-12 System and method for distributed database using block chain
PCT/KR2018/013566 WO2019112193A1 (en) 2017-12-08 2018-11-08 Block-chain system architecture and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180004662A KR102181098B1 (en) 2018-01-12 2018-01-12 System and method for distributed database using block chain

Publications (2)

Publication Number Publication Date
KR20190086301A KR20190086301A (en) 2019-07-22
KR102181098B1 true KR102181098B1 (en) 2020-11-20

Family

ID=67469016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180004662A KR102181098B1 (en) 2017-12-08 2018-01-12 System and method for distributed database using block chain

Country Status (1)

Country Link
KR (1) KR102181098B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674110B (en) * 2019-09-09 2022-07-05 中国建设银行股份有限公司 Bank distributed database construction method and device
KR102309024B1 (en) 2019-11-27 2021-10-07 충북대학교 산학협력단 Data Privacy-Preserving Distributed Knowledge Discovery system based on the Blockchain and Method thereof
KR102172903B1 (en) 2019-12-09 2020-11-02 (주)트러스트체인파트너스위드하모니 Database management system based on blockchain technology

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727525B1 (en) 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof
US20170366357A1 (en) 2016-06-16 2017-12-21 The Bank Of New York Mellon Distributed, centrally authored block chain network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101763827B1 (en) 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 System, method and program for transmitting health data by block-chain
KR102050129B1 (en) * 2016-05-03 2019-11-28 안규태 Block chain supporting multiple one-way functions used for verification of blocks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170366357A1 (en) 2016-06-16 2017-12-21 The Bank Of New York Mellon Distributed, centrally authored block chain network
KR101727525B1 (en) 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof

Also Published As

Publication number Publication date
KR20190086301A (en) 2019-07-22

Similar Documents

Publication Publication Date Title
JP7362654B2 (en) Maintenance and management of blockchain blocks in a divided blockchain network
TWI740423B (en) System and method for providing privacy and security protection in blockchain-based private transactions
TWI705689B (en) Data isolation in blockchain networks
US11238543B2 (en) Payroll based blockchain identity
EP3731162A1 (en) Block chain data processing method, management terminal, user terminal, conversion device, and medium
CN111488393B (en) virtual blockchain
KR102225196B1 (en) Consensus of shared blockchain data storage based on error correction codes
TW201943250A (en) Cross-blockchain authentication method and apparatus, and electronic device
EP3769217B1 (en) Prioritizing shared blockchain data storage
TWI749488B (en) Computer-implemented method, system, and non-transitory computer-readable storage medium for detecting disabling replay attacks
JP2021518962A (en) Asynchronous processing of blockchain blocks
CN111095218B (en) Method, system and device for storing shared block chain data based on error correction coding
Liang et al. Exploring the attack surfaces in blockchain enabled smart cities
AU2019207314B2 (en) Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology
KR102181098B1 (en) System and method for distributed database using block chain
KR20210055631A (en) Data security of shared blockchain data storage based on error correction codes
CN111033491A (en) Storing shared blockchain data based on error correction coding
WO2023221401A1 (en) Wallet system and transaction method
KR101968424B1 (en) System and method for processing an authentication using block chain controller
US11922404B2 (en) Method and system for payment for central bank digital currency
AU2019321746A1 (en) Dynamic blockchain data storage based on error correction code
KR102030905B1 (en) Block chain system architecture and method
KR102349014B1 (en) Method and system for building fast synchronizable decentralized distributed database
KR20190086298A (en) Involvement Control System of Block Chain Controller based on Transaction Value
KR102050154B1 (en) System and method for supply chain network using block chain

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant