KR20180124545A - Blockchain system and method of creating blockchain - Google Patents

Blockchain system and method of creating blockchain Download PDF

Info

Publication number
KR20180124545A
KR20180124545A KR1020170059276A KR20170059276A KR20180124545A KR 20180124545 A KR20180124545 A KR 20180124545A KR 1020170059276 A KR1020170059276 A KR 1020170059276A KR 20170059276 A KR20170059276 A KR 20170059276A KR 20180124545 A KR20180124545 A KR 20180124545A
Authority
KR
South Korea
Prior art keywords
block
type
last
hash value
blocks
Prior art date
Application number
KR1020170059276A
Other languages
Korean (ko)
Other versions
KR102017739B1 (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 KR1020170059276A priority Critical patent/KR102017739B1/en
Priority to PCT/KR2017/010020 priority patent/WO2018207975A1/en
Priority to TW107113747A priority patent/TW201901482A/en
Priority to SG10201803839RA priority patent/SG10201803839RA/en
Publication of KR20180124545A publication Critical patent/KR20180124545A/en
Application granted granted Critical
Publication of KR102017739B1 publication Critical patent/KR102017739B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrotherapy Devices (AREA)

Abstract

The present invention relates to a block chain system and a method for generating a block chain and, more specifically, to a block chain system including a main branch and a sub-branch, and a method for generating a block chain. According to the present invention, the block chain system comprises one or more first type blocks. Each of the first type blocks includes a main branch, one first type block, and at least one second type block, which are connected according to the order of generation of each block. The second type block includes at least one sub-branch connected by using the first type block as a root block. The second type blocks of one sub-branch are connected according to the order of generation of each block. The second type blocks, initially generated from the sub-branch, is connected to the root block. The last first type block of the main branch includes a hash value of at least a portion of the last second type block of the sub-branch. The present invention is able to efficiently and systematically manage data.

Description

블록체인 시스템 및 블록체인 생성 방법{Blockchain system and method of creating blockchain}[0001] Block Chain System and Method for Creating Block Chain [

본 발명은 블록체인 시스템 및 블록체인 생성 방법에 관한 것으로, 더욱 상세하게는 메인 브랜치와 서브 브랜치를 포함하는 블록체인 시스템과 이러한 블록체인의 생성 방법에 관한 것이다.The present invention relates to a block-chain system and a method for generating a block-chain, and more particularly, to a block-chain system including a main branch and a sub-branch, and a method for generating such a block-chain.

블록체인은 분산 데이터베이스의 일종으로 암호화된 가상화폐인 비트코인에서 도입된 개념으로 알려져 있다. 기존에 거래장부, 문서 등의 디지털 컨텐츠를 중앙집중형 서버에 보관하고 관리하던 것과 달리, 블록체인 시스템에서는 누적된 디지털 컨텐츠를 네트워크를 통해 연결된 복수의 참여자의 장치(노드)에 저장하여 관리한다. 이러한 블록체인 시스템은 디지털 컨텐츠 자체가 인터넷을 통해 공개되어 있고, 다수의 참여자에 의해 수시로 검증이 진행되므로 위조 또는 변조가 매우 어렵다는 장점이 있다.The block chain is a kind of distributed database, known as the concept introduced in encrypted virtualization bit-coin. Conventionally, digital contents such as transaction books and documents are stored and managed in a centralized server. In a block chain system, cumulative digital contents are stored and managed in a plurality of participants (nodes) connected through a network. This block chain system is advantageous in that it is very difficult for forgery or alteration because the digital contents themselves are disclosed through the Internet and the verification is progressed frequently by a large number of participants.

이러한 블록체인 시스템은 비트코인 등의 가상화폐 시스템 또는 금융기관의 거래기록 보관 등에 사용되고 있다. 또한, 최근에는 이러한 블록체인 시스템을 전자화된 문서관리 및 원본확인 등을 위해 사용되기도 한다.Such a block chain system is used for a virtual currency system such as a bit coin or a transaction record keeping of a financial institution. In recent years, such a block chain system is also used for electronic document management and original verification.

블록체인에 참여하는 노드들은 전체 블록체인의 데이터를 장치에 저장하고 유지관리 해야 한다. 누적된 거래 등이 적어 전체 블록체인의 크기가 크지 않은 경우에는 문제되지 않으나, 거래 등 신규 이벤트 발생이 누적되면서 블록의 개수가 증가할수록 전체 블록체인의 크기는 점차 증가하게 된다. 대표적인 블록체인 시스템인 비트코인의 전체 블록체인 크기는 현재 수십 Gbyte에 달하고 있다.Nodes participating in a block chain must store and maintain data in the entire block chain on the device. It is not a problem if the size of the entire block chain is small because there are few accumulated transactions, but as the number of new blocks increases, the size of the entire block chain gradually increases. The total block chain size of bit coin, which is a representative block chain system, is now several tens of Gbytes.

따라서 블록체인에 참여하는 노드들은 이러한 대용량의 데이터를 저장하고 유지관리할 수 있는 높은 수준의 저장 장치 및 컴퓨팅 장치가 필요하다. 그러나 일반적인 개인용 컴퓨터는 이러한 수준의 성능에 도달하지 못할 수 있다. 특히, 스마트폰, 태블릿 컴퓨터 등 개인용 모바일 장치는 더욱 이러한 수준의 성능에 도달하지 못하는 실정이다.Thus, nodes participating in a block chain need a high level of storage and computing devices capable of storing and maintaining such large amounts of data. However, typical personal computers may not achieve this level of performance. In particular, personal mobile devices such as smart phones and tablet computers do not reach this level of performance.

본 발명이 해결하려는 과제는, 블록들이 복수의 브랜치로 연결되도록 구성하여 데이터를 효율적이고 체계적으로 관리할 수 있는 블록체인 시스템을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a block chain system in which blocks are connected to a plurality of branches so that data can be efficiently and systematically managed.

본 발명이 해결하려는 다른 과제는, 블록들이 복수의 브랜치로 연결되더라도 모든 블록의 위변조에 대한 안전성을 확보할 수 있는 블록체인 시스템 및 이러한 블록체인의 생성 방법을 제공하는 것이다. Another problem to be solved by the present invention is to provide a block chain system and a method of generating such a block chain, which can ensure safety against forgery and falsification of all blocks even if blocks are connected by a plurality of branches.

상기 과제를 해결하기 위한 본 발명의 블록체인 시스템은, 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고, 상기 메인 브랜치의 마지막 제1 형 블록은, 상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함한다.According to an aspect of the present invention, there is provided a block-chain system including at least one first type block, each of the first type blocks including a main branch and a first type block connected in accordance with a generation order of blocks, Wherein the second type block includes at least one second type block and the second type block includes at least one sub-branch connected with the first type block as a root block, and the second type block of one sub- Type block is connected to the root block, and the last type-1 block of the main branch is connected to at least one of the last type-2 block of the sub-branch It contains some hash values.

본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 상기 메인 브랜치에 포함되고 상기 마지막 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다.In one embodiment of the present invention, the last type 1 block may further include hash values of at least some of the first type blocks included in the main branch and generated immediately before the last type 1 block .

본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.In one embodiment of the present invention, the last type 1 block may include a hash value of at least a portion of the last type 2 block and a hash value of at least a portion of the immediately- .

본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함할 수 있다.In one embodiment of the present invention, the last type 1 block includes a hash value of at least a portion of the last type 2 block and a hash value of at least a portion of the immediately preceding type 1 block can do.

본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.In one embodiment of the present invention, the last type 1 block may include hash values of at least some of the last type 2 blocks of all sub-branches.

본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.In one embodiment of the present invention, the last type 1 block may include hash values of at least some of the last type 2 blocks that are not included in the first type block having at least some hash values different from each other.

본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고, 상기 해시값은, 각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다.In one embodiment of the present invention, the last type 1 block includes hash values of at least some of the two or more last type 2 blocks, and the hash value is calculated from at least a portion of each last type 2 block It may be a hash value for the root of the generated muckree.

본 발명의 일 실시예에 있어서, 상기 마지막 제2 형 블록은, 상기 마지막 제1 형 블록보다 이전에 생성된 블록일 수 있다.In one embodiment of the present invention, the last type 2 block may be a block previously generated before the last type 1 block.

또한, 상기 과제를 해결하기 위한 본 발명의 블록체인 시스템은, 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고, 상기 메인 브랜치의 임의의 제1 형 블록은, 상기 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함한다.According to another aspect of the present invention, there is provided a block-chain system including at least one first type block, each of the first type blocks including a main branch and a first type block And at least one second type block, wherein the second type block comprises at least one sub-branch connected with the first type block as a root block, and the second type block of one sub-branch comprises Wherein the first type block of the first branch is connected to the root block and the first type block of the main branch is connected to the second type block of the first type block And hash values of at least some of the blocks of the previously generated type 2 block.

본 발명의 일 실시예에 있어서, 상기 임의의 제1 형 블록은, 상기 메인 브랜치에 포함되고 상기 임의의 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다.In one embodiment of the present invention, the arbitrary first type block further includes a hash value of at least a part of the first type block included in the main branch and generated earlier than the arbitrary first type block .

본 발명의 일 실시예에 있어서, 상기 임의의 제1 형 블록은, 상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.In one embodiment of the present invention, the arbitrary first type block may include a hash value of at least a part of the partial block and a hash value of at least a part of the immediately preceding type block generated .

본 발명의 일 실시예에 있어서, 상기 임의의 제1 형 블록은, 상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함할 수 있다.In one embodiment of the present invention, the arbitrary first type block may include in the block header a hash value of at least a portion of the partial block and a hash value of at least a portion of the immediately preceding type 1 block have.

본 발명의 일 실시예에 있어서, 상기 일부 블록은, 상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록일 수 있다.In one embodiment of the present invention, some of the blocks may be the last block of the sub-branch when the first type block is generated.

본 발명의 일 실시예에 있어서, 상기 일부 블록은, 상기 임의의 제1 형 블록이 생성될 때, 모든 서브 브랜치의 마지막 블록일 수 있다.In one embodiment of the present invention, the partial block may be the last block of all the sub-branches when the first type block is generated.

본 발명의 일 실시예에 있어서, 상기 일부 블록은, 상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록이되, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록일 수 있다.In some embodiments of the present invention, some of the blocks may be the last block of the sub-branch when the first type block is created, and at least some hash values may not be included in the first type block Block.

본 발명의 일 실시예에 있어서, 상기 일부 블록은 둘 이상의 블록이고, 상기 해시값은, 상기 일부 블록의 각각의 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다.In one embodiment of the present invention, the partial block is two or more blocks, and the hash value may be a hash value for the root of the merge tree generated from at least a part of each block of the partial block.

또한, 상기 과제를 해결하기 위한 본 발명의 블록체인 생성 방법은 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되는 블록체인을 마련하는 단계 및 새로운 제1 형 블록을 상기 메인 브랜치의 마지막 제1 형 블록에 연결되도록 생성하는 단계를 포함하고, 상기 새로운 제1 형 블록은, 상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함한다.According to another aspect of the present invention, there is provided a method for generating a block chain including at least one first type block, each of the first type blocks including a main branch and a first type block And at least one second type block, wherein the second type block comprises at least one sub-branch connected with the first type block as a root block, and the second type block of one sub-branch comprises Wherein the first type block is connected to the root block and the first type block is connected to the root block in the first type block in the first sub branch, Block, wherein the new first type block comprises a hash value of at least a portion of a last type 2 block of the sub-branch, .

본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다.In one embodiment of the present invention, the new first type block may further include a hash value of at least a portion of the last type 1 block.

본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.In one embodiment of the present invention, the new first type block may include a hash value of at least a portion of the last type 2 block and a hash value of at least a portion of the last type 1 block.

본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함할 수 있다.In one embodiment of the present invention, the new first type block may include a hash value of at least a portion of the last type 2 block and a hash value of at least a portion of the last type 1 block in a block header .

본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.In one embodiment of the present invention, the new first type block may include hash values of at least some of the last type 2 blocks of all sub-branches.

본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.In one embodiment of the present invention, the new first type block may include a hash value of at least a portion of a last type 2 block that is not included in a first type block having at least some hash values different from each other.

본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고, 상기 해시값은, 각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다.In one embodiment of the present invention, the new first type block comprises a hash value of at least a portion of two or more last second type blocks, and the hash value is from at least a portion of each last type 2 block It may be a hash value for the root of the generated muckree.

본 발명의 일 실시예에 있어서, 상기 마지막 제2 형 블록은, 상기 새로운 제1 형 블록보다 이전에 생성된 블록일 수 있다. In one embodiment of the present invention, the last type 2 block may be a block previously generated before the new type 1 block.

본 발명의 일 실시예에 따른 블록체인 시스템은 블록들이 복수의 브랜치로 연결되도록 구성하여 데이터를 효율적이고 체계적으로 관리할 수 있다.The block chain system according to an embodiment of the present invention can efficiently and systematically manage data by configuring the blocks to be connected to a plurality of branches.

또한, 본 발명의 일 실시예에 따른 블록체인 시스템은 블록들이 복수의 브랜치로 연결되더라도 모든 블록의 위변조에 대한 안전성을 확보할 수 있다.In addition, the block-chain system according to an embodiment of the present invention can ensure safety against forgery and falsification of all blocks even if the blocks are connected by a plurality of branches.

도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 개별 블록의 구성을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 시스템의 두 개의 블록이 연결된 것을 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 시스템의 데이터를 설명하기 위한 도면이다.
도 4는 블록체인에서 블록의 표시 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 6은 본 발명의 일 실시예에 따른 블록체인 시스템의 마지막 제1 형 블록을 설명하기 위한 도면이다.
도 7은 본 발명의 다른 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 8 및 도 9는 본 발명의 또 다른 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 10은 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법을 설명하기 위한 순서도이다.
1 shows the construction of individual blocks of a block-chain system according to an embodiment of the invention.
Figure 2 illustrates two blocks of a block chain system in accordance with an embodiment of the present invention.
3 is a diagram for explaining data of a block-chain system according to an embodiment of the present invention.
4 is a diagram for explaining a display method of a block in a block chain.
5 is an exemplary diagram of a block-chain system in accordance with an embodiment of the present invention.
6 is a diagram for explaining a final first type block of a block chain system according to an embodiment of the present invention.
7 is an exemplary diagram of a block chain system according to another embodiment of the present invention.
Figures 8 and 9 are illustrations of a block chain system in accordance with another embodiment of the present invention.
10 is a flowchart illustrating a data management method using a block chain according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is judged that it is possible to make the gist of the present invention obscure by adding a detailed description of a technique or configuration already known in the field, it is omitted from the detailed description. In addition, terms used in the present specification are terms used to appropriately express the embodiments of the present invention, which may vary depending on the person or custom in the relevant field. Therefore, the definitions of these terms should be based on the contents throughout this specification.

이하, 첨부한 도 1 내지 도 5를 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템에 대해 설명한다.Hereinafter, a block-chain system according to an embodiment of the present invention will be described with reference to FIGS. 1 to 5 attached hereto.

도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 개별 블록의 구성을 도시한 것이다. 도 2는 본 발명의 일 실시예에 따른 블록체인 시스템의 두 개의 블록이 연결된 것을 도시한 것이다.1 shows the construction of individual blocks of a block-chain system according to an embodiment of the invention. Figure 2 illustrates two blocks of a block chain system in accordance with an embodiment of the present invention.

도 1을 참조하면, 하나의 블록(100)은 블록헤더(110) 및 블록몸체(120)를 포함한다.Referring to FIG. 1, one block 100 includes a block header 110 and a block body 120.

블록헤더(110)는 블록의 타이틀, 직전 블록의 해시값, 블록몸체의 해시값, 타임스탬프, 난이도 목표 및 난스 등을 포함할 수 있다. 블록헤더(110)가 포함하는 정보는 다양하게 변경되어 구성될 수 있다.The block header 110 may include a title of a block, a hash value of a previous block, a hash value of a block body, a timestamp, a difficulty target, and a nonce. The information included in the block header 110 may be configured in various ways.

블록의 타이틀은 블록(100)을 다른 블록과 구분할 수 있는 식별 정보를 의미한다. 블록의 타이틀은 다른 블록과의 연결 관계에 따라 정해질 수 있다.The title of a block indicates identification information that can distinguish the block 100 from other blocks. The title of a block can be determined according to the connection relationship with other blocks.

직전 블록의 해시값은 브랜치에서 해당 블록 이전에 생성되어 해당 블록과 연결되는 블록의 해시값이다. 직전 블록의 해시값은 직전 블록의 전체 또는 선택된 일부의 정보의 해시값일 수 있다. 예를 들어, 직전 블록의 해시값은 직전 블록의 블록헤더의 정보의 해시값인 것으로 정의될 수 있다. 블록헤더에 직전 블록의 해시값이 포함됨으로서, 블록 간의 연결성이 강화될 수 있다. 블록 간의 연결성이 강화되는 것은 블록체인 시스템 전체의 보안성이 향상되는 것을 의미한다.The hash value of the immediately preceding block is a hash value of a block generated before the corresponding block in the branch and connected to the corresponding block. The hash value of the immediately preceding block may be the hash value of the entire or selected part of the immediately preceding block. For example, the hash value of the previous block may be defined as a hash value of the information of the block header of the immediately preceding block. By including the hash value of the immediately preceding block in the block header, the connectivity between the blocks can be enhanced. The enhancement of the connectivity between the blocks means that the security of the entire block chain system is improved.

블록몸체의 해시값은 해당 블록의 블록몸체(120)가 포함하는 데이터의 해시값이다. 후술하는 것과 같이, 블록몸체(120)는 데이터를 포함한다. 블록몸체의 해시값은 블록몸체가 포함하는 데이터의 전체 또는 선택된 일부의 해시값일 수 있다. 블록몸체의 해시값은 다양한 방식으로 결정될 수 있다. 예를 들어, 블록몸체의 해시값은 블록몸체(120)의 데이터로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다. 블록몸체의 해시값은 블록몸체(120)의 데이터의 요약본에 해당하는 것으로, 상대적으로 크기가 큰 블록몸체(120)의 데이터를 효율적으로 관리하고 검증할 수 있게 한다.The hash value of the block body is the hash value of the data contained in the block body 120 of the block. As will be described later, the block body 120 includes data. The hash value of the block body may be a hash value of the entire or selected portion of the data that the block body contains. The hash value of the block body can be determined in various ways. For example, the hash value of the block body may be a hash value for the root of the merge tree generated from the data of the block body 120. [ The hash value of the block body corresponds to a summary of the data of the block body 120, which enables efficient management and verification of data of the block body 120 having a relatively large size.

타임스탬프(time stamp)는 해당 블록의 생성시간에 관한 정보이다.The time stamp is information on the generation time of the corresponding block.

난이도 목표는 해당 블록의 작업증명 알고리즘에 대한 난이도 목표이다. 이는 해당 블록의 난스를 찾는데 필요한 해싱파워를 결정하는 것에 관한 정보이다.The difficulty goal is the difficulty goal for the task proof algorithm of the block. This is information about determining the hashing power needed to find the nonce of the block.

난스(nonce)는 해당 블록의 작업증명 알고리즘에 사용되는 카운터 정보이다.The nonce is the counter information used in the task proof algorithm of the block.

블록헤더(110)에는 상술한 정보 중 일부가 제외될 수도 있고, 다른 정보가 추가로 포함될 수도 있다.In the block header 110, some of the above-described information may be excluded, or other information may be additionally included.

블록몸체(120)는 블록(100)이 저장하고 관리하는 데이터를 포함한다. 데이터는 디지털 데이터에 해당한다. 데이터는 다양한 형태의 자료일 수 있다. 예를 들어, 데이터는 디지털 컨텐츠, 문서 정보, 계좌 정보, 거래 정보, 인사 정보, 생산 이력 정보, 제품 또는 건축물의 설계 및 도면, 사운드 정보 등이 가능하며, 특정한 형태로 한정되는 것은 아니다.The block body 120 includes data that the block 100 stores and manages. The data corresponds to digital data. The data can be of various types of data. For example, the data may include digital contents, document information, account information, transaction information, personnel information, production history information, design and drawings of products or buildings, sound information, and the like.

블록몸체(120)가 포함하는 데이터는 블록에 따라서 종류 또는 크기 등이 제한될 수 있다. 이러한 데이터의 제한은 모든 블록에 공통으로 적용될 수도 있고, 특정한 몇몇 블록에만 선택적으로 적용될 수도 있다. 또한, 이러한 데이터의 제한은 필요에 따라 변경될 수 있다.The data included in the block body 120 may be limited in type or size depending on the block. The limitation of such data may be applied to all the blocks in common, or may be selectively applied to only certain specific blocks. Further, the limitation of such data can be changed as needed.

도 2를 참조하면, 두 개의 블록은 서로 연결될 수 있다. 구체적으로, 복수의 블록은 순차적으로 연결되어 브랜치를 형성할 수 있다. 여기서, 브랜치란 복수의 블록들이 서로 선형적으로 연결된 블록들의 집합을 의미한다. 도 2에는 이러한 브랜치에서 임의의 두 개의 블록이 연결된 상태가 도시되어 있다. Referring to FIG. 2, the two blocks may be connected to each other. Specifically, a plurality of blocks may be sequentially connected to form a branch. Here, a branch means a set of blocks in which a plurality of blocks are linearly connected with each other. FIG. 2 shows a state where two arbitrary blocks are connected in this branch.

도 2를 참조하면, 브랜치에서 임의의 하나의 블록(200)은 브랜치 내에서 직전에 생성된 블록(100)과 연결되게 된다. 블록(200)은 직전에 생성된 블록(100)의 해시값을 포함하는 것을 통해 연결된다. 구체적으로, 블록(200)은 블록헤더(210)에 직전에 생성된 블록(100)의 해시값을 포함하는 것을 통해 연결될 수 있다.Referring to FIG. 2, any one block 200 in the branch is connected to the immediately preceding block 100 in the branch. The block 200 is concatenated by including the hash value of the immediately preceding block 100. Specifically, block 200 may be concatenated by including a hash value of block 100 that was generated in block header 210 immediately before.

직전에 생성된 블록(100)의 해시값은 상술한 것과 같이, 직전 블록(100)의 전체 또는 선택된 일부의 정보의 해시값일 수 있다. 예를 들어, 첨부한 도 2에 도시된 것과 같이 직전 블록(100)의 해시값은 직전 블록의 블록헤더(110)의 정보의 해시값인 것으로 정의될 수 있다. 직전 블록의 해시값은 블록을 설계하는 사람의 기호 및 판단에 따라 다양하게 변경될 수 있다.The hash value of the immediately preceding block 100 may be a hash value of information of all or a selected portion of the immediately preceding block 100, as described above. For example, as shown in FIG. 2, the hash value of the immediately preceding block 100 may be defined as a hash value of the information of the block header 110 of the immediately preceding block. The hash value of the immediately preceding block can be variously changed according to the preference and judgment of the person designing the block.

도 3을 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템의 데이터에 대해 설명하도록 한다.Referring to FIG. 3, data of a block-chain system according to an embodiment of the present invention will be described.

본 발명의 블록체인 시스템은 복수의 블록을 포함한다. 하나의 블록은 하나의 데이터를 포함한다. 여기서 데이터는 하나의 블록에 포함되는 정보의 단위 집합을 의미한다. 구체적으로, 블록의 블록몸체는 데이터를 포함할 수 있다.The block chain system of the present invention includes a plurality of blocks. One block contains one piece of data. Here, the data means a unit set of information included in one block. In particular, the block body of the block may contain data.

블록체인 시스템의 블록이 포함하는 데이터는 제1 형 데이터 및 제2 형 데이터로 구분될 수 있다. 제1 형 데이터는 다른 데이터에 기반하지 않은 데이터에 해당한다. 제2 형 데이터는 제1 형 데이터에 기반한 데이터에 해당한다.The data included in the block of the block chain system can be divided into the first type data and the second type data. Type 1 data corresponds to data that is not based on other data. The second type data corresponds to the data based on the first type data.

도 3을 참조하면, 제1 형 데이터(10)는 신규 자료를 생성하는 것에 관한 데이터일 수 있다. 그리고 제2 형 데이터(20)는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 데이터일 수 있다. 여기서, 기존 자료란 제1 형 데이터(10)가 생성한 자료를 의미한다.Referring to FIG. 3, the first type data 10 may be data relating to generating new data. The second type data 20 may be data related to performing at least one of modification, modification, deletion, discarding, inquiry, and delivery of existing data. Here, the existing data means the data generated by the first type data 10.

구체적으로, 데이터는 디지털 컨텐츠, 문서, 계좌, 거래, 인사, 생산 이력, 설계, 도면, 사운드, 프로그래밍 코드 등이 될 수 있다. 그리고 제1 형 데이터 및 제2 형 데이터도 이러한 다양한 종류에 따라 구분될 수 있다. 제1 형 데이터 및 제2 형 데이터는 상술한 것에 한정되지 않는다.Specifically, the data can be digital content, documents, accounts, transactions, greetings, production histories, designs, drawings, sounds, programming codes, and the like. Also, the first type data and the second type data can be classified according to these various kinds. The first type data and the second type data are not limited to those described above.

도 4를 참조하여, 도 5 내지 도 9에서 도시되는 블록체인을 구성하는 블록에 대해서 간략하게 설명하도록 한다.Referring to Fig. 4, the blocks constituting the block chain shown in Figs. 5 to 9 will be briefly described.

블록은 도 1 및 도 2를 참조하여 설명한 것과 같이, 블록헤더와 블록몸체를 포함한다. 그러나 설명의 편의성을 위해 도 5 내지 도 9에서는 도 3에 도시된 방식으로 개별 블록을 표시하도록 한다.The block includes a block header and a block body, as described with reference to FIG. 1 and FIG. However, for convenience of explanation, FIGS. 5 to 9 show individual blocks in the manner shown in FIG.

도 3을 참조하면, 하나의 블록을 설명하는데 있어서, 블록의 타이틀, 직전 블록의 해시값 및 당해 블록의 해시값이 표시된다. 하나의 블록은 상하로 배열된 3칸의 표에서, 첫번째 칸에는 블록의 타이틀이 표시되고, 두번째 칸에는 직전 블록의 해시값이 표시되고, 세번째 칸에는 당해 블록의 해시값이 표시된다.Referring to FIG. 3, in describing one block, a title of a block, a hash value of a previous block, and a hash value of the block are displayed. One block is a table of three columns arranged vertically. In the first column, the title of the block is displayed. In the second column, the hash value of the previous block is displayed. In the third column, the hash value of the block is displayed.

아래에서 설명할 마지막 제1 형 블록은 마지막 제2 형 노드의 해시값을 더 포함할 수 있다. 또한, 마지막 제1 형 블록을 설명하는데 있어서, 블록의 타이틀, 직전 블록의 해시값 및 당해 블록의 해시값에 더불어 마지막 제2 형 노드의 해시값이 추가로 표시될 수 있다. 마지막 제1 형 블록은 상하로 배열된 4칸의 표에서, 첫번째 칸에는 블록의 타이틀이 표시되고, 두번째 칸에는 직전 블록의 해시값이 표시되고, 세번째 칸에는 마지막 제2 형 노드의 해시값이 표시되고, 네번째 칸에는 당해 블록의 해시값이 표시된다. 마지막 제2 형 노드의 해시값에 대해서는 아래에서 상세하게 설명하도록 한다.The last type 1 block to be described below may further include the hash value of the last type 2 node. In describing the last type 1 block, the hash value of the last type 2 node may be additionally displayed in addition to the title of the block, the hash value of the previous block, and the hash value of the block. In the last type 1 block, the title of the block is displayed in the first column, the hash value of the previous block is displayed in the second column, and the hash value of the last type 2 node is displayed in the third column And the fourth column shows the hash value of the block. The hash value of the last type 2 node will be described in detail below.

블록의 타이틀은 Bn 또는 Bnm과 같은 형태로 표시된다. 블록의 타이틀이 Bn이라는 것은 상기 블록이 메인 브랜치의 n번째 블록이라는 것을 의미한다. 그리고 블록의 타이틀이 Bnm이라는 것은 상기 블록이 메인 브랜치의 n번째 블록에서 분기되는 서브 브랜치의 m번째 제2 형 블록이라는 것을 의미한다. 임의의 서브 브랜치의 m번째 제2 형 블록은 상기 서브 브랜치의 m+1번째 블록에 해당한다.The title of the block is displayed in the form of B n or B nm . The title of the block is B n, which means that the block is the nth block of the main branch. And the title of the block is B nm means that the block is the mth second type block of the sub branch that branches from the nth block of the main branch. And the m < th > second type block of an arbitrary sub branch corresponds to the (m + 1) th block of the sub branch.

어느 블록의 해시값은 H라는 기호를 이용하여 표시된다. 예를 들어, 블록의 타이틀이 Bnm인 블록의 해시값은 Hnm으로 표시되게 된다. 도 4를 참조하면, 블록의 타이틀이 Bnm인 블록의 직전 블록은 블록의 타이틀이 Bn(m-1)인 블록인 것이고, 직전 블록의 해시값은 Hn(m-1)인 것이다.The hash value of a certain block is indicated by using the symbol " H ". For example, it is to be the title of the block hash value of the block B is represented by H nm nm. Referring to FIG. 4, the immediately preceding block of a block whose title is B nm is a block whose title is B n (m-1) , and the hash value of the immediately preceding block is H n (m-1) .

상기 블록의 타이틀, 해시값의 기호 등을 설명하면서 언급한 메인 브랜치, 서브 브랜치, 제2 형 블록 등에 대해서는 이하 도 5를 참조하여 상세하게 설명하도록 한다.The main branch, the sub-branch, the second type block, and so on, which are described while explaining the title of the block, the symbol of the hash value, etc. will be described in detail with reference to FIG.

도 5를 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 5는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.Referring to FIG. 5, a block chain system according to an embodiment of the present invention will be described. 5 is an exemplary diagram of a block-chain system in accordance with an embodiment of the present invention.

본 발명의 블록체인 시스템은 복수의 블록을 포함한다. 하나의 블록은 하나의 데이터를 포함한다. 상술한 것과 같이, 데이터는 제1 형 데이터(10) 및 제2 형 데이터(20)로 구분될 수 있다. 블록은 포함하는 데이터의 종류에 따라 제1 형 블록(100) 및 제2 형 블록(200)으로 구분될 수 있다. 제1 형 블록(100)은 제1 형 데이터(10)를 포함하는 블록에 해당한다. 또한, 제2 형 블록(200)은 제2 형 데이터(20)를 포함하는 블록에 해당한다.The block chain system of the present invention includes a plurality of blocks. One block contains one piece of data. As described above, the data can be divided into the first type data 10 and the second type data 20. The block may be divided into a first type block 100 and a second type block 200 according to the type of data to be included. The first type block 100 corresponds to a block including the first type data 10. The second type block 200 corresponds to a block including the second type data 20.

본 발명의 블록체인 시스템은 메인 브랜치(1000) 및 적어도 하나의 서브 브랜치(2000)를 포함한다. 여기서, 브랜치란 복수의 블록들이 서로 선형적으로 연결된 블록들의 집합을 의미한다.The block chain system of the present invention includes a main branch 1000 and at least one sub-branch 2000. Here, a branch means a set of blocks in which a plurality of blocks are linearly connected with each other.

메인 브랜치(1000)는 최초로 생성된 블록(genesis block)과 이에 연결된 적어도 하나의 연결 블록을 포함한다. 메인 브랜치(1000)는 최초로 생성된 블록에서 연결 블록이 일 방향으로 분기되기 않고 연결된다. 메인 브랜치(1000)에서 분기되어 다른 브랜치가 형성될 수는 있지만 분기된 블록들은 메인 브랜치(1000)에 포함되는 것이 아니다. 분기된 블록들은 후술할 서브 브랜치(2000)에 포함될 수 있으며, 이에 대해서는 아래에서 설명하도록 한다.The main branch 1000 includes a first genesis block and at least one connection block connected thereto. In the main branch 1000, the connection block is connected in the first generated block without branching in one direction. Branches may not be included in the main branch 1000 although other branches may be formed in the main branch 1000. The branched blocks may be included in the sub-branch 2000, which will be described below.

메인 브랜치(1000)는 제1 형 블록(100)들로 구성된다. 즉, 메인 브랜치(1000)가 포함하는 최초로 생성된 블록 및 연결 블록은 모두 제1 형 블록(100)에 해당한다. 메인 브랜치(1000)가 포함하는 블록들은 생성된 순서에 따라 순서대로 연결된다. 블록의 연결은 당해 블록이 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것에 의해 달성된다. 이러한 연결 형태에 대해서는 도 5에 블록 사이의 화살표를 통해 표시되어 있다. 따라서 최초로 생성된 블록을 제외하고 하나의 제1 형 블록은 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함한다.The main branch 1000 is comprised of first type blocks 100. That is, the first block and the connection block included in the main branch 1000 correspond to the first type block 100. The blocks included in the main branch 1000 are connected in order according to the created order. The concatenation of the blocks is accomplished by the block containing the hash value of at least a portion of the immediately preceding block. This type of connection is indicated by an arrow between blocks in Fig. Thus, except for the first generated block, one type 1 block includes at least some hash values of the immediately preceding type 1 block.

서브 브랜치(2000)는 메인 브랜치(1000)로부터 분기되어 형성된 브랜치이다. 서브 브랜치(2000)는 루트 블록(root block)과 이에 연결된 적어도 하나의 연결 블록을 포함한다. 루트 블록은 메인 브랜치(1000)에도 포함되는 블록으로, 서브 브랜치(2000)의 분기가 시작되는 블록이다. 루트 블록은 당해 서브 브랜치(2000)에서 최초로 생성된 블록(genesis block)에 해당한다.The sub branch 2000 is a branch formed from the main branch 1000. The sub-branch 2000 includes a root block and at least one connection block connected thereto. The root block is also a block included in the main branch 1000, and is a block in which branching of the sub branch 2000 starts. The root block corresponds to a first genesis block in the sub-branch 2000.

여기서, 루트 블록은 제1 형 블록(100)에 해당한다. 그리고 서브 브랜치(2000)가 포함하는 연결 블록은 제2 형 블록(200)에 해당한다. 하나의 서브 브랜치(2000)가 포함하는 블록들은 생성된 순서에 따라 순서대로 연결된다. 블록의 연결은 당해 블록이 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것에 의해 달성된다. 따라서 하나의 서브 브랜치(2000)에서 최초로 생성된 연결 블록(제2 형 블록)은 당해 서브 브랜치(2000)의 연결되는 루트 블록의 적어도 일부의 해시값을 포함한다. 또한, 하나의 서브 브랜치(2000)에서 최초로 생성되지 않은 연결 블록(제2 형 블록)은 당해 서브 브랜치(2000)에 포함되고 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함한다. 이러한 연결 형태에 대해서는 도 5에 블록 사이의 화살표를 통해 표시되어 있다.Here, the root block corresponds to the first type block 100. The connection block included in the sub branch 2000 corresponds to the second type block 200. The blocks included in one sub-branch 2000 are connected in order according to the order in which they are generated. The concatenation of the blocks is accomplished by the block containing the hash value of at least a portion of the immediately preceding block. Therefore, the first connection block (the second type block) generated in one sub-branch 2000 includes the hash value of at least a part of the connected root block of the sub-branch 2000. In addition, the connection block (the second type block) not originally generated in one sub-branch 2000 includes the hash value of at least a part of the second type block included in the sub-branch 2000 and generated immediately before. This type of connection is indicated by an arrow between blocks in Fig.

서브 브랜치(2000)는 적어도 하나의 연결 블록(제2 형 블록)을 포함하는 것을 조건으로 한다. 경우에 따라서, 연결 블록(제2 형 블록)이 없고 루트 블록(제1 형 블록)만이 존재하는 높이(길이)가 1개 블록인 서브 브랜치를 생각해볼 수도 있겠지만, 본 명세서에서는 이러한 경우 그러한 서브 브랜치가 존재하지 않는 것으로 정의한다. 즉, 설명의 편의성을 위해서 서브 브랜치(2000)는 하나의 루트 블록(제1 형 블록)과 이에 연결된 적어도 하나의 연결 블록(제2 형 블록)이 있는 것을 조건으로 정의한다.Sub-branch 2000 is conditional on including at least one connection block (second type block). In some cases, a sub-branch in which there is no link block (second type block) and only one root block (first type block) exists is one block in height (length) Is not present. That is, for convenience of description, the sub-branch 2000 defines that there is one root block (first type block) and at least one connection block (second type block) connected thereto.

서브 브랜치(2000)는 하나 또는 둘 이상이 형성될 수 있다. 서브 브랜치(2000)는 하나의 루트 블록에서 하나 또는 둘 이상이 연장되는 형태로 형성될 수 있다. 그러나 첨부한 도면 및 이하에서는 설명의 편의성을 위해서 하나의 루트 블록에서 하나의 서브 브랜치(2000)만이 형성되는 것을 예를 들어 설명하도록 한다. 그러나 이러한 설명이 본 발명에서 하나의 루트 블록에서 둘 이상의 서브 브랜치(2000)가 연장되는 것을 제외하는 것은 아니다.One or more than two sub-branches 2000 may be formed. The sub-branches 2000 may be formed in a form in which one or more of the sub-branches 2000 extend from one root block. However, for convenience of description, it is assumed that only one sub-branch 2000 is formed in one root block in the accompanying drawings and the following description. However, this description does not exclude that two or more sub-branches 2000 are extended in one root block in the present invention.

하나의 루트 블록에서 하나의 서브 브랜치(2000)가 연장되어 형성되는 경우라면, 서브 브랜치(2000)는 최대 메인 브랜치(1000)의 블록의 개수까지 형성되는 것이 가능하다.If one sub-branch 2000 is formed in one root block, the sub-branch 2000 can be formed up to the number of blocks of the largest main branch 1000.

도 5에서는 블록체인 시스템이 메인 브랜치(1000)와 서브 브랜치(2000)로 구성되고, 블록들이 제1 형 블록(100)과 제2 형 블록(200)으로 구성되는 것을 도시하였지만, 경우에 따라서는 메인 브랜치, 서브 브랜치 및 서브-서브 브랜치로 구성되고, 블록들도 제1 형 블록, 제2 형 블록 및 제3 형 블록으로 구성될 수도 있다. 여기서, 서브-서브 브랜치는 서브 브랜치를 메인 브랜치로 하고, 서브 브랜치에서 다시 분기된 브랜치를 의미한다. 서브-서브 브랜치의 루트 블록은 서브 브랜치에 포함되는 제2 형 블록이 될 수 있다. 그리고 서브-서브 브랜치의 연결 블록은 제3 형 블록이 될 수 있다. 이와 같이, 본 발명의 블록체인 시스템에서 메인 브랜치와 서브 브랜치는 상대적인 것으로, 서브 브랜치가 연쇄적으로 생성될 수 있다.Although FIG. 5 illustrates that the block chain system is composed of the main branch 1000 and the sub branch 2000, and the blocks are composed of the first type block 100 and the second type block 200, A main branch, a sub branch, and a sub-branch, and the blocks may also be composed of a first type block, a second type block, and a third type block. Here, the sub-sub-branch means a branch branching from a sub-branch to a sub-branch with a main branch. The root block of the sub-sub-branch may be a type 2 block included in the sub-branch. And the connection block of the sub-sub-branch may be a type 3 block. As described above, in the block-chain system of the present invention, the main branch and the sub-branch are relative, and the sub-branch may be generated in a cascade fashion.

이하, 도 5를 참조하여, 마지막 제1 형 블록(190)에 대해서 설명하도록 한다. 도 5에 도시된 블록체인 시스템은 본 발명의 블록체인 시스템의 일 예시에 불과하고, 이러한 블록체인 시스템의 마지막 제1 형 블록(190)도 본 발명의 설명을 위한 예시에 불과하다.The final type 1 block 190 will now be described with reference to FIG. The block chain system shown in FIG. 5 is only one example of a block chain system of the present invention, and the last type 1 block 190 of such a block chain system is only an example for explanation of the present invention.

도 5를 참조하면, 메인 브랜치(1000)에는 마지막 블록(190)이 존재한다. 마지막 블록(190)은 마지막 제1 형 블록에 해당한다. 구체적으로, 마지막 블록(190)은 메인 브랜치(1000)에서 최초로 생성된 블록을 시작으로 하여 연결된 브랜치의 마지막 제1 형 블록(190)에 해당한다. 도 5에서는 마지막 제1 형 블록(190)이 B5 블록에 해당한다. 도 5에 있어서, 마지막 제1 형 블록(190)은 도 5에 도시된 다른 모든 블록보다 마지막에 생성된 블록에 해당한다.Referring to FIG. 5, a last block 190 exists in the main branch 1000. The last block 190 corresponds to the last type 1 block. Specifically, the last block 190 corresponds to the last first type block 190 of the branch connected starting with the first generated block in the main branch 1000. In FIG. 5, the last first type block 190 corresponds to B 5 block. In FIG. 5, the last type 1 block 190 corresponds to the last block generated in all the other blocks shown in FIG.

도 5에 도시된 마지막 제1 형 블록(B5, 190)은 직전 블록의 해시값(H4) 등 다른 블록의 해시값을 포함하지만, 마지막 제1 형 블록의 해시값(H5)은 다른 블록에 포함되지 않는다. 이후에 메인 브랜치(1000)에 추가로 제1 형 블록이 연결되도록 생성된다면, 상기 마지막 제1 형 블록의 해시값(H5)이 추가로 생성되는 블록에 포함될 수 있지만, 도 5를 참조하여 설명하는 시점에서는 마지막 제1 형 블록의 해시값(H5)은 다른 블록에 포함되지 않는다.5 and the last first-type block (B 5, 190) shown in include a hash value of the other blocks, and the hash value (H 4) of the previous block, but the last first hash value of the first type block (H 5) are different It is not included in the block. If the first type block is further connected to the main branch 1000, the hash value (H 5 ) of the last type 1 block may be included in the block to be additionally generated. However, The hash value (H 5 ) of the last type 1 block is not included in another block.

마지막 제1 형 블록(B5, 190)은 직전 블록의 해시값(H4) 이외에 다른 블록의 해시값을 추가로 포함한다. 여기서, 직전 블록의 해시값(H4)은 메인 브랜치(1000)에 포함되고 상기 마지막 제1 형 블록(B5, 190)보다 직전에 생성된 제1 형 블록(B4)의 적어도 일부의 해시값에 해당한다. 그리고 다른 블록의 해시값이란 상기 직전 블록의 해시값과 구분되는 해시값이다. 이하, 상기 다른 블록의 해시값에 대해서 상세하게 설명한다.The last type 1 block (B 5 , 190) further includes hash values of other blocks in addition to the hash value (H 4 ) of the previous block. The hash value H 4 of the immediately preceding block is included in the main branch 1000 and hash of at least a portion of the first type block B 4 generated immediately before the last first type block B 5 , . The hash value of another block is a hash value distinguished from the hash value of the immediately preceding block. Hereinafter, the hash values of the other blocks will be described in detail.

도 5를 참조하면, 마지막 제1 형 블록(B5, 190)은 서브 브랜치(2000)의 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함할 수 있다. 여기서, 마지막 제2 형 블록(290)의 범위는 마지막 제1 형 블록(B5, 190)이 생성되는 시점에서 결정된다. 구체적으로, 서브 브랜치(2000)는 마지막 제1 형 블록(B5, 190)보다 이전에 생성된 메인 브랜치(1000)의 제1 형 블록(B1, B2, B3, B4)을 루트 블록으로 하여 연결되는 브랜치이다. 그리고 마지막 제2 형 블록(290)은 이러한 서브 브랜치(2000)의 루트 블록을 시작으로 하여 연결된 브랜치의 마지막 제2 형 블록(290)에 해당한다. 이러한 마지막 제2 형 블록(290)은 상기 마지막 제1 형 블록(B5, 190)보다 이전에 생성된 블록이다. 즉, 여기서 마지막 제2 형 블록(290)이란 마지막 제1 형 블록(B5, 190)이 생성될 때, 서브 브랜치(2000)의 마지막 블록에 해당하는 블록을 의미한다.5, the last type block B 5 190 may include a hash value (H sum ) of at least a portion of the last type 2 block 290 of the sub-branch 2000. Here, the range of the last second type block 290 is determined at the time when the last first type block B 5 , 190 is generated. Specifically, the sub-branch 2000 transfers the first type blocks B 1 , B 2 , B 3 , and B 4 of the main branch 1000, which are generated before the last first type block B 5 and 190, It is a branch connected by blocks. And the last type 2 block 290 corresponds to the last type 2 block 290 of the branch connected starting with the root block of this sub-branch 2000. This last second type block 290 is a block previously generated before the last first type block B 5 , 190. That is, the last second type block 290 is a block corresponding to the last block of the sub-branch 2000 when the last first type block B 5 , 190 is generated.

마지막 제1 형 블록(B5, 190)이 생성되는 시점에서 복수의 서브 브랜치(2000)가 존재할 수 있다. 그리고 마지막 제2 형 블록(290)도 복수로 존재할 수 있다. 구체적으로, 마지막 제2 형 블록(290)은 복수의 서브 브랜치에 각각 하나씩 존재한다. 도 5에서는 마지막 제2 형 블록(290)이 B13, B33 및 B44인 것으로 도시되어 있다. 상술한 것과 같이, 서브 브랜치(2000)는 적어도 하나의 제2 형 블록(200)을 포함하는 것을 조건으로 하기 때문에 서브 브랜치(2000)의 개수만큼 마지막 제2 형 블록(290)이 존재하게 된다.A plurality of sub-branches 2000 may exist at the time when the last first type block B 5 , 190 is generated. And the last second type block 290 may exist in plural. Specifically, one last sub-block 290 is present in each of the plurality of sub-branches. In FIG. 5, the last second type block 290 is shown as B 13 , B 33, and B 44 . As described above, since the sub-branch 2000 includes at least one second-type block 200, the last second-type block 290 exists in the number of the sub-branches 2000.

도 5에 도시된 것과는 다르지만, 마지막 제2 형 블록(290)이 하나가 존재하는 경우, 마지막 제1 형 블록(190)은 하나의 마지막 제2 형 블록(290)의 적어도 일부의 해시값을 포함할 수 있다. 5, if there is one last type 2 block 290, then the last type 1 block 190 includes the hash value of at least a portion of one last type 2 block 290 can do.

또한, 도 5에 도시된 것과 같이, 마지막 제2 형 블록(290)이 복수로 존재하는 경우, 마지막 제1 형 블록(B5, 190)은 모든 마지막 제2 형 블록(B13, B33, B44)의 적어도 일부의 해시값을 포함할 수 있다. 여기서, 마지막 제2 형 블록(B13, B33, B44)의 적어도 일부의 해시값은 마지막 제2 형 블록(B13, B33, B44)의 블록헤더의 해시값일 수 있다.5, if there are a plurality of the last second type blocks 290, the last first type blocks B 5 and 190 may be all the last second type blocks B 13 , B 33 , B 44 ). ≪ / RTI > Here, the final second-type blocks, at least the hash value of a portion of (B 13, B 33, B 44) may be a value a hash of the block header of the last second type blocks (B 13, B 33, B 44).

이러한 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum) 은 마지막 제1 형 블록(B5, 190)의 블록헤더에 포함될 수 있다. 마지막 제1 형 블록(B5, 190)의 블록헤더에는, 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum)과 메인 브랜치에 포함되고 마지막 제1 형 블록(B5, 190)보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값(H4)이 포함될 수 있다. 상기 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum)과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값(H4)은 마지막 제1 형 블록(B5, 190)의 블록헤더에서 구분되어 포함될 수 있다. 따라서 마지막 제2 형 블록(290) 및 메인 브랜치(1000)의 검증을 위해 상기 해시값들(Hsum, H4) 이 사용될 수 있다. 이러한 해시값(Hsum, H4)들이 포함된 마지막 제1 형 블록(190)의 블록헤더의 해시값(H5)은 이후에 메인 브랜치(1000)에 추가로 제1 형 블록이 연결되도록 생성된다면, 추가로 생성되는 블록에 포함되어 연쇄적으로 연결되게 된다.The hash value (H sum ) of at least a portion of this last type 2 block may be included in the block header of the last type 1 block (B 5 , 190). Just before than the last first-type block (B 5, 190) the block header, and the last at least a portion of the hash value of the Type 2 block (H sum) and is included in the main branch, the last first-type block (B 5, 190) of the And a hash value (H 4 ) of at least a part of the first type block generated in the first type block. Block of the last at least a portion of the hash value of the Type 2 block (H sum) and at least some of the hash values of the first type block generated in the immediately preceding (H 4) is the last first-type block (B 5, 190) Header. ≪ / RTI > Therefore, there is a said hash value (sum H, H 4) can be used for verification of the last second block type 290 and the main branch (1000). The hash value H 5 of the block header of the last first type block 190 including such hash values (H sum , H 4 ) is generated such that the first type block is further connected to the main branch 1000 They are included in additional blocks to be linked in a cascade.

