KR20190113210A - 블록체인 시스템 - Google Patents

블록체인 시스템 Download PDF

Info

Publication number
KR20190113210A
KR20190113210A KR1020180035586A KR20180035586A KR20190113210A KR 20190113210 A KR20190113210 A KR 20190113210A KR 1020180035586 A KR1020180035586 A KR 1020180035586A KR 20180035586 A KR20180035586 A KR 20180035586A KR 20190113210 A KR20190113210 A KR 20190113210A
Authority
KR
South Korea
Prior art keywords
block
type
type block
hash value
blocks
Prior art date
Application number
KR1020180035586A
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 KR1020180035586A priority Critical patent/KR20190113210A/ko
Priority to PCT/KR2019/003646 priority patent/WO2019190226A1/ko
Publication of KR20190113210A publication Critical patent/KR20190113210A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

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

Abstract

블록체인 시스템이 개시된다. 본 발명의 블록체인 시스템은, 블록체인 시스템에 있어서, 최초(genesis) 블록, 적어도 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하는 메인 브랜치를 포함하고, 상기 메인 브랜치에 포함된 블록은 상기 최초 블록을 시작으로 각각 블록의 생성 순서에 따라 연결되고, 상기 최초 블록을 제외한 상기 메인 브랜치에 포함된 블록은 상기 메인 브랜치에서 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함하고, 상기 제1 형 블록 중 적어도 일부는 상기 메인 브랜치에서 해당 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하고, 상기 제2 형 블록 중 적어도 일부는 상기 메인 브랜치에서 해당 제2 형 블록 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함한다.

Description

