KR20220168337A - Method and apparatus for providing blockchain - Google Patents

Method and apparatus for providing blockchain Download PDF

Info

Publication number
KR20220168337A
KR20220168337A KR1020210077942A KR20210077942A KR20220168337A KR 20220168337 A KR20220168337 A KR 20220168337A KR 1020210077942 A KR1020210077942 A KR 1020210077942A KR 20210077942 A KR20210077942 A KR 20210077942A KR 20220168337 A KR20220168337 A KR 20220168337A
Authority
KR
South Korea
Prior art keywords
block
new
existing
hash value
blockchain
Prior art date
Application number
KR1020210077942A
Other languages
Korean (ko)
Other versions
KR102655765B1 (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 KR1020210077942A priority Critical patent/KR102655765B1/en
Publication of KR20220168337A publication Critical patent/KR20220168337A/en
Application granted granted Critical
Publication of KR102655765B1 publication Critical patent/KR102655765B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Abstract

Disclosed are a method and device for providing a blockchain. The method for providing the blockchain performed by any one specific node among a plurality of blockchain nodes may comprise: a step of generating a new block based on the new transaction data; a step of identifying a difference of a block structure between the generated new block and existing blocks existing before the new block; and a step of determining a block hash value for the new block based on the difference of the block structure between the identified new block and existing blocks. Therefore, the present invention enables blocks corresponding to different blockchains to be maintained in one blockchain.

Description

블록체인 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING BLOCKCHAIN}Blockchain providing method and device {METHOD AND APPARATUS FOR PROVIDING BLOCKCHAIN}

본 발명은 블록체인 제공 방법 및 장치에 관한 것으로, 보다 구체적으로는 복수의 블록 해시 값을 이용하여 서로 다른 블록 구조를 가지는 이종의 블록들을 연결함으로써 하나의 블록체인 내에 서로 다른 블록체인에 대응하는 블록들을 유지하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a blockchain, and more particularly, blocks corresponding to different blockchains within a single blockchain by connecting heterogeneous blocks having different block structures using a plurality of block hash values. It relates to a method and apparatus for maintaining them.

종래의 블록체인 기술은 신규 블록의 헤더 영역 데이터와 기존 블록들 중 직전 블록의 블록 해시 값을 이용하여 신규 블록의 블록 해시 값을 결정함으로써 기존 블록들과 신규 블록을 연결하는 블록체인 방법을 제공한다. Conventional blockchain technology provides a block chain method for connecting existing blocks and new blocks by determining the block hash value of a new block using the header area data of the new block and the block hash value of the previous block among the existing blocks. .

그러나 이러한 구조의 블록체인 기술은 인해 동일한 구조를 가진 블록들만 연결하여 블록체인을 유지할 수 있으므로 서로 다른 구조를 가지는 블록에 대해서는 연결이 불가능한 문제가 있다.However, because of this structured blockchain technology, only blocks with the same structure can be connected to maintain the blockchain, so blocks with different structures cannot be connected.

따라서 이러한 문제를 해결하기 위해 동일한 구조를 가지는 블록 이외에 서로 다른 구조를 가지는 블록들을 연결하기 위한 블록체인 기술이 요구되고 있다.Therefore, in order to solve this problem, a block chain technology for connecting blocks having different structures in addition to blocks having the same structure is required.

본 발명은 복수의 블록 해시 값을 이용하여 서로 다른 블록 구조를 가지는 이종의 블록들을 연결함으로써 하나의 블록체인 내에 서로 다른 블록체인에 대응하는 블록들을 유지하는 방법 및 장치를 제공한다.The present invention provides a method and apparatus for maintaining blocks corresponding to different blockchains in one blockchain by connecting heterogeneous blocks having different block structures using a plurality of block hash values.

본 발명의 일실시예에 따른 복수의 블록체인 노드들 중 어느 하나의 특정 노드가 수행하는 블록체인 제공 방법은 신규 트랜잭션 데이터에 기초하여 신규 블록을 생성하는 단계; 상기 생성된 신규 블록과 상기 신규 블록의 이전에 존재하는 기존 블록들 간 블록 구조의 차이를 식별하는 단계; 및 상기 식별된 신규 블록과 기존 블록들 간 블록 구조의 차이에 기초하여 상기 신규 블록에 대한 블록 해시 값을 결정하는 단계를 포함할 수 있다.A blockchain providing method performed by any one specific node among a plurality of blockchain nodes according to an embodiment of the present invention includes generating a new block based on new transaction data; identifying a difference in block structure between the generated new block and existing blocks existing before the new block; and determining a block hash value for the new block based on a difference in block structure between the identified new block and existing blocks.

상기 식별하는 단계는 상기 신규 블록 및 기존 블록들을 구성하는 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 상기 신규 블록과 기존 블록들 간 블록 구조의 차이를 식별할 수 있다.In the identifying, the difference in block structure between the new block and the existing blocks is determined based on the type of elements included in the header area constituting the new block and the existing blocks and the type of data present in the body area. can be identified.

상기 식별하는 단계는 상기 기존 블록들 중 상기 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식을 비교하여 적어도 하나의 구성이 상기 신규 블록과 다른 기존 블록이 존재하는 경우, 상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별할 수 있다.The identifying of the existing blocks may include comparing types of elements included in the header area and formats of data existing in the body area among the existing blocks, and when an existing block having at least one configuration different from that of the new block exists, the new block is identified. It can be identified that there is a difference in block structure between the block and existing blocks.

상기 결정하는 단계는 상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별된 경우, 상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 서로 다른 블록 구조를 가지는 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산할 수 있다.In the determining step, when it is identified that there is a difference in block structure between the new block and the existing blocks, a first block in which blocks having different block structures are connected using a previous block hash value of a block immediately before the new block The total block hash value can be calculated for each new block in the chain.

상기 결정하는 단계는 기존 블록들 중 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하는 단계; 및 상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산하는 단계를 포함할 수 있다.The determining step may include identifying existing blocks having the same block structure as that of the new block among existing blocks; and calculating an individual block hash value for a new block of a second blockchain to which blocks having the same block structure are connected using a previous block hash value for an existing block temporally closest among the identified existing blocks. can do.

상기 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송하는 단계를 더 포함할 수 있다.The method may further include transmitting the new block of which the block hash value is determined to other blockchain nodes excluding the specific node.