도 6을 참조하여, 마지막 제1 형 블록(B5, 190)이 복수의 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum)을 포함하는 경우에 대해서 설명하도록 한다. 마지막 제2 형 블록(290)이 복수인 경우, 마지막 제1 형 블록(190)이 포함하는 해시값은 각각의 마지막 제2 형 블록(290)의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값(Hsum)일 수 있다. 구체적으로, 마지막 제1 형 블록(190)은 각각의 마지막 제2 형 블록의 블록헤더의 해시값(H13, H33, H44)으로부터 생성된 머클 트리의 루트에 대한 해시값(Hsum)을 포함할 수 있다.Referring to FIG. 6, the case where the last first type block B 5 , 190 includes a hash value (H sum ) of at least a part of a plurality of last second type blocks will be described. If there are a plurality of the last second type blocks 290, the hash values included in the last type 1 block 190 are the hash values for the root of the merge tree generated from at least a portion of each last type 2 block 290, Value (H sum ). Specifically, the last type 1 block 190 computes a hash value (H sum ) for the root of the merge tree generated from the hash values (H 13 , H 33 , H 44 ) of the block header of each last type 2 block, . ≪ / RTI >

도 5 및 도 6을 참조하여 설명한 블록체인 시스템은 특정 블록의 검증을 위해서 전체 블록체인 데이터를 저장하고 이용하지 않을 수 있다. 구체적으로, 특정 블록이 제1 형 블록(100)일 경우, 노드는 메인 브랜치(1000)의 블록체인 데이터만을 이용하여 상기 특정 블록의 검증이 가능하다. 또한, 특정 블록이 제2 형 블록(200)일 경우, 노드는 상기 특정 블록이 포함된 서브 브랜치(2000)와 메인 브랜치(1000)의 블록체인 데이터만을 이용하여 상기 특정 블록의 검증이 가능하다. 이에 따라 노드가 저장하고 검증해야 하는 블록의 크기를 줄일 수 있다.The block-chain system described with reference to FIGS. 5 and 6 may not store and use the entire block chain data for verification of a specific block. Specifically, when the specific block is the first type block 100, the node can verify the specific block using only the block chain data of the main branch 1000. When the specific block is the second type block 200, the node can verify the specific block using only the block chain data of the main branch 2000 and the main branch 1000 including the specific block. This reduces the size of blocks that the node must store and verify.