블록체인 시스템{Blockchain system}
본 발명은 블록체인 시스템에 관한 것으로, 더욱 상세하게는 이중으로 연결된 블록들을 이용한 블록체인 시스템에 관한 것이다.
블록체인은 분산 데이터베이스의 일종으로 암호화된 가상화폐인 비트코인에서 도입된 개념으로 알려져 있다. 기존에 거래장부, 문서 등의 디지털 컨텐츠를 중앙집중형 서버에 보관하고 관리하던 것과 달리, 블록체인 시스템에서는 누적된 디지털 컨텐츠를 네트워크를 통해 연결된 복수의 참여자의 장치(노드)에 저장하여 관리한다. 이러한 블록체인 시스템은 디지털 컨텐츠 자체가 인터넷을 통해 공개되어 있고, 다수의 참여자에 의해 수시로 검증이 진행되므로 위조 또는 변조가 매우 어렵다는 장점이 있다.
이러한 블록체인 시스템은 비트코인 등의 가상화폐 시스템 또는 금융기관의 거래기록 보관 등에 사용되고 있다. 또한, 최근에는 이러한 블록체인 시스템을 전자화된 문서관리 및 원본확인 등을 위해 사용되기도 한다. 대한민국 등록특허공보 제10-1763827호(2017년 7월 26일 등록) 및 대한민국 등록특허공보 제10-1751025호(2017년 6월 20일 등록)에는 이러한 블록체인 시스템을 이용한 의료데이터전송시스템 및 증권업무 처리 시스템에 대해서 개시되어 있다.
블록체인에 참여하는 노드들은 데이터의 진위여부를 확인하기 위해서 전체 블록체인의 데이터를 장치에 저장하고 유지관리 해야 한다. 누적된 거래 등이 적어 전체 블록체인의 크기가 크지 않은 경우에는 문제되지 않으나, 거래 등 신규 이벤트 발생이 누적되면서 블록의 개수가 증가할수록 전체 블록체인의 크기는 점차 증가하게 된다. 대표적인 블록체인 시스템인 비트코인 및 이더리움 등의 전체 블록체인 크기는 현재 수백 Gbyte에 달하고 있다.
따라서 블록체인에 참여하는 노드들은 이러한 대용량의 데이터를 저장하고 유지관리할 수 있는 높은 수준의 저장 장치 및 컴퓨팅 장치가 필요하다. 그러나 일반적인 개인용 컴퓨터는 이러한 수준의 성능에 도달하지 못할 수 있다. 특히, 스마트폰, 태블릿 컴퓨터 등 개인용 모바일 장치는 더욱 이러한 수준의 성능에 도달하지 못하는 실정이다.
대한민국 등록특허공보 제10-1763827호(2017년 7월 26일 등록) 대한민국 등록특허공보 제10-1751025호(2017년 6월 20일 등록)
본 발명이 해결하려는 과제는, 블록체인 시스템에 참여하는 노드가 필요한 블록들만을 선택적으로 저장하는 것만으로도 데이터의 진위여부를 확인할 수 있는 블록체인 시스템 및 이러한 블록체인을 이용한 데이터 관리 방법을 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 블록의 유형에 따라 블록 간의 연결관계를 다르게 형성하여 체계적인 효율적인 블록체인 시스템을 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 블록체인 시스템은, 블록체인 시스템에 있어서, 최초(genesis) 블록, 적어도 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하는 메인 브랜치를 포함하고, 상기 메인 브랜치에 포함된 블록은 상기 최초 블록을 시작으로 각각 블록의 생성 순서에 따라 연결되고, 상기 최초 블록을 제외한 상기 메인 브랜치에 포함된 블록은 상기 메인 브랜치에서 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함하고, 상기 제1 형 블록 중 적어도 일부는 상기 메인 브랜치에서 해당 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하고, 상기 제2 형 블록 중 적어도 일부는 상기 메인 브랜치에서 해당 제2 형 블록 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함한다.
본 발명의 일 실시예에 있어서, 상기 적어도 일부의 제1 형 블록은 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 적어도 일부의 제2 형 블록은 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 적어도 일부의 제1 형 블록이 포함하는 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값이 동일한 경우, 하나의 해시값만을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 적어도 일부의 제2 형 블록이 포함하는 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제2 형 블록의 적어도 일부의 해시값이 동일한 경우, 하나의 해시값만을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록은 제1 형 블록 중 가장 먼저 생성된 최초 제1 형 블록 및 상기 최초 제1 형 블록 이후에 생성된 후속 제1 형 블록을 포함하고, 상기 후속 제1 형 블록은 상기 메인 브랜치에서 해당 후속 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 최초 제1 형 블록은 상기 최초 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 최초 제1 형 블록은 상기 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함하고, 다른 블록의 적어도 일부의 해시값은 포함하지 않을 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 형 블록은 제2 형 블록 중 가장 먼저 생성된 최초 제2 형 블록 및 상기 최초 제2 형 블록 이후에 생성된 후속 제2 형 블록을 포함하고, 상기 후속 제2 형 블록은 상기 메인 브랜치에서 해당 후속 제2 형 블록 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 최초 제2 형 블록은 상기 최초 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 최초 제2 형 블록은 상기 최초 제2 형 블록 직전 블록의 적어도 일부의 해시값을 포함하고, 다른 블록의 적어도 일부의 해시값은 포함하지 않을 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록 및 상기 제2 형 블록은 해당 제1 형 블록 및 제2 형 블록을 루트 블록으로 하는 포킹을 허용할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록 및 상기 제2 형 블록 중 적어도 일부를 루트 블록으로 하여 서브 블록이 연결되는 것을 허용할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록 및 상기 제2 형 블록 중 적어도 일부를 루트 블록으로 하여 포킹된 서브 브랜치를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록 및 상기 제2 형 블록 중 적어도 일부를 루트 블록으로 하여 연결된 적어도 하나의 서브 블록을 포함하는 서브 브랜치를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 블록체인 시스템 및 블록체인을 이용한 데이터 관리 벙법은 블록체인 시스템에 참여하는 노드가 필요한 블록들만을 선택적으로 저장하는 것만으로도 데이터의 진위여부를 확인할 수 있는 장점이 있다.
또한, 본 발명의 일 실시예에 따른 블록체인 시스템은 블록의 유형에 따라 블록 간의 연결관계를 다르게 형성하여 체계적인 효율적이다는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 개별 블록의 구성을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 시스템의 두 개의 블록이 연결된 것을 도시한 것이다.
도 3 및 도 4는 블록체인에서 블록의 표시 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
도 6은 본 발명의 다른 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
여기서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 '포함하는'의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.
이하, 첨부된 도 1 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 개별 블록의 구성을 도시한 것이다. 도 2는 본 발명의 일 실시예에 따른 블록체인 시스템의 두 개의 블록이 연결된 것을 도시한 것이다.
도 1을 참조하면, 하나의 블록(100)은 블록헤더(110) 및 블록몸체(120)를 포함한다.
블록헤더(110)는 블록의 타이틀, 직전 블록의 해시값, 블록몸체의 해시값, 타임스탬프, 난이도 목표 및 난스 등을 포함할 수 있다. 블록헤더(110)가 포함하는 정보는 다양하게 변경되어 구성될 수 있다.
블록의 타이틀은 블록(100)을 다른 블록과 구분할 수 있는 식별 정보를 의미한다. 블록의 타이틀은 다른 블록과의 연결 관계에 따라 정해질 수 있다.
직전 블록의 해시값은 브랜치에서 해당 블록 이전에 생성되어 해당 블록과 연결되는 블록의 해시값이다. 직전 블록의 해시값은 직전 블록의 전체 또는 선택된 일부의 정보의 해시값일 수 있다. 예를 들어, 직전 블록의 해시값은 직전 블록의 블록헤더의 정보의 해시값인 것으로 정의될 수 있다. 블록헤더에 직전 블록의 해시값이 포함됨으로서, 블록 간의 연결성이 강화될 수 있다. 블록 간의 연결성이 강화되는 것은 블록체인 시스템 전체의 보안성이 향상되는 것을 의미한다.
블록몸체의 해시값은 해당 블록의 블록몸체(120)가 포함하는 데이터의 해시값이다. 후술하는 것과 같이, 블록몸체(120)는 데이터를 포함한다. 블록몸체의 해시값은 블록몸체가 포함하는 데이터의 전체 또는 선택된 일부의 해시값일 수 있다. 블록몸체의 해시값은 다양한 방식으로 결정될 수 있다. 예를 들어, 블록몸체의 해시값은 블록몸체(120)의 데이터로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다. 블록몸체의 해시값은 블록몸체(120)의 데이터의 요약본에 해당하는 것으로, 상대적으로 크기가 큰 블록몸체(120)의 데이터를 효율적으로 관리하고 검증할 수 있게 한다.
타임스탬프(time stamp)는 해당 블록의 생성시간에 관한 정보이다.
난이도 목표는 해당 블록의 작업증명 알고리즘에 대한 난이도 목표이다. 이는 해당 블록의 난스를 찾는데 필요한 해싱파워를 결정하는 것에 관한 정보이다.
난스(nonce)는 해당 블록의 작업증명 알고리즘에 사용되는 카운터 정보이다.
블록헤더(110)에는 상술한 정보 중 일부가 제외될 수도 있고, 다른 정보가 추가로 포함될 수도 있다.
블록몸체(120)는 블록(100)이 저장하고 관리하는 데이터를 포함한다. 데이터는 디지털 데이터에 해당한다. 데이터는 다양한 형태의 자료일 수 있다. 예를 들어, 데이터는 디지털 컨텐츠, 문서 정보, 계좌 정보, 의료 정보, 진료 정보, 행정 정보, 등기부 정보, 코인의 발생 정보, 거래 정보, 인사 정보, 생산 이력 정보, 제품 또는 건축물의 설계 및 도면, 사운드 정보 등이 가능하며, 특정한 형태로 한정되는 것은 아니다.
블록몸체(120)가 포함하는 데이터는 블록에 따라서 종류 또는 크기 등이 제한될 수 있다. 이러한 데이터의 제한은 모든 블록에 공통으로 적용될 수도 있고, 특정한 몇몇 블록에만 선택적으로 적용될 수도 있다. 또한, 이러한 데이터의 제한은 필요에 따라 변경될 수 있다.
도 2를 참조하면, 두 개의 블록은 서로 연결될 수 있다. 구체적으로, 복수의 블록은 순차적으로 연결되어 브랜치를 형성할 수 있다. 여기서, 브랜치란 복수의 블록들이 서로 선형적으로 연결된 블록들의 집합을 의미한다. 도 2에는 이러한 브랜치에서 임의의 두 개의 블록이 연결된 상태가 도시되어 있다.
도 2를 참조하면, 브랜치에서 임의의 하나의 블록(200)은 브랜치 내에서 이전에 생성된 블록(100)과 연결되게 된다. 여기서, 연결된다는 것은 해당 블록(200)이 이전에 생성된 블록(100)의 적어도 일부의 해시값을 포함하는 것을 의미한다. 구체적으로, 블록(200)은 블록헤더(210)에 이전에 생성된 블록(100)의 적어도 일부의 해시값을 포함하는 것을 통해 연결될 수 있다.
이전에 생성된 블록(100)이란 해당 블록(200) 직전에 생성된 것일 수 있다. 아래에서 상세하게 설명하겠지만, 경우에 따라서 이전에 생성된 블록(100)이란 이전에 생성된 블록들 중 해당 블록(200)과 동일한 유형의 마지막 블록일 수도 있다.
이전에 생성된 블록(100)의 해시값은 상술한 것과 같이, 이전 블록(100)의 전체 또는 선택된 일부의 정보의 해시값일 수 있다. 예를 들어, 첨부한 도 2에 도시된 것과 같이 이전 블록(100)의 해시값은 이전 블록의 블록헤더(110)의 정보의 해시값인 것으로 정의될 수 있다. 이전 블록의 해시값은 블록을 설계하는 사람의 기호 및 판단에 따라 다양하게 변경될 수 있다.
도 3 및 도 4를 참조하여, 도 5에서 도시되는 블록체인 시스템을 구성하는 블록에 대해서 간략하게 설명하도록 한다.
블록은 도 1 및 도 2를 참조하여 설명한 것과 같이, 블록헤더와 블록몸체를 포함한다. 그러나 설명의 편의성을 위해 도 5에서는 도 3 및 도 4에 도시된 방식으로 개별 블록을 표시하도록 한다.
먼저 도 3을 참조하면, 하나의 블록(100)에는 블록의 타이틀, 이전 연결 블록의 해시값 및 해당 블록의 해시값이 표시된다. 하나의 블록(100)은 상하로 배열된 3칸의 표에서, 첫번째 칸에는 블록의 타이틀이 표시되고, 두번째 칸에는 이전 연결 블록의 해시값이 표시되고, 세번째 칸에는 해당 블록의 해시값이 표시된다.
도 4를 참조하면, 하나의 블록(101)에는 이전 연결 블록의 해시값이 둘 이상 포함될 수 있다. 복수의 이전 연결 블록의 해시값은 가장 아래 칸의 해당 블록의 해시값의 위에 순차적으로 표시된다. 도 4를 참조하면, 하나의 블록(101)에는 2개의 이전 연결 블록의 해시값이 포함된다. 이는 각각 세번째 칸 및 네번째 칸에 표시되고, 마지막 칸에는 해당 블록의 해시값이 표시되어 있다.
도면에는 도시되지 않았지만 경우에 따라서 하나의 블록은 둘 이상의 추가 블록의 해시값을 포함할 수도 있다. 이러한 경우, 추가 블록의 해시값은 해당 블록의 해시값 위의 칸에 표시되는 것이 바람직할 것이다. 그리고 블록의 마지막 칸에는 해당 블록의 해시값이 표시되는 것이 바람직할 것이다.
추가 블록의 해시값에 대해서는 아래에서 더욱 상세하게 설명하도록 한다.
도 3 및 도 4에서, 블록의 타이틀은 Bn 또는 Bnm과 같은 형태로 표시된다. 블록의 타이틀이 Bn이라는 것은 상기 블록이 메인 브랜치의 n번째 블록이라는 것을 의미한다. 그리고 블록의 타이틀이 Bnm이라는 것은 상기 블록이 메인 브랜치의 n번째 블록에서 분기되는 서브 브랜치의 m번째 서브 블록이라는 것을 의미한다. 임의의 서브 브랜치의 m번째 서브 블록은 상기 서브 브랜치의 m+1번째 블록에 해당한다.
어느 블록의 해시값은 H라는 기호를 이용하여 표시된다. 예를 들어, 블록의 타이틀이 Bnm인 블록의 해시값은 Hnm으로 표시되게 된다.
상기 블록의 타이틀, 해시값의 기호 등을 설명하면서 언급한 메인 브랜치, 서브 브랜치 및 서브 블록 등에 대해서는 이하 도 5를 참조하여 상세하게 설명하도록 한다.
도 5를 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 5는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
본 발명의 블록체인 시스템은 메인 브랜치(1000)를 포함한다. 여기서, 메인 브랜치(1000)는 이후에 설명할 서브 브랜치(1001, 1004)와 구분되는 것으로, 이 둘의 차이점은 이하에서 설명하도록 한다.
메인 브랜치(1000)는 최초 블록(genesis block), 제1 형 블록, 제2 형 블록 및 제3 형 블록을 포함한다. 제1 형 블록, 제2 형 블록 및 제3 형 블록이 어떻게 구분되는지 여부는 이후에서 상세하게 설명하도록 한다.
도 5에서 최초 블록은 두꺼운 테두리의 사각형으로 표시했고, 제1 형 블록과 제2 형 블록은 코너 부분이 라운드진 사각형으로 표시하였고, 제3 형 블록은 일반적인 사각형으로 표시하였다. 그리고 제1 형 블록과 제2 형 블록은 블록의 좌측 상단에 각각 ①및 ②를 표시하여 구분하였다.
최초 블록(genesis block)은 블록체인 시스템에서 최초로 생성된 블록이다. 최초 블록은 블록체인 시스템의 다른 블록과 달리 예외적으로 이전 연결 블록이 없을 수 있다. 블록체인 시스템에서 최초 블록이 생성된 이후에 후속적으로 생성된 블록은 최초 블록과 직접적으로 또는 간접적으로 연결되게 된다. 도 5를 참조하면, B0가 최초 블록에 해당한다.
이하, 제1 형 블록, 제2 형 블록 및 제3 형 블록에 대해 설명하도록 한다. 설명의 편의성을 위해, 제3 형 블록에 대해서 먼저 설명하도록 한다.
제3 형 블록은 제1 형 블록 및 제2 형 블록과 달리, 해당 블록을 루트 블록으로 한 분기를 허용하지 않는 블록이다. 분기에 대해서는 아래에서 제1 형 블록 및 제2 형 블록을 설명하면서 상술하도록 한다. 따라서 제3 형 블록은 메인 브랜치(1000)에서 직전의 블록과 직후의 블록과만 연결되게 된다. 도 5를 참조하면, B1, B3, B5, B8 및 B9가 제3 형 블록에 해당한다.
제1 형 블록 및 제2 형 블록은 해당 제1 형 블록 및 제2 형 블록을 루트 블록(root block)으로 하여 분기를 허용하는 블록이다. 분기란 메인 브랜치(1000)의 임의의 블록을 루트 블록으로 하여 메인 브랜치(1000)와 분기되도록 연결된 서브 브랜치를 생성하는 것을 의미한다. 이러한 분기란 포킹(forking)이라는 용어로 설명되기도 한다. 따라서 제1 형 블록 및 제2 형 블록은 포킹된 블록(forked block)으로 설명될 수 있다. 또한, 제1 형 블록 및 제2 형 블록은 메인 브랜치(1000)와 서브 브랜치가 결합(joint)되는 결합 블록(joint block)으로 설명될 수도 있다.
서브 브랜치에서 루트 블록을 제외한 나머지 루트 블록에 연결된 블록을 서브 블록으로 지칭하도록 한다. 따라서 제1 형 블록 및 제2 형 블록은 해당 제1 형 블록 및 제2 형 블록을 루트 블록으로 하여 서브 블록이 연결되는 것을 허용하는 블록을 의미한다.
여기서 제1 형 블록 및 제2 형 블록은 분기를 허용만 하는 것으로, 제1 형 블록 및 제2 형 블록에는 해당 제1 형 블록 제2 형 블록을 루트 블록으로 하는 서브 브랜치가 연결되어 있을 수도 있고, 그렇지 않을 수도 있다. 서브 브랜치가 연결되어 있지 않는 제1 형 블록 및 제2 형 블록은 이후에 이벤트의 생성에 따라 해당 제1 형 블록 및 제2 형 블록을 루트 블록으로 하는 서브 브랜치가 연결될 수도 있다.
도 5를 참조하면, B2, B6 및 B7이 제1 형 블록에 해당한다. 그리고 B2 및 B7은 이에 연결된 서브 브랜치(1002, 1007)가 존재한다. 그러나 B6의 경우, 제1 형 블록임에도 불구하고 이에 연결된 서브 브랜치가 존재하지 않는다.
현재 상태에서는 B6에 연결되는 서브 브랜치가 존재하지 않지만 이후에 B61에 해당하는 새로운 서브 블록이 생성되어 B6에 연결될 수 있다. 이러한 경우, B6에 연결된 서브 브랜치가 새롭게 생성될 수 있다. 또한, 이후에 B62에 해당하는 새로운 서브 블록이 생성되어 B61에 연결될 수 있다. 이러한 경우, B6에 연결된 서브 브랜치가 연장될 수 있다.
그리고 B4, B10 및 B11이 제2 형 블록에 해당한다. 그리고 B4 및 B10은 이에 연결된 서브 브랜치(1004, 1010)가 존재한다. 그러나 B11의 경우, 제2 형 블록임에도 불구하고 이에 연결된 서브 브랜치가 존재하지 않는다.
현재 상태에서는 B11에 연결되는 서브 브랜치가 존재하지 않지만 이후에 B111에 해당하는 새로운 서브 블록이 생성되어 B11에 연결될 수 있다. 이러한 경우, B11에 연결된 서브 브랜치가 새롭게 생성될 수 있다. 또한, 이후에 B112에 해당하는 새로운 서브 블록이 생성되어 B111에 연결될 수 있다. 이러한 경우, B11에 연결된 서브 브랜치가 연장될 수 있다.
최초 블록이 생성된 이후에는 제1 형 블록, 제2 형 블록 및 제3 형 블록이 생성되어 메인 브랜치(1000)에 연결되게 된다. 제1 형 블록, 제2 형 블록 및 제3 형 블록은 각 블록의 생성 순서에 따라 연결된다.
블록체인 시스템에서는 제1 형 블록, 제2 형 블록 및 서브 블록이 생성될 수 있다. 여기서 어떠한 종류의 블록이 생성될지는 블록이 포함하는 데이터가 기반한 이벤트에 따라 결정될 수 있다.
예를 들어, 발생한 이벤트가 제1 형 이벤트인 경우, 발생한 제1 형 이벤트의 데이터를 포함하는 블록이 제1 형 블록으로 생성되어 연결될 수 있다. 또한, 발생한 이벤트가 제2 형 이벤트인 경우, 발생한 제2 형 이벤트의 데이터를 포함하는 블록이 제2 형 블록으로 생성되어 연결될 수 있다. 또한, 발생한 이벤트가 제3 형 이벤트인 경우, 발생한 제3 형 이벤트의 데이터를 포함하는 블록이 서브 블록으로 생성되어 연결될 수 있다.
제1 형 이벤트, 제2 형 이벤트 및 제3 형 이벤트를 구분하는 기준은 블록을 설계하는 사람의 기호 및 판단에 따라 다양하게 변경될 수 있다.
메인 브랜치(1000)에 포함된 블록 중 최초 블록을 제외한 블록은 메인 브랜치(1000)에서 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 블록은 블록헤더에 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것을 통해 연결될 수 있다.
이는 해당 블록이 제1 형 블록이든 제2 형 블록이든 제3 형 블록이든 구분하지 않고 적용된다.
도 5를 참조하면, 제1 형 블록인 B2의 경우 메인 브랜치(1000)에서 B2 직전에 생성된 블록은 제3 형 블록인 B1에 해당한다. B2는 B1의 적어도 일부의 해시값(H1)을 포함한다. 역시 제1 형 블록인 B7의 경우 메인 브랜치(1000)에서 B7 직전에 생성된 블록은 제1 형 블록인 B6에 해당한다. B7은 B6의 적어도 일부의 해시값(H6)을 포함한다.
또한, 제2 형 블록인 B4의 경우 메인 브랜치(1000)에서 B4 직전에 생성된 블록은 제3 형 블록인 B3에 해당한다. B4는 B3의 적어도 일부의 해시값(H3)을 포함한다. 역시 제2 형 블록인 B11의 경우 메인 브랜치(1000)에서 B11 직전에 생성된 블록은 제2 형 블록인 B10에 해당한다. B11는 B10의 적어도 일부의 해시값(H10)을 포함한다.
또한, 제3 형 블록인 B1의 경우 메인 브랜치(1000)에서 B1 직전에 생성된 블록은 최초 블록인 B0에 해당한다. B1는 B0의 적어도 일부의 해시값(H0)을 포함한다. 역시 제3 형 블록인 B5의 경우 메인 브랜치(1000)에서 B5 직전에 생성된 블록은 제2 형 블록인 B4에 해당한다. B5는 B4의 적어도 일부의 해시값(H4)을 포함한다.
제1 형 블록은 최초 제1 형 블록과 후속 제1 형 블록을 포함한다. 최초 제1 형 블록은 제1 형 블록 중 가장 먼저 생성된 블록을 의미한다. 그리고 후속 제1 형 블록은 최초 제1 형 블록 이후에 생성된 블록을 의미한다.
그리고, 제2 형 블록은 최초 제2 형 블록과 후속 제2 형 블록을 포함한다. 최초 제2 형 블록은 제2 형 블록 중 가장 먼저 생성된 블록을 의미한다. 그리고 후속 제2 형 블록은 최초 제2 형 블록 이후에 생성된 블록을 의미한다.
도 5를 참조하면, 최초 제1 형 블록 및 최초 제2 형 블록은 두꺼운 테두리의 라운드진 사각형으로 표시했고, 후속 제1 형 블록 및 후속 제2 형 블록은 일반 테두리의 라운드진 사각형으로 표시하여 구분하였다.
도 5를 참조하면, B2가 최초 제1 형 블록에 해당하고, B6 및 B7이 후속 제1 형 블록에 해당한다. 또한, B4가 최초 제2 형 블록에 해당하고, B10 및 B11이 후속 제2 형 블록에 해당한다
먼저, 제1 형 블록에 대해서 설명하도록 한다.
후속 제1 형 블록은 메인 브랜치(1000)에서 해당 후속 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 후속 제1 형 블록은 블록헤더에 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하는 것을 통해 연결될 수 있다. 여기서, 직전 제1 형 블록이란 최초 제1 형 블록일 수도 있고, 후속 제1 형 블록일 수도 있다.
구체적으로, B6을 기준으로 설명하면, B6 직전에 생성된 제1 형 블록은 B2에 해당한다. B6은 B2의 적어도 일부의 해시값(H2)을 포함한다. 그리고 B7을 기준으로 설명하면, B7 직전에 생성된 제1 형 블록은 B6에 해당한다. B7은 B6의 적어도 일부의 해시값(H6)을 포함한다.
위에서 설명한 것과 같이, 제1 형 블록 중 두번째로 생성된 제1 형 블록(B6)은 최초 제1 형 블록(B2)의 적어도 일부의 해시값(H2)을 포함하게 된다.
이하, 제2 형 블록에 대해서 설명하도록 한다.
제2 형 블록도 제1 형 블로과 마찬가지로, 후속 제2 형 블록은 메인 브랜치(1000)에서 해당 후속 제2 형 블록 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함한다.
구체적으로, B10을 기준으로 설명하면, B10 직전에 생성된 제2 형 블록은 B4에 해당한다. B10은 B4의 적어도 일부의 해시값(H4)을 포함한다. 그리고 B11을 기준으로 설명하면, B11 직전에 생성된 제2 형 블록은 B10에 해당한다. B11은 B10의 적어도 일부의 해시값(H10)을 포함한다.
이에 따라, 후속 제1 형 블록 및 후속 제2 형 블록은 2개의 해시값을 포함하게 된다. 구체적으로, B6의 경우, 직전 블록의 적어도 일부의 해시값으로 B5의 적어도 일부의 해시값(H5)을 포함하고, 직전 제1 형 블록의 적어도 일부의 해시값으로 B2의 적어도 일부의 해시값(H2)을 포함한다. 후속 제1 형 블록 및 후속 제2 형 블록은 2개의 해시값을 구분하여 포함할 수 있다.
그러나 경우에 따라서 2개의 해시값이 동일할 수 있다. 구체적으로, B7의 경우, 직전 블록의 적어도 일부의 해시값으로 B6의 적어도 일부의 해시값(H6)을 포함하고, 직전 제1 형 블록의 적어도 일부의 해시값으로도 B6의 적어도 일부의 해시값(H6)을 포함한다. 후속 제1 형 블록 및 후속 제2 형 블록은 2개의 해시값을 포함할 수 있다. 이러한 경우, 도 5에 도시된 것과 같이, 후속 제2 형 블록은 2개의 해시값을 구분하여 각각 포함할 수도 있다. 그러나 후속 제2 형 블록은 중복되는 해시값을 하나만 포함할 수도 있다.
경우에 따라서, B7이 직전 블록의 적어도 일부의 해시값으로 포함하는 B6의 적어도 일부의 해시값과 직전 제1 형 블록의 적어도 일부의 해시값으로 포함하는 B6의 적어도 일부의 해시값이 상이할 수도 있다. 이는 B6의 데이터에서 해시값을 어떻게 산출하는지 여부에 따라 결정될 수 있다.
최초 제1 형 블록 및 최초 제2 형 블록은 최초 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 최초 제1 형 블록인 B2은 B0의 적어도 일부의 해시값을 포함한다. 그리고 최초 제2 형 블록인 B4는 B0의 적어도 일부의 해시값을 포함한다.
이러한 블록체인 시스템을 이용하면, 특정 노드가 진위여부를 검증하려는 데이터의 종류에 따라 일부의 블록만을 저장하고 사용하는 것이 가능하다.
예를 들어, 특정 노드가 제1 형 이벤트의 데이터만의 검증을 원할 경우를 가정하여 설명한다. 상술한 것과 같이, 제1 형 이벤트의 데이터는 제1 형 블록에 포함되게 된다. 따라서 상기 특정 노드는 최초 블록과 제1 형 블록만을 저장하고, 이를 활용하여 데이터를 검증하는 것이 가능하다.
구체적으로 도 5에서, 특정 노드가 B7에 저장된 데이터의 검증을 원할 경우, 상기 특정 노드는 메인 브랜치(1000)의 최초 블록과 제1 형 블록만을 저장하고 있으면 된다. 즉, 상기 특정 노드는 총 4개의 블록만을 저장하고 있는 것이다. 이는 총 21개로 구성된 모든 블록체인의 모든 블록을 저장하는 것이나, 총 12개로 구성된 메인 브랜치(1000)의 모든 블록을 저장하는 것보다 작은 개수의 블록을 저장하는 것이다.
또한 도 5에서, 특정 노드가 B72에 저장된 데이터의 검증을 원할 경우, 상기 특정 노드는 메인 브랜치(1000)의 최초 블록과 제1 형 블록 및 B72가 포함된 서브 브랜치의 서브 블록만을 저장하고 있으면 된다. 즉, 상기 특정 노드는 총 6개의 블록만을 저장하고 있는 것이다. 이는 총 21개로 구성된 모든 블록체인의 모든 블록을 저장하는 것보다 작은 개수의 블록을 저장하는 것이다.
상술한 예시에서는 특정 노드가 제1 형 이벤트의 데이터만의 검증을 원할 경우를 가정하여 설명하였지만, 특정 노드가 제2 형 이벤트의 데이터만의 검증을 원할 경우도 가능하다.
이와 같이, 본 발명의 블록체인 시스템은 모든 노드가 블록체인의 모든 블록을 저장할 필요가 없다는 장점이 있다. 이는 노드가 부담해야 하는 컴퓨팅 작업 및 노드가 확보해야 하는 저장 공간을 감소시킬 수 있다는 장점이 있다. 이는 컴퓨팅 능력과 저장 공간이 상대적으로 제한된 모바일 장치 및 웨어러블 장치 등도 용이하게 블록체인 시스템의 노드로 참여할 수 있게 한다.
도 6을 참조하여, 본 발명의 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 6은 본 발명의 다른 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
설명의 편의를 위해서, 도 6을 참조하여 본 발명의 실시예를 설명하면서 도 5를 참조하여 이미 설명한 것과 동일한 내용 중 일부는 생략하도록 한다.
본 발명의 블록체인 시스템은 메인 브랜치(1000) 및 서브 브랜치(1002, 1005)를 포함한다.
최초 제1 형 블록은 해당 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함한다. 즉, 도 5를 참조하여 설명한 것과 달리, 최초 제1 형 블록은 최초 블록(B0)의 해시값(H0)을 포함하는 것이 아니라 해당 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함하는 것이다.
구체적으로, 도 6을 참조하면 최초 제1 형 블록은 B2에 해당한다. B2를 기준으로 직전 블록은 B1에 해당한다. 따라서 B2는 B1의 적어도 일부의 해시값(H1)을 포함한다.
최초 제1 형 블록은 직전 블록의 적어도 일부의 해시값을 2개로 구분하여 포함할 수도 있고, 하나로 포함할 수도 있다. 도 6을 참조하면, 최초 제1 형 블록은 B2는 B1의 적어도 일부의 해시값(H1)을 구분하여 포함하는 것으로 도시하였지만 이에 한정되는 것은 아니다.
이와 마찬가지로, 최초 제2 형 블록도 해당 최초 제2 형 블록 직전 블록의 적어도 일부의 해시값을 포함한다. 즉, 도 5를 참조하여 설명한 것과 달리, 최초 제2 형 블록은 최초 블록(B0)의 해시값(H0)을 포함하는 것이 아니라 해당 최초 제2 형 블록 직전 블록의 적어도 일부의 해시값을 포함하는 것이다.
구체적으로, 도 6을 참조하면 최초 제2 형 블록은 B4에 해당한다. B4를 기준으로 직전 블록은 B3에 해당한다. 따라서 B4는 B3의 적어도 일부의 해시값(H3)을 포함한다.
최초 제2 형 블록은 직전 블록의 적어도 일부의 해시값을 2개로 구분하여 포함할 수도 있고, 하나로 포함할 수도 있다. 도 6을 참조하면, 최초 제2 형 블록은 B4는 B3의 적어도 일부의 해시값(H3)을 구분하여 포함하는 것으로 도시하였지만 이에 한정되는 것은 아니다.
도 6의 블록체인 시스템에서, 특정 노드가 제2 형 이벤트의 데이터만의 검증을 원할 경우를 가정하여 설명한다. 상술한 것과 같이, 제2 형 이벤트의 데이터는 제2 형 블록에 포함되게 된다. 따라서 상기 특정 노드는 최초 제2 형 블록 직전의 블록과 제2 형 블록만을 저장하고, 이를 활용하여 데이터를 검증하는 것이 가능하다.
구체적으로 도 6에서, 특정 노드가 B10에 저장된 데이터의 검증을 원할 경우, 상기 특정 노드는 메인 브랜치(1000)의 최초 제2 형 블록 직전의 블록과 제2 형 블록만을 저장하고 있으면 된다. 즉, 상기 특정 노드는 총 4개의 블록만을 저장하고 있는 것이다. 이는 총 21개로 구성된 모든 블록체인의 모든 블록을 저장하는 것이나, 총 12개로 구성된 메인 브랜치(1000)의 모든 블록을 저장하는 것보다 작은 개수의 블록을 저장하는 것이다.
이상, 본 발명의 블록체인 시스템의 실시예들에 대해 설명하였다. 본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
100, 200: 블록
110, 210: 블록 헤더
120, 220: 블록 몸체
1000: 메인 브랜치
1002, 1004, 1007, 1010: 서브 브랜치