본 발명의 일실시예에 따른 복수의 블록체인 노드들 중 특정 노드가 수행하는 블록체인 제공 방법은 서로 다른 블록 구조의 기존 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 결정하는 단계; 상기 제1 블록체인을 구성하는 기존 블록들 중 동일한 블록 구조를 가지는 일반 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 결정하는 단계; 및 상기 전체 블록 해시 값 및 개별 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송하는 단계를 포함할 수 있다.A block chain providing method performed by a specific node among a plurality of block chain nodes according to an embodiment of the present invention is to determine the entire block hash value for a new block of a first block chain to which existing blocks of different block structures are connected. step; determining an individual block hash value for a new block of a second blockchain to which general blocks having the same block structure are connected among existing blocks constituting the first blockchain; and transmitting the new block having the total block hash value and the individual block hash value determined to other blockchain nodes excluding the specific node.

상기 전체 블록 해시 값을 결정하는 단계는 상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 상기 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산할 수 있다.In the determining of the total block hash value, the total block hash value of the new block of the first blockchain may be calculated using the previous block hash value of the previous block of the new block.

상기 개별 블록 해시 값을 결정하는 단계는 상기 제1 블록체인을 구성하는 기존 블록들 중 상기 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하는 단계; 및 상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 상기 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산하는 단계를 포함할 수 있다.The determining of the individual block hash value may include identifying existing blocks having the same block structure as that of the new block among existing blocks constituting the first blockchain; and calculating an individual block hash value for a new block of the second blockchain by using a previous block hash value for an existing block that is temporally closest among the identified existing blocks.

상기 신규 블록과 기존 블록들은 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 서로 간 블록 구조의 차이가 식별될 수 있다.A difference in block structure between the new block and the existing block may be identified based on the type of elements included in the header area and the type of data present in the body area.

본 발명의 일실시예에 따른 블록체인 제공 방법을 수행하는 블록체인 제공 장치는 프로세서를 포함하고, 상기 프로세서는 신규 트랜잭션 데이터에 기초하여 신규 블록을 생성하고, 상기 생성된 신규 블록과 상기 신규 블록의 이전에 존재하는 기존 블록들 간 블록 구조의 차이를 식별하며, 상기 식별된 신규 블록과 기존 블록들 간 블록 구조의 차이에 기초하여 상기 신규 블록에 대한 블록 해시 값을 결정할 수 있다.A block chain providing apparatus performing a block chain providing method according to an embodiment of the present invention includes a processor, the processor generates a new block based on new transaction data, and the generated new block and the new block A difference in block structure between previously existing blocks may be identified, and a block hash value for the new block may be determined based on the difference in block structure between the identified new block and the existing blocks.

상기 프로세서는 상기 신규 블록 및 기존 블록들을 구성하는 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 상기 신규 블록과 기존 블록들 간 블록 구조의 차이를 식별할 수 있다.The processor may identify a difference in block structure between the new block and the existing blocks based on the type of elements included in the header area constituting the new block and the existing blocks and the type of data present in the body area. can

상기 프로세서는 상기 기존 블록들 중 상기 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식을 비교하여 적어도 하나의 구성이 상기 신규 블록과 다른 기존 블록이 존재하는 경우, 상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별할 수 있다.The processor compares the type of elements included in the header area and the format of data existing in the body area among the existing blocks, and when there exists an existing block having at least one configuration different from the new block, the new block and It can be identified that there is a difference in block structure between existing blocks.

상기 프로세서는 상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별된 경우, 상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 서로 다른 블록 구조를 가지는 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산할 수 있다.When it is identified that there is a difference in block structure between the new block and the existing blocks, the processor uses the previous block hash value for the block immediately before the new block to determine the first block chain in which blocks having different block structures are connected. The total block hash value for the new block can be calculated.

상기 프로세서는 기존 블록들 중 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하고, 상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산할 수 있다.The processor identifies existing blocks having the same block structure as that of the new block among existing blocks, and uses a previous block hash value for the existing block temporally closest among the identified existing blocks to obtain the same block structure. An individual block hash value for a new block of the second blockchain to which the blocks are connected can be calculated.

상기 프로세서는 상기 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송할 수 있다.The processor may transmit the new block for which the block hash value is determined to other blockchain nodes excluding the specific node.

본 발명의 일실시예에 따른 블록체인 제공 방법을 수행하는 블록체인 제공 장치는 프로세서를 포함하고, 상기 프로세서는 서로 다른 블록 구조의 기존 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 결정하고, 상기 제1 블록체인을 구성하는 기존 블록들 중 동일한 블록 구조를 가지는 기존 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 결정하며, 상기 전체 블록 해시 값 및 개별 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송할 수 있다.A block chain providing device performing a block chain providing method according to an embodiment of the present invention includes a processor, and the processor includes a total block hash value for a new block of a first block chain to which existing blocks of different block structures are connected. Determines an individual block hash value for a new block of a second blockchain to which existing blocks having the same block structure among existing blocks constituting the first blockchain are connected, and determines the hash value of the entire block and the individual block The new block whose hash value is determined can be transmitted to the rest of the blockchain nodes except for the specific node.

상기 프로세서는 상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 상기 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산할 수 있다.The processor may calculate a total block hash value of the new block of the first blockchain using a previous block hash value of a block immediately before the new block.

상기 프로세서는 상기 제1 블록체인을 구성하는 기존 블록들 중 상기 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하고, 상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 상기 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산할 수 있다.The processor identifies existing blocks having the same block structure as that of the new block among the existing blocks constituting the first blockchain, and the previous block for the existing block that is temporally closest among the identified existing blocks. An individual block hash value for the new block of the second blockchain may be calculated using the hash value.

상기 신규 블록과 기존 블록들은 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 서로 간 블록 구조의 차이가 식별될 수 있다.A difference in block structure between the new block and the existing block may be identified based on the type of elements included in the header area and the type of data present in the body area.

본 발명의 일실시예에 의하면, 복수의 블록 해시 값을 이용하여 서로 다른 블록 구조를 가지는 이종의 블록들을 연결함으로써 하나의 블록체인 내에 서로 다른 블록체인에 대응하는 블록들을 유지할 수 있다. According to an embodiment of the present invention, blocks corresponding to different blockchains can be maintained in one blockchain by connecting heterogeneous blocks having different block structures using a plurality of block hash values.