또한, 상술한 마지막 제1 형 블록(190)이 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함하는 것에 의해서, 마지막 제2 형 블록(290)의 안전성이 강화될 수 있다.In addition, the safety of the last type 2 block 290 is enhanced by the fact that the last type 1 block 190 described above includes a hash value (H sum ) of at least a portion of the last type 2 block 290 .

통상적인 블록체인 시스템에서는 마지막 블록의 안전성이 상대적으로 취약하다는 단점이 있다. 이는 마지막 블록은 그것의 해시값이 다른 블록에 다시 포함되지 않기 때문이다. 상술한 메인 브랜치 및 적어도 하나의 서브 브랜치를 포함하는 블록체인 시스템은 브랜치의 개수만큼 마지막 블록이 존재하여, 상대적으로 안전성이 취약한 마지막 블록이 많을 수 있다.In the conventional block chain system, the safety of the last block is relatively weak. This is because the last block does not contain its hash value again in another block. In the block-chain system including the main branch and the at least one sub-branch described above, there may be a number of last blocks corresponding to the number of branches, and there may be many last blocks that are relatively insecure.

그러나 상술한 것과 같이 마지막 제1 형 블록(190)이 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함하여, 마지막 제2 형 블록(290)의 안전성을 확보할 수 있다. 구체적으로, 마지막 제2 형 블록(290)은 개별 서브 브랜치(2000)의 마지막 블록이지만, 그것의 해시값이 마지막 제1 형 블록(190)에 포함되게 되어 상술한 취약성이 극복될 수 있다. 결과적으로, 본 발명의 블록체인 시스템에서 실질적인 마지막 블록은 통상적인 블록체인 시스템과 마찬가지로 하나만 존재하게 된다.However, the last first-type block 190 as described above is to include at least a portion of the hash value of the last second type block 290 (H sum), can ensure the safety of the final second-type block 290, have. Specifically, the last type 2 block 290 is the last block of the individual sub-branches 2000, but its hash value is included in the last type 1 block 190, so that the aforementioned vulnerabilities can be overcome. As a result, in the inventive block-chain system, there is only one actual last block as in a conventional block-chain system.