Claims (15)

  1. 블록체인 시스템에 있어서,
    최초(genesis) 블록, 적어도 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하는 메인 브랜치를 포함하고,
    상기 메인 브랜치에 포함된 블록은 상기 최초 블록을 시작으로 각각 블록의 생성 순서에 따라 연결되고,
    상기 최초 블록을 제외한 상기 메인 브랜치에 포함된 블록은 상기 메인 브랜치에서 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함하고,
    상기 제1 형 블록 중 적어도 일부는 상기 메인 브랜치에서 해당 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하고,
    상기 제2 형 블록 중 적어도 일부는 상기 메인 브랜치에서 해당 제2 형 블록 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  2. 제1 항에 있어서,
    상기 적어도 일부의 제1 형 블록은 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 시스템.
  3. 제2 항에 있어서,
    상기 적어도 일부의 제2 형 블록은 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 시스템.
  4. 제1 항에 있어서,
    상기 적어도 일부의 제1 형 블록이 포함하는 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값이 동일한 경우, 하나의 해시값만을 포함하는 블록체인 시스템.
  5. 제4 항에 있어서,
    상기 적어도 일부의 제2 형 블록이 포함하는 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제2 형 블록의 적어도 일부의 해시값이 동일한 경우, 하나의 해시값만을 포함하는 블록체인 시스템.
  6. 제1 항에 있어서,
    상기 제1 형 블록은 제1 형 블록 중 가장 먼저 생성된 최초 제1 형 블록 및 상기 최초 제1 형 블록 이후에 생성된 후속 제1 형 블록을 포함하고,
    상기 후속 제1 형 블록은 상기 메인 브랜치에서 해당 후속 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  7. 제6 항에 있어서,
    상기 최초 제1 형 블록은 상기 최초 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  8. 제6 항에 있어서,
    상기 최초 제1 형 블록은 상기 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함하고, 다른 블록의 적어도 일부의 해시값은 포함하지 않는 블록체인 시스템.
  9. 제6 항에 있어서,
    상기 제2 형 블록은 제2 형 블록 중 가장 먼저 생성된 최초 제2 형 블록 및 상기 최초 제2 형 블록 이후에 생성된 후속 제2 형 블록을 포함하고,
    상기 후속 제2 형 블록은 상기 메인 브랜치에서 해당 후속 제2 형 블록 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  10. 제9 항에 있어서,
    상기 최초 제2 형 블록은 상기 최초 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  11. 제9 항에 있어서,
    상기 최초 제2 형 블록은 상기 최초 제2 형 블록 직전 블록의 적어도 일부의 해시값을 포함하고, 다른 블록의 적어도 일부의 해시값은 포함하지 않는 블록체인 시스템.
  12. 제1 항에 있어서,
    상기 제1 형 블록 및 상기 제2 형 블록은 해당 제1 형 블록 및 제2 형 블록을 루트 블록으로 하는 포킹을 허용하는 블록체인 시스템.
  13. 제1 항에 있어서,
    상기 제1 형 블록 및 상기 제2 형 블록 중 적어도 일부를 루트 블록으로 하여 서브 블록이 연결되는 것을 허용하는 블록체인 시스템.
  14. 제1 항에 있어서,
    상기 제1 형 블록 및 상기 제2 형 블록 중 적어도 일부를 루트 블록으로 하여 포킹된 서브 브랜치를 더 포함하는 블록체인 시스템.
  15. 제1 항에 있어서,
    상기 제1 형 블록 및 상기 제2 형 블록 중 적어도 일부를 루트 블록으로 하여 연결된 적어도 하나의 서브 블록을 포함하는 서브 브랜치를 더 포함하는 블록체인 시스템.