도 1은 본 발명의 일실시예에 따른 블록체인 구조의 개념도를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 블록체인 제공 방법을 플로우챠트로 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 서로 다른 블록 구조를 가지는 블록들이 연결된 블록체인의 예를 나타낸 도면이다.
1 is a diagram showing a conceptual diagram of a blockchain structure according to an embodiment of the present invention.
2 is a flowchart showing a block chain providing method according to an embodiment of the present invention.
3 is a diagram showing an example of a block chain in which blocks having different block structures are connected 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.

도 1은 본 발명의 일실시예에 따른 블록체인 구조의 개념도를 나타낸 도면이다.1 is a diagram showing a conceptual diagram of a blockchain structure according to an embodiment of the present invention.

도 1을 참고하면, 본 발명의 블록체인(100)을 구성하는 블록들(110~130) 각각은 헤더 영역 및 바디 영역을 포함할 수 있다. 이때, 블록들(110~130) 각각의 헤더 영역은 직전 블록에 대한 블록 해시 값, 즉, 이전 블록 해시 값을 포함할 수 있으며, 이와 같은 이전 블록 해시 값을 통해 블록체인(100) 내에 존재하는 블록들(110~130)이 체인 형태로 연결될 수 있다.Referring to FIG. 1 , each of the blocks 110 to 130 constituting the blockchain 100 of the present invention may include a header area and a body area. At this time, the header area of each of the blocks 110 to 130 may include a block hash value for the previous block, that is, the previous block hash value, and through this previous block hash value, the The blocks 110 to 130 may be connected in a chain form.

일례로, 1번 블록(110)은 헤더 영역에 포함된 데이터를 이용하여 블록 해시 값을 결정할 수 있으며, 이와 같이 결정된 블록 해시 값은 2번 블록(120)의 헤더 영역에 저장됨으로써 1번 블록(110)과 2번 블록(120)이 서로 연결될 수 있다. 또한, 2번 블록(120)의 헤더 영역에 포함된 데이터를 이용하여 결정된 블록 해시 값은 3번 블록(130)의 헤더 영역에 저장될 수 있으며, 이를 통해 2번 블록(120)과 3번 블록(130)이 서로 연결될 수 있다.For example, block 1 110 may determine a block hash value using data included in the header area, and the block hash value determined in this way is stored in the header area of block 2 120 so that block 1 ( 110) and the second block 120 may be connected to each other. In addition, the block hash value determined using the data included in the header area of block 2 120 may be stored in the header area of block 3 130, and through this, block 2 120 and block 3 (130) can be connected to each other.

이때, 블록체인(100)을 구성하는 블록들(110~130)의 헤더 영역과 바디 영역에 대한 블록 구조가 서로 동일한 경우, 블록들(110~130) 각각은 하나의 블록 해시 값만을 이용하여 시계열적으로 연결됨으로써 블록체인(100)이 유지될 수 있다. 즉, 블록체인(100)을 구성하는 모든 블록들(110~130)이 복수의 블록체인 플랫폼들(예를들어, 비트코인, 이더리움, 리플 레저 등) 중 어느 하나의 블록체인 플랫폼에 대응하는 경우, 블록들(110~130) 사이의 블록체인(100)을 유지하기 위하여 하나의 블록 해시 값이 필요할 수 있다.At this time, when the block structures of the header area and the body area of the blocks 110 to 130 constituting the blockchain 100 are the same, each of the blocks 110 to 130 uses only one block hash value to clock By being thermally connected, the block chain 100 can be maintained. That is, all the blocks 110 to 130 constituting the blockchain 100 correspond to any one of a plurality of blockchain platforms (eg, Bitcoin, Ethereum, Ripple Ledger, etc.) In this case, one block hash value may be required to maintain the block chain 100 between the blocks 110 to 130.

그러나, 블록체인(100)을 구성하는 블록들(110~130)의 헤더 영역과 바디 영역에 대한 블록 구조가 서로 다른 경우, 하나의 블록 해시 값만으로는 블록체인(100)을 유지할 수 없으므로 블록체인(100)의 유지를 위해 추가적인 블록 해시 값을 이용할 수 있다. 즉, 블록체인(100)을 구성하는 블록들(110~130)이 서로 다른 블록체인 플랫폼에 대응하는 경우, 블록들(110~130) 사이의 블록체인(100)을 유지하기 위하여 하나의 전체 블록 해시 값이 필요할 수 있다.However, if the block structures for the header area and the body area of the blocks 110 to 130 constituting the block chain 100 are different, the block chain 100 cannot be maintained with only one block hash value, so the block chain ( 100), additional block hash values can be used. That is, when the blocks 110 to 130 constituting the blockchain 100 correspond to different blockchain platforms, one entire block is maintained to maintain the blockchain 100 between the blocks 110 to 130. A hash value may be required.

그러나, 서로 다른 블록체인 플랫폼 마다 독립성을 유지하기 위해서는 블록체인(100)을 구성하는 블록체인 플랫폼 마다 독립적인 해시 값, 즉, 개별 블록 해시 값이 추가적으로 유지될 필요가 있다.However, in order to maintain independence for each different blockchain platform, it is necessary to additionally maintain an independent hash value for each blockchain platform constituting the blockchain 100, that is, an individual block hash value.

여기서 블록 구조는 블록을 구성하는 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 구분될 수 있다. 즉, 블록의 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식 중 적어도 하나가 다른 경우, 블록들 간 블록 구조의 차이가 있다고 식별될 수 있다.Here, the block structure may be classified based on the type of elements included in the header area constituting the block and the type of data present in the body area. That is, when at least one of the types of elements included in the header area of a block and the format of data present in the body area are different, it may be identified that there is a difference in block structure between blocks.

예를 들어, 블록(110)이 비트코인의 블록이라고 가정하면, 블록(110)의 헤더 영역은 version, Previous block hash, Merkle hash root, Timestamp, Bits 및 Nonce의 요소들을 포함할 수 있다. 이때, 각 요소들의 설명은 아래의 표 1과 같을 수 있다. For example, assuming that the block 110 is a Bitcoin block, the header area of the block 110 may include elements of version, Previous block hash, Merkle hash root, Timestamp, Bits, and Nonce. At this time, a description of each element may be as shown in Table 1 below.

구분division 설명Explanation versionversion 블록 버전 숫자block version number Previous block hashPrevious block hash 직전 블록의 블록 해시 값block hash value of the previous block Merkle hash rootMerkle hash root 현재 블록에 포함된 거래 정보의 거래 해시를 2진 트리 형태로 구성할 때 트리의 루트에 위치하는 해시 값The hash value located at the root of the tree when the transaction hash of the transaction information included in the current block is constructed in the form of a binary tree. TimestampTimestamp 블록의 생성 시간block creation time BitsBits 블록의 작업증명 알고리즘에 대한 난이도 목표Difficulty target for block's proof-of-work algorithm NonceNonce 특정 목표 값 보다 낮은 블록 해시 값을 구하기 위한 카운터A counter to obtain a block hash value lower than a certain target value

이와는 달리 블록(120)이 이더리움의 블록이라고 가정하면, 블록(120)의 헤더 영역은 Prev Hash, Nonce, Timestamp, Uncles Hash, Beneficiary, Logs Bloom, Difficulty, Extra Data, Block Num, Gas Limit, Gas Used, Mix Hash, State Root, Transaction Root 및 Receipt Root의 요소들을 포함할 수 있다. 이때, 각 요소들의 설명은 아래의 표 2와 같을 수 있다. In contrast, assuming that block 120 is an Ethereum block, the header fields of block 120 are Prev Hash, Nonce, Timestamp, Uncles Hash, Beneficiary, Logs Bloom, Difficulty, Extra Data, Block Num, Gas Limit, Gas It may include elements of Used, Mix Hash, State Root, Transaction Root, and Receipt Root. At this time, the description of each element may be as shown in Table 2 below.

구분division 설명Explanation Prev HashPrev Hash 직전 블록의 블록 해시 값block hash value of the previous block NonceNonce 블록의 작업증명 알고리즘에 대한 난이도 목표Difficulty target for block's proof-of-work algorithm TimestampTimestamp 블록의 생성 시간block creation time Uncles HashUncles Hash 블록의 엉클 목록의 SHA-3 해시(256비트)SHA-3 hash of block's uncle list (256 bits) BeneficiaryBeneficiary 블록의 채굴 성공 시 모든 수수료(Fees)가 전송되는 160비트 주소160-bit address to which all fees are sent when the block is successfully mined Logs BloomLogs Bloom 블룸필터는 거래 목록의 각 거래 영수증에서 각 로그 항목에 포함된 색인 정보(로그 주소 및 주제를 기록)로 구성The bloom filter consists of the index information contained in each log entry (recording the log address and subject) from each transaction receipt in the transaction list. DifficultyDifficulty 블록의 난이도에 해당되는 값으로 이전 블록의 난이도 및 Timestamp로부터 계산A value corresponding to the block's difficulty, calculated from the previous block's difficulty and Timestamp Extra DataExtra Data 블록과 관련된 데이터를 포함하는 임의의 바이트 배열Arbitrary array of bytes containing data related to the block Block NumBlock Num 상위 블록의 수number of parent blocks Gas LimitGas Limit 블록 당 가스 비용을 제한하는 값A value that limits the gas cost per block Gas UsedGas Used 블록에서 트랜잭션에 사용된 총 가스 값Total gas value used by transactions in a block Mix HashMix Hash 충분한 양의 계산을 위해 블록에 수행되는 Nonce와 작업 증명을 하는데 이용되는 256비트 해시256-bit hash used for proof-of-work and nonces performed on blocks for sufficient amount of computation State RootState Root 모든 트랜잭션이 실행된 후 완결 짓는데 적용되는 상태 트리의 루트 노드(SHA-3 해시 값)The root node of the state tree (SHA-3 hash value) applied to finalize after all transactions have been executed. Transaction RootTransaction Root 블록의 거래 목록 부분에 각 트랜잭션으로 채워진 상태 트리의 루트 노드(SHA-3 해시 값)The root node of the state tree (SHA-3 hash value) populated with each transaction in the transaction list portion of the block. Receipt RootReceipt Root 블록의 거래 목록 부분에 각 거래 영수증으로 채워진 상태 트리의 루트 노드(SHA-3 해시 값)The root node of the state tree (SHA-3 hash value) populated with each transaction receipt in the transaction list portion of the block.

그리고, 블록(130)이 리플 레저의 블록이라고 가정하면, 블록(130)의 헤더 영역은 Ledger-index, Ledger-hash, Account-hash, Close-time, Parent-hash, Torl-colns 및 Transaction-hash의 요소들을 포함할 수 있다. 이때, 각 요소들의 설명은 아래의 표 3과 같을 수 있다. And, assuming that the block 130 is a block of the reply ledger, the header area of the block 130 includes Ledger-index, Ledger-hash, Account-hash, Close-time, Parent-hash, Torl-colns, and Transaction-hash. may contain elements of At this time, a description of each element may be as shown in Table 3 below.

구분division 설명Explanation Ledger-indexLedger-index 레저의 순서 번호sequence number of ledger Ledger-hashLedger-hash 레저 헤더의 해시 값hash value of ledger header Account-hashAccount-hash State-tree의 해시 값Hash value of state-tree Close-timeClose-time 레저 생성 시간leisure creation time Parent-hashParent-hash 직전 레저의 해시 값hash value of the previous ledger Torl-colnsTorl-colns 모든 계좌의 XRP Drop의 전체량Total amount of XRP Drop across all accounts Transaction-hashTransaction-hash Transaction-tree의 해시 값Hash value of Transaction-tree

이와 같이 블록들(110~130)의 블록 구조가 서로 다른 경우, 본 발명은 서로 다른 블록 구조를 가지는 블록들이 연결된 제1 블록체인을 위한 전체 블록 해시 값 이외에 제1 블록체인 내에서 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인을 위한 개별 블록 해시 값을 추가적으로 이용함으로써 서로 다른 블록 구조를 가지는 이종의 블록들로 구성된 블록체인(100)을 유지할 수 있다.In this way, when the block structures of the blocks 110 to 130 are different from each other, the present invention provides the same block structure within the first blockchain in addition to the entire block hash value for the first blockchain to which blocks having different block structures are connected. By additionally using individual block hash values for the second blockchain to which the blocks are connected, the blockchain 100 composed of heterogeneous blocks having different block structures can be maintained.

도 2는 본 발명의 일실시예에 따른 블록체인 제공 방법을 플로우챠트로 나타낸 도면이다.2 is a flowchart showing a block chain providing method according to an embodiment of the present invention.

본 발명의 블록체인 제공 방법은 복수의 블록체인 노드들 중 어느 하나의 특정 노드가 수행할 수 있으며, 이하에서는 블록체인 제공 방법을 수행하는 특정 노드를 블록체인 제공 장치로 지칭하도록 한다. 이때, 블록체인 제공 장치는 복수의 블록체인 노드들 중 임의의 노드가 선택되어 결정될 수 있다.The block chain providing method of the present invention can be performed by any one specific node among a plurality of block chain nodes, and hereinafter, a specific node performing the block chain providing method will be referred to as a block chain providing device. At this time, the blockchain providing device may be determined by selecting a random node among a plurality of blockchain nodes.

본 발명의 블록체인 제공 장치는 단계(210)에서, 신규 트랜잭션 데이터가 발생된 경우, 새로운 신규 블록을 생성할 수 있다. 이때, 생성되는 신규 블록은 블록체인의 종류에 따라 헤더 영역 및 바디 영역의 구조가 서로 다를 수 있다. In step 210, the block chain providing apparatus of the present invention may generate a new new block when new transaction data is generated. In this case, the structure of the header area and the body area of the newly created block may be different depending on the type of blockchain.

단계(220)에서, 블록체인 제공 장치는 생성된 신규 블록과 신규 블록의 이전에 존재하는 기존 블록들 간 블록 구조의 차이를 식별할 수 있다. 보다 구체적으로 블록체인 제공 장치는 신규 블록 및 기존 블록들을 구성하는 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식에 기초하여 신규 블록과 기존 블록들 간 블록 구조의 차이를 식별할 수 있다. In step 220, the block chain providing device may identify a difference in block structure between the generated new block and existing blocks that exist before the new block. More specifically, the block chain providing device can identify the difference in block structure between the new block and the existing blocks based on the types of elements included in the header area constituting the new block and the existing blocks and the format of data existing in the body area. can

이때, 블록체인 제공 장치는 기존 블록들 중 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식을 비교하여 적어도 하나의 구성이 신규 블록과 다른 기존 블록이 존재하는 경우, 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 판단할 수 있다. 일례로, 상기의 표 1 내지 표 3은 서로 다른 블록체인에 대응하는 비트코인, 이더리움 및 리플 레저 각각에 대한 헤더 영역의 요소들을 나타낸다. 즉, 블록체인 제공 장치는 이와 같은 헤더 영역의 요소들 사이의 차이가 존재하는 경우, 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 판단할 수 있다. At this time, the block chain providing device compares the type of elements included in the header area and the format of data existing in the body area among the existing blocks, and if there is an existing block having at least one configuration different from the new block, the new block and It may be determined that there is a difference in block structure between existing blocks. As an example, Tables 1 to 3 above show elements of the header area for each of Bitcoin, Ethereum, and Ripple Ledger corresponding to different blockchains. That is, when there is a difference between the elements of the header area, the block chain providing device may determine that there is a difference in block structure between the new block and the existing blocks.

단계(230)에서, 블록체인 제공 장치는 식별된 신규 블록과 기존 블록들 간 블록 구조의 차이에 기초하여 신규 블록에 대한 블록 해시 값을 결정할 수 있다. 보다 구체적으로 블록체인 제공 장치는 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별된 경우, 직전 블록에 대한 이전 블록 해시 값을 포함하는 신규 블록의 헤더 영역 데이터를 이용하여 서로 다른 블록 구조를 가지는 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산할 수 있다.In step 230, the blockchain providing device may determine a block hash value for the new block based on a difference in block structure between the identified new block and the existing blocks. More specifically, when it is identified that there is a difference in block structure between the new block and the existing blocks, the block chain providing device uses the header area data of the new block including the previous block hash value for the previous block to obtain a different block structure. A total block hash value for a new block of the first block chain to which the blocks are connected can be calculated.

이와 동시에 블록체인 제공 장치는 제1 블록체인 내에서 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인을 위한 개별 블록 해시 값을 추가적으로 계산함으로써 이종의 블록들로 구성된 블록체인을 유지할 수 있다.At the same time, the block chain providing device can maintain a block chain composed of heterogeneous blocks by additionally calculating an individual block hash value for a second block chain in which blocks having the same block structure in the first block chain are connected.

보다 구체적으로 블록체인 제공 장치는 제1 블록체인을 구성하는 기존 블록들 중 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하고, 식별된 기존 블록들 중 신규 블록과 시간적으로 가장 가까운 기존 블록을 선택할 수 있다. 이때, 블록체인 제공 장치는 선택된 기존 블록에 대한 이전 블록 해시 값을 포함하는 신규 블록의 헤더 영역 데이터를 이용하여 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산할 수 있다.More specifically, the block chain providing device identifies existing blocks having the same block structure as that of the new block among the existing blocks constituting the first block chain, and among the identified existing blocks, the existing blocks temporally closest to the new block. blocks can be selected. At this time, the block chain providing device determines an individual block hash value for a new block of the second block chain to which blocks having the same block structure are connected using header area data of the new block including the previous block hash value for the selected existing block. can be calculated

마지막으로 블록체인 제공 장치는 단계(240)에서, 제1 블록체인에 대한 전체 블록 해시 값 및 제2 블록 체인에 대한 개별 블록 해시 값이 결정된 신규 블록을 특정 노드를 제외한 나머지 블록체인 노드들로 전송할 수 있다.Finally, in step 240, the block chain providing device transmits the new block in which the hash value of the entire block for the first block chain and the individual block hash values for the second block chain are determined to the remaining block chain nodes except for the specific node. can

도 3은 본 발명의 일실시예에 따른 서로 다른 블록 구조를 가지는 블록들이 연결된 블록체인의 예를 나타낸 도면이다.3 is a diagram showing an example of a block chain in which blocks having different block structures are connected according to an embodiment of the present invention.

도 3을 참고하면, 블록체인을 구성하는 복수의 블록들은 서로 다른 블록 구조를 가질 수 있다. 위에서 언급한 바와 같이 블록들의 헤더 영역과 바디 영역에 대한 블록 구조가 서로 다를 경우, 하나의 블록 해시 값만으로는 블록체인을 유지할 수 없으므로 블록체인을 유지하기 위한 추가적인 블록 해시 값이 필요할 수 있다.Referring to FIG. 3 , a plurality of blocks constituting a blockchain may have different block structures. As mentioned above, if the block structures for the header area and body area of blocks are different, an additional block hash value may be needed to maintain the blockchain because a single block hash value alone cannot maintain a blockchain.

이를 위해 본 발명의 블록체인 제공 장치는 서로 다른 블록 구조를 가지는 블록들이 연결된 제1 블록체인(310)을 위한 전체 블록 해시 값 이외에 제1 블록체인(310) 내에서 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인(320~340)을 위한 개별 블록 해시 값을 추가적으로 이용함으로써 서로 다른 블록 구조를 가지는 이종의 블록들로 구성된 블록체인을 유지할 수 있다.To this end, the block chain providing device of the present invention connects blocks having the same block structure within the first block chain 310 in addition to the entire block hash value for the first block chain 310 to which blocks having different block structures are connected. By additionally using individual block hash values for the second blockchains 320 to 340, it is possible to maintain a blockchain composed of heterogeneous blocks having different block structures.

한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.Meanwhile, the method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.

본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be a computer program product, i.e., an information carrier, e.g., a machine-readable storage, for processing by, or for controlling, the operation of a data processing apparatus, e.g., a programmable processor, computer, or plurality of computers. It can be implemented as a computer program tangibly embodied in a device (computer readable medium) or a radio signal. A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be written as a stand-alone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for the use of. A computer program can be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from read only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include, receive data from, send data to, or both, one or more mass storage devices that store data, such as magnetic, magneto-optical disks, or optical disks. It can also be combined to become. Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, compact disk read only memory (CD-ROM) ), optical media such as DVD (Digital Video Disk), magneto-optical media such as Floptical Disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. The processor and memory may be supplemented by, or included in, special purpose logic circuitry.

또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.In addition, computer readable media may be any available media that can be accessed by a computer, and may include both computer storage media and transmission media.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.Although this specification contains many specific implementation details, they should not be construed as limiting on the scope of any invention or what is claimed, but rather as a description of features that may be unique to a particular embodiment of a particular invention. It should be understood. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, while features may operate in particular combinations and are initially depicted as such claimed, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination is a subcombination. or sub-combination variations.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Similarly, while actions are depicted in the drawings in a particular order, it should not be construed as requiring that those actions be performed in the specific order shown or in the sequential order, or that all depicted actions must be performed to obtain desired results. In certain cases, multitasking and parallel processing can be advantageous. Further, the separation of various device components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in this specification and drawings are only presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. In addition to the embodiments disclosed herein, it is obvious to those skilled in the art that other modified examples based on the technical idea of the present invention can be implemented.

Claims (20)

복수의 블록체인 노드들 중 어느 하나의 특정 노드가 수행하는 블록체인 제공 방법에 있어서,
신규 트랜잭션 데이터에 기초하여 신규 블록을 생성하는 단계;
상기 생성된 신규 블록과 상기 신규 블록의 이전에 존재하는 기존 블록들 간 블록 구조의 차이를 식별하는 단계; 및
상기 식별된 신규 블록과 기존 블록들 간 블록 구조의 차이에 기초하여 상기 신규 블록에 대한 블록 해시 값을 결정하는 단계
를 포함하는 블록체인 제공 방법.
In the block chain providing method performed by any one specific node among a plurality of block chain nodes,
generating a new block based on the new transaction data;
identifying a difference in block structure between the generated new block and existing blocks existing before the new block; and
Determining a block hash value for the new block based on a difference in block structure between the identified new block and existing blocks
A method of providing a blockchain that includes.
제1항에 있어서,
상기 식별하는 단계는,
상기 신규 블록 및 기존 블록들을 구성하는 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 상기 신규 블록과 기존 블록들 간 블록 구조의 차이를 식별하는 블록체인 제공 방법.
According to claim 1,
The identification step is
Provides a blockchain that identifies the difference in block structure between the new block and the existing blocks based on the types of elements included in the header area constituting the new block and the existing blocks and the type of data existing in the body area method.
제1항에 있어서,
상기 식별하는 단계는,
상기 기존 블록들 중 상기 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식을 비교하여 적어도 하나의 구성이 상기 신규 블록과 다른 기존 블록이 존재하는 경우, 상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별하는 블록체인 제공 방법.
According to claim 1,
The identification step is
Among the existing blocks, the type of elements included in the header area and the format of data existing in the body area are compared, and if an existing block having at least one configuration different from the new block exists, the new block and the existing block A method of providing a blockchain that identifies differences in block structure between the two.
제1항에 있어서,
상기 결정하는 단계는,
상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별된 경우, 상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 서로 다른 블록 구조를 가지는 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산하는 블록체인 제공 방법.
According to claim 1,
The determining step is
When it is identified that there is a difference in block structure between the new block and the existing blocks, blocks having different block structures are connected to the new block of the first blockchain using the previous block hash value of the block immediately before the new block. A blockchain provisioning method that calculates the overall block hash value for
제1항에 있어서,
상기 결정하는 단계는,
기존 블록들 중 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하는 단계; 및
상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산하는 단계
를 포함하는 블록체인 제공 방법.
According to claim 1,
The determining step is
identifying existing blocks having the same block structure as that of the new block among existing blocks; and
Calculating an individual block hash value for a new block of a second blockchain to which blocks having the same block structure are connected using a previous block hash value for an existing block temporally closest among the identified existing blocks
A method of providing a blockchain that includes.
제1항에 있어서,
상기 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송하는 단계
를 더 포함하는 블록체인 제공 방법.
According to claim 1,
Transmitting the new block for which the block hash value is determined to other blockchain nodes except for the specific node
Blockchain providing method further comprising.
복수의 블록체인 노드들 중 특정 노드가 수행하는 블록체인 제공 방법에 있어서,
서로 다른 블록 구조의 기존 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 결정하는 단계;
상기 제1 블록체인을 구성하는 기존 블록들 중 동일한 블록 구조를 가지는 일반 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 결정하는 단계; 및
상기 전체 블록 해시 값 및 개별 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송하는 단계
를 포함하는 블록체인 제공 방법.
In the block chain providing method performed by a specific node among a plurality of block chain nodes,
Determining a total block hash value for a new block of a first blockchain to which existing blocks of different block structures are connected;
determining an individual block hash value for a new block of a second blockchain to which general blocks having the same block structure are connected among existing blocks constituting the first blockchain; and
Transmitting the new block for which the total block hash value and the individual block hash value are determined to other blockchain nodes except for the specific node
A method of providing a blockchain that includes.
제7항에 있어서,
상기 전체 블록 해시 값을 결정하는 단계는,
상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 상기 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산하는 블록체인 제공 방법.
According to claim 7,
The step of determining the total block hash value,
A block chain providing method for calculating a total block hash value for a new block of the first block chain using a previous block hash value for a block immediately preceding the new block.
제7항에 있어서,
상기 개별 블록 해시 값을 결정하는 단계는,
상기 제1 블록체인을 구성하는 기존 블록들 중 상기 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하는 단계; 및
상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 상기 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산하는 단계
를 포함하는 블록체인 제공 방법.
According to claim 7,
Determining the individual block hash value,
identifying existing blocks having the same block structure as that of the new block among existing blocks constituting the first blockchain; and
Calculating an individual block hash value for a new block of the second blockchain using a previous block hash value for an existing block that is temporally closest among the identified existing blocks
A method of providing a blockchain that includes.
제7항에 있어서,
상기 신규 블록과 기존 블록들은,
헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 서로 간 블록 구조의 차이가 식별되는 블록체인 제공 방법.
According to claim 7,
The new block and the existing block,
A block chain providing method in which a difference in block structure between each other is identified based on the type of elements included in the header area and the type of data present in the body area.
블록체인 제공 방법을 수행하는 블록체인 제공 장치에 있어서,
상기 블록체인 제공 장치는 프로세서를 포함하고,
상기 프로세서는,
신규 트랜잭션 데이터에 기초하여 신규 블록을 생성하고, 상기 생성된 신규 블록과 상기 신규 블록의 이전에 존재하는 기존 블록들 간 블록 구조의 차이를 식별하며, 상기 식별된 신규 블록과 기존 블록들 간 블록 구조의 차이에 기초하여 상기 신규 블록에 대한 블록 해시 값을 결정하는 블록체인 제공 장치.
In the block chain providing device performing the block chain providing method,
The blockchain providing device includes a processor,
the processor,
A new block is generated based on the new transaction data, a difference in block structure between the generated new block and existing blocks existing before the new block is identified, and a block structure between the identified new block and the existing blocks is identified. A block chain providing device for determining a block hash value for the new block based on the difference between
제11항에 있어서,
상기 프로세서는,
상기 신규 블록 및 기존 블록들을 구성하는 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 상기 신규 블록과 기존 블록들 간 블록 구조의 차이를 식별하는 블록체인 제공 장치.
According to claim 11,
the processor,
Provides a blockchain that identifies the difference in block structure between the new block and the existing blocks based on the types of elements included in the header area constituting the new block and the existing blocks and the type of data existing in the body area Device.
제11항에 있어서,
상기 프로세서는,
상기 기존 블록들 중 상기 헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식을 비교하여 적어도 하나의 구성이 상기 신규 블록과 다른 기존 블록이 존재하는 경우, 상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별하는 블록체인 제공 장치.
According to claim 11,
the processor,
Among the existing blocks, the type of elements included in the header area and the format of data existing in the body area are compared, and if an existing block having at least one configuration different from the new block exists, the new block and the existing block A block chain providing device that identifies differences in block structure between blocks.
제11항에 있어서,
상기 프로세서는,
상기 신규 블록과 기존 블록들 간 블록 구조의 차이가 있다고 식별된 경우, 상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 서로 다른 블록 구조를 가지는 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산하는 블록체인 제공 장치.
According to claim 11,
the processor,
When it is identified that there is a difference in block structure between the new block and the existing blocks, blocks having different block structures are connected to the new block of the first blockchain using the previous block hash value of the block immediately before the new block. A blockchain provider device that calculates the overall block hash value for
제11항에 있어서,
상기 프로세서는,
기존 블록들 중 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하고, 상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 동일한 블록 구조를 가지는 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산하는 블록체인 제공 장치.
According to claim 11,
the processor,
Among the existing blocks, existing blocks having the same block structure as that of the new block are identified, and among the identified existing blocks, blocks having the same block structure are identified by using the previous block hash value for the previous block that is temporally closest. A block chain providing device that calculates an individual block hash value for a new block of a connected second block chain.
제11항에 있어서,
상기 프로세서는,
상기 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송하는 블록체인 제공 장치.
According to claim 11,
the processor,
A block chain providing device that transmits the new block for which the block hash value is determined to other block chain nodes excluding the specific node.
블록체인 제공 방법을 수행하는 블록체인 제공 장치에 있어서,
상기 블록체인 제공 장치는 프로세서를 포함하고,
상기 프로세서는,
서로 다른 블록 구조의 기존 블록들이 연결된 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 결정하고, 상기 제1 블록체인을 구성하는 기존 블록들 중 동일한 블록 구조를 가지는 기존 블록들이 연결된 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 결정하며, 상기 전체 블록 해시 값 및 개별 블록 해시 값이 결정된 신규 블록을 상기 특정 노드를 제외한 나머지 블록체인 노드들로 전송하는 블록체인 제공 장치.
In the block chain providing device performing the block chain providing method,
The blockchain providing device includes a processor,
the processor,
Determines the total block hash value of a new block of the first block chain to which existing blocks of different block structures are connected, and determines a second block to which existing blocks having the same block structure among existing blocks constituting the first block chain are connected. A block chain providing device that determines an individual block hash value for a new block in the chain and transmits the new block having the total block hash value and the individual block hash value determined to other blockchain nodes excluding the specific node.
제17항에 있어서,
상기 프로세서는,
상기 신규 블록의 직전 블록에 대한 이전 블록 해시 값을 이용하여 상기 제1 블록체인의 신규 블록에 대한 전체 블록 해시 값을 계산하는 블록체인 제공 장치.
According to claim 17,
the processor,
A block chain providing device for calculating a total block hash value for a new block of the first block chain using a previous block hash value for a block immediately preceding the new block.
제17항에 있어서,
상기 프로세서는,
상기 제1 블록체인을 구성하는 기존 블록들 중 상기 신규 블록의 블록 구조와 동일한 블록 구조를 가지는 기존 블록들을 식별하고, 상기 식별된 기존 블록들 중 시간적으로 가장 가까운 기존 블록에 대한 이전 블록 해시 값을 이용하여 상기 제2 블록체인의 신규 블록에 대한 개별 블록 해시 값을 계산하는 블록체인 제공 장치.
According to claim 17,
the processor,
Among the existing blocks constituting the first blockchain, existing blocks having the same block structure as that of the new block are identified, and the previous block hash value for the existing block temporally closest among the identified existing blocks is determined. A block chain providing device for calculating an individual block hash value for a new block of the second block chain by using
제17항에 있어서,
상기 신규 블록과 기존 블록들은,
헤더 영역에 포함된 요소들의 종류와 바디 영역에 존재하는 데이터의 형식(Type)에 기초하여 서로 간 블록 구조의 차이가 식별되는 블록체인 제공 장치.
According to claim 17,
The new block and the existing block,
A block chain providing device in which a difference in block structure between each other is identified based on the type of elements included in the header area and the type of data present in the body area.
KR1020210077942A 2021-06-16 2021-06-16 Method and apparatus for providing blockchain KR102655765B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210077942A KR102655765B1 (en) 2021-06-16 2021-06-16 Method and apparatus for providing blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210077942A KR102655765B1 (en) 2021-06-16 2021-06-16 Method and apparatus for providing blockchain

Publications (2)

Publication Number Publication Date
KR20220168337A true KR20220168337A (en) 2022-12-23
KR102655765B1 KR102655765B1 (en) 2024-04-09

Family

ID=84536316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210077942A KR102655765B1 (en) 2021-06-16 2021-06-16 Method and apparatus for providing blockchain

Country Status (1)

Country Link
KR (1) KR102655765B1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190020721A (en) * 2019-02-22 2019-03-04 주식회사 엑스블록시스템즈 Blockchain system and method of creating blockchain
KR101986081B1 (en) * 2018-12-24 2019-06-05 (주)소프트제국 Method for sharing and verifing a block between specific nodes in a blockchain
JP2019096987A (en) * 2017-11-21 2019-06-20 富士通株式会社 Block chain generation system, block chain generation method, and block chain generation program
KR102030045B1 (en) * 2019-04-30 2019-10-08 (주)그린아이티코리아 Video surveillance system and method supporting lightweight security
KR20200056729A (en) * 2018-11-15 2020-05-25 박성수 Dynamic Blockchain System and Operating Method thereof
KR20200079168A (en) * 2018-12-24 2020-07-02 (주)소프트제국 Information management method based on vertical block structure in a blockchain
KR20200107662A (en) * 2019-03-08 2020-09-16 한국전자통신연구원 System for a data sharing platform in a block chain based distributed data sharing environment, method for searching data index in the system and method for providing seartch index in the system
KR20200125065A (en) * 2019-04-25 2020-11-04 주식회사 웨이투빗 Method and device for providing blockchain capable of optimizing storages of each node included therein
JP2020202442A (en) * 2019-06-06 2020-12-17 株式会社ワイビーエム Hash chain usage data non-tampering certification system and data management device therefor

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019096987A (en) * 2017-11-21 2019-06-20 富士通株式会社 Block chain generation system, block chain generation method, and block chain generation program
KR20200056729A (en) * 2018-11-15 2020-05-25 박성수 Dynamic Blockchain System and Operating Method thereof
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
KR20190020721A (en) * 2019-02-22 2019-03-04 주식회사 엑스블록시스템즈 Blockchain system and method of creating blockchain
KR20200107662A (en) * 2019-03-08 2020-09-16 한국전자통신연구원 System for a data sharing platform in a block chain based distributed data sharing environment, method for searching data index in the system and method for providing seartch index in the system
KR20200125065A (en) * 2019-04-25 2020-11-04 주식회사 웨이투빗 Method and device for providing blockchain capable of optimizing storages of each node included therein
KR102030045B1 (en) * 2019-04-30 2019-10-08 (주)그린아이티코리아 Video surveillance system and method supporting lightweight security
JP2020202442A (en) * 2019-06-06 2020-12-17 株式会社ワイビーエム Hash chain usage data non-tampering certification system and data management device therefor

Also Published As

Publication number Publication date
KR102655765B1 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
US11095451B2 (en) Optimal data storage configuration in a blockchain
US10949118B2 (en) Data storage method, apparatus, and device for multi-layer blockchain-type ledger
US7685280B2 (en) Populating requests to multiple destinations using a mass request
CN110162526B (en) Method, device and equipment for inquiring data records in block chain type account book
US20200285634A1 (en) System for data sharing platform based on distributed data sharing environment based on block chain, method of searching for data in the system, and method of providing search index in the system
US20100161565A1 (en) Cluster data management system and method for data restoration using shared redo log in cluster data management system
WO2021073242A1 (en) Index creation and data querying methods, apparatus and device
CN111444196B (en) Method, device and equipment for generating Hash of global state in block chain type account book
US20130110794A1 (en) Apparatus and method for filtering duplicate data in restricted resource environment
US20200201833A1 (en) Creating index in blockchain-type ledger
US11106660B2 (en) Service identifier-based data indexing
CN107219997A (en) A kind of method and device for being used to verify data consistency
US10572335B2 (en) Metadata recovery method and apparatus
CN110347679B (en) Data storage method, device and equipment based on receipt
WO2021093461A1 (en) Method and apparatus for aggregation calculation in blockchain-type ledger, and device
US11263569B2 (en) Blockchain-based information processing method and apparatus, and device
US8560698B2 (en) Allocating unique identifiers using metadata
KR20220168337A (en) Method and apparatus for providing blockchain
US20090100000A1 (en) Acquisition and expansion of storage area network interoperation relationships
CN110362570A (en) A kind of date storage method, device and equipment
CN112948501B (en) Data analysis method, device and system
KR101710138B1 (en) Data distribution processing system and data distribution processing method
CN111798239A (en) Parallel chain consensus method, device and storage medium
CN112148797A (en) Block chain-based distributed data access method and device and storage node
CN107451178B (en) Block chain error-surveying method and system for keeping block chain having block body data

Legal Events

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