도 7을 참조하여 본 발명의 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다.A block chain system according to another embodiment of the present invention will be described with reference to FIG.

도 7을 참조하여 설명하는 블록체인 시스템은 도 5 및 도 6을 참조하여 상술한 블록체인 시스템과 마지막 제1 형 블록(190)이 포함하는 마지막 제2 형 블록의 적어도 일부의 해시값에서 차이가 있다. 따라서 설명의 편의성을 위해서 본 실시예의 블록체인 시스템을 설명하는데 있어서, 도 5 및 도 6을 참조하여 상술한 것과 다른 점을 중심으로 설명하도록 한다.The block chain system described with reference to FIG. 7 differs from the hash value of at least a portion of the last type 2 block included in the block type system and the last type 1 block 190 described above with reference to FIGS. 5 and 6 have. Therefore, for convenience of explanation, the block chain system according to the present embodiment will be described mainly on the points different from those described above with reference to FIGS. 5 and 6. FIG.

도 7에 있어서, 마지막 제1 형 블록(190)은 도 7에 도시된 다른 모든 블록보다 마지막에 생성된 블록에 해당한다.In FIG. 7, the last type 1 block 190 corresponds to the last generated block than all the other blocks shown in FIG.

도 7을 참조하면, 마지막 제1 형 블록(190)은 서브 브랜치의 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함할 수 있다. 여기서, 마지막 제1 형 블록(190)은 마지막 제2 형 블록(290) 중 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다. 즉, 상기 마지막 제1 형 블록(190)이 생성되기 전에, 다른 제1 형 블록이 생성되면서 적어도 일부의 해시값이 상기 다른 제1 형 블록에 포함된 제2 형 블록은 상기 마지막 제1 형 블록(190)이 포함하는 해시값의 마지막 제2 형 블록에 해당하지 않게 된다.Referring to FIG. 7, the last type 1 block 190 may include a hash value (H sum ) of at least a portion of the last type 2 block 290 of the sub-branch. The last type 1 block 190 may include a hash value of at least a portion of the last type 2 block that is not included in the first type block having a hash value of at least a portion of the last type 2 block 290 have. That is, before the last first type block 190 is generated, another type 1 block is generated, and a second type block in which at least a part of the hash values are included in the other first type blocks, The second type block does not correspond to the last type 2 block of the hash value included in the hash value.

