KR20190093013A - 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법 - Google Patents

다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법 Download PDF

Info

Publication number
KR20190093013A
KR20190093013A KR1020180012431A KR20180012431A KR20190093013A KR 20190093013 A KR20190093013 A KR 20190093013A KR 1020180012431 A KR1020180012431 A KR 1020180012431A KR 20180012431 A KR20180012431 A KR 20180012431A KR 20190093013 A KR20190093013 A KR 20190093013A
Authority
KR
South Korea
Prior art keywords
block
block chain
blockchain
zone
mother
Prior art date
Application number
KR1020180012431A
Other languages
English (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 KR1020180012431A priority Critical patent/KR20190093013A/ko
Priority to PCT/KR2018/014627 priority patent/WO2019151629A1/ko
Publication of KR20190093013A publication Critical patent/KR20190093013A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법이 제공된다. 상기 다중 블록 체인 구조를 포함하는 블록 체인 시스템은, 다중 블록 체인 구조를 형성하는 복수의 데이터 블록들을 포함하는 블록 체인 시스템으로서, 최초의 블록으로부터 연결된 복수의 블록들을 포함하는 마더 블록 체인, 및 상기 마더 블록 체인의 최후단에 위치한 마더 블록으로부터 분기되어 연결된 제1 및 제2 블록 체인을 포함하고, 상기 제1 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제1 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함하고, 상기 제2 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제2 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함한다.

Description

다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법{A block-chain system including a multi-block chain structure and a method for forming a block-chain in the block-chain system}
본 발명은 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법에 관한 것이다.
기존의 블록 체인 기반의 분산처리 시스템에서 가장 문제가 되는 것이 TPS(transaction per second), 즉 초당 트랜잭션 처리속도이다. 트랜잭션 처리속도는 블록 체인에서 블록에 포함되는 거래내역의 양과 블록 생성 속도에 의해 결정된다. 보다 많은 거래내역이 담긴 블록을, 보다 빨리 생성하면 트랜잭션 처리 속도가 높아지는 것이다.
따라서, 많은 블록 체인 시스템에서는 블록의 크기 증가 또는 기존에 비하여 빠른 합의알고리즘을 통해 이러한 트랜잭션 처리속도를 높이고자 한다. 그러나, 이러한 방법에는 한계가 있다.
블록에 포함시킬 수 있는 양을 증가시키는데 한계가 있고 합의알고리즘에 의해 향상되는 트랜잭션 처리속도에도 한계가 있기 때문에 블록 체인 시스템에서 처리해야 할 트랜잭션 양이 증가하여 어느 정도 수준 이상이 되면 트랜잭션 처리가 불가능해지는 시기가 도래하게 된다.
이러한 트랜잭션 처리능력의 한계 때문에 블록 체인 기술은 빠르고 많은 양의 트랜잭션을 처리해야 하는 분야에는 적합하지 못하다고 지적되어 왔고, 결국 이 때문에 블록 체인 기술의 한계에 직면하게 된다.
한국 공개특허 10-2017-0137388 (공고일자 2017년 12월 13일)
본 발명이 해결하고자 하는 기술적 과제는, 기존의 단일 블록 체인 구조에서 문제가 되는 트랜잭션 처리속도를 향상시키기 위하여 트랜잭션을 병렬처리 가능한 다중 블록 체인 구조를 포함하는 블록 체인 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 기존의 단일 블록 체인 구조에서 문제가 되는 트랜잭션 처리속도를 향상시키기 위하여 트랜잭션을 병렬처리 가능한 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 기술적 과제들은 상기 과제들로 한정되는 것이 아니며, 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 다중 블록 체인 구조를 포함하는 블록 체인 시스템은, 다중 블록 체인 구조를 형성하는 복수의 데이터 블록들을 포함하는 블록 체인 시스템으로서, 최초의 블록으로부터 연결된 복수의 블록들을 포함하는 마더 블록 체인, 및 상기 마더 블록 체인의 최후단에 위치한 마더 블록으로부터 분기되어 연결된 제1 및 제2 블록 체인을 포함하고, 상기 제1 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제1 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함하고, 상기 제2 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제2 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함한다.
본 발명에 따른 몇몇 실시예에서, 상기 블록 체인 시스템에서 기 정해진 초당 처리해야 할 트랜잭션 수 이상이 되는 경우, 상기 마더 블록 체인에서 상기 제1 블록 체인과 상기 제2 블록 체인이 분기될 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 제1 블록 체인에는 제1 구역에서 생성되는 블록들이 연결되고, 상기 제2 블록 체인에는 상기 제1 구역과 다른 제2 구역에서 생성되는 블록들이 연결될 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 제1 블록 체인에는 상기 제1 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결되고, 상기 제2 블록 체인에는 상기 제2 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결될 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 제1 구역과 상기 제2 구역에서의 평균 트랜잭션 처리량을 비교하여, 새로 추가된 노드는 상기 제1 구역과 상기 제2 구역 중 평균 트랜잭션 처리량이 낮은 구역 또는 노드에 따라 미리 지정된 구역에 배분될 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 제1 구역 또는 상기 제2 구역에서 트랜잭션 양이 증가하여 기 정해진 초당 처리해야 할 트랜잭션 수 이상이 되는 경우, 상기 제1 블록 체인이 분기하거나 상기 제2 블록 체인이 분기할 수 있다.
본 발명에 따른 몇몇 실시예에서, 트랜잭션 양이 감소하는 경우, 상기 제1 블록 체인과 상기 제2 블록 체인은 다시 하나의 블록 체인으로 합쳐져서 후속 블록들이 연결될 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법은, 최초의 블록으로부터 연결된 복수의 블록들을 포함하는 마더 블록 체인을 생성하는 마더 블록 체인 생성 단계, 상기 블록 체인 시스템에서 기 정해진 초당 처리해야 할 트랜잭션 수 이상이 되는 경우 상기 마더 블록 체인의 최후단에 위치한 마더 블록으로부터 제1 블록 체인과 제2 블록 체인이 분기되는 제1 분기 단계, 및 상기 제1 블록 체인을 포함하는 제1 구역 또는 상기 제2 블록 체인을 포함하는 제2 구역에서 트랜잭션 양이 증가하여 기 정해진 초당 처리해야 할 트랜잭션 수 이상이 되는 경우, 상기 제1 블록 체인이 분기하거나 상기 제2 블록 체인이 분기하는 제2 분기 단계를 포함하고, 상기 제1 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제1 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함하고, 상기 제2 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제2 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함한다.
본 발명에 따른 몇몇 실시예에서, 상기 제1 블록 체인에는 제1 구역에서 생성되는 블록들이 연결되고, 상기 제2 블록 체인에는 상기 제1 구역과 다른 제2 구역에서 생성되는 블록들이 연결될 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 제1 블록 체인에는 상기 제1 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결되고, 상기 제2 블록 체인에는 상기 제2 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결될 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 제1 구역과 상기 제2 구역에서의 평균 트랜잭션 처리량을 비교하여, 새로 추가된 노드는 상기 제1 구역과 상기 제2 구역 중 평균 트랜잭션 처리량이 낮은 구역 또는 노드에 따라 미리 지정된 구역에 배분될 수 있다.
본 발명에 따른 몇몇 실시예에서, 트랜잭션 양이 감소하는 경우, 상기 제1 블록 체인과 상기 제2 블록 체인은 다시 하나의 블록 체인으로 합쳐져서 후속 블록들이 연결되는 블록 체인 결합 단계를 더 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면 기존의 단일 블록 체인 구조에서 문제가 되는 트랜잭션 처리속도를 향상시킬 수 있다.
또한, 본 발명에 따르면 특정 구역에서 트랜잭션 처리속도 때문에 전체 트랜잭션 처리가 느려지는 문제를 해결할 수 있다.
또한, 본 발명에 따르면 구역별 트랜잭션 양에 따라 마더 블록에서 블록 체인이 2개로 분기하거나, 분기된 2개의 블록 체인이 하나의 블록 체인으로 합쳐서 연결될 수 있기 때문에 트랜잭션 양에 따라 블록 체인 구조를 적절하게 구성할 수 있다.
다만, 본 발명의 효과는 상기 효과들로 한정되는 것이 아니며, 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있다.
도 1은 본 발명에 따른 기술적 사상이 적용될 수 있는 블록 체인을 이용한 분산 처리 시스템을 도시한 도면이다.
도 2 및 도 3은 블록 체인 시스템에서 이용되는 블록의 연결을 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 다중 블록 체인 구조에 관하여 도시한 도면이다.
도 5는 블록 체인이 분기하여 구역별로 블록 체인이 연장되는 경우의 예시를 도시한 도면이다.
도 6은 블록 체인이 분기하여 새로운 구역이 형성되는 경우의 예시를 도시한 도면이다.
도 7은 분기된 블록 체인이 다시 하나의 블록 체인 구조로 합쳐지는 예시를 도시한 도면이다.
도 8은 블록이 마더 블록 해시 값을 비롯한 블록 정보를 저장하는 예시를 나타낸 도면이다.
도 9는 본 발명의 실시예에 따른 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법을 순차적으로 나타낸 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명에 따른 기술적 사상이 적용될 수 있는 블록 체인을 이용한 분산 처리 시스템을 도시한 도면이다.
도 1을 참조하면 블록 체인을 이용한 분산 처리 시스템(10)은 복수의 노드들(11~17)로 이루어진 분산형 네트워크(distributed network) 시스템이다. 상기 분산형 네트워크(10)를 구성하는 노드들(11~17)은 컴퓨터, 이동 단말기, 전용 전자 장치 등 연산 능력이 있는 전자 장치일 수 있다.
일반적으로 분산형 네트워크(10)는 블록 체인(block chain)이라 불리는 블록(block)의 연결 묶음 내에 모든 참여 노드에 공통으로 알려진 정보를 저장하고 참조할 수 있다. 상기 노드들(11~17)은 상호간 통신이 가능하며 블록 체인을 저장, 관리 및 전파를 담당하는 완전 노드(full node)와 단순하게 트랜잭션에만 참여할 수 있는 간이 노드(light node)로 구분될 수 있다. 본 명세서에서 별다른 설명 없이 노드에 대하여 언급되는 경우, 이는 분산형 네트워크에 참여하며 블록 체인을 생성, 저장 또는 검증하는 동작을 수행하는 완전 노드를 지칭하는 경우가 많으나, 이에 한정되는 것은 아니다.
상기 블록 체인에 연결되어 있는 각 블록(block)들은 일정 기간 내의 거래 내역, 즉 트랜잭션(transaction)들을 포함한다. 상기 노드들은 각각 역할에 따라 블록 체인을 생성, 저장 또는 검증함으로써 트랜잭션들을 관리할 수 있다.
실시 형태에 따라 상기 트랜잭션은 다양한 형태의 거래를 나타낼 수 있다. 일 실시예에서 상기 트랜잭션은 가상 화폐의 소유 상태 및 그 변동을 나타내기 위한 금융 거래에 해당할 수 있다. 다른 실시예에서 상기 트랜잭션은 물건의 소유 상태 및 그 변동을 나타내기 위한 실물 거래에 해당할 수 있다. 상기 분산형 네트워크(10)에서 거래를 수행하는 노드들은 각각의 암호학적 연관관계가 있는 개인키(private key) 및 공개키(public key) 쌍을 가질 수 있다.
도 2 및 도 3은 블록 체인 시스템에서 이용되는 블록의 연결을 도시한 블록도이다.
도 2를 참조하면 블록 체인(20)은 순차적으로 연결된 하나 이상의 블록들(210, 220, 230)의 분산 데이터베이스의 일종이다. 상기 블록 체인(20)은 블록 체인 시스템 내 사용자의 거래 내역을 저장하고 관리하기 위해 사용되며, 상기 블록 체인 시스템의 네트워크에 참여하는 각 노드가 블록을 생성하여 상기 블록 체인(200)에 연결한다. 도 2에는 제한된 수의 블록들(210, 220, 230)이 도시되어 있으나 블록 체인에 포함될 수 있는 블록의 수는 이에 제한되지 아니한다.
상기 블록 체인(20)에 포함된 각 블록은 블록 헤더(211)와 블록 바디(213)를 포함하도록 구성될 수 있다. 상기 블록 헤더(211)는 각 블록들간의 연결 관계를 나타내기 위하여 이전 블록(220)의 해시 값을 포함할 수 있다. 상기 블록 체인(20)이 유효한지 검증하는 과정에서 상기 블록 헤더(211) 내의 연결 관계가 사용된다. 상기 블록 바디(213)는 상기 블록(210)에 저장되고 관리되는 데이터, 예를 들어 트랜잭션 리스트 또는 트랜잭션 체인을 포함할 수 있다.
도 3을 참조하면, 상기 블록 헤더(211)는 이전 블록의 해시(2112), 넌스(Nonce)(2114)를 포함할 수 있다. 또한, 상기 블록 헤더(211)는 블록 내의 트랜잭션 리스트의 해시를 나타내는 루트(2115)를 포함할 수 있다.
전술된 바와 같이, 상기 블록 체인(20)은 연결된 하나 이상의 블록들을 포함할 수 있다. 상기 하나 이상의 블록들은 상기 블록 해시 값에 기초하여 연결된다. 상기 블록 헤더(211)에 포함된 이전 블록의 해시 값(2112)은 직전 블록(220)에 대한 해시 값으로서 직전 블록(220)에 포함된 현재 해시(2213)와 동일한 값이다. 상기 하나 이상의 블록들은 각 블록 헤더 내의 이전 블록의 해시 값에 의하여 연쇄적으로 연결된다. 상기 분산형 네트워크에 참여하는 노드들은 상기 하나 이상의 블록들에 포함된 이전 블록의 해시 값에 기반하여 블록의 유효성을 검증하므로 악의적인 단일 노드가 이미 생성된 블록의 내용을 위조 또는 변조하는 행위가 불가능하다.
상기 블록 바디(213)는 트랜잭션 리스트(2131)를 포함할 수 있다. 상기 트랜잭션 리스트(2131)는 블록 체인 기반의 거래의 목록이다. 예를 들면, 상기 트랜잭션 리스트(2131)는 상기 블록 체인 기반의 금융 시스템에서 이루어진 금융 거래에 대한 기록을 포함할 수 있다. 상기 트랜잭션 리스트(2131)는 트리(tree) 형태로 표현될 수 있으며, 예를 들어, 사용자 A가 사용자 B에게 전송한 금액을 목록 형태로 기록하며, 블록 내의 저장 길이는 현재 블록에 포함된 트랜잭션의 수에 기초하여 증감될 수 있다.
그리고, 블록(210)은 블록 헤더(211)와 블록 바디(213)에 포함된 정보 이외의 기타 정보(2116)를 포함할 수 있다.
분산형 네트워크에 참여하는 노드들은 동일한 블록 체인을 가지며, 블록에는 동일한 트랜잭션이 저장된다. 트랜잭션 목록이 포함된 블록이 네트워크에 공유되므로 모든 참여자가 검증할 수 있다.
본 발명에 따른 블록 체인 시스템에서 이용되는 다중 블록 체인 구조는 하나의 블록 체인에서 2개의 블록 체인으로 분기되는 과정이 특정 조건에서 반복적으로 발생하며, 전체 블록 체인을 유지하면서 전체 블록 체인의 트랜잭션 처리속도를 향상시킬 수 있다. 구체적으로, 노드들이 많을 경우에 전체 노드를 2개의 구역으로 나누고, 나누어진 구역 내의 노드들 중에서 각각의 블록 생성 노드를 선정하고, 각 구역별로 블록을 생성하여 블록 체인에 연결하면 한번에 2개의 블록을 생성하여 블록 체인에 연결할 수 있어 트랜잭션 처리속도를 2배로 향상시킬 수 있다.
본 발명에 따른 블록 체인 시스템에서는, 지역, 트랜잭션 양, 처리내역의 종류 등을 고려하여 전체 노드를 구역별로 나누어 배분하고, 각각의 구역 내에서 블록 생성 노드를 선정하여 다중 블록 체인 구조를 형성할 수 있다. 구역별로 나누어진 노드들은 하나의 블록 체인에서 분기된 각자의 블록 체인을 공유하게 되는데, 이러한 구조에 따라 전체 블록 체인 시스템은 다중 블록 체인 구조를 형성할 수 있다. 어느 하나의 구역 내에서 생성된 블록은 당해 노드가 속한 구역 내 노드들의 블록 체인에 연결되어 블록 체인 구조를 계속해서 연장해 나간다.
도 4는 본 발명의 실시예에 따른 다중 블록 체인 구조에 관하여 도시한 도면이다.
도 4를 참조하면, 본 발명의 실시예에 따른 다중 블록 체인 구조는, 마더 블록 체인(100), 제1 블록 체인(200), 제2 블록 체인(300)을 포함하도록 구성된다.
도 4에 도시된 다중 블록 체인 구조는 전체 블록 체인 구조의 일부를 도시한 것으로서, 본 발명의 실시예에 따른 다중 블록 체인 구조를 설명하기 위한 도면이다.
마더 블록 체인(100)에는 최초의 블록(101)으로부터 연결된 복수의 블록들을 포함한다. 이 때, 마더 블록 체인(100)의 최후단에 위치한 마더 블록(102)으로부터 제1 블록 체인(200)과 제2 블록 체인(300)이 분기되어 후속 블록들이 제1 블록 체인(200) 또는 제2 블록 체인(300)에 연속하여 연결되어 다중 블록 체인 구조를 형성한다.
여기에서, 제1 블록 체인(200)의 최초의 블록은 마더 블록(102)에 연결되며, 제1 블록 체인(200)의 최초의 블록을 제1 블록(201)이라고 정의하기로 한다. 제1 블록(201)은 마더 블록(102)의 해시 값을 비롯한 블록 정보를 포함하면서 마더 블록(102)에 연결되므로 블록 체인 구조를 계속하여 형성할 수 있다.
또한, 제2 블록 체인(300)의 최초의 블록도 마더 블록(102)에 연결되며, 제2 블록 체인(300)의 최초의 블록을 제2 블록(301)이라고 정의하기로 한다. 제1 블록(201)과 마찬가지로, 제2 블록(301)은 마더 블록(102)의 해시 값을 비롯한 블록 정보를 포함하면서 마더 블록(102)에 연결되므로 블록 체인 구조를 계속하여 형성할 수 있다.
즉, 본 발명에 따르면, 특정 구역에서 트랜잭션 양이 증가하여 기 정해진 일정 수준의 트랜잭션 처리속도를 유지할 수 없게 된다면 당해 구역에서 블록 체인이 분기하게 되며, 구역별로 트랜잭션 양에 따라 블록 체인이 분기하여 새로운 구역이 형성될 수 있다.
도 5는 블록 체인이 분기하여 구역별로 블록 체인이 연장되는 경우의 예시를 도시한 도면이다.
도 5를 참조하면, 전체 블록 체인에서 마더 블록 체인(100)에서의 트랜잭션 처리량이 증가하여 제1 블록 체인(200)과 제2 블록 체인(300)으로 분기한 경우가 도시되어 있다.
제1 블록 체인(200)은 도 5에서 A 구역에서 생성되는 블록들이 연결되는 블록 체인이며, 제2 블록 체인(300)은 도 5에서 B 구역에서 생성되는 블록들이 연결되는 블록 체인이다.
최초에 블록 체인이 형성되는 때에는 기존의 블록 체인과 같이 단일 체인 구조로 형성된다. 이 후 블록 체인 시스템의 노드들의 수와 트랜잭션의 수가 점점 증가하여 기 정해진 일정 수준의 트랜잭션 처리속도를 낼 수 없는 경우에 전체 노드들을 2개의 구역으로 구획한 후, 각각의 구역에서 당해 구역에서 발생한 트랜잭션만 수집하여 이들을 당해 구역 내에 있는 하나의 노드에서 블록을 생성하고, 생성된 블록을 당해 구역에 해당되는 블록 체인에 연결하여 다중 블록 체인 구조를 형성할 수 있다.
이와 같이 생성된 블록에는 구획된 노드들의 구역을 의미하는 블록체인 고유번호를 가지게 된다. 즉, 도 5에 도시된 것과 같이, A 구역에서 생성되는 블록들은 A 구역의 고유번호인 #29384(이는 예시적인 고유번호임)를 포함하도록 블록이 생성되고, A 구역의 고유번호를 따라 제1 블록 체인(200)에 연결되게 된다.
마찬가지로, B 구역에서 생성되는 블록들은 B 구역의 고유번호인 #94837(이는 예시적인 고유번호임)을 포함하도록 블록이 생성되고, B 구역의 고유번호를 따라 제2 블록 체인(300)에 연결되게 된다.
도 5에서와 같이, 마더 블록(102)에서 분기하여 제1 블록 체인(200)과 제2 블록 체인(300)이 생성되는 경우에, 제1 블록 체인(200)의 제1 블록(201)과 제2 블록 체인(300)의 제2 블록(301)은 전단의 한 개의 블록(즉, 마더 블록(102))에 같이 연결되게 되며, 제1 블록(201)과 제2 블록(301)은 '이전 블록 정보' 영역에 똑같이 마더 블록(102)의 해시 값을 비롯한 블록 정보를 모두 갖게 됨으로써 마더 블록(102)에 이중으로 연결되게 된다.
도 5에서와 같이, 본 발명에 따른 실시예에서는 트랜잭션 양에 따라 하나의 블록 체인이 2개의 블록 체인으로 분기되는 과정을 포함하기 때문에 다중 블록 체인 시스템에서의 합의알고리즘은 하나의 블록 체인에서 무조건 하나의 블록만 합의하여 만들어지는 합의알고리즘을 사용해야만 한다. 즉, 이중 블록이 생성되지 않도록 한다.
제1 블록 체인(200)과 제2 블록 체인(300)으로 분기된 블록 체인은 이 후에도 당해 블록 체인이 속해있는 구역의 노드들을 기준으로 각자의 블록을 생성하여 연결하게 된다. 이러한 과정에서 새로운 노드들이 추가되면 평균 트랜잭션 처리량을 계산하여 트랜잭션 처리량이 낮은 쪽의 구역에 새로운 노드를 배분함으로써 구역별로 구획된 블록 체인들은 상대적으로 균등한 트랜잭션 처리량을 가질 수 있도록 하거나, 노드의 성격이나 위치에 따라 미리 지정된 구역에 배분할 수도 있다.
도 6은 블록 체인이 분기하여 새로운 구역이 형성되는 경우의 예시를 도시한 도면이다.
도 6을 참조하면, 전체 블록 체인에서 마더 블록 체인(100)에서의 트랜잭션 처리량이 증가하여 제1 블록 체인(200)과 제2 블록 체인(300)으로 분기하고, 제2 블록 체인(300)은 다시 제3 블록 체인(400)과 제4 블록 체인(500)으로 분기한 경우가 도시되어 있다.
제1 블록 체인(200)은 도 6에서 A 구역에서 생성되는 블록들이 연결되는 블록 체인이며, 제2 블록 체인(300)은 도 6에서 B 구역에서 생성되는 블록들이 연결되는 블록 체인이다. 이 때, B 구역에서 트랜잭션 처리량이 증가하여 기 정해진 일정 수준의 트랜잭션 처리량을 초과하는 경우, 제2 블록 체인(300)은 다시 제3 블록 체인(400)과 제4 블록 체인(500)으로 분기하게 된다.
제3 블록 체인(400)은 도 6에서 B-1 구역에서 생성되는 블록들이 연결되는 블록 체인이며, 제4 블록 체인(500)은 도 6에서 B-2 구역에서 생성되는 블록들이 연결되는 블록 체인이다. 이 때, 제1 블록 체인(200), 제2 블록 체인(300), 제3 블록 체인(400), 제4 블록 체인(500) 등 분기되는 블록 체인들은 각각의 구역에 해당하는 블록체인 고유번호를 갖게 된다. 그리고, 각각의 구역에서 생성되는 블록들은 해당 구역에 대응되는 블록체인 고유번호를 포함하여 생성될 수 있고, 이러한 블록들이 해당 구역에 대응되는 블록 체인에 연결될 수 있다.
도 6에서는 예시적으로, A 구역에서 생성되는 블록들은 블록체인 고유번호 #29384를 포함하도록 생성되고, B-1 구역에서 생성되는 블록들은 블록체인 고유번호 #83743을 포함하도록 생성되고, B-2 구역에서 생성되는 블록들은 블록체인 고유번호 #74832를 포함하도록 생성되는 것이 도시되어 있다.
도 7은 분기된 블록 체인이 다시 하나의 블록 체인 구조로 합쳐지는 예시를 도시한 도면이다. 도 8은 블록이 마더 블록 해시 값을 저장하는 예시를 나타낸 도면이다.
도 7을 참조하면, 트랜잭션 양이 감소하는 경우, 제3 블록 체인(400)과 제4 블록 체인(500)은 다시 하나의 블록 체인으로 합쳐져서 후속 블록들이 연결될 수 있다.
각 구역 내에서 트랜잭션 처리량은 증가할 수도 있지만 감소할 수도 있는데, 트랜잭션 처리량의 감소가 트랜잭션 처리속도에 영향을 미치지는 않지만 당해 블록 체인의 보안에 문제가 될 수 있기 때문에 트랜잭션 처리량이 어느 정도 기 정해진 수준 이하로 감소할 때는 2개의 블록 체인을 다시 하나로 합쳐서 후속 블록들이 연결되도록 할 수 있다.
블록 체인이 하나로 합쳐지는 것은 항상 2개의 블록 체인이 하나로 합쳐지는 것이기 때문에 블록들 내부에는 이러한 상황을 대비하여 마더 블록의 해시 값을 비롯한 블록 정보를 2개를 저장할 수 있도록 한다.
도 8에서와 같이, 예를 들어 마더 블록 정보_1에는 항상 앞 블록의 해시 값을 비롯한 블록 정보가 저장되어 있고, 마더 블록 정보_2에는 두 블록 체인이 하나로 결합되는 경우에 결합된 다른 블록 체인의 앞 블록의 해시 값을 비롯한 블록 정보가 저장될 수 있다. 하나로 결합되는 경우가 아니라면 평소에는 마더 블록 정보_2에는 빈칸으로 남겨진 채로 블록이 생성될 수 있다.
도 9는 본 발명의 실시예에 따른 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법을 순차적으로 나타낸 흐름도이다.
도 9를 참조하면, 본 발명의 실시예에 따른 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법은, 우선 최초의 블록으로부터 연결된 복수의 블록들을 포함하는 마더 블록 체인(100)을 생성한다(S100). 마더 블록 체인(100)이 최초로 생성되는 것은 기존의 블록 체인 구조와 같이 단일 체인 구조로 형성된다.
그리고, 블록 체인 시스템에서 트랜잭션 처리량이 기 정해진 일정 수준 이상이 되는 경우에 마더 블록 체인(100)의 최후단에 위치한 마더 블록(102)으로부터 제1 블록 체인(200)과 제2 블록 체인(300)이 분기한다(S110).
분기된 제1 블록 체인(200)의 최초의 블록은 마더 블록(102)에 연결되는데, 이러한 최초의 블록은 마더 블록(102)의 해시 값을 비롯한 블록 정보를 포함하도록 생성되어 제1 블록 체인(200)에 연결된다.
마찬가지로, 분기된 제2 블록 체인(300)의 최초의 블록은 마더 블록(102)에 연결되는데, 이러한 최초의 블록은 마더 블록(102)의 해시 값을 비롯한 블록 정보를 포함하도록 생성되어 제2 블록 체인(300)에 연결된다.
이 때, 제1 블록 체인(200)은 제1 구역에서 생성되는 블록들이 연결되는 블록 체인이고, 제2 블록 체인(300)은 제2 구역에서 생성되는 블록들이 연결되는 블록 체인이다. 제1 구역과 제2 구역은 노드들의 집합체로서 서로 다른 영역을 갖는다. 본 발명에서는, 제1 구역과 제2 구역에서의 평균 트랜잭션 처리량을 비교하여, 새로 추가된 노드는 제1 구역과 제2 구역 중 평균 트랜잭션 처리량이 낮은 구역에 배분되어 구역별로 실질적으로 균등한 트랜잭션 처리량을 갖도록 할 수 있거나 노드의 성격이나 위치에 따라 미리 지정된 구역에 배분될 수 있다.
또한, 제1 블록 체인(200)에는 제1 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결되고, 제2 블록 체인(300)에는 제2 구역에 해당하는 블록들이 생성되어 연결되므로 블록들을 통해 어느 구역에서 생성된 블록인지 알 수 있다.
그리고, 제1 블록 체인(200)을 포함하는 제1 구역 또는 제2 블록 체인(300)을 포함하는 제2 구역에서 트랜잭션 양이 증가하여 기 정해진 일정 수준의 트랜잭션 처리속도 기준점에 도달한 경우, 제1 블록 체인(200)이 다시 분기하거나 제2 블록 체인이 다시 분기할 수 있다(S120).
또한, 필요에 따라 특정 구역들에서 트랜잭션 양이 감소하는 경우, 제1 블록 체인(200)과 제2 블록 체인(300)은 다시 하나의 블록 체인으로 합쳐져서 후속 블록들이 연결될 수도 있다. 이는 트랜잭션 양의 감소가 트랜잭션 처리속도에 영향을 미치지는 않지만, 블록 체인의 보안에 문제가 될 수 있기 때문에 트랜잭션 양이 기 정해진 일정 수준 이하로 감소하는 경우에는 분기된 2개의 블록 체인을 다시 하나의 블록 체인으로 결합시킬 수 있다.
전술된 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변경 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 마더 블록 체인
102: 마더 블록
200: 제1 블록 체인
201: 제1 블록
300: 제2 블록 체인
301: 제2 블록
400: 제3 블록 체인
500: 제4 블록 체인

Claims (12)

  1. 다중 블록 체인 구조를 형성하는 복수의 데이터 블록들을 포함하는 블록 체인 시스템으로서,
    최초의 블록으로부터 연결된 복수의 블록들을 포함하는 마더 블록 체인; 및
    상기 마더 블록 체인의 최후단에 위치한 마더 블록으로부터 분기되어 연결된 제1 및 제2 블록 체인;을 포함하고,
    상기 제1 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제1 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함하고,
    상기 제2 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제2 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함하는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템.
  2. 제 1항에 있어서,
    상기 블록 체인 시스템에서 기 정해진 트랜잭션 처리량 이상인 경우 상기 마더 블록 체인에서 상기 제1 블록 체인과 상기 제2 블록 체인이 분기되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템.
  3. 제 2항에 있어서,
    상기 제1 블록 체인에는 제1 구역에서 생성되는 블록들이 연결되고, 상기 제2 블록 체인에는 상기 제1 구역과 다른 제2 구역에서 생성되는 블록들이 연결되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템.
  4. 제 3항에 있어서,
    상기 제1 블록 체인에는 상기 제1 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결되고,
    상기 제2 블록 체인에는 상기 제2 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템.
  5. 제 3항에 있어서,
    상기 제1 구역과 상기 제2 구역에서의 평균 트랜잭션 처리량을 비교하여, 새로 추가된 노드는 상기 제1 구역과 상기 제2 구역 중 평균 트랜잭션 처리량이 낮은 구역에 배분되거나 노드의 특성이나 위치에 따라 미리 지정된 구역에 배분되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템.
  6. 제 3항에 있어서,
    상기 제1 구역 또는 상기 제2 구역에서 트랜잭션 양이 증가하여 기 정해진 트랜잭션 처리량 이상이 되는 경우, 상기 제1 블록 체인이 분기하거나 상기 제2 블록 체인이 분기하는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템.
  7. 제 1항에 있어서,
    트랜잭션 양이 감소하는 경우, 상기 제1 블록 체인과 상기 제2 블록 체인은 다시 하나의 블록 체인으로 합쳐져서 후속 블록들이 연결되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템.
  8. 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법으로서,
    최초의 블록으로부터 연결된 복수의 블록들을 포함하는 마더 블록 체인을 생성하는 마더 블록 체인 생성 단계;
    상기 블록 체인 시스템에서 기 정해진 트랜잭션 처리량 이상이 되는 경우 상기 마더 블록 체인의 최후단에 위치한 마더 블록으로부터 제1 블록 체인과 제2 블록 체인이 분기되는 제1 분기 단계; 및
    상기 제1 블록 체인을 포함하는 제1 구역 또는 상기 제2 블록 체인을 포함하는 제2 구역에서 트랜잭션 양이 증가하여 기 정해진 트랜잭션 처리량 이상이 되는 경우, 상기 제1 블록 체인이 분기하거나 상기 제2 블록 체인이 분기하는 제2 분기 단계;를 포함하고,
    상기 제1 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제1 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함하고,
    상기 제2 블록 체인의 최초의 블록이면서 상기 마더 블록에 연결된 제2 블록은 상기 마더 블록의 해시 값을 비롯한 블록 정보를 포함하는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법.
  9. 제 8항에 있어서,
    상기 제1 블록 체인에는 제1 구역에서 생성되는 블록들이 연결되고, 상기 제2 블록 체인에는 상기 제1 구역과 다른 제2 구역에서 생성되는 블록들이 연결되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법.
  10. 제 9항에 있어서,
    상기 제1 블록 체인에는 상기 제1 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결되고,
    상기 제2 블록 체인에는 상기 제2 구역에 해당하는 블록체인 고유번호를 갖는 블록들이 생성되어 연결되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법.
  11. 제 9항에 있어서,
    상기 제1 구역과 상기 제2 구역에서의 평균 트랜잭션 처리량을 비교하여, 새로 추가된 노드는 상기 제1 구역과 상기 제2 구역 중 평균 트랜잭션 처리량이 낮은 구역에 배분되거나 노드의 특성이나 위치에 따라 미리 지정된 구역에 배분되는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법.
  12. 제 8항에 있어서
    트랜잭션 양이 감소하는 경우, 상기 제1 블록 체인과 상기 제2 블록 체인은 다시 하나의 블록 체인으로 합쳐져서 후속 블록들이 연결되는 블록 체인 결합 단계를 더 포함하는, 다중 블록 체인 구조를 포함하는 블록 체인 시스템에서의 블록 체인 형성 방법.
KR1020180012431A 2018-01-31 2018-01-31 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법 KR20190093013A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180012431A KR20190093013A (ko) 2018-01-31 2018-01-31 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법
PCT/KR2018/014627 WO2019151629A1 (ko) 2018-01-31 2018-11-26 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180012431A KR20190093013A (ko) 2018-01-31 2018-01-31 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법

Publications (1)

Publication Number Publication Date
KR20190093013A true KR20190093013A (ko) 2019-08-08

Family

ID=67479313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180012431A KR20190093013A (ko) 2018-01-31 2018-01-31 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법

Country Status (2)

Country Link
KR (1) KR20190093013A (ko)
WO (1) WO2019151629A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137388A (ko) 2016-06-03 2017-12-13 (주) 블록체인오에스 블록체인 기술을 이용한 무결성 보장 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515409B2 (en) * 2016-03-23 2019-12-24 Domus Tower, Inc. Distributing work load of high-volume per second transactions recorded to append-only ledgers
US10255108B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions
AU2017216289A1 (en) * 2016-02-04 2018-09-27 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US11023248B2 (en) * 2016-03-30 2021-06-01 British Telecommunications Public Limited Company Assured application services

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137388A (ko) 2016-06-03 2017-12-13 (주) 블록체인오에스 블록체인 기술을 이용한 무결성 보장 방법

Also Published As

Publication number Publication date
WO2019151629A1 (ko) 2019-08-08

Similar Documents

Publication Publication Date Title
JP6955026B2 (ja) 並列処理ブロックチェーントランザクションのためのシステムおよび方法
KR20190093012A (ko) 블록 체인 시스템에서의 블록 생성 및 검증 방법
JP2023168539A (ja) 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理
KR102050087B1 (ko) 하드웨어 및 지분증명 합의 알고리즘을 포함하는 블록 체인 시스템과 그 블록 체인 시스템에서의 블록 생성 방법
TWI659373B (zh) 區塊鏈系統及應用其的方法
KR101827373B1 (ko) 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법
EP3552158B1 (en) INFORMATION PROTECTION SYSTEM AND PROCEDURE
US10892888B2 (en) System and method for information protection
US20210049594A1 (en) Blockchain-based remittance method and apparatus
CN106452785A (zh) 区块链网络、分支节点及区块链网络应用方法
CN112650978B (zh) 基于区块链的侵权检测方法及装置、电子设备
US10963854B2 (en) Blockchain-based electronic bill reimbursement method, apparatus, and electronic device
CN110941673A (zh) 区块链数据结构及任务处理方法和装置
TW201901482A (zh) 區塊鏈系統及區塊鏈生成方法
CN106909852B (zh) 基于三重md5加密算法的智能合约加密方法及装置
US11372847B2 (en) Block verification device, block verification method, and program
KR20190093011A (ko) 보안성이 강화된 블록 체인 시스템 및 이중 블록 체인 구조를 이용한 데이터 블록 생성방법
Zaman et al. Proof of sincerity: A new lightweight consensus approach for mobile blockchains
CN114529415A (zh) 基于区块链的交易验证方法及装置、电子设备
CN112184226A (zh) 一种区块链动态分片方法及系统
KR102332814B1 (ko) 데이터 자기주권화를 위한 블록체인 구조를 포함하는 블록체인 시스템
Gramoli Blockchain scalability and its foundations in distributed systems
KR20190093013A (ko) 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법
CN113810185B (zh) 一种抗陷门泄露的链上数据修复系统及方法
WO2023102574A1 (en) Methods for verifying database query results and devices thereof