KR102437006B1 - Information management method based on vertical block structure in a blockchain - Google Patents

Information management method based on vertical block structure in a blockchain Download PDF

Info

Publication number
KR102437006B1
KR102437006B1 KR1020190107345A KR20190107345A KR102437006B1 KR 102437006 B1 KR102437006 B1 KR 102437006B1 KR 1020190107345 A KR1020190107345 A KR 1020190107345A KR 20190107345 A KR20190107345 A KR 20190107345A KR 102437006 B1 KR102437006 B1 KR 102437006B1
Authority
KR
South Korea
Prior art keywords
block
information
sub
hash value
transaction
Prior art date
Application number
KR1020190107345A
Other languages
Korean (ko)
Other versions
KR20200079168A (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 KR1020190107345A priority Critical patent/KR102437006B1/en
Publication of KR20200079168A publication Critical patent/KR20200079168A/en
Application granted granted Critical
Publication of KR102437006B1 publication Critical patent/KR102437006B1/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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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/1046Joining 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

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

Abstract

본 발명의 다양한 실시 예는 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법에 관한 것이다. 본 발명의 일 실시예에 따른 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법은 제1 정보의 제1 상세 정보를 포함하는 블록을 생성하는 단계; 상기 블록이 상기 블록체인 중 베이스 체인에 연결되도록 상기 블록을 분산 저장하는 단계; 상기 제1 정보의 제2 상세 정보를 포함하는 제N 서브 블록을 생성하는 단계; 및 상기 제2 상세 정보에 기반하여, 상기 제N 서브 블록이 상기 블록에서 분기(branch)된 서브 체인에 연결되도록 상기 제N 서브 블록을 분산 저장하는 단계를 포함를 포함할 수 있다. 다른 실시 예들도 가능할 수 있다.Various embodiments of the present invention relate to an information management method based on a vertical block structure in a block chain. An information management method based on a vertical block structure in a block chain according to an embodiment of the present invention includes: generating a block including first detailed information of first information; Distributing and storing the block so that the block is connected to a base chain of the block chain; generating an N-th sub-block including second detailed information of the first information; and distributing and storing the N-th sub-block so that the N-th sub-block is connected to a sub-chain branched from the block based on the second detailed information. Other embodiments may be possible.

Description

블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법{INFORMATION MANAGEMENT METHOD BASED ON VERTICAL BLOCK STRUCTURE IN A BLOCKCHAIN}Information management method based on vertical block structure in blockchain {INFORMATION MANAGEMENT METHOD BASED ON VERTICAL BLOCK STRUCTURE IN A BLOCKCHAIN}

본 발명은 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법에 관한 것으로, 보다 자세하게는 블록 체인에서 유통되는 정보(예: 계약 관련 정보, 물류 관련 정보, 전자문서 등의 컨텐츠)의 관리 효율성을 증가시키는 방법에 관한 것이다.The present invention relates to an information management method based on a vertical block structure in a block chain, and more particularly, to increase the management efficiency of information circulated in the block chain (eg, contract-related information, logistics-related information, content such as electronic documents, etc.) it's about how

블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드들이 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 체인 형태의 자료 구조로 구성된 데이터 그 자체를 의미한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed edger) 형태로 운영된다.Blockchain is a data management technology in which continuously increasing data is recorded in a specific unit block, and each node constituting a peer-to-peer (P2P) network manages the block as a chain-type data structure. It means the data itself composed of a chain-type data structure. At this time, the blockchain data composed of a chain-type data structure is operated in the form of a distributed ledger at each node without a central system.

블록체인 기술은, 분산 데이터 관리 또는 데이터 위변조 방지를 위해 다양한 분야에 응용될 수 있다. 예를 들어, 블록체인 기술이 금융 분야에 응용되는 경우, 신뢰를 보증하는 중앙 금융기관이 없어도, 분산된 각각의 블록체인 노드가 관리하는 분산 원장을 통해 거래 당사자가 안전하게 거래를 수행할 수 있다.Blockchain technology can be applied in various fields for distributed data management or data forgery prevention. For example, when blockchain technology is applied in the financial field, transaction parties can safely perform transactions through the distributed ledger managed by each distributed blockchain node, even without a central financial institution that guarantees trust.

기존의 블록체인에서 정보(예: 계약 관련 정보, 물류 관련 정보, 전자 문서 등의 컨텐츠)를 유통하는 경우, 생성되는 정보(예: 전자문서)는 개별적인 트랜잭션으로 생성되어 블록에 포함된다. 이러한 경우, 동일한 전자문서를 변경하거나 수정할 경우, 새로운 트랜잭션으로 생성되어 새로운 블록에 포함된다. 따라서, 하나의 전자문서를 관리하기 위해 다수의 블록을 조회 또는 검색해야 하는 문제가 있었다.In the case of distributing information (eg, contract-related information, logistics-related information, and contents such as electronic documents) in the existing blockchain, the generated information (eg, electronic documents) is created as an individual transaction and included in the block. In this case, when changing or modifying the same electronic document, a new transaction is created and included in a new block. Accordingly, there is a problem in that a plurality of blocks must be searched or searched for in order to manage one electronic document.

또한, 특정 업무는 업무의 성격 상 관련된 전자문서가 여러 단계에서 생성될 수 있는데, 이러한 여러 단계에서 생성된 전자 문서들이 각각 변경 및 수정까지 될 경우, 특정 업무에 연관된 전자 문서가 포함된 블록이 다수 생성될 수 있고, 이는 특정 업무와 관련된 전자 문서의 관리 효율성을 떨어뜨리는 문제점이 있었다.In addition, due to the nature of a specific task, related electronic documents may be generated in multiple stages. When the electronic documents generated in these multiple stages are changed and modified, respectively, a number of blocks containing electronic documents related to a specific task may be generated, which has a problem in reducing the management efficiency of electronic documents related to specific tasks.

한국등록특허공보 제10-2272164호 (등록일: 2021년 06월 28일)Korean Patent Publication No. 10-2272164 (Registration Date: June 28, 2021)

본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 블록에 포함된 정보가 지속적으로 변경되는 경우, 블록체인 중 베이스 체인(수평적 구조)에 연결된 블록들은 정보의 관리 정보만을 포함하고 서브 체인(수직적 구조)에 연결된 블록들은 해당 정보의 파일 정보, 링크 정보, 변경 이력 정보 등을 모두 포함하는 방법을 제공하는 데 목적이 있다.The present invention has been devised to solve the above problems. When information included in a block is continuously changed, blocks connected to the base chain (horizontal structure) of the block chain contain only information management information and sub-chain Blocks connected to (vertical structure) serve to provide a method of including all of the file information, link information, and change history information of the corresponding information.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법은 제1 정보의 제1 상세 정보를 포함하는 블록을 생성하는 단계; 상기 블록이 상기 블록체인 중 수평적 구조의 베이스 체인에 연결되도록 상기 블록을 분산 저장하는 단계; 상기 제1 정보의 제2 상세 정보를 포함하는 제N 서브 블록을 생성하는 단계; 및 상기 제2 상세 정보에 기반하여, 상기 제N 서브 블록이 상기 블록에서 분기(branch)된 수직적 구조의 서브 체인에 연결되도록 상기 제N 서브 블록을 분산 저장하는 단계를 포함하며, 상기 블록은, 이전 블록의 해시값, 현재 블록의 해시 값, 서브 블록의 해시 값, 트랜잭션 해시값 및 넌스(Nonce)를 포함하는 블록 헤더, 및 트랜잭션 정보, 트랜잭션 리스트 및 트랜잭션 체인을 포함하는 블록 바디를 포함하고, 상기 블록은, 다른 정보에 대한 적어도 하나의 블록들과 각 블록 헤더 내의 이전 블록 해시 값에 의하여 연쇄적으로 연결되어 상기 베이스 체인을 형성하고, 상기 제1 정보는, 계약 관련 정보, 물류 관련 정보 및 컨텐츠를 포함하고, 상기 제1 상세 정보는, 상기 제1 정보의 관리 정보를 포함하고, 상기 제2 상세 정보는, 상기 제1 정보의 파일 정보, 링크 정보 및 변경이력 정보를 포함할 수 있다.An information management method based on a vertical block structure in a block chain according to an embodiment of the present invention includes: generating a block including first detailed information of first information; Distributing and storing the block so that the block is connected to a horizontal base chain among the block chains; generating an N-th sub-block including second detailed information of the first information; and distributing and storing the N-th sub-block so that the N-th sub-block is connected to a sub-chain of a vertical structure branched from the block, based on the second detailed information, wherein the block includes: a block header including the hash value of the previous block, the hash value of the current block, the hash value of the sub-block, the transaction hash value and the nonce, and a block body including transaction information, a transaction list, and a transaction chain; The block is chained by at least one block for other information and a previous block hash value in each block header to form the base chain, and the first information includes contract-related information, logistics-related information, and Content may be included, and the first detailed information may include management information of the first information, and the second detailed information may include file information, link information, and change history information of the first information.

상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.According to the present invention as described above, it has various effects as follows.

본 발명은 베이스 체인에 연결된 블록들에게 정보의 관리 정보만을 포함시킴으로써 블록 체인의 저장 공간의 효율성을 높일 수 있다.The present invention can increase the efficiency of the storage space of the block chain by including only information management information in the blocks connected to the base chain.

또한, 본 발명은 정보가 변경될 때마다 서브 체인에 순차적으로 연결되는 블록들에게 변경과 관련된 정보(예: 정보의 파일 정보, 링크 정보, 변경 이력 정보)를 포함시킴으로써 하나의 정보를 관리하기 위한 검색 및 조회에 필요한 시간을 줄일 수 있다.In addition, the present invention provides for managing one piece of information by including information related to the change (eg, file information of information, link information, change history information) to blocks sequentially connected to the sub-chain whenever information is changed. The time required for search and inquiry can be reduced.

또한, 본 발명은 변경된 정보와 관련된 블록들도 변경 전 정보와 관련된 블록들에 순차적으로 연결시킴으로써 특정 업무와 관련된 정보의 관리 효율성을 높일 수 있다.In addition, the present invention can increase the management efficiency of information related to a specific task by sequentially connecting blocks related to the changed information to the blocks related to the information before the change.

도 1 은 본 발명의 블록체인 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시 예에 따른 제N 서브 블록을 블록에 연결하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시 예에 따른 제N+1 서브 블록을 제N 서브 블록에 연결하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 제N 서브 블록을 블록에 연결하는 방법과 제N+1 서브 블록을 제N 서브 블록에 연결하는 방법을 설명하기 위한 예시도이다.
1 is a block diagram showing the blockchain system of the present invention.
2 is a flowchart illustrating an information management method based on a vertical block structure in a block chain according to an embodiment of the present invention.
3 is an exemplary diagram for explaining an information management method based on a vertical block structure in a block chain according to an embodiment of the present invention.
4 is a flowchart illustrating a method of connecting an N-th sub-block to a block according to an embodiment of the present invention.
5 is a flowchart illustrating a method of connecting an N+1th subblock to an Nth subblock according to an embodiment of the present invention.
6 is an exemplary diagram for explaining a method of connecting an N-th sub-block to a block and a method of connecting an N+1-th sub-block to an N-th sub-block according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments published below, but may be implemented in various different forms, and only these embodiments make the publication of the present invention complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning 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 to be interpreted ideally or excessively unless clearly defined in particular.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components.

도 1 은 본 발명의 블록체인 시스템을 나타낸 블록도이다.1 is a block diagram showing the blockchain system of the present invention.

도 1을 참조하면, 블록체인 시스템은 복수의 노드들(200)로 이루어진 분권형 네트워크(decentralized network, 100) 시스템일 수 있다. 분권형 네트워크(100)를 구성하는 노드들(200)은 컴퓨터, 서버, 이동 단말기 등 연산 기능, 통신 기능, 저장 기능 등을 구비한 전자 장치일 수 있다.Referring to FIG. 1 , the blockchain system may be a decentralized network 100 system composed of a plurality of nodes 200 . The nodes 200 constituting the decentralized network 100 may be electronic devices having an arithmetic function, a communication function, a storage function, etc., such as a computer, a server, and a mobile terminal.

일 실시 예에서, 분권형 네트워크(100)는 블록 체인(block chain)이라 불리는 블록(block)의 연결 묶음 내에 모든 참여 노드에 공통으로 알려진 정보를 저장하고 참조할 수 있다. 복수의 노드들(200)은 상호간 통신이 가능하며 블록 체인을 저장, 관리 및 전파를 담당하는 완전 노드(full node)와 단순하게 트랜잭션에만 참여할 수 있는 간이 노드(light node)로 구분될 수 있다. 본 명세서에서 별다른 설명 없이 노드에 대하여 언급되는 경우, 이는 분권형 네트워크(100)에 참여하며 블록 체인을 생성, 저장 또는 검증하는 동작을 수행하는 완전 노드를 지칭하는 경우가 많으나, 이에 국한되지 않는다.In one embodiment, the decentralized network 100 may store and refer to information commonly known to all participating nodes in a connected bundle of blocks called a block chain. The plurality of nodes 200 can communicate with each other and can be divided into a full node that stores, manages, and propagates the block chain, and a light node that can simply participate in transactions. In this specification, when referring to a node without a separate description, it often refers to a full node that participates in the decentralized network 100 and performs an operation to create, store, or verify a block chain, but is not limited thereto.

일 실시 예에서, 블록 체인에 연결되어 있는 각 블록(block)들은 일정 기간 내의 거래 내역, 즉 트랜잭션(transaction)들을 포함한다. 노드들(200)은 각각 역할에 따라 블록 체인을 생성, 저장 또는 검증함으로써 트랜잭션들을 관리한다.In one embodiment, each block connected to the block chain includes transaction details within a certain period, ie, transactions. The nodes 200 manage transactions by creating, storing, or verifying the block chain according to their respective roles.

일 실시 예에서, 트랜잭션은 다양한 형태의 거래를 나타낼 수 있다. 예를 들어, 트랜잭션은 가상 화폐의 소유 상태 및 그 변동을 나타내기 위한 금융 거래에 해당할 수 있다. 또한, 다른 예에서 트랜잭션은 물건의 소유 상태 및 그 변동을 나타내기 위한 실물 거래에 해당할 수 있다. 분권형 네트워크(100)에서 거래를 수행하는 노드들은 각각의 암호학적 연관관계가 있는 개인키(private key) 및 공개키(public key) 쌍을 가질 수 있다.In an embodiment, a transaction may represent various types of transactions. For example, a transaction may correspond to a financial transaction for indicating the ownership status of virtual currency and its change. Also, in another example, the transaction may correspond to a real transaction for indicating the ownership status of the object and its change. Nodes performing a transaction in the decentralized network 100 may have a private key and a public key pair each cryptographically related.

일 실시 예에서, 본 발명에 개시된 블록 체인은 순차적으로 연결된 하나 이상의 블록들의 분산 데이터베이스의 일종일 수 있다. 블록 체인은 블록 체인 시스템 내 사용자의 거래 내역을 저장하고 관리하기 위해 사용되며, 블록 체인 네트워크(100)에 참여하는 각 노드가 블록을 생성하여 블록 체인에 연결한다. 예컨대 후술할 도 3에 개시된 블록 1 내지 블록 3은 순차적으로 연결된 블록 체인의 블록 중 일부일 수 있다. 도 3에서 제한된 수의 블록들이 도시되어 있으나 블록 체인에 포함될 수 있는 블록의 수는 이에 제한되지 아니한다.In one embodiment, the block chain disclosed in the present invention may be a kind of distributed database of one or more sequentially connected blocks. The block chain is used to store and manage the user's transaction details in the block chain system, and each node participating in the block chain network 100 creates a block and connects it to the block chain. For example, blocks 1 to 3 disclosed in FIG. 3 to be described later may be a part of blocks of a sequentially connected block chain. Although a limited number of blocks are illustrated in FIG. 3 , the number of blocks that can be included in the block chain is not limited thereto.

일 실시 예에서, 블록 체인에 포함된 각 블록은 블록 헤더(Block header)와 블록 바디(Block body)를 포함하도록 구성될 수 있다. 블록 헤더는 각 블록들간의 연결 관계를 나타내기 위하여 이전 블록의 해시 값을 포함할 수 있다. 블록 체인이 유효한지 검증하는 과정에서 블록 헤더 내의 연결 관계가 사용될 수 있다. 블록 바디는 블록에 저장되고 관리되는 데이터, 예를 들어 트랜잭션 정보, 트랜잭션 리스트 또는 트랜잭션 체인을 포함할 수 있다.In an embodiment, each block included in the block chain may be configured to include a block header and a block body. The block header may include a hash value of a previous block to indicate a connection relationship between blocks. Connection relationships in block headers can be used in the process of verifying that the blockchain is valid. A block body may include data stored and managed in a block, for example, transaction information, a transaction list, or a transaction chain.

일 실시 예에서, 블록 헤더는 이전 블록의 해시 값, 현재 블록의 해시 값, 서브 블록의 해시 값, 트랜잭션 해시 값, 넌스(Nonce)를 포함할 수 있다.In an embodiment, the block header may include a hash value of a previous block, a hash value of a current block, a hash value of a sub-block, a transaction hash value, and a nonce.

일 실시 예에서, 블록 체인은 연결된 복수의 블록들을 포함할 수 있다. 복수의 블록들은 블록 헤더 내의 해시 값에 기초하여 연결될 수 있다. 블록 헤더에 포함된 이전 블록의 해시 값 직전 블록에 대한 해시 값으로서 직전 블록에 포함된 현재 해시 값과 동일한 값일 수 있다. 복수의 블록들은 각 블록 헤더 내의 이전 블록의 해시 값에 의하여 연쇄적으로 연결될 수 있다. 분권형 네트워크(100)에 참여하는 노드들(200)은 하나 이상의 블록들에 포함된 이전 블록의 해시 값에 기반하여 블록의 유효성을 검증하므로 악의적인 단일 노드가 이미 생성된 블록의 내용을 위조 또는 변조하는 행위가 불가능할 수 있다.In an embodiment, a block chain may include a plurality of connected blocks. A plurality of blocks may be connected based on a hash value in the block header. The hash value of the previous block included in the block header is a hash value for the block immediately preceding, and may be the same as the current hash value included in the previous block. A plurality of blocks may be chained by the hash value of the previous block in each block header. Nodes 200 participating in the decentralized network 100 verify the validity of a block based on the hash value of the previous block included in one or more blocks, so a single malicious node forges or falsifies the contents of an already created block. Tampering may not be possible.

일 실시 예에서, 블록 바디는 트랜잭션 정보, 트랜잭션 리스트, 또는 트랜잭션 체인을 포함할 수 있다. 트랜잭션 정보는 트랜잭션에서 생성된 다양한 형태의 거래와 관련된 정보일 수 있다. 트랜잭션 리스트는 블록 체인 기반의 거래의 목록일 수 있다. 예를 들면, 트랜잭션 리스트는 블록 체인 기반의 금융 시스템에서 이루어진 금융 거래에 대한 기록을 포함할 수 있다. 트랜잭션 리스트는 트리(tree) 형태로 표현될 수 있으며, 예를 들어, 사용자 A가 사용자 B에게 전송한 금액을 목록 형태로 기록하며, 블록 내의 저장 길이는 현재 블록에 포함된 트랜잭션의 수에 기초하여 증감될 수 있다. In an embodiment, the block body may include transaction information, a transaction list, or a transaction chain. The transaction information may be information related to various types of transactions generated in the transaction. The transaction list may be a list of blockchain-based transactions. For example, the transaction list may include a record of financial transactions made in a blockchain-based financial system. The transaction list can be expressed in the form of a tree, and for example, the amount of money sent by user A to user B is recorded in the form of a list, and the storage length in the block is based on the number of transactions included in the current block. can be increased or decreased.

하기 도 2 내지 도 6에서 설명할 본 발명의 각 방법들은 블록 체인 네트워크(100)에 포함된 복수의 노드들(200) 중 어느 하나의 노드가 수행할 수 있다. 하기에서 설명의 편의를 위해 노드(200)이 동작들을 수행하는 것으로 설명한다. 여기서 노드(200)은 복수의 노드들(200) 중 어느 하나의 노드일 수 있다.Each of the methods of the present invention, which will be described in FIGS. 2 to 6 below, may be performed by any one of the plurality of nodes 200 included in the block chain network 100 . Hereinafter, for convenience of description, it will be described that the node 200 performs operations. Here, the node 200 may be any one of the plurality of nodes 200 .

도 2는 본 발명의 일 실시 예에 따른 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법을 설명하기 위한 흐름도이다. 도 3은 본 발명의 일 실시 예에 따른 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법을 설명하기 위한 예시도이다. 도 2의 동작들은 도 1에 개시된 노드(200)에 의해 수행될 수 있다. 한편, 도 3에 개시된 블록 1(210), 블록 2(220), 블록 3(230)은 순차적으로 연결된 블록 체인 구조일 수 있다. 또한, 블록 1(210)과 블록 1.1(240)과 블록 1.2(270), 블록 2(220)와 블록 2.1(250), 블록 3(230)과 블록 3.1(260)과 블록 3.2(280)도 각각 순차적으로 연결된 블록 체인 구조일 수 있다.2 is a flowchart illustrating an information management method based on a vertical block structure in a block chain according to an embodiment of the present invention. 3 is an exemplary diagram for explaining an information management method based on a vertical block structure in a block chain according to an embodiment of the present invention. The operations of FIG. 2 may be performed by the node 200 disclosed in FIG. 1 . Meanwhile, block 1 210 , block 2 220 , and block 3 230 illustrated in FIG. 3 may have a sequentially connected block chain structure. Also block 1 (210) and block 1.1 (240) and block 1.2 (270), block 2 (220) and block 2.1 (250), block 3 (230) and block 3.1 (260) and block 3.2 (280) Each may be a sequentially connected block chain structure.

도 2 및 도 3을 참조하면, 일 실시 예에서, 동작 21에서, 노드(200)는 제1 정보의 제1 상세 정보를 포함하는 블록을 생성할 수 있다. 예를 들어, 제1 정보는 계약 관련 정보, 물류 관련 정보, 전자 문서 등의 컨텐츠 중 적어도 하나를 포함할 수 있고, 제1 상세 정보는 제1 정보의 관리 정보를 포함할 수 있다. 여기서 관리 정보는 제1 정보의 관리를 위한 모든 정보를 포함할 수 있다.2 and 3 , in an embodiment, in operation 21 , the node 200 may generate a block including the first detailed information of the first information. For example, the first information may include at least one of contents such as contract-related information, logistics-related information, and electronic documents, and the first detailed information may include management information of the first information. Here, the management information may include all information for management of the first information.

일 실시 예에서, 노드(200)는 제1 정보의 제1 상세 정보를 포함하는 블록 1(210), 제2 정보의 제1 상세 정보를 포함하는 블록 2(220), 제3 정보의 제1 상세 정보를 포함하는 블록 3(230)을 생성할 수 있다. 한편, 여기서 블록들의 개수는 예시적인 것에 불과하고 다양한 개수의 블록들이 생성되어 블록 체인을 형성할 수 있다.In an embodiment, the node 200 includes a block 1 210 including the first detailed information of the first information, a block 2 220 including the first detailed information of the second information, and a first of the third information. Block 3 230 including detailed information may be generated. Meanwhile, the number of blocks is merely exemplary, and various numbers of blocks may be generated to form a block chain.

일 실시 예에서, 블록 1(210)은 블록 헤더(211)와 블록 바디(212)를 포함할 수 있다. 블록 헤더(211)는 이전 블록 해시 값(Block 0 hash), 현재 블록 해시 값(Block 1 hash), 제N 서브 블록 해시 값(Block 1.1 hash) 및 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 블록 바디(212)는 트랜잭션 1 정보를 포함할 수 있다. 여기서 트랜잭션 1 정보는 제1 정보의 제1 상세 정보를 포함할 수 있다.In an embodiment, block 1 210 may include a block header 211 and a block body 212 . The block header 211 may include a previous block hash value (Block 0 hash), a current block hash value (Block 1 hash), an N-th sub-block hash value (Block 1.1 hash), and a transaction hash value (Transaction hash). . The block body 212 may include transaction 1 information. Here, the transaction 1 information may include first detailed information of the first information.

일 실시 예에서, 블록 2(220)는 블록 헤더(221)와 블록 바디(222)를 포함할 수 있다. 블록 헤더(221)는 이전 블록 해시 값(Block 1 hash), 현재 블록 해시 값(Block 2 hash), 제N 서브 블록 해시 값(Block 2.1 hash) 및 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 블록 바디(222)는 트랜잭션 2 정보를 포함할 수 있다. 여기서 트랜잭션 2 정보는 제2 정보의 제1 상세 정보를 포함할 수 있다.In an embodiment, block 2 220 may include a block header 221 and a block body 222 . The block header 221 may include a previous block hash value (Block 1 hash), a current block hash value (Block 2 hash), an N-th sub-block hash value (Block 2.1 hash), and a transaction hash value (Transaction hash). . The block body 222 may include transaction 2 information. Here, the transaction 2 information may include first detailed information of the second information.

일 실시 예에서, 블록 3(230)은 블록 헤더(231)와 블록 바디(232)를 포함할 수 있다. 블록 헤더(231)는 이전 블록 해시 값(Block 2 hash), 현재 블록 해시 값(Block 3 hash), 제N 서브 블록 해시 값(Block 3.1 hash) 및 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 블록 바디(232)는 트랜잭션 3 정보를 포함할 수 있다. 여기서 트랜잭션 3 정보는 제3 정보의 제1 상세 정보를 포함할 수 있다.In one embodiment, block 3 230 may include a block header 231 and a block body 232 . The block header 231 may include a previous block hash value (Block 2 hash), a current block hash value (Block 3 hash), an N-th sub-block hash value (Block 3.1 hash), and a transaction hash value (Transaction hash). . The block body 232 may include transaction 3 information. Here, the transaction 3 information may include first detailed information of the third information.

일 실시 예에서, 동작 22에서, 노드(200)는 블록이 블록체인 중 베이스 체인에 연결되도록 블록을 분산 저장할 수 있다. 예를 들어, 베이스 체인은 블록 1(210), 블록 2(220), 블록 3(230)이 순차적으로 연결된 블록 체인을 의미할 수 있다. 예를 들어, 노드(200)는 블록 1(210)을 생성한 이후 도면에는 도시되지 않은 이전 블록 0에 연결되도록 블록 1(210)을 분산 저장할 수 있다. 또한, 노드 (200)은 블록 2(220)를 생성한 이후 이전 블록 1(210)에 연결되도록 블록 2(220)을 분산 저장할 수 있다. 또한, 노드 (200)은 블록 3(230)를 생성한 이후 이전 블록 2(220)에 연결되도록 블록 3(230)을 분산 저장할 수 있다.In an embodiment, in operation 22, the node 200 may distribute and store the block so that the block is connected to a base chain among the block chains. For example, the base chain may mean a block chain in which block 1 210 , block 2 220 , and block 3 230 are sequentially connected. For example, after the node 200 generates the block 1 210 , the block 1 210 may be distributed and stored so as to be connected to a previous block 0 not shown in the drawing. Also, the node 200 may distribute and store the block 2 220 so as to be connected to the previous block 1 210 after generating the block 2 220 . Also, the node 200 may distribute and store the block 3 230 so as to be connected to the previous block 2 220 after generating the block 3 230 .

일 실시 예에서, 동작 23에서, 노드(200)는 제1 정보의 제2 상세 정보를 포함하는 제N 서브 블록을 생성할 수 있다. 예를 들어, 제2 상세 정보는 제1 정보의 파일 정보, 링크 정보 또는 변경이력 정보 중 적어도 하나를 포함할 수 있다.In an embodiment, in operation 23, the node 200 may generate an N-th sub-block including the second detailed information of the first information. For example, the second detailed information may include at least one of file information, link information, and change history information of the first information.

일 실시 예에서, 노드(200)는 블록 1(210)의 제N 서브 블록에 해당하는 블록 1.1(240), 블록 2(220)의 제N 서브 블록에 해당하는 블록 2.1(250), 블록 3(230)의 제N 서브 블록에 해당하는 블록 3.1(260)을 생성할 수 있다.In one embodiment, the node 200 corresponds to block 1.1 240 corresponding to the N-th sub-block of block 1 210 , block 2.1 250 corresponding to the N-th sub-block of block 2 220 , and block 3 Block 3.1 (260) corresponding to the N-th sub-block of (230) may be generated.

일 실시 예에서, 블록 1.1(240)은 블록 헤더(241)와 블록 바디(242)를 포함할 수 있다. 블록 헤더(241)는 블록 식별 정보, 제N 서브 블록 해시 값에 대응하는 현재 블록 해시 값(Block 1.1 hash) 및 제2 상세 정보 해시 값에 대응하는 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 여기서 블록 식별 정보는 제1 정보의 관리 정보를 갖는 최초의 블록인 블록 1(210)을 식별할 수 있는 블록 해쉬 값인 Block 1 hash일 수 있다. 블록 바디(242)는 트랜잭션 1.1 정보를 포함할 수 있다. 여기서 트랜잭션 1.1 정보는 제1 정보의 제2 상세 정보를 포함할 수 있다.In one embodiment, block 1.1 240 may include a block header 241 and a block body 242 . The block header 241 may include block identification information, a current block hash value (Block 1.1 hash) corresponding to the N-th sub-block hash value, and a transaction hash value (Transaction hash) corresponding to the second detailed information hash value. . Here, the block identification information may be a Block 1 hash which is a block hash value that can identify the block 1 210 that is the first block having the management information of the first information. The block body 242 may contain transaction 1.1 information. Here, the transaction 1.1 information may include second detailed information of the first information.

일 실시 예에서, 블록 2.1(250)은 블록 헤더(251)와 블록 바디(252)를 포함할 수 있다. 블록 헤더(251)는 블록 식별 정보, 제N 서브 블록 해시 값에 대응하는 현재 블록 해시 값(Block 2.1 hash) 및 제2 상세 정보 해시 값에 대응하는 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 여기서 블록 식별 정보는 제2 정보의 관리 정보를 갖는 최초의 블록인 블록 2(220)을 식별할 수 있는 블록 해쉬 값인 Block 2 hash일 수 있다. 블록 바디(252)는 트랜잭션 2.1 정보를 포함할 수 있다. 여기서 트랜잭션 2.1 정보는 제2 정보의 제2 상세 정보를 포함할 수 있다.In one embodiment, block 2.1 250 may include a block header 251 and a block body 252 . The block header 251 may include block identification information, a current block hash value (Block 2.1 hash) corresponding to the N-th sub-block hash value, and a transaction hash value (Transaction hash) corresponding to the second detailed information hash value. . Here, the block identification information may be a Block 2 hash which is a block hash value capable of identifying the block 2 220 which is the first block having the management information of the second information. The block body 252 may contain transaction 2.1 information. Here, the transaction 2.1 information may include second detailed information of the second information.

일 실시 예에서, 블록 3.1(260)은 블록 헤더(261)와 블록 바디(262)를 포함할 수 있다. 블록 헤더(261)는 블록 식별 정보, 제N 서브 블록 해시 값에 대응하는 현재 블록 해시 값(Block 3.1 hash) 및 제2 상세 정보 해시 값에 대응하는 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 여기서 블록 식별 정보는 제3 정보의 관리 정보를 갖는 최초의 블록인 블록 3(230)을 식별할 수 있는 블록 해쉬 값인 Block 3 hash일 수 있다. 블록 바디(262)는 트랜잭션 3.1 정보를 포함할 수 있다. 여기서 트랜잭션 3.1 정보는 제3 정보의 제2 상세 정보를 포함할 수 있다.In one embodiment, block 3.1 260 may include a block header 261 and a block body 262 . The block header 261 may include block identification information, a current block hash value (Block 3.1 hash) corresponding to the N-th sub-block hash value, and a transaction hash value (Transaction hash) corresponding to the second detailed information hash value. . Here, the block identification information may be a Block 3 hash which is a block hash value that can identify the block 3 230 which is the first block having the management information of the third information. The block body 262 may contain transaction 3.1 information. Here, the transaction 3.1 information may include second detailed information of the third information.

일 실시 예에서, 동작 24에서, 노드(200)는 제2 상세 정보에 기반하여, 제N 서브 블록이 블록에서 분기(branch)된 서브 체인에 연결되도록 제N 서브 블록을 분산 저장할 수 있다. 예를 들어, 노드(200)는 블록 1.1(240), 블록 2.1(250), 및 블록 3.1(260)을 각각 블록 1(210), 블록 2(220), 및 블록 3(230)의 서브 체인에 각각 연결되도록 분산 저장할 수 있다. 제N 서브 블록을 분산 저장하는 방법은 도 4에서 구체적으로 후술한다.In an embodiment, in operation 24, the node 200 may distribute and store the N-th sub-block so that the N-th sub-block is connected to a sub-chain branched from the block based on the second detailed information. For example, node 200 may have block 1.1 (240), block 2.1 (250), and block 3.1 (260) in subchains of block 1 (210), block 2 (220), and block 3 (230), respectively. It can be distributed and stored to be connected to each. A method of distributedly storing the N-th sub-block will be described in detail later with reference to FIG. 4 .

일 실시 예에서, 동작 25에서, 노드(200)는 제1 정보의 제3 정보를 포함하는 제N+1 서브 블록을 생성할 수 있다. 예를 들어, 제3 정보는 상기 제1 정보의 변경이력 정보를 포함할 수 있다. 예컨대, 노드(200)은 각 정보들을 수정하거나 변경할 때 제N+1 서브 블록을 생성할 수 있다.In an embodiment, in operation 25 , the node 200 may generate an N+1th sub-block including the third information of the first information. For example, the third information may include change history information of the first information. For example, the node 200 may generate an N+1th sub-block when correcting or changing each piece of information.

일 실시 예에서, 노드(200)는 블록 1(210)의 제N+1 서브 블록에 해당하는 블록 1.2(270), 블록 3(230)의 제N+1 서브 블록에 해당하는 블록 3.2(280)을 생성할 수 있다. 여기서 제N+1 서브 블록을 생성하는 개수는 예시적인 것에 불과하고 다양한 개수로 생성될 수 있다.In an embodiment, the node 200 has a block 1.2 (270) corresponding to the N+1-th sub-block of the block 1 210, and a block 3.2 (280) corresponding to the N+1-th sub-block of the block 3 (230). ) can be created. Here, the number of generating the N+1th sub-block is merely exemplary and may be generated in various numbers.

일 실시 예에서, 블록 1.2(270)은 블록 헤더(271)와 블록 바디(272)를 포함할 수 있다. 블록 헤더(271)는 블록 식별 정보, 제N 서브 블록 해시 값에 대응하는 이전 블록 해시 값(Block 1.1 hash), 제N+1 서브 블록 해시 값에 대응하는 현재 블록 해시 값(Block 1.2 hash) 및 제3 정보 해시 값에 대응하는 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 여기서 블록 식별 정보는 제1 정보의 관리 정보를 갖는 최초의 블록인 블록 1(210)을 식별할 수 있는 블록 해쉬 값인 Block 1 hash일 수 있다. 블록 바디(272)는 트랜잭션 1.2 정보를 포함할 수 있다. 여기서 트랜잭션 1.2 정보는 제1 정보의 제3 정보를 포함할 수 있다.In one embodiment, block 1.2 270 may include a block header 271 and a block body 272 . The block header 271 includes block identification information, a previous block hash value corresponding to the N-th sub-block hash value (Block 1.1 hash), a current block hash value corresponding to the N+1-th sub-block hash value (Block 1.2 hash), and The third information may include a transaction hash value corresponding to the hash value. Here, the block identification information may be a Block 1 hash which is a block hash value that can identify the block 1 210 that is the first block having the management information of the first information. The block body 272 may contain transaction 1.2 information. Here, the transaction 1.2 information may include third information of the first information.

일 실시 예에서, 블록 3.2(280)은 블록 헤더(281)와 블록 바디(282)를 포함할 수 있다. 블록 헤더(281)는 블록 식별 정보, 제N 서브 블록 해시 값에 대응하는 이전 블록 해시 값(Block 3.1 hash), 제N+1 서브 블록 해시 값에 대응하는 현재 블록 해시 값(Block 3.2 hash) 및 제3 정보 해시 값에 대응하는 트랜잭션 해시 값(Transaction hash)을 포함할 수 있다. 여기서 블록 식별 정보는 제3 정보의 관리 정보를 갖는 최초의 블록인 블록 3(230)을 식별할 수 있는 블록 해쉬 값인 Block 3 hash일 수 있다. 블록 바디(282)는 트랜잭션 3.2 정보를 포함할 수 있다. 여기서 트랜잭션 3.2 정보는 제3 정보의 제3 정보를 포함할 수 있다.In one embodiment, block 3.2 280 may include a block header 281 and a block body 282 . The block header 281 includes block identification information, a previous block hash value corresponding to the N-th sub-block hash value (Block 3.1 hash), a current block hash value corresponding to the N+1-th sub-block hash value (Block 3.2 hash), and The third information may include a transaction hash value corresponding to the hash value. Here, the block identification information may be a Block 3 hash which is a block hash value that can identify the block 3 230 which is the first block having the management information of the third information. The block body 282 may contain transaction 3.2 information. Here, the transaction 3.2 information may include third information of the third information.

일 실시 예에서, 동작 26에서, 노드(200)는 제3 정보에 기반하여, 상기 제N+1 서브 블록이 상기 블록에서 분기(branch)된 서브 체인에 연결되도록 상기 제N+1 서브 블록을 분산 저장할 수 있다. 예를 들어, 노드(200)는 블록 1.2(270) 및 블록 3.2(280)을 각각 블록 1.1(240) 및 블록 3.1(260)의 서브 체인에 각각 연결되도록 분산 저장할 수 있다. 제N+1 서브 블록을 분산 저장하는 방법은 도 5에서 구체적으로 후술한다.In one embodiment, in operation 26, the node 200 creates the N+1-th sub-block so that the N+1-th sub-block is connected to a sub-chain branched from the block based on the third information. It can be distributed and stored. For example, the node 200 may distribute and store blocks 1.2 (270) and blocks 3.2 (280) to be connected to the sub-chains of blocks 1.1 (240) and block 3.1 (260), respectively. A method of distributing and storing the N+1th sub-block will be described in detail later with reference to FIG. 5 .

이와 같이, 본 발명은 정보의 관리 정보만을 포함하는 블록을 베이스 체인에 연결시킴으로써 저장 공간 및 관리의 효율성을 높일 수 있고, 정보가 변경될 때마다 서브 체인에 순차적으로 연결되는 제N 서브 블록들에게 변경과 관련된 정보(예: 정보의 파일 정보, 링크 정보, 변경 이력 정보)를 포함시킴으로써 하나의 정보를 관리하기 위한 검색 및 조회에 필요한 시간을 줄일 수 있다. 특히, 가장 최근 변경된 이력을 포함하는 블록은 서브 체인 중 가장 마지막에 연결된 블록이므로 보다 손쉽게 정보의 변경 이력을 확인할 수 있다.As such, the present invention can increase storage space and management efficiency by linking a block containing only information management information to the base chain, and provide N-th sub-blocks sequentially connected to the sub-chain whenever information is changed. By including information related to change (eg, file information of information, link information, change history information), the time required for searching and inquiring for managing one piece of information can be reduced. In particular, since the block including the most recently changed history is the last connected block among the sub-chains, it is easier to check the information change history.

도 4는 본 발명의 일 실시 예에 따른 제N 서브 블록을 블록에 연결하는 방법을 설명하기 위한 흐름도이다. 도 6은 본 발명의 일 실시 예에 따른 제N 서브 블록을 블록에 연결하는 방법과 제N+1 서브 블록을 제N 서브 블록에 연결하는 방법을 설명하기 위한 예시도이다. 도 4의 동작들은 도 2의 동작 24를 구체화한 동작들일 수 있다. 도 4의 동작들은 도 1에 개시된 노드(200)에 의해 수행될 수 있다. 한편, 도 6에 개시된 블록 1(210), 블록 1.1(240), 블록 1.2(270)은 순차적으로 연결된 블록 체인 구조일 수 있다.4 is a flowchart illustrating a method of connecting an N-th sub-block to a block according to an embodiment of the present invention. 6 is an exemplary diagram for explaining a method of connecting an N-th sub-block to a block and a method of connecting an N+1-th sub-block to an N-th sub-block according to an embodiment of the present invention. The operations of FIG. 4 may be operations that embodied operation 24 of FIG. 2 . The operations of FIG. 4 may be performed by the node 200 disclosed in FIG. 1 . On the other hand, block 1 210 , block 1.1 240 , and block 1.2 270 shown in FIG. 6 may have a sequentially connected block chain structure.

도 4 및 도 6을 참조하면, 일 실시 예에서, 동작 41에서, 노드(200)는 제N 서브 블록에서 블록 식별 정보 및 제N 서브 블록 해시 값을 확인할 수 있다. 예를 들어, 노드(200)은 블록 1(210)의 제N 서브 블록에 대응하는 블록 1.1(240)에서 블록 식별 정보에 대응하는 Block 1 hash와 제N 서브 블록 해시 값에 대응하는 Block 1.1 hash를 확인할 수 있다.4 and 6 , in an embodiment, in operation 41, the node 200 may check block identification information and an N-th sub-block hash value in the N-th sub-block. For example, the node 200 may have a Block 1 hash corresponding to block identification information in block 1.1 240 corresponding to the N-th sub-block of block 1 210 and a Block 1.1 hash corresponding to the N-th sub-block hash value. can be checked.

일 실시 예에서, 동작 42에서, 노드(200)는 블록 식별 정보에 기반하여 블록에서 분기된 서브 체인에 제N 서브 블록을 위치할 수 있다. 예를 들어, 노드(200)는 Block 1 hash에 따라 최초 블록에 해당하는 블록 1(210)을 확인할 수 있고, 블록 1(210)의 서브 체인에 블록 1.1(240)을 위치할 수 있다.In an embodiment, in operation 42, the node 200 may place the Nth sub-block in a sub-chain branched from the block based on the block identification information. For example, the node 200 may identify block 1 210 corresponding to the first block according to the block 1 hash, and may locate block 1.1 240 in the sub-chain of block 1 210 .

일 실시 예에서, 동작 43에서, 노드(200)는 제N 서브 블록 해시 값에 기반하여, 제N 서브 블록을 블록에 연결하는 단계를 포함할 수 있다. 예를 들어, 노드(200)은 Block 1.1 해시 값에 따라 블록 1.1(240)을 이전 블록에 대응하는 블록 1(210)에 연결할 수 있다. 이에 따라 본 발명은 동일한 정보와 관련된 블록들을 손쉽게 검색 및 조회할 수 있고 효율적으로 관리할 수 있다.In an embodiment, in operation 43 , the node 200 may include connecting the N-th sub-block to the block based on the N-th sub-block hash value. For example, the node 200 may connect block 1.1 240 to block 1 210 corresponding to the previous block according to the block 1.1 hash value. Accordingly, according to the present invention, it is possible to easily search and inquire blocks related to the same information and efficiently manage them.

도 5는 본 발명의 일 실시 예에 따른 제N+1 서브 블록을 제N 서브 블록에 연결하는 방법을 설명하기 위한 흐름도이다. 도 6은 본 발명의 일 실시 예에 따른 제N 서브 블록을 블록에 연결하는 방법과 제N+1 서브 블록을 제N 서브 블록에 연결하는 방법을 설명하기 위한 예시도이다. 도 5의 동작들은 도 2의 동작 26을 구체화한 동작들일 수 있다. 도 5의 동작들은 도 1에 개시된 노드(200)에 의해 수행될 수 있다. 한편, 도 6에 개시된 블록 1(210), 블록 1.1(240), 블록 1.2(270)은 순차적으로 연결된 블록 체인 구조일 수 있다.5 is a flowchart illustrating a method of connecting an N+1th subblock to an Nth subblock according to an embodiment of the present invention. 6 is an exemplary diagram for explaining a method of connecting an N-th sub-block to a block and a method of connecting an N+1-th sub-block to an N-th sub-block according to an embodiment of the present invention. The operations of FIG. 5 may be operations that embodied operation 26 of FIG. 2 . The operations of FIG. 5 may be performed by the node 200 disclosed in FIG. 1 . On the other hand, block 1 210 , block 1.1 240 , and block 1.2 270 shown in FIG. 6 may have a sequentially connected block chain structure.

도 5 및 도 6을 참조하면, 일 실시 예에서, 동작 51에서, 노드(200)는 제N+1 서브 블록에서 블록 식별 정보 및 제N 서브 블록 해시 값을 확인할 수 있다. 예를 들어, 노드(200)은 블록 1(210)의 제N+1 서브 블록에 대응하는 블록 1.2(270)에서 블록 식별 정보에 대응하는 Block 1 hash와 제N 서브 블록 해시 값에 대응하는 Block 1.1 hash를 확인할 수 있다.5 and 6 , in an embodiment, in operation 51, the node 200 may check block identification information and an N-th sub-block hash value in the N+1-th sub-block. For example, the node 200 may block 1 hash corresponding to the block identification information in block 1.2 270 corresponding to the N+1th sub-block of block 1 210 and Block corresponding to the N-th sub-block hash value. 1.1 You can check the hash.

일 실시 예에서, 동작 52에서, 노드(200)는 블록 식별 정보에 기반하여 블록에서 분기된 서브 체인에 N+1 서브 블록을 위치할 수 있다. 예를 들어, 노드(200)는 Block 1 hash에 따라 최초 블록에 해당하는 블록 1(210)을 확인할 수 있고, 블록 1(210)의 서브 체인에 블록 1.2(270)를 위치할 수 있다.In an embodiment, in operation 52, the node 200 may place an N+1 sub-block in a sub-chain branched from the block based on the block identification information. For example, the node 200 may identify block 1 210 corresponding to the first block according to the block 1 hash, and may locate block 1.2 270 in the sub-chain of block 1 210 .

일 실시 예에서, 동작 53에서, 노드(200)는 제N 서브 블록 해시 값에 기반하여, 제N+1 서브 블록을 제N 서브 블록에 연결할 수 있다. 예를 들어, 노드(200)은 Block 1.1 해시 값에 따라 블록 1.2(270)를 이전 블록에 대응하는 블록 1.1(240)에 연결할 수 있다. 이에 따라 본 발명은 동일한 정보와 관련된 블록들을 손쉽게 검색 및 조회할 수 있고 효율적으로 관리할 수 있다.In an embodiment, in operation 53 , the node 200 may connect the N+1th subblock to the Nth subblock based on the Nth subblock hash value. For example, the node 200 may connect block 1.2(270) to block 1.1(240) corresponding to the previous block according to the block 1.1 hash value. Accordingly, according to the present invention, it is possible to easily search and inquire blocks related to the same information and efficiently manage them.

한편, 도 4 내지 도 6은 설명의 편의를 위해 블록 1(210)과 그 서브 블록들을 예시로 든 것이고, 도 4 내지 도 6의 설명은 다른 블록들(220, 230)에도 동일하게 적용될 수 있다.Meanwhile, FIG. 4 to FIG. 6 exemplifies block 1 210 and its sub-blocks for convenience of explanation, and the description of FIGS. 4 to 6 may be equally applied to other blocks 220 and 230 . .

본 발명의 일 실시예에 따른 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법은 제1 정보의 제1 상세 정보를 포함하는 블록을 생성하는 단계; 상기 블록이 상기 블록체인 중 베이스 체인에 연결되도록 상기 블록을 분산 저장하는 단계; 상기 제1 정보의 제2 상세 정보를 포함하는 제N 서브 블록을 생성하는 단계; 및 상기 제2 상세 정보에 기반하여, 상기 제N 서브 블록이 상기 블록에서 분기(branch)된 서브 체인에 연결되도록 상기 제N 서브 블록을 분산 저장하는 단계를 포함를 포함할 수 있다.An information management method based on a vertical block structure in a block chain according to an embodiment of the present invention includes: generating a block including first detailed information of first information; Distributing and storing the block so that the block is connected to a base chain of the block chain; generating an N-th sub-block including second detailed information of the first information; and distributing and storing the N-th sub-block so that the N-th sub-block is connected to a sub-chain branched from the block based on the second detailed information.

다양한 실시 예에 따르면, 상기 제1 정보는 계약 관련 정보, 물류 관련 정보 및 컨텐츠 중 적어도 하나를 포함할 수 있다.According to various embodiments, the first information may include at least one of contract-related information, logistics-related information, and content.

다양한 실시 예에 따르면, 상기 제1 상세 정보는 상기 제1 정보의 관리 정보를 포함할 수 있다.According to various embodiments, the first detailed information may include management information of the first information.

다양한 실시 예에 따르면, 상기 제2 상세 정보는 상기 제1 정보의 파일 정보, 링크 정보 또는 변경이력 정보 중 적어도 하나를 포함할 수 있다.According to various embodiments, the second detailed information may include at least one of file information, link information, and change history information of the first information.

다양한 실시 예에 따르면, 상기 제N 서브 블록은 블록 식별 정보, 제N 서브 블록 해시 값, 제2 상세 정보 해시 값 및 상기 제2 상세 정보를 포함할 수 있다.According to various embodiments, the N-th sub-block may include block identification information, an N-th sub-block hash value, a second detailed information hash value, and the second detailed information.

다양한 실시 예에 따르면, 상기 블록은 상기 제N 서브 블록 해시 값을 포함하고, 상기 제N 서브 블록을 분산 저장하는 단계는, 상기 제N 서브 블록에서 상기 블록 식별 정보 및 상기 제N 서브 블록 해시 값을 확인하는 단계; 상기 블록 식별 정보에 기반하여 상기 블록에서 분기된 상기 서브 체인에 상기 제N 서브 블록을 위치하는 단계; 및 상기 제N 서브 블록 해시 값에 기반하여, 상기 제N 서브 블록을 상기 블록에 연결하는 단계를 포함할 수 있다.According to various embodiments, the block includes the N-th sub-block hash value, and the distributed storage of the N-th sub-block includes: the block identification information and the N-th sub-block hash value in the N-th sub-block to confirm; locating the N-th sub-block in the sub-chain branched from the block based on the block identification information; and connecting the N-th sub-block to the block based on the N-th sub-block hash value.

다양한 실시 예에 따르면, 본 발명은 상기 제1 정보의 제3 정보를 포함하는 제N+1 서브 블록을 생성하는 단계; 및 상기 제3 정보에 기반하여, 상기 제N+1 서브 블록이 상기 블록에서 분기(branch)된 서브 체인에 연결되도록 상기 제N+1 서브 블록을 분산 저장하는 단계를 더 포함할 수 있다.According to various embodiments, the present invention may include: generating an N+1th sub-block including third information of the first information; and distributing and storing the N+1-th sub-block so that the N+1-th sub-block is connected to a sub-chain branched from the block based on the third information.

다양한 실시 예에 따르면, 상기 제3 정보는 상기 제1 정보의 변경이력 정보를 포함할 수 있다.According to various embodiments, the third information may include change history information of the first information.

다양한 실시 예에 따르면, 상기 제N+1 서브 블록은 상기 블록 식별 정보, 상기 제N 서브 블록 해시 값, 제N+1 서브 블록 해시 값, 제3 정보 해시 값 및 상기 제3 정보를 포함할 수 있다.According to various embodiments, the N+1th subblock may include the block identification information, the Nth subblock hash value, the N+1th subblock hash value, the third information hash value, and the third information. have.

다양한 실시 예에 따르면, 상기 제N+1 서브 블록을 분산 저장하는 단계는, 상기 제N+1 서브 블록에서 상기 블록 식별 정보 및 상기 제N 서브 블록 해시 값을 확인하는 단계; 상기 블록 식별 정보에 기반하여 상기 블록에서 분기된 상기 서브 체인에 상기 제N+1 서브 블록을 위치하는 단계; 및 상기 제N 서브 블록 해시 값에 기반하여, 상기 제N+1 서브 블록을 상기 제N 서브 블록에 연결하는 단계를 포함할 수 있다.According to various embodiments, the distributed storage of the N+1th subblock may include: checking the block identification information and the Nth subblock hash value in the N+1th subblock; locating the N+1th sub-block in the sub-chain branched from the block based on the block identification information; and connecting the N+1-th sub-block to the N-th sub-block based on the N-th sub-block hash value.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

100 : 블록체인 네트워크 200 : 복수의 노드들100: Blockchain Network 200: Multiple Nodes

Claims (10)

장치에 의해 수행되는, 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법에 있어서,
제1 정보의 제1 상세 정보를 포함하는 블록을 생성하는 단계;
상기 블록이 상기 블록체인 중 수평적 구조의 베이스 체인에 연결되도록 상기 블록을 분산 저장하는 단계;
상기 제1 정보의 제2 상세 정보를 포함하는 제N 서브 블록을 생성하는 단계; 및
상기 제2 상세 정보에 기반하여, 상기 제N 서브 블록이 상기 블록에서 분기(branch)된 수직적 구조의 서브 체인에 연결되도록 상기 제N 서브 블록을 분산 저장하는 단계를 포함하며,
상기 제1 정보는, 계약 관련 정보, 물류 관련 정보 및 컨텐츠를 포함하고,
상기 제1 상세 정보는, 상기 제1 정보의 관리 정보를 포함하고,
상기 제2 상세 정보는, 상기 제1 정보의 파일 정보, 링크 정보 및 변경이력 정보를 포함하고,
상기 블록은, 이전 블록의 해시 값, 해당 블록의 해시 값, 상기 해당 블록에서 분기된 상기 제N 서브 블록의 해시 값, 트랜잭션 해시 값 및 넌스(Nonce)를 포함하는 블록 헤더와, 트랜잭션 정보, 트랜잭션 리스트 및 트랜잭션 체인을 포함하는 블록 바디를 포함하고,
상기 트랜잭션 정보는, 트랜잭션에서 생성된 각 형태의 거래와 관련된 정보이고,
상기 트랜잭션 리스트는, 상기 블록체인 기반의 거래에 대한 기록을 트리(tree) 형태로 표현한 것으로, 현재 블록에 포함된 트랜잭션의 수에 기초하여 증감되며,
상기 블록은, 다른 정보에 대한 적어도 하나의 다른 블록들과 각 블록 헤더 내의 이전 블록 해시 값에 의하여 연쇄적으로 연결되어 상기 수평적 구조의 베이스 체인을 형성하고,
상기 제N 서브 블록의 블록 헤더는, 블록 식별 정보, 제N 서브 블록 해시 값에 대응하는 현재 블록 해시 값 및 제2 상세 정보 해시 값에 대응하는 트랜잭션 해시 값을 포함하고,
상기 블록 식별 정보는, 상기 제1 정보의 관리 정보를 포함하는 최초의 블록인 상기 블록을 식별할 수 있는 블록 해시 값이고,
상기 제N 서브 블록의 블록 바디는, 상기 제2 상세 정보를 포함하는 트랜잭션 정보를 포함하고,
상기 제N 서브 블록을 분산 저장하는 단계는,
상기 제N 서브 블록에서 상기 블록 식별 정보 및 상기 제N 서브 블록 해시 값을 확인하는 단계;
상기 블록 식별 정보에 기반하여 상기 블록에서 분기된 상기 서브 체인에 상기 제N 서브 블록을 위치하는 단계; 및
상기 제N 서브 블록 해시 값에 기반하여, 상기 제N 서브 블록을 상기 블록에 연결하는 단계를 포함하며,
상기 제1 정보의 제3 상세 정보를 포함하는 제N+1 서브 블록을 생성하는 단계; 및
상기 제3 상세 정보에 기반하여, 상기 제N+1 서브 블록이 상기 블록에서 분기(branch)된 서브 체인에 연결되도록 상기 제N+1 서브 블록을 분산 저장하는 단계를 더 포함하고,
상기 제N+1 서브 블록을 분산 저장하는 단계는,
상기 제N+1 서브 블록에서 상기 블록 식별 정보 및 상기 제N 서브 블록 해시 값을 확인하는 단계;
상기 블록 식별 정보에 기반하여 상기 블록에서 분기된 상기 서브 체인에 상기 제N+1 서브 블록을 위치하는 단계; 및
상기 제N 서브 블록 해시 값에 기반하여, 상기 제N+1 서브 블록을 상기 제N 서브 블록에 연결하는 단계를 포함하며,
상기 제N+1 서브 블록의 블록 헤더는, 상기 블록 식별 정보, 상기 제N 서브 블록 해시 값에 대응하는 이전 블록 해시 값, 제N+1 서브 블록 해시 값에 대응하는 현재 블록 해시 값, 제3 상세 정보 해시 값에 대응하는 트랜잭션 해시 값을 포함하는 것을 특징으로 하는 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법.
In an information management method based on a vertical block structure in a block chain, performed by a device,
generating a block including first detailed information of the first information;
Distributing and storing the block so that the block is connected to a horizontal base chain among the block chains;
generating an N-th sub-block including second detailed information of the first information; and
and distributing and storing the N-th sub-block so that the N-th sub-block is connected to a sub-chain of a vertical structure branched from the block, based on the second detailed information,
The first information includes contract-related information, logistics-related information and content,
The first detailed information includes management information of the first information,
The second detailed information includes file information, link information, and change history information of the first information,
The block includes a block header including a hash value of a previous block, a hash value of the corresponding block, a hash value of the N-th sub-block branched from the corresponding block, a transaction hash value, and a nonce; a block body including a list and a transaction chain;
The transaction information is information related to each type of transaction generated in the transaction,
The transaction list expresses the record of the block chain-based transaction in the form of a tree, and is increased or decreased based on the number of transactions included in the current block,
The block is chained by at least one other block for different information and a previous block hash value in each block header to form a base chain of the horizontal structure,
The block header of the N-th sub-block includes block identification information, a current block hash value corresponding to the N-th sub-block hash value, and a transaction hash value corresponding to the second detailed information hash value,
The block identification information is a block hash value capable of identifying the block, which is the first block including the management information of the first information,
The block body of the N-th sub-block includes transaction information including the second detailed information,
The step of distributing and storing the N-th sub-block comprises:
checking the block identification information and the N-th sub-block hash value in the N-th sub-block;
locating the N-th sub-block in the sub-chain branched from the block based on the block identification information; and
linking the N-th sub-block to the block based on the N-th sub-block hash value,
generating an N+1th sub-block including third detailed information of the first information; and
Based on the third detailed information, the method further comprises the step of distributing and storing the N+1-th sub-block so that the N+1-th sub-block is connected to a sub-chain branched from the block,
The step of distributing and storing the N+1th sub-block comprises:
checking the block identification information and the N-th sub-block hash value in the N+1-th sub-block;
locating the N+1th sub-block in the sub-chain branched from the block based on the block identification information; and
linking the N+1-th sub-block to the N-th sub-block based on the N-th sub-block hash value;
The block header of the N+1th subblock includes the block identification information, a previous block hash value corresponding to the Nth subblock hash value, a current block hash value corresponding to the N+1th subblock hash value, and a third An information management method based on a vertical block structure in a block chain, characterized in that it includes a transaction hash value corresponding to the detailed information hash value.
삭제delete 삭제delete 삭제delete 제1 항에 있어서, 상기 제3 상세 정보는 상기 제1 정보의 변경이력 정보를 포함하는 것을 특징으로 하는 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법.The method of claim 1, wherein the third detailed information includes change history information of the first information. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020190107345A 2018-12-24 2019-08-30 Information management method based on vertical block structure in a blockchain KR102437006B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190107345A KR102437006B1 (en) 2018-12-24 2019-08-30 Information management method based on vertical block structure in a blockchain

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180168118 2018-12-24
KR1020190107345A KR102437006B1 (en) 2018-12-24 2019-08-30 Information management method based on vertical block structure in a blockchain

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168118 Division 2018-12-24 2018-12-24

Publications (2)

Publication Number Publication Date
KR20200079168A KR20200079168A (en) 2020-07-02
KR102437006B1 true KR102437006B1 (en) 2022-08-26

Family

ID=71599803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190107345A KR102437006B1 (en) 2018-12-24 2019-08-30 Information management method based on vertical block structure in a blockchain

Country Status (1)

Country Link
KR (1) KR102437006B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102655765B1 (en) * 2021-06-16 2024-04-09 계명대학교 산학협력단 Method and apparatus for providing blockchain

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102050129B1 (en) * 2016-05-03 2019-11-28 안규태 Block chain supporting multiple one-way functions used for verification of blocks
KR102017739B1 (en) * 2017-05-12 2019-09-03 박경옥 Blockchain system and method of creating blockchain
KR102272164B1 (en) 2018-12-21 2021-07-02 (주)소프트제국 Method for distributing a large-capacity electronic document using a smart contract in a blockchain

Also Published As

Publication number Publication date
KR20200079168A (en) 2020-07-02

Similar Documents

Publication Publication Date Title
KR101986081B1 (en) Method for sharing and verifing a block between specific nodes in a blockchain
US11556516B2 (en) Distributed blockchain data storage under account model
CN110520882A (en) Transaction is executed parallel in block chain network
EP3837652B1 (en) Distributed blockchain data storage under account model
CN110363665B (en) Credit right data processing method, device, equipment and medium
CN110300985A (en) Transaction is executed parallel in block chain network based on intelligent contract white list
KR102017739B1 (en) Blockchain system and method of creating blockchain
KR102050087B1 (en) The block-chain system including POPS(Proof of Power specification and Stake) consensus algorithm and block generation method in the block-chain system
US11200225B2 (en) Method and blockchain for constructing sub blockchain in blockchain system comprising distributed network of plurality of nodes
CN110366729A (en) Intelligent contract white list
US20200134719A1 (en) Distributed ledger implementation for entity formation and monitoring system
CN111295650A (en) Performing mapping iterations in a blockchain based system
Alizadeh et al. Efficient decentralized data storage based on public blockchain and IPFS
US11232234B2 (en) Method for sharing and verifying blocks and electronic documents between nodes in blockchain
CN110597922A (en) Data processing method, device, terminal and storage medium
KR102272164B1 (en) Method for distributing a large-capacity electronic document using a smart contract in a blockchain
WO2021178719A1 (en) Cryptographic data entry blockchain data structure
KR102437006B1 (en) Information management method based on vertical block structure in a blockchain
KR20190093011A (en) The block-chain system with enhanced security and the method of generating a data block using a double block-chain structure
CN111597264A (en) Block chain accounting method and device
CN109785145B (en) Fixed-point drugstore financing method based on block chain, storage medium and computer equipment
KR102365914B1 (en) Method and system for distributing an electronic document including personal information using a smart contract a in based on a blockchain
KR102332814B1 (en) The block chain system including a block chain structure for data self-sovereign identity
Davies Enhanced scalability and privacy for blockchain data using Merklized transactions
KR102050154B1 (en) System and method for supply chain network using block chain

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant