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

블록체인 시스템 Download PDF

Info

Publication number
KR20190135822A
KR20190135822A KR1020180061295A KR20180061295A KR20190135822A KR 20190135822 A KR20190135822 A KR 20190135822A KR 1020180061295 A KR1020180061295 A KR 1020180061295A KR 20180061295 A KR20180061295 A KR 20180061295A KR 20190135822 A KR20190135822 A KR 20190135822A
Authority
KR
South Korea
Prior art keywords
block
type
blocks
hash value
document
Prior art date
Application number
KR1020180061295A
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 KR1020180061295A priority Critical patent/KR20190135822A/ko
Publication of KR20190135822A publication Critical patent/KR20190135822A/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
    • 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

Abstract

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

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 형 블록의 적어도 일부의 해시값을 더 포함하고, 상기 제1 형 블록은 문서에 관한 데이터를 포함한다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록이 포함하는 문서에 관한 데이터는 문서의 생성에 관한 데이터일 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록은 해당 제1 형 블록을 시작 블록으로 하는 분기를 허용할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록의 적어도 일부는 해당 제1 형 블록을 시작 블록으로 하여 서브 블록이 연결되어 있는 조인트 블록일 수 있다.
본 발명의 일 실시예에 있어서, 상기 서브 블록은 해당 서브 블록의 시작 블록과 동일한 문서에 관한 데이터를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 시작 블록은 문서의 생성에 관한 데이터를 포함하고, 상기 서브 블록은 생성된 상기 문서의 생성이 아닌 다른 작업에 관한 데이터를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 문서의 생성이 아닌 다른 작업은, 문서의 열람, 수정, 변경, 추가, 삭제 및 전달 중 어느 하나에 해당할 수 있다.
본 발명의 일 실시예에 있어서, 상기 조인트 블록 및 상기 조인트 블록을 시작 블록으로 하여 연결된 적어도 하나의 서브 블록을 포함하는 서브 브랜치를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 하나의 상기 서브 브랜치에 포함되는 복수의 블록은 동일한 문서에 관한 데이터를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 하나의 상기 서브 브랜치의 상기 서브 블록은 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 문서는 미리 정해진 동일한 유형의 문서일 수 있다.
본 발명의 일 실시예에 있어서, 상기 문서는 의료, 교육, 행정 중 어느 하나에 관련된 문서일 수 있다.
본 발명의 일 실시예에 있어서, 상기 적어도 일부의 제1 형 블록은 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 적어도 일부의 제1 형 블록이 포함하는 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값이 동일한 경우, 하나의 해시값만을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 블록은 제1 형 블록 중 가장 먼저 생성된 최초 제1 형 블록 및 상기 최초 제1 형 블록 이후에 생성된 후속 제1 형 블록을 포함하고, 상기 후속 제1 형 블록은 상기 메인 브랜치에서 해당 후속 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 최초 제1 형 블록은 상기 최초 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 최초 제1 형 블록은 상기 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함하고, 다른 블록의 적어도 일부의 해시값은 포함하지 않을 수 있다.
본 발명의 일 실시예에 따른 블록체인 시스템은 블록체인 시스템에 참여하는 노드가 필요한 블록들만을 선택적으로 저장하는 것만으로도 데이터의 진위여부를 확인할 수 있는 장점이 있다.
또한, 본 발명의 일 실시예에 따른 블록체인 시스템은 블록의 유형에 따라 블록 간의 연결관계를 다르게 형성하여 체계적인 효율적이다는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 개별 블록의 구성을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 시스템의 두 개의 블록이 연결된 것을 도시한 것이다.
도 3 및 도 4는 블록체인에서 블록의 표시 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
도 6은 블록체인에서 블록의 표시 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
도 8은 본 발명의 다른 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
여기서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 '포함하는'의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.
이하, 첨부된 도 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 형 블록을 포함한다. 제1 형 블록은 여러 종류로 다시 구분될 수 있다. 그러나 본 명세서에서는 제1 형 블록은 하나의 종류만 있는 것으로 설명한다.
도 5에서 최초 블록은 두꺼운 테두리의 사각형으로 표시했고, 제1 형 블록은 코너 부분이 라운드진 사각형으로 표시하였고, 제2 형 블록은 일반적인 사각형으로 표시하여 구분하였다.
최초 블록(genesis block)은 블록체인 시스템에서 최초로 생성된 블록이다. 최초 블록은 블록체인 시스템의 다른 블록과 달리 예외적으로 이전 연결 블록이 없을 수 있다. 블록체인 시스템에서 최초 블록이 생성된 이후에 후속적으로 생성된 블록은 최초 블록과 직접적으로 또는 간접적으로 연결되게 된다. 도 5를 참조하면, B0가 최초 블록에 해당한다.
제1 형 블록은 해당 제1 형 블록을 시작 블록으로 하여 분기를 허용하는 블록이다. 분기란 메인 브랜치(1000)의 임의의 블록을 시작 블록으로 하여 메인 브랜치(1000)와 분기되도록 연결된 서브 브랜치를 생성하는 것을 의미한다. 또한, 제1 형 블록은 메인 브랜치(1000)와 서브 브랜치가 결합(joint)되는 결합 블록(joint block)으로 설명될 수도 있다.
서브 브랜치에서 시작 블록을 제외한 나머지 시작 블록에 연결된 블록을 서브 블록으로 지칭하도록 한다. 따라서 제1 형 블록은 해당 제1 형 블록을 시작 블록으로 하여 서브 블록이 연결되는 것을 허용하는 블록을 의미한다.
여기서 제1 형 블록은 분기를 허용만 하는 것으로, 제1 형 블록에는 해당 제1 형 블록을 시작 블록으로 하는 서브 브랜치가 연결되어 있을 수도 있고, 그렇지 않을 수도 있다. 서브 브랜치가 연결되어 있지 않는 제1 형 블록은 이후에 이벤트의 생성에 따라 해당 제1 형 블록을 시작 블록으로 하는 서브 브랜치가 연결될 수도 있다.
도 5를 참조하면, B1, B3, B4 및 B7이 제1 형 블록에 해당한다. 그리고 B1 및 B4는 이에 연결된 서브 브랜치(1001, 1004)가 존재한다. 그러나 B3 및 B7의 경우, 제1 형 블록임에도 불구하고 이에 연결된 서브 브랜치가 존재하지 않는다.
현재 상태에서는 B3 및 B7에 연결되는 서브 브랜치가 존재하지 않지만 이후에 B31 또는 B71 해당하는 새로운 서브 블록이 생성되어 B3 또는 B7에 연결될 수 있다. 이러한 경우, B3 또는 B7에 연결된 서브 브랜치가 새롭게 생성될 수 있다.
또한, 이후에 B32 또는 B72에 해당하는 새로운 서브 블록이 생성되어 B31 또는 B71에 연결될 수 있다. 이러한 경우, B3 또는 B7에 연결된 서브 브랜치가 연장될 수 있다.
제2 형 블록은 제1 형 블록과 달리, 해당 블록을 시작 블록으로 한 분기를 허용하지 않는 블록이다. 따라서 제1 형 블록은 메인 브랜치(1000)에서 직전의 블록과 직후의 블록과만 연결되게 된다. 도 5를 참조하면, B2, B5 및 B6이 제2 형 블록에 해당한다.
최초 블록이 생성된 이후에는 제1 형 블록 및 제2 형 블록이 생성되어 메인 브랜치(1000)에 연결되게 된다. 제1 형 블록 및 제2 형 블록은 각 블록의 생성 순서에 따라 연결된다.
블록체인 시스템에서는 제1 형 블록, 제2 형 블록 및 서브 블록이 생성될 수 있다. 여기서 어떠한 종류의 블록이 생성될지는 블록이 포함하는 데이터가 기반한 이벤트에 따라 결정될 수 있다.
발생한 이벤트에 따라 제1 형 블록, 제2 형 블록 및 서브 블록이 생성되는 것과 관련해서는 아래에서 더욱 상세하게 설명하도록 한다.
메인 브랜치(1000)에 포함된 블록 중 최초 블록을 제외한 블록은 메인 브랜치(1000)에서 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 블록은 블록헤더에 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것을 통해 연결될 수 있다.
이는 해당 블록이 제1 형 블록이든 제2 형 블록이든 구분하지 않고 적용된다.
도 5를 참조하면, 제1 형 블록인 B3의 경우 메인 브랜치(1000)에서 B3 직전에 생성된 블록은 제2 형 블록인 B2에 해당한다. B3는 B2의 적어도 일부의 해시값(H2)을 포함한다. 역시 제1 형 블록인 B4의 경우 메인 브랜치(1000)에서 B4 직전에 생성된 블록은 제1 형 블록인 B3에 해당한다. B4는 B3의 적어도 일부의 해시값(H3)을 포함한다.
또한, 제2 형 블록인 B5의 경우 메인 브랜치(1000)에서 B5 직전에 생성된 블록은 제1 형 블록인 B4에 해당한다. B5는 B4의 적어도 일부의 해시값(H4)을 포함한다. 역시 제2 형 블록인 B6의 경우 메인 브랜치(1000)에서 B6 직전에 생성된 블록은 제2 형 블록인 B5에 해당한다. B6는 B5의 적어도 일부의 해시값(H5)을 포함한다.
제1 형 블록은 최초 제1 형 블록과 후속 제1 형 블록을 포함한다. 최초 제1 형 블록은 제1 형 블록 중 가장 먼저 생성된 블록을 의미한다. 그리고 후속 제1 형 블록은 최초 제1 형 블록 이후에 생성된 블록을 의미한다.
도 5를 참조하면, 최초 제1 형 블록은 두꺼운 테두리의 라운드진 사각형으로 표시했고, 후속 제1 형 블록은 일반 테두리의 라운드진 사각형으로 표시하여 구분하였다. 도 5를 참조하면, B1이 최초 제1 형 블록에 해당하고, B3 및 B4가 후속 제1 형 블록에 해당한다.
후속 제1 형 블록은 메인 브랜치(1000)에서 해당 후속 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 후속 제1 형 블록은 블록헤더에 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하는 것을 통해 연결될 수 있다. 여기서, 직전 제1 형 블록이란 최초 제1 형 블록일 수도 있고, 후속 제1 형 블록일 수도 있다.
구체적으로, B3를 기준으로 설명하면, B3 직전에 생성된 제1 형 블록은 B1에 해당한다. B3는 B1의 적어도 일부의 해시값(H1)을 포함한다. 그리고 B4를 기준으로 설명하면, B4 직전에 생성된 제1 형 블록은 B3에 해당한다. B4는 B3의 적어도 일부의 해시값(H3)을 포함한다.
위에서 설명한 것과 같이, 제1 형 블록 중 두번째로 생성된 제1 형 블록(B3)은 최초 제1 형 블록(B1)의 적어도 일부의 해시값(H1)을 포함하게 된다.
후속 제1 형 블록은 2개의 해시값을 포함하게 된다. 구체적으로, B3의 경우, 직전 블록의 적어도 일부의 해시값으로 B2의 적어도 일부의 해시값(H2)을 포함하고, 직전 제1 형 블록의 적어도 일부의 해시값으로 B1의 적어도 일부의 해시값(H1)을 포함한다. 후속 제1 형 블록은 2개의 해시값을 구분하여 포함할 수 있다.
그러나 경우에 따라서 2개의 해시값이 동일할 수 있다. 구체적으로, B4의 경우, 직전 블록의 적어도 일부의 해시값으로 B3의 적어도 일부의 해시값(H3)을 포함하고, 직전 제1 형 블록의 적어도 일부의 해시값으로도 B3의 적어도 일부의 해시값(H3)을 포함한다. 후속 제1 형 블록은 2개의 해시값을 포함할 수 있다. 이러한 경우, 도 5에 도시된 것과 같이, 후속 제1 형 블록은 2개의 해시값을 구분하여 각각 포함할 수도 있다. 그러나 후속 제1 형 블록은 중복되는 해시값을 하나만 포함할 수도 있다.
경우에 따라서, B4가 직전 블록의 적어도 일부의 해시값으로 포함하는 B3의 적어도 일부의 해시값과 직전 제1 형 블록의 적어도 일부의 해시값으로 포함하는 B3의 적어도 일부의 해시값이 상이할 수도 있다. 이는 B3의 데이터에서 해시값을 어떻게 산출하는지 여부에 따라 결정될 수 있다.
최초 제1 형 블록은 최초 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, B1은 B0의 적어도 일부의 해시값을 포함한다.
도 5에 도시된 것과 같이, 최초 블록(B0) 직후의 블록이 최초 제1 형 블록(B1)인 경우, 최초 제1 형 블록(B1)이 직전 블록의 적어도 일부의 해시값(H0)으로 포함하는 것과 최초 블록(B0)의 적어도 일부의 해시값(H0)으로 포함하는 것이 동일하게 된다. 이러한 경우, 도 5에 도시된 것과 같이, 최초 제1 형 블록(B1)은 2개의 해시값을 구분하여 각각 포함할 수도 있다. 그러나 최초 제1 형 블록(B1)은 중복되는 해시값을 하나만 포함할 수도 있다.
만약 도 5에 도시된 것과 달리, B1 블록이 제2 형 블록이고, 최초 제1 형 블록이 B2 블록이라면 B2 블록은 직전 블록의 적어도 일부의 해시값으로 H1을 포함하고, 최초 블록의 적어도 일부의 해시값으로 H0을 포함하게 될 것이다. 이러한 경우, H0과 H1은 구분되어 포함될 수 있다.
이러한 블록체인 시스템을 이용하면, 특정 노드가 진위여부를 검증하려는 데이터의 종류에 따라 일부의 블록만을 저장하고 사용하는 것이 가능하다.
예를 들어, 특정 노드가 제1 형 블록이 포함하는 데이터만의 검증을 원할 경우를 가정하여 설명한다. 이러한 경우, 상기 특정 노드는 최초 블록과 제1 형 블록만을 저장하고, 이를 활용하여 데이터를 검증하는 것이 가능하다.
구체적으로 도 5에서, 특정 노드가 B7에 저장된 데이터의 검증을 원할 경우, 상기 특정 노드는 메인 브랜치(1000)의 최초 블록과 제1 형 블록만을 저장하고 있으면 된다. 즉, 상기 특정 노드는 총 5개의 블록만을 저장하고 있는 것이다. 이는 총 13개로 구성된 모든 블록체인의 모든 블록을 저장하는 것이나, 총 8개로 구성된 메인 브랜치(1000)의 모든 블록을 저장하는 것보다 작은 개수의 블록을 저장하는 것이다.
또한 도 5에서, 특정 노드가 B42에 저장된 데이터의 검증을 원할 경우, 상기 특정 노드는 메인 브랜치(1000)의 최초 블록과 제1 형 블록 및 B42가 포함된 서브 브랜치의 서브 블록만을 저장하고 있으면 된다. 즉, 상기 특정 노드는 총 7개의 블록만을 저장하고 있는 것이다. 이는 총 13개로 구성된 모든 블록체인의 모든 블록을 저장하는 것보다 작은 개수의 블록을 저장하는 것이다.
이와 같이, 본 발명의 블록체인 시스템은 모든 노드가 블록체인의 모든 블록을 저장할 필요가 없다는 장점이 있다. 이는 노드가 부담해야 하는 컴퓨팅 작업 및 노드가 확보해야 하는 저장 공간을 감소시킬 수 있다는 장점이 있다. 이는 컴퓨팅 능력과 저장 공간이 상대적으로 제한된 모바일 장치 및 웨어러블 장치 등도 용이하게 블록체인 시스템의 노드로 참여할 수 있게 한다.
도 6을 참조하여, 도 7에서 도시되는 블록체인 시스템을 구성하는 블록에 대해서 간략하게 설명하도록 한다.
블록은 도 1 및 도 2를 참조하여 설명한 것과 같이, 블록헤더와 블록몸체를 포함한다. 그러나 설명의 편의성을 위해 도 7에서는 도 6에 도시된 방식으로 개별 블록을 표시하도록 한다.
먼저 도 6을 참조하면, 하나의 블록(100a)에는 블록의 타이틀 및 블록의 몸체가 포함하고 있는 데이터가 포함된다. 하나의 블록(100a)은 상하로 배열된 2칸의 표에서, 첫번째 칸에는 블록의 타이틀이 표시되고, 두번째 칸에는 블록의 몸체가 포함하고 있는 데이터가 표시된다. 데이터는 실제로 해당 블록(100a)의 데이터가 그대로 표시되는 것이 아니라 대략적인 내용, 주제 및 특징 등만 표시될 수 있다. 예를 들어, 블록(100a)의 두번째 칸에 "A문서의 생성"이라고 표시된 경우, 해당 블록(100a)은 "A문서의 생성"이라는 데이터 자체를 포함하고 있을 수도 있지만 "A문서의 생성"에 관한 데이터를 포함하는 것일 수도 있다. 도 7에서는 후자의 경우인 것으로 표시하였다.
도 7을 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템에서 제1 블록과 제2 블록이 포함하고 있는 데이터에 대해서 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
설명의 편의를 위해서, 도 7에 도시된 블록체인 시스템은 도 5에 도시된 블록체인 시스템과 동일한 것을 도시하였다. 다만, 도 5에서는 개별 블록을 도 3 및 도 4에 도시된 형태로 도시하였지만 도 7에서는 개별 블록을 도 6에 도시된 형태로 도시하였다. 각 블록들 간의 연결관계는 도 5 및 도 7의 블록체인 시스템이 동일하다.
블록체인 시스템에서는 제1 형 블록, 제2 형 블록 및 서브 블록이 생성될 수 있다. 여기서 어떠한 종류의 블록이 생성될지는 블록이 포함하는 데이터가 기반한 이벤트에 따라 결정될 수 있다.
예를 들어, 발생한 이벤트가 제1 형 이벤트인 경우, 발생한 제1 형 이벤트의 데이터를 포함하는 블록이 제1 형 블록으로 생성되어 연결될 수 있다. 또한, 발생한 이벤트가 제2 형 이벤트인 경우, 발생한 제2 형 이벤트의 데이터를 포함하는 블록이 제2 형 블록으로 생성되어 연결될 수 있다. 또한, 발생한 이벤트가 제3 형 이벤트인 경우, 발생한 제3 형 이벤트의 데이터를 포함하는 블록이 서브 블록으로 생성되어 연결될 수 있다.
구체적으로, 제1 형 이벤트는 문서에 관한 이벤트일 수 있다. 따라서 제1 형 블록은 문서에 관한 데이터를 포함할 수 있다. 여기서 문서는 텍스트 또는 이미지 등을 포함하는 모든 형태의 문서일 수 있다. 특히 문서는, 의료 문서, 행정 문서, 교육 문서, 등기 문서, 법률 문서 등 기록 및 열람 등을 위해 사용되는 다양한 종류의 문서일 수 있다.
하나의 블록체인 시스템에서 복수의 제1 형 이벤트들은 서로 다른 문서에 관한 이벤트일 수 있으나, 그 종류는 미리 정해진 하나의 종류일 수 있다. 예를 들어, 하나의 블록체인 시스템에서 복수의 제1 형 이벤트들은 의료 문서에 관한 이벤트일 수 있다. 그러나 이러한 경우에도 각각의 제1 형 이벤트들은 서로 다른 문서에 관한 이벤트일 수 있다.
경우에 따라서 하나의 블록체인 시스템에서 복수의 제1 형 이벤트들이 다시 세부 분류로 구분될 수 있다. 이러한 경우에는 복수의 제1 형 이벤트들이 서로 다른 종류의 문서에 관한 이벤트일 수도 있다.
더욱 구체적으로, 제1 형 이벤트는 문서가 생성되는 이벤트일 수 있다. 따라서 제1 형 블록은 문서의 생성에 관한 데이터를 포함할 수 있다. 즉, 문서에 관한 이벤트는 특정한 문서를 생성하는 것을 포함하여, 열람하는 것, 수정하는 것, 삭제하는 것, 폐기하는 것 등 다양한 이벤트가 있을 수 있는데, 제1 형 이벤트는 문서가 생성되는 것일 수 있다. 따라서 제1 형 블록은 문서가 생성되는 것에 관한 데이터를 포함할 수 있다.
구체적으로 도 7을 참조하면, B1은 A문서의 생성에 관한 데이터를 포함하고 있고, B3는 B문서의 생성에 관한 데이터를 포함하고 있고, B4는 C문서의 생성에 관한 데이터를 포함하고 있고, B7는 D문서의 생성에 관한 데이터를 포함하고 있다. 여기서, A 내지 D 문서는 모두 동일한 종류의 문서일 수 있다. 예를 들어, A 내지 D 문서는 모두 의료 기록에 관한 문서일 수 있다.
제3 형 이벤트는 해당 제3 형 이벤트의 데이터를 포함하는 서브 블록을 생성한다. 제3 형 이벤트도 제1 형 이벤트와 마찬가지로 문서에 관한 정보일 수 있다.
서브 블록이 포함하는 제3 형 이벤트의 데이터는 해당 서브 블록이 포함된 서브 브랜치의 시작 블록과 동일한 문서에 관한 데이터일 수 있다. 더욱 구체적으로, 서브 블록이 포함하는 제3 형 이벤트의 데이터는 문서의 생성이 아닌 이미 생성된 문서에 관한 다른 작업에 관한 데이터일 수 있다. 예를 들어, 이미 생성된 문서에 관한 다른 작업은 문서의 열람, 수정, 변경, 추가, 삭제 및 전달 중 어느 하나에 해당하는 것일 수 있다.
구체적으로 도 7을 참조하면, B1은 A문서의 생성에 관한 데이터를 포함하고 있고, B11 내지 B13은 모두 A문서에 관한 데이터를 포함하고 있다. 또한, B4은 C문서의 생성에 관한 데이터를 포함하고 있고, B41 내지 B42는 모두 C문서에 관한 데이터를 포함하고 있다.
그리고 만약 이미 생성된 D문서의 생성이 아닌 다른 작업, 예를 들어, 수정에 관한 이벤트가 발생한다면 그에 대한 데이터가 포함된 블록은 B71로 생성되어 B7의 서브 블록으로 연결될 수 있다.
제2 형 이벤트는 제1 형 이벤트 및 제3 형 이벤트에 해당되지 않는 다른 이벤트일 수 있다. 따라서 제2 형 이벤트는 제1 형 이벤트 및 제3 형 이벤트와 달리 문서에 관한 이벤트가 아닐 수 있다. 예를 들어, 제2 형 이벤트는 해당 블록체인 시스템에서 코인이 발행될 경우, 그 코인에 관한 데이터일 수 있다.
이러한 블록체인 시스템을 이용하면, 특정 노드가 진위여부를 검증하려는 문서에 따라 일부의 블록만을 저장하고 사용하는 것이 가능하다.
구체적으로 도 7에서, 특정 노드가 C문서의 열람에 관한 데이터만의 검증을 원할 경우, 상기 특정 노드는 메인 브랜치(1000)의 최초 블록과 제1 형 블록 및 B42가 포함된 서브 브랜치의 서브 블록만을 저장하고 있으면 된다. 즉, 상기 특정 노드는 총 7개의 블록만을 저장하고 있는 것이다. 이는 총 13개로 구성된 모든 블록체인의 모든 블록을 저장하는 것보다 작은 개수의 블록을 저장하는 것이다.
도 8을 참조하여, 본 발명의 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 8은 본 발명의 다른 일 실시예에 따른 블록체인 시스템의 예시적인 블록도이다.
설명의 편의를 위해서, 도 8을 참조하여 본 발명의 실시예를 설명하면서 도 5를 참조하여 이미 설명한 것과 동일한 내용 중 일부는 생략하도록 한다.
본 발명의 블록체인 시스템은 메인 브랜치(1000) 및 서브 브랜치(1002, 1005)를 포함한다.
최초 제1 형 블록은 해당 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함한다. 즉, 도 5를 참조하여 설명한 것과 달리, 최초 제1 형 블록은 최초 블록(B0)의 해시값(H0)을 포함하는 것이 아니라 해당 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함하는 것이다.
구체적으로, 도 8을 참조하면 최초 제1 형 블록은 B2에 해당한다. B2를 기준으로 직전 블록은 B1에 해당한다. 따라서 B2는 B1의 적어도 일부의 해시값(H1)을 포함한다.
최초 제1 형 블록은 직전 블록의 적어도 일부의 해시값을 2개로 구분하여 포함할 수도 있고, 하나로 포함할 수도 있다. 도 8을 참조하면, 최초 제1 형 블록은 B2는 B1의 적어도 일부의 해시값(H1)을 구분하여 포함하는 것으로 도시하였지만 이에 한정되는 것은 아니다.
도 8의 블록체인 시스템에서, 특정 노드가 제1 형 이벤트의 데이터만의 검증을 원할 경우를 가정하여 설명한다. 상술한 것과 같이, 제1 형 이벤트의 데이터는 제1 형 블록에 포함되게 된다. 따라서 상기 특정 노드는 최초 제1 형 블록 직전의 블록과 제1 형 블록만을 저장하고, 이를 활용하여 데이터를 검증하는 것이 가능하다.
구체적으로 도 8에서, 특정 노드가 B7에 저장된 데이터의 검증을 원할 경우, 상기 특정 노드는 메인 브랜치(1000)의 최초 제1 형 블록 직전의 블록과 제1 형 블록만을 저장하고 있으면 된다. 즉, 상기 특정 노드는 총 5개의 블록만을 저장하고 있는 것이다. 이는 총 14개로 구성된 모든 블록체인의 모든 블록을 저장하는 것이나, 총 9개로 구성된 메인 브랜치(1000)의 모든 블록을 저장하는 것보다 작은 개수의 블록을 저장하는 것이다.
이상, 본 발명의 블록체인 시스템의 실시예들에 대해 설명하였다. 본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
100, 100a, 101, 200: 블록
110, 210: 블록 헤더
120, 220: 블록 몸체
1000: 메인 브랜치
1001, 1002, 1004, 1005: 서브 브랜치

Claims (17)

  1. 블록체인 시스템에 있어서,
    최초(genesis) 블록, 적어도 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하는 메인 브랜치를 포함하고,
    상기 메인 브랜치에 포함된 블록은 상기 최초 블록을 시작으로 각각 블록의 생성 순서에 따라 연결되고,
    상기 최초 블록을 제외한 상기 메인 브랜치에 포함된 블록은 상기 메인 브랜치에서 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함하고,
    상기 제1 형 블록 중 적어도 일부는 상기 메인 브랜치에서 해당 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함하고,
    상기 제1 형 블록은 문서에 관한 데이터를 포함하는 블록체인 시스템.
  2. 제1 항에 있어서,
    상기 제1 형 블록이 포함하는 문서에 관한 데이터는 문서의 생성에 관한 데이터인 블록체인 시스템.
  3. 제1 항에 있어서,
    상기 제1 형 블록은 해당 제1 형 블록을 시작 블록으로 하는 분기를 허용하는 블록체인 시스템.
  4. 제1 항에 있어서,
    상기 제1 형 블록의 적어도 일부는 해당 제1 형 블록을 시작 블록으로 하여 서브 블록이 연결되어 있는 조인트 블록인 블록체인 시스템.
  5. 제4 항에 있어서,
    상기 서브 블록은 해당 서브 블록의 시작 블록과 동일한 문서에 관한 데이터를 포함하는 블록체인 시스템.
  6. 제5 항에 있어서,
    상기 시작 블록은 문서의 생성에 관한 데이터를 포함하고,
    상기 서브 블록은 생성된 상기 문서의 생성이 아닌 다른 작업에 관한 데이터를 포함하는 블록체인 시스템.
  7. 제6 항에 있어서,
    상기 문서의 생성이 아닌 다른 작업은, 문서의 열람, 수정, 변경, 추가, 삭제 및 전달 중 어느 하나에 해당하는 블록체인 시스템.
  8. 제4 항에 있어서,
    상기 조인트 블록 및 상기 조인트 블록을 시작 블록으로 하여 연결된 적어도 하나의 서브 블록을 포함하는 서브 브랜치를 더 포함하는 블록체인 시스템.
  9. 제8 항에 있어서,
    하나의 상기 서브 브랜치에 포함되는 복수의 블록은 동일한 문서에 관한 데이터를 포함하는 블록체인 시스템.
  10. 제8 항에 있어서,
    하나의 상기 서브 브랜치의 상기 서브 블록은 해당 블록 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  11. 제1 항에 있어서,
    상기 문서는 미리 정해진 동일한 유형의 문서인 블록체인 시스템.
  12. 제11 항에 있어서,
    상기 문서는 의료, 교육, 행정 중 어느 하나에 관련된 문서인 블록체인 시스템.
  13. 제1 항에 있어서,
    상기 적어도 일부의 제1 형 블록은 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 시스템.
  14. 제1 항에 있어서,
    상기 적어도 일부의 제1 형 블록이 포함하는 상기 직전에 생성된 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값이 동일한 경우, 하나의 해시값만을 포함하는 블록체인 시스템.
  15. 제1 항에 있어서,
    상기 제1 형 블록은 제1 형 블록 중 가장 먼저 생성된 최초 제1 형 블록 및 상기 최초 제1 형 블록 이후에 생성된 후속 제1 형 블록을 포함하고,
    상기 후속 제1 형 블록은 상기 메인 브랜치에서 해당 후속 제1 형 블록 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  16. 제15 항에 있어서,
    상기 최초 제1 형 블록은 상기 최초 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  17. 제15 항에 있어서,
    상기 최초 제1 형 블록은 상기 최초 제1 형 블록 직전 블록의 적어도 일부의 해시값을 포함하고, 다른 블록의 적어도 일부의 해시값은 포함하지 않는 블록체인 시스템.
KR1020180061295A 2018-05-29 2018-05-29 블록체인 시스템 KR20190135822A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180061295A KR20190135822A (ko) 2018-05-29 2018-05-29 블록체인 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180061295A KR20190135822A (ko) 2018-05-29 2018-05-29 블록체인 시스템

Publications (1)

Publication Number Publication Date
KR20190135822A true KR20190135822A (ko) 2019-12-09

Family

ID=68837562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180061295A KR20190135822A (ko) 2018-05-29 2018-05-29 블록체인 시스템

Country Status (1)

Country Link
KR (1) KR20190135822A (ko)

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 주식회사 라이프시맨틱스 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램

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 주식회사 온더 블록체인 기반의 스마트 증권업무 처리 시스템

Similar Documents

Publication Publication Date Title
Lustig et al. Algorithmic authority: The case of Bitcoin
KR20180124545A (ko) 블록체인 시스템 및 블록체인 생성 방법
KR20180124541A (ko) 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
US20190278758A1 (en) Data isolation in a blockchain network
US10007803B2 (en) Searching over encrypted keywords in a database
CN108292351A (zh) 使用诸如以时间为中心的默克尔散列树之类的散列树的数据验证方法和系统
Warmke What is bitcoin
CN108197957A (zh) 一种基于区块链的防伪方法及系统
CN112883117B (zh) 一种数据同步方法、设备以及计算机可读存储介质
US11551229B2 (en) Payslip verification for blockchain transaction
CN109981588B (zh) 一种基于区块链的数据交易业务处理方法及系统
KR102272164B1 (ko) 블록체인에서 스마트 컨트랙트를 이용한 대용량 전자 문서 유통 방법
KR102412511B1 (ko) 블록체인 did를 이용한 콘텐츠 관리 장치 및 방법
KR20190099936A (ko) 블록체인 시스템
US20210073805A1 (en) Embedded data transaction exchange platform
KR20190113211A (ko) 블록체인 시스템
KR20190113210A (ko) 블록체인 시스템
US20210365480A1 (en) Combining visualizations in a business analytic application
KR20190135822A (ko) 블록체인 시스템
KR20190135823A (ko) 블록체인 시스템
Feng et al. NHS big data intelligence on Blockchain applications
Lindenmoyer et al. Blockchain: Application and utilization in higher education
KR102365914B1 (ko) 블록체인 기반의 스마트 컨트랙트를 이용한 개인 정보가 포함된 전자 문서를 유통하는 방법 및 그 시스템
US11107103B2 (en) Multi-card overlay display
Haan Facebook's Alternative Facts

Legal Events

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