KR1020180035586A 2018-03-28 2018-03-28 블록체인 시스템 KR20190113210A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180035586A KR20190113210A (ko) 2018-03-28 2018-03-28 블록체인 시스템
PCT/KR2019/003646 WO2019190226A1 (ko) 2018-03-28 2019-03-28 블록체인 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180035586A KR20190113210A (ko) 2018-03-28 2018-03-28 블록체인 시스템

Publications (1)

Publication Number Publication Date
KR20190113210A true KR20190113210A (ko) 2019-10-08

Family

ID=68058264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180035586A KR20190113210A (ko) 2018-03-28 2018-03-28 블록체인 시스템

Country Status (2)

Country Link
KR (1) KR20190113210A (ko)
WO (1) WO2019190226A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115708118A (zh) * 2021-08-18 2023-02-21 华为技术有限公司 一种区块链的生成方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101751025B1 (ko) 2017-01-03 2017-06-26 주식회사 온더 블록체인 기반의 스마트 증권업무 처리 시스템
KR101763827B1 (ko) 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608829B2 (en) * 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US20170236123A1 (en) * 2016-02-16 2017-08-17 Blockstack Inc. Decentralized processing of global naming systems
KR102050129B1 (ko) * 2016-05-03 2019-11-28 안규태 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101763827B1 (ko) 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램
KR101751025B1 (ko) 2017-01-03 2017-06-26 주식회사 온더 블록체인 기반의 스마트 증권업무 처리 시스템

Also Published As

Publication number Publication date
WO2019190226A1 (ko) 2019-10-03

Similar Documents

Publication Publication Date Title
KR101964692B1 (ko) 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
KR20180124545A (ko) 블록체인 시스템 및 블록체인 생성 방법
CN108292351A (zh) 使用诸如以时间为中心的默克尔散列树之类的散列树的数据验证方法和系统
US20140122900A1 (en) Providing searching over encrypted keywords in a database
EP2854068A1 (en) Dynamic tokenization with multiple token tables
US20200294046A1 (en) Selection of digital properties for transactions
CN112883117B (zh) 一种数据同步方法、设备以及计算机可读存储介质
CN111125245A (zh) 基于区块链的数据处理方法、装置及存储介质
US20130019104A1 (en) Cell level data encryption
US20240095734A1 (en) Embedded data transaction exchange platform
EP3921793A1 (en) Payslip verification for blockchain transaction
Ghani et al. Blockchain-based student certificate management and system sharing using hyperledger fabric platform
KR102272164B1 (ko) 블록체인에서 스마트 컨트랙트를 이용한 대용량 전자 문서 유통 방법
KR20190113210A (ko) 블록체인 시스템
KR20190113211A (ko) 블록체인 시스템
KR102412511B1 (ko) 블록체인 did를 이용한 콘텐츠 관리 장치 및 방법
KR20190099936A (ko) 블록체인 시스템
Lei et al. Blockchain from the information systems perspective: Literature review, synthesis, and directions for future research
KR20200089877A (ko) 개인키 관리 방법
KR20190020721A (ko) 블록체인 시스템 및 블록체인 생성 방법
KR20190135823A (ko) 블록체인 시스템
KR20190135822A (ko) 블록체인 시스템
KR102167815B1 (ko) 블록 체인 기반의 송수금 방법 및 이를 이용한 시스템
Doll et al. Btctrackr: finding and displaying clusters in Bitcoin
US11107103B2 (en) Multi-card overlay display

Legal Events

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