도 7에 도시된 예시의 블록체인 시스템을 참고로 하여 설명하면, 마지막 제1 형 블록(B5, 190)이 생성되는 시점에 마지막 제2 형 블록(290)은 B13, B33 및 B44이 존재한다. 그러나 B13이 생성되고, B33 및 B44이 생성되기 전에 B2가 생성되게 된다. B2가 생성되는 시점에서, B13의 적어도 일부의 해시값(H13)이 B2에 포함되게 된다.Referring to the example block chain system shown in FIG. 7, at the time when the last first type block B 5 , 190 is generated, the last second type block 290 includes B 13 , B 33, and B 44 Lt; / RTI > However, B 13 is generated, and B 2 is generated before B 33 and B 44 are generated. At the time when B 2 is generated, the hash value (H 13 ) of at least a part of B 13 is included in B 2 .

따라서 마지막 제1 형 블록(B5, 190)이 생성되는 시점의 마지막 제2 형 블록(290) 중 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록은 B33 및 B44만 해당한다. 따라서 마지막 제1 형 블록(B5, 190)은 B33 및 B44의 적어도 일부의 해시값을 포함한다. 구체적으로, 마지막 제1 형 블록(B5, 190)은 B33 및 B44의 블록헤더의 해시값(H33, H44)으로부터 생성된 머클 트리의 루트에 대한 해시값(Hsum)을 포함할 수 있다.Therefore, the last second type block in which hash values of at least some of the last second type blocks 290 at the time when the last first type blocks B 5 and 190 are generated is not included in the first type blocks B 33 and B 33 , B 44 only. Thus, the last type 1 block (B 5 , 190) contains hash values of at least some of B 33 and B 44 . Specifically, the last first type block B 5 , 190 includes a hash value (H sum ) for the root of the merge tree generated from the hash values (H 33 , H 44 ) of the block headers of B 33 and B 44 can do.

이러한 경우, 마지막 제1 형 블록이 생성되는 시점에, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록이 존재하지 않을 수 있다. 도 7에 도시된 예시의 블록체인 시스템에서 B3 및 B4는 이러한 경우에 해당한다. 이런 경우, 마지막 제1 형 블록은 메인 브랜치에 포함되고 마지막 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값만을 포함하고, 마지막 제2 형 블록의 적어도 일부의 해시값은 포함하지 않을 수 있다.In this case, at the time when the last type 1 block is generated, the last type 2 block in which at least some hash values are not included in the other type blocks may not exist. In the example block chain system shown in FIG. 7, B 3 and B 4 correspond to this case. In this case, the last type 1 block includes only the hash values of at least some of the first type blocks included in the main branch and generated immediately before the last type 1 block, and the hash values of at least some of the last type 2 blocks May not be included.

이러한 방식에 따르면, 마지막 제2 형 블록은 한 번만 그것의 적어도 일부의 해시값이 마지막 제1 형 블록에 포함되게 된다. 따라서 마지막 제1 형 블록이 생성되면서 포함해야 하는 마지막 제2 형 블록의 개수가 도 5를 참조하여 상술한 실시예의 경우보다 감소하게 된다. 도 5를 참조하여 상술한 실시예의 경우, 마지막 제2 형 블록의 안전성을 향상시킬 수 있지만 블록체인의 규모가 커지면 새로운 마지막 제1 형 블록이 참조해야 할 마지막 제2 형 블록의 개수가 점차 증가하게 된다. 이는 블록체인의 효율성을 떨어트리는 요인이 될 수 있다. 따라서 도 7을 참조하여 설명한 실시예에 따르면 마지막 제2 형 블록의 안전성도 향상시키면서, 블록체인의 효율성을 확보할 수 있다는 장점이 있다.According to this scheme, the last type 2 block has only one hash value of at least some of it contained in the last type 1 block. Therefore, the number of the last type 2 blocks to be included in the last first type block is reduced as compared with the case of the embodiment described above with reference to FIG. 5, the safety of the last type 2 block can be improved. However, when the size of the block chain is increased, the number of the last type 2 blocks to be referred to by the new last type 1 block gradually increases do. This may be a factor in reducing the efficiency of the block chain. Therefore, according to the embodiment described with reference to FIG. 7, there is an advantage that the efficiency of the block chain can be secured while improving the safety of the last type 2 block.

도 5 내지 도 7을 참조하여, 본 발명의 다양한 실시예들에 따른 블록체인 시스템과 마지막 제1 형 블록에 대해서 상세하게 설명하였다.5 through 7, the block chain system and the final first type block according to various embodiments of the present invention have been described in detail.

그러나 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 마지막 제1 형 블록은 메인 브랜치에 다른 제1 형 블록이 생성되어 연결됨에 따라 마지막 제1 형 블록에는 해당하지 않게 된다. 따라서 제2 형 블록의 적어도 일부의 해시값을 포함하는 제1 형 블록이 메인 브랜치의 마지막 블록이 아닌 경우를 포함하는 블록체인 시스템에 대해서 추가로 설명하도록 한다.However, the last type 1 block including the hash value of at least part of the last type 2 block does not correspond to the last type 1 block as other type 1 blocks are created and connected to the main branch. Thus, a block chain system including a case where a first type block including at least a hash value of a type 2 block is not the last block of the main branch will be further described.

도 8은 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다. 도 8을 참조하여, 본 발명의 또 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 8 is an exemplary diagram of a block-chain system in accordance with an embodiment of the present invention. Referring to FIG. 8, a block chain system according to another embodiment of the present invention will be described.

도 8에는 각 블록의 생성 순서가 빨간색의 글자로 표시되어 있다. 이러한 생성 순서를 참조하여 블록체인 시스템에 대해서 설명하도록 한다.In Fig. 8, the order of generation of each block is indicated by red letters. The block chain system will be described with reference to this generation sequence.

도 8의 실시예에서, 메인 브랜치의 임의의 제1 형 블록은 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 상기 일부 블록은 상기 임의의 제1 형 블록이 생성될 때, 서브 브랜치의 마지막 블록일 수 있다. 더욱 구체적으로, 상기 일부 블록은 상기 임의의 제1 형 블록이 생성될 때, 모든 서브 브랜치의 마지막 블록일 수 있다. 이러한 내용에 대해서 도 8에 도시된 예시의 블록체인 시스템을 참조하여 설명하도록 한다.In the embodiment of FIG. 8, any first type block of the main branch contains a hash value of at least a portion of some of the second type blocks previously created before any first type blocks. Specifically, the certain block may be the last block of the sub-branch when the first type block is generated. More specifically, some of the blocks may be the last block of all sub-branches when the first type block is created. This will be described with reference to the example block chain system shown in Fig.

B2 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이다. 따라서 B2 블록은 B11 블록의 적어도 일부의 해시값(H11)을 포함한다. 그리고 B2 블록은 해시값(H11)과 구분되도록 메인 브랜치에 포함되고 B2 블록보다 직전에 생성된 제1 형 블록(B1 블록)의 적어도 일부의 해시값(H1)을 포함한다.When the B 2 block is generated, the last block of the sub-branch existing is B 11 block. Therefore, the B 2 block includes a hash value (H 11 ) of at least a part of the B 11 block. And B 2 block includes a hash value (H 11) and to distinguish it from being included in the main branch at least a portion of the hash value of the first type block (B 1 block) generated immediately before the more B 2 block (H 1).

B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록도 B11 블록이다. B3 블록이 생성될 때 B2 블록을 루트블록으로 하는 서브 브랜치가 없으므로, B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이 유일하다. 따라서 B3 블록은 B11 블록의 적어도 일부의 해시값(H11)을 포함한다. 그리고 B3 블록은 해시값(H11)과 구분되도록 메인 브랜치에 포함되고 B3 블록보다 직전에 생성된 제1 형 블록(B2 블록)의 적어도 일부의 해시값(H2)을 포함한다.The last block of the sub-branch that exists when the B 3 block is created is also B 11 block. When B 3 block is created, there is no sub-branch that B 2 block is the root block. Therefore, B 11 block is the last block of sub-branch that exists when B 3 block is generated. Therefore, the B 3 block includes a hash value (H 11 ) of at least a part of the B 11 block. And B 3 block includes a hash value (H 11) and to distinguish it from being included in the main branch at least a portion of the hash value of the first type block (B 2 blocks) generated in the immediately preceding than B 3 block (H 2).

B4 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13 및 B32 블록이다. 따라서 B4 블록은 B13 및 B32 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B4 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B4 블록보다 직전에 생성된 제1 형 블록(B3 블록)의 적어도 일부의 해시값(H3)을 포함한다.When the B 4 block is generated, the last block of the sub-branch that exists is the B 13 and B 32 blocks. Hence, the B 4 block includes a hash value (H sum ) of at least a part of B 13 and B 32 blocks. And B 4 block includes a hash value (H sum) and to distinguish it from being included in the main branch at least a portion of the hash value of the first type block (B 3 blocks) generated in the immediately preceding than B 4 blocks (H 3).

B5 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B43 블록이다. 따라서 B5 블록은 B13, B33 및 B44 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B5 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B5 블록보다 직전에 생성된 제1 형 블록(B4 블록)의 적어도 일부의 해시값(H4)을 포함한다.When the B 5 block is generated, the last blocks of the subbranches present are B 13 , B 33, and B 43 blocks. Thus, the B 5 block includes a hash value (H sum ) of at least a portion of the B 13 , B 33, and B 44 blocks. The B 5 block includes at least a portion of the hash value (H 4 ) of the first type block (B 4 block) included in the main branch and immediately before the B 5 block so as to be separated from the hash value (H sum ).

B5 블록이 생성된 이후에 B44 블록이 생성된다. B44 블록까지 생성된 것이 도 8에 도시된 블록체인 시스템의 상태이다. 이후에 다른 제2 형 블록이 생성되지 않고, 추가로 제1 형 블록이 생성된다면, 이 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B44 블록이다. 따라서 새롭게 생성되는 마지막 제1 형 블록은 B13, B33 및 B44 블록의 적어도 일부의 해시값을 포함하게 된다.After the B 5 block is created, a B 44 block is created. B is generated from the block 44 is the block state in the chain system shown in Fig. If another type 2 block is not generated after this, and the first type block is additionally generated, then the last block of the present sub branch is a block B 13 , B 33 and B 44 . Thus, the newly generated last type 1 block includes hash values of at least some of the B 13 , B 33, and B 44 blocks.

도 9를 참조하여, 본 발명의 또 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 9는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.Referring to FIG. 9, a block chain system according to another embodiment of the present invention will be described. 9 is an exemplary diagram of a block-chain system in accordance with an embodiment of the present invention.

도 9에는 각 블록의 생성 순서가 빨간색의 글자로 표시되어 있다. 이러한 생성 순서를 참조하여 블록체인 시스템에 대해서 설명하도록 한다. 도 9는 도 8에 도시된 블록체인 시스템과 각각의 블록의 연결 및 생성 순서가 동일한 것을 도시한 것이다.In Fig. 9, the order of generation of each block is indicated by red letters. The block chain system will be described with reference to this generation sequence. FIG. 9 shows that the block chain system shown in FIG. 8 and the connection and generation order of the respective blocks are the same.

도 9의 실시예에서, 메인 브랜치의 임의의 제1 형 블록은 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 상기 일부 블록은 임의의 제1 형 블록이 생성될 때, 서브 브랜치의 마지막 블록일 수 있다. 더욱 구체적으로, 상기 일부 블록은 임의의 제1 형 블록이 생성될 때, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록일 수 있다. 이러한 내용에 대해서 도 9에 도시된 예시의 블록체인 시스템을 참조하여 설명하도록 한다.In the embodiment of FIG. 9, any first type block of the main branch contains a hash value of at least a portion of some of the second type blocks previously created before any first type blocks. In particular, some of the blocks may be the last block of the sub-branch when any first-type blocks are created. More specifically, some of the blocks may be blocks in which at least some hash values are not included in another type 1 block when any type 1 block is generated. This will be described with reference to the example block chain system shown in FIG.

B2 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이다. B11 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 B2 블록은 B11 블록의 적어도 일부의 해시값(H11)을 포함한다. 그리고 B2 블록은 해시값(H11)과 구분되도록 메인 브랜치에 포함되고 B2 블록보다 직전에 생성된 제1 형 블록(B1 블록)의 적어도 일부의 해시값(H1)을 포함한다.When the B 2 block is generated, the last block of the sub-branch existing is B 11 block. The B 11 block is a block whose hash value of at least some of it is not included in the first type block. Therefore, the B 2 block includes a hash value (H 11 ) of at least a part of the B 11 block. And B 2 block includes a hash value (H 11) and to distinguish it from being included in the main branch at least a portion of the hash value of the first type block (B 1 block) generated immediately before the more B 2 block (H 1).

B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록도 B11 블록이다. B3 블록이 생성될 때 B2 블록을 루트블록으로 하는 서브 브랜치가 없으므로, B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이 유일하다. 그러나 B11 블록은 그것의 적어도 일부의 해시값이 이미 B2 블록에 포함되어 있다. 따라서 B3 블록은 메인 브랜치에 포함되고 B3 블록보다 직전에 생성된 제1 형 블록(B2 블록)의 적어도 일부의 해시값(H2)만을 포함하고, 제2 형 블록의 적어도 일부의 해시값은 포함하지 않는다.The last block of the sub-branch that exists when the B 3 block is created is also B 11 block. When B 3 block is created, there is no sub-branch that B 2 block is the root block. Therefore, B 11 block is the last block of sub-branch that exists when B 3 block is generated. However, a hash value of at least a part of the B 11 block is already included in the B 2 block. Therefore, the B 3 block includes only the hash value (H 2 ) of at least a part of the first type block (B 2 block) included in the main branch and just before the B 3 block, and at least a part of the hash Values are not included.

B4 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13 및 B32 블록이다. B13 및 B32 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 B4 블록은 B13 및 B32 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B4 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B4 블록보다 직전에 생성된 제1 형 블록(B3 블록)의 적어도 일부의 해시값(H3)을 포함한다.When the B 4 block is generated, the last block of the sub-branch that exists is the B 13 and B 32 blocks. B 13, and B 32 blocks are blocks that are not included in the first type block having hash values of at least some of them. Hence, the B 4 block includes a hash value (H sum ) of at least a part of B 13 and B 32 blocks. And B 4 block includes a hash value (H sum) and to distinguish it from being included in the main branch at least a portion of the hash value of the first type block (B 3 blocks) generated in the immediately preceding than B 4 blocks (H 3).

B5 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B43 블록이다. 이 중, B13 블록은 그것의 적어도 일부의 해시값이 이미 B4 블록에 포함되어 있다. 또한, B33 및 B43 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 B5 블록은 B33 및 B44 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B5 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B5 블록보다 직전에 생성된 제1 형 블록(B4 블록)의 적어도 일부의 해시값(H4)을 포함한다.When the B 5 block is generated, the last blocks of the subbranches present are B 13 , B 33, and B 43 blocks. Among them, the B 13 block already has a hash value of at least a part thereof in the B 4 block. In addition, the B 33 and B 43 blocks are blocks in which at least some hash values of the B 33 and B 43 blocks are not included in the first type block. Thus, the B 5 block includes a hash value (H sum ) of at least a portion of the B 33 and B 44 blocks. The B 5 block includes at least a portion of the hash value (H 4 ) of the first type block (B 4 block) included in the main branch and immediately before the B 5 block so as to be separated from the hash value (H sum ).

B5 블록이 생성된 이후에 B44 블록이 생성된다. B44 블록까지 생성된 것이 도 9에 도시된 블록체인 시스템의 상태이다. 이후에 다른 제2 형 블록이 생성되지 않고, 추가로 제1 형 블록이 생성된다면, 이 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B44 블록이다. 이 중, B13 및 B33 블록은 그것의 적어도 일부의 해시값이 이미 B5 블록에 포함되어 있다. 또한, B44 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 새롭게 생성되는 마지막 제1 형 블록은 B44 블록의 적어도 일부의 해시값을 포함하게 된다.After the B 5 block is created, a B 44 block is created. B is generated from the block 44 is the block state in the chain system shown in Fig. If another type 2 block is not generated after this, and the first type block is additionally generated, then the last block of the present sub branch is a block B 13 , B 33 and B 44 . Among them, the hash values of at least some of the B 13 and B 33 blocks are already included in the B 5 block. In addition, the B 44 block is a block whose hash value of at least a part thereof is not included in the other first type blocks. Thus, the newly generated last type 1 block includes at least some hash values of the B 44 block.

도 10은 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법을 설명하기 위한 순서도이다. 이하, 도 10을 참조하여 본 발명의 일 실시예에 따른 블록체인 생성 방법에 대해 설명하도록 한다.10 is a flowchart illustrating a data management method using a block chain according to an embodiment of the present invention. Hereinafter, a block chain generation method according to an embodiment of the present invention will be described with reference to FIG.

도 10을 참조하여 설명할 블록체인 생성 방법은 도 1 내지 도 9를 참조하여 설명한 블록체인 시스템의 블록체인을 생성하는 방법에 관한 것이다. 따라서 설명의 편의성을 위해 도 1 내지 도 9를 참조하여 상술한 내용과 중복되는 내용 중 일부는 생략하도록 한다.The block chain generation method to be described with reference to FIG. 10 relates to a method of generating a block chain of the block chain system described with reference to FIGS. Therefore, for convenience of description, some of the contents overlapping with those described above with reference to Figs. 1 to 9 will be omitted.

도 10을 참조하면, 블록체인 생성 방법은 블록체인을 마련하는 단계(S100) 및 새로운 제1 형 블록을 생성하는 단계(S200)을 포함한다.Referring to FIG. 10, a block chain generation method includes a step S100 of providing a block chain and a step S200 of generating a new first type block.

이하, 상술한 각 단계에 대해서 상세하게 설명하도록 한다.Hereinafter, each of the above-described steps will be described in detail.

블록체인을 마련하는 단계(S100)는 메인 브랜치 및 적어도 하나의 서브 브랜치를 포함하는 블록체인을 마련하는 단계이다. 이에 대해서는 도 5를 참조하여 상세하게 설명하였다.Step S100 of providing a block chain is a step of providing a block chain including a main branch and at least one sub-branch. This has been described in detail with reference to FIG.

새로운 제1 형 블록을 생성하는 단계(S200)는 새로운 제1 형 블록을 메인 브랜치의 마지막 제1 형 블록에 연결되도록 생성하는 단계이다. 여기서, 새로운 제1 형 블록은 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함한다. 또한, 새로운 제1 형 블록은 마지막 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다. 새로운 제1 형 블록은 마지막 제2 형 블록의 적어도 일부의 해시값과 마지막 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 구분하여 포함할 수 있다.The step of generating a new first type block (S200) is a step of generating a new first type block to be connected to the last first type block of the main branch. Here, the new first type block includes the hash value of at least a portion of the last type 2 block of the sub-branch. In addition, the new first type block may further include hash values of at least some of the last type 1 block. The new first type block may include a hash value of at least a portion of the last type 2 block and a hash value of at least a portion of the last type 1 block in a block header.

구체적으로, 새로운 제1 형 블록은 모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다. 이에 대해서는 도 5 및 도 8을 참조하여 상세하게 설명하였다.Specifically, the new first type block may include hash values of at least some of the last type 2 blocks of all sub-branches. This has been described in detail with reference to FIGS. 5 and 8. FIG.

또한, 경우에 따라서 새로운 제1 형 블록은 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다. 이에 대해서는 도 7 및 도 9를 참조하여 상세하게 설명하였다.In some cases, the new first type block may include hash values of at least some of the last type 2 blocks that are not included in the first type block, at least some hash values being different. This has been described in detail with reference to FIGS. 7 and 9. FIG.

새로운 제1 형 블록은 둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고, 상기 해시값은 각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다. 이에 대해서는 도 6을 참조하여 상세하게 설명하였다.The new first type block may include a hash value of at least a portion of two or more last type 2 blocks and the hash value may be a hash value for the root of the merge tree generated from at least a portion of each last type 2 block . This has been described in detail with reference to FIG.

이상, 본 발명의 블록체인 시스템 및 블록체인 생성 방법의 실시예들에 대해 설명하였다. 본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.The embodiments of the block chain system and the block chain generation method of the present invention have been described above. The present invention is not limited to the above-described embodiments and the accompanying drawings, and various modifications and changes may be made by those skilled in the art to which the present invention pertains. Therefore, the scope of the present invention should be determined by the equivalents of the claims and the claims.

10: 제1 형 데이터 20: 제2 형 데이터
100: 제1 형 블록 200: 제2 형 블록
110, 210: 블록헤더 120, 220: 블록몸체
190: 마지막 제1 형 블록 290: 마지막 제2 형 블록
1000: 메인 브랜치 2000: 서브 브랜치
10: first type data 20: second type data
100: first type block 200: second type block
110, 210: block header 120, 220: block body
190: Last Type 1 block 290: Last Type 2 block
1000: Main Branch 2000: Sub Branch

Claims (24)

적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치; 및
하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고,
하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고,
상기 메인 브랜치의 마지막 제1 형 블록은, 상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
Wherein the first type block comprises at least one first type block, each of the first type blocks comprising a main branch connected according to a generation order of blocks, respectively; And
Wherein the first type block comprises at least one first type block and at least one second type block, the second type block comprises at least one sub-branch connected with the first type block as a root block,
The second type block of one sub-branch is connected according to the order of generation of blocks, the second type block generated first in the one sub-branch is connected to the root block,
Wherein the last type 1 block of the main branch includes a hash value of at least a portion of a last type 2 block of the sub-branch.
제1 항에 있어서,
상기 마지막 제1 형 블록은,
상기 메인 브랜치에 포함되고 상기 마지막 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함하는 블록체인 시스템.
The method according to claim 1,
The last type 1-type block,
Further comprising a hash value of at least a portion of a first type block included in the main branch and generated prior to the last type 1 block.
제2 항에 있어서,
상기 마지막 제1 형 블록은,
상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 시스템.
3. The method of claim 2,
The last type 1-type block,
Wherein the hash value of at least a portion of the last type 2 block is distinguished from the hash value of at least a portion of the immediately preceding type block.
제2 항에 있어서,
상기 마지막 제1 형 블록은,
상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함하는 블록체인 시스템.
3. The method of claim 2,
The last type 1-type block,
Wherein the block header includes a hash value of at least a portion of the last type 2 block and a hash value of at least a portion of the immediately preceding type 1 block.
제1 항에 있어서,
상기 마지막 제1 형 블록은,
모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
The method according to claim 1,
The last type 1-type block,
And a hash value of at least a portion of a last type 2 block of all sub-branches.
제1 항에 있어서,
상기 마지막 제1 형 블록은,
적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
The method according to claim 1,
The last type 1-type block,
Wherein at least some hash values include hash values of at least a portion of a last type 2 block that is not included in another type 1 block.
제1 항에 있어서,
상기 마지막 제1 형 블록은,
둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고,
상기 해시값은,
각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값인 블록체인 시스템.
The method according to claim 1,
The last type 1-type block,
A hash value of at least a portion of at least two last type 2 blocks,
The hash value,
Wherein the hash value is a hash value for the root of the merge tree generated from at least a portion of each last type 2 block.
제1 항에 있어서,
상기 마지막 제2 형 블록은,
상기 마지막 제1 형 블록보다 이전에 생성된 블록인 블록체인 시스템.
The method according to claim 1,
The last type < RTI ID = 0.0 >
Block is a block previously created before the last type 1 block.
적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치; 및
하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고,
하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고,
상기 메인 브랜치의 임의의 제1 형 블록은, 상기 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
Wherein the first type block comprises at least one first type block, each of the first type blocks comprising a main branch connected according to a generation order of blocks, respectively; And
Wherein the first type block comprises at least one first type block and at least one second type block, the second type block comprises at least one sub-branch connected with the first type block as a root block,
The second type block of one sub-branch is connected according to the order of generation of blocks, the second type block generated first in the one sub-branch is connected to the root block,
Wherein any one of the first type blocks of the main branch includes a hash value of at least a portion of some of the second type blocks generated prior to any of the first type blocks.
제9 항에 있어서,
상기 임의의 제1 형 블록은,
상기 메인 브랜치에 포함되고 상기 임의의 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함하는 블록체인 시스템.
10. The method of claim 9,
Wherein the first type block comprises:
Further comprising a hash value of at least a portion of a first type block included in the main branch and generated prior to any of the first type blocks.
제10 항에 있어서,
상기 임의의 제1 형 블록은,
상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 시스템.
11. The method of claim 10,
Wherein the first type block comprises:
Wherein the hash value of at least a part of the at least one block is different from the hash value of at least a part of the immediately preceding type block.
제10 항에 있어서,
상기 임의의 제1 형 블록은,
상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함하는 블록체인 시스템.
11. The method of claim 10,
Wherein the first type block comprises:
Wherein the block header includes a hash value of at least a portion of the partial block and a hash value of at least a portion of the immediately preceding type block generated in the block header.
제9 항에 있어서,
상기 일부 블록은,
상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록인 블록체인 시스템.
10. The method of claim 9,
In some of the blocks,
Wherein when the first type block is generated, the last block of the sub-branch.
제9 항에 있어서,
상기 일부 블록은,
상기 임의의 제1 형 블록이 생성될 때, 모든 서브 브랜치의 마지막 블록인 블록체인 시스템.
10. The method of claim 9,
In some of the blocks,
When the first type block is generated, is the last block of all the sub-branches.
제9 항에 있어서,
상기 일부 블록은,
상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록이되, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록인 블록체인 시스템.
10. The method of claim 9,
In some of the blocks,
Wherein when the arbitrary first type block is generated, the block is the last block of the sub-branch, and at least some hash values are not included in the first type block.
제9 항에 있어서,
상기 일부 블록은 둘 이상의 블록이고,
상기 해시값은,
상기 일부 블록의 각각의 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값인 블록체인 시스템.
10. The method of claim 9,
Wherein the plurality of blocks are two or more blocks,
The hash value,
The hash value for the root of the merge tree generated from at least a portion of each block of the some block.
적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되는 블록체인을 마련하는 단계; 및
새로운 제1 형 블록을 상기 메인 브랜치의 마지막 제1 형 블록에 연결되도록 생성하는 단계를 포함하고,
상기 새로운 제1 형 블록은,
상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 생성 방법.
Wherein the first type block comprises at least one first type block and at least one second type block connected to each other according to the order of generation of the blocks, Wherein the block includes at least one sub-branch connected with the first type block as a root block, and the second type block of one sub-branch is connected according to the order of generation of blocks, The generated second type block includes a block chain connected to the root block; And
And generating a new first type block to be connected to a last first type block of the main branch,
Wherein the new first type block comprises:
And a hash value of at least a portion of a last type 2 block of the sub-branch.
제17 항에 있어서,
상기 새로운 제1 형 블록은,
상기 마지막 제1 형 블록의 적어도 일부의 해시값을 더 포함하는 블록체인 생성 방법.
18. The method of claim 17,
Wherein the new first type block comprises:
Further comprising a hash value of at least a portion of the last type 1 block.
제18 항에 있어서,
상기 새로운 제1 형 블록은,
상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 생성 방법.
19. The method of claim 18,
Wherein the new first type block comprises:
Wherein a hash value of at least a portion of the last type 2 block is distinguished from a hash value of at least a portion of the last type 1 block.
제18 항에 있어서,
상기 새로운 제1 형 블록은,
상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함하는 블록체인 생성 방법.
19. The method of claim 18,
Wherein the new first type block comprises:
Wherein a hash value of at least a portion of the last type 2 block and a hash value of at least a portion of the last type 1 block are included in a block header.
제17 항에 있어서,
상기 새로운 제1 형 블록은,
모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 생성 방법.
18. The method of claim 17,
Wherein the new first type block comprises:
A hash value of at least a portion of a last type 2 block of all sub-branches.
제17 항에 있어서,
상기 새로운 제1 형 블록은,
적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 생성 방법.
18. The method of claim 17,
Wherein the new first type block comprises:
Wherein at least some hash values include hash values of at least some of the last type 2 blocks not included in the other type 1 blocks.
제17 항에 있어서,
상기 새로운 제1 형 블록은,
둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고,
상기 해시값은,
각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값인 블록체인 생성 방법.
18. The method of claim 17,
Wherein the new first type block comprises:
A hash value of at least a portion of at least two last type 2 blocks,
The hash value,
A hash value for the root of the merge tree generated from at least a portion of each last type 2 block.
제17 항에 있어서,
상기 마지막 제2 형 블록은,
상기 새로운 제1 형 블록보다 이전에 생성된 블록인 블록체인 생성 방법.
18. The method of claim 17,
The last type < RTI ID = 0.0 >
Wherein the new block is a block generated before the new first type block.
KR1020170059276A 2017-05-12 2017-05-12 Blockchain system and method of creating blockchain KR102017739B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170059276A KR102017739B1 (en) 2017-05-12 2017-05-12 Blockchain system and method of creating blockchain
PCT/KR2017/010020 WO2018207975A1 (en) 2017-05-12 2017-09-13 Blockchain system and method for generating blockchain
TW107113747A TW201901482A (en) 2017-05-12 2018-04-23 Blockchain system and method of creating blockchain
SG10201803839RA SG10201803839RA (en) 2017-05-12 2018-05-07 Blockchain system and method of creating blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170059276A KR102017739B1 (en) 2017-05-12 2017-05-12 Blockchain system and method of creating blockchain

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190021356A Division KR20190020721A (en) 2019-02-22 2019-02-22 Blockchain system and method of creating blockchain

Publications (2)

Publication Number Publication Date
KR20180124545A true KR20180124545A (en) 2018-11-21
KR102017739B1 KR102017739B1 (en) 2019-09-03

Family

ID=64105657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170059276A KR102017739B1 (en) 2017-05-12 2017-05-12 Blockchain system and method of creating blockchain

Country Status (4)

Country Link
KR (1) KR102017739B1 (en)
SG (1) SG10201803839RA (en)
TW (1) TW201901482A (en)
WO (1) WO2018207975A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101986081B1 (en) * 2018-12-24 2019-06-05 (주)소프트제국 Method for sharing and verifing a block between specific nodes in a blockchain
KR20190122149A (en) * 2018-04-19 2019-10-29 한국전자통신연구원 Method for selecting consensus node using nonse, method and apparatus for generating blockchain using the same
KR20200059830A (en) * 2018-11-22 2020-05-29 주식회사 포스코아이씨티 2 Layer Block Chain System
WO2020130331A1 (en) * 2018-12-21 2020-06-25 (주)소프트제국 Method for sharing and verifying blocks and electronic documents between nodes in blockchain
KR20200079168A (en) * 2018-12-24 2020-07-02 (주)소프트제국 Information management method based on vertical block structure in a blockchain
KR20200094961A (en) * 2019-01-31 2020-08-10 한남대학교 산학협력단 Management system for wastewater treatment using blockchain
US11580087B2 (en) 2019-12-13 2023-02-14 Hyundai Motor Company Blockchain generation system and method for operating the same
US11831750B2 (en) 2018-04-19 2023-11-28 Electronics And Telecommunications Research Institute Method for selecting consensus node using nonce and method and apparatus for generating blockchain using the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057570B1 (en) * 2019-09-16 2020-01-23 (주) 모로보기 Blockchain network
KR102314495B1 (en) 2020-01-03 2021-10-20 주식회사 블로코 Blockchain synchronization method using Raft and blockchain system using the same
CN115708118A (en) * 2021-08-18 2023-02-21 华为技术有限公司 Block chain generation method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048509B1 (en) * 2009-09-21 2011-07-11 부산대학교 산학협력단 Method and apparatus for detecting civil attack node using location information and hash chain in ubiquitous sensor network
US20160028552A1 (en) * 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
KR20160106570A (en) * 2013-11-19 2016-09-12 썬라이즈 테크 그룹, 엘엘씨 Block mining methods and apparatus
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048509B1 (en) * 2009-09-21 2011-07-11 부산대학교 산학협력단 Method and apparatus for detecting civil attack node using location information and hash chain in ubiquitous sensor network
KR20160106570A (en) * 2013-11-19 2016-09-12 썬라이즈 테크 그룹, 엘엘씨 Block mining methods and apparatus
US20160028552A1 (en) * 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190122149A (en) * 2018-04-19 2019-10-29 한국전자통신연구원 Method for selecting consensus node using nonse, method and apparatus for generating blockchain using the same
US11831750B2 (en) 2018-04-19 2023-11-28 Electronics And Telecommunications Research Institute Method for selecting consensus node using nonce and method and apparatus for generating blockchain using the same
KR20200059830A (en) * 2018-11-22 2020-05-29 주식회사 포스코아이씨티 2 Layer Block Chain System
WO2020130331A1 (en) * 2018-12-21 2020-06-25 (주)소프트제국 Method for sharing and verifying blocks and electronic documents between nodes in blockchain
US11232234B2 (en) 2018-12-21 2022-01-25 Swempire Co., Ltd. Method for sharing and verifying blocks and electronic documents between nodes in blockchain
KR101986081B1 (en) * 2018-12-24 2019-06-05 (주)소프트제국 Method for sharing and verifing a block between specific nodes in a blockchain
KR20200079168A (en) * 2018-12-24 2020-07-02 (주)소프트제국 Information management method based on vertical block structure in a blockchain
KR20200094961A (en) * 2019-01-31 2020-08-10 한남대학교 산학협력단 Management system for wastewater treatment using blockchain
US11580087B2 (en) 2019-12-13 2023-02-14 Hyundai Motor Company Blockchain generation system and method for operating the same

Also Published As

Publication number Publication date
TW201901482A (en) 2019-01-01
SG10201803839RA (en) 2018-12-28
KR102017739B1 (en) 2019-09-03
WO2018207975A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
KR20180124545A (en) Blockchain system and method of creating blockchain
KR101964692B1 (en) Blockchain system and data managing method using blockchain
CN107368259B (en) Method and device for writing service data into block chain system
CN109902086B (en) Index creation method, device and equipment
EP2751949B1 (en) Multiple table tokenization
CN109951290B (en) Time service authentication method, device and equipment for chain type account book
CN107181797A (en) The block compression method and system of a kind of block chain
Ivancsics Blockchain in journalism
CN110061843B (en) Block height creating method, device and equipment in chain type account book
CN108829899B (en) Data table storage, modification, query and statistical method
CN109298835A (en) Data filing processing method, device, equipment and the storage medium of block chain
CN113508570B (en) Method for sharing and verifying blocks and electronic documents among nodes in block chain
KR20190020721A (en) Blockchain system and method of creating blockchain
KR102142955B1 (en) A privatekey management method
KR102349014B1 (en) Method and system for building fast synchronizable decentralized distributed database
US20230129227A1 (en) System and method for generating a table-driven mutable blockchain
Mihajloska et al. Reviving the idea of incremental cryptography for the zettabyte era use case: Incremental hash functions based on SHA-3
KR102365914B1 (en) Method and system for distributing an electronic document including personal information using a smart contract a in based on a blockchain
KR102416336B1 (en) Device, method, system and computer readable storage medium for managing blockchain
KR20190113211A (en) Blockchain system
KR20190099936A (en) Blockchain system
KR20190113210A (en) Blockchain system
KR102437006B1 (en) Information management method based on vertical block structure in a blockchain
CN110799967B (en) Multi-card overlay display
KR102538988B1 (en) Cubechain type data management engine and data management method

Legal Events

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