KR102017739B1 - 블록체인 시스템 및 블록체인 생성 방법 - Google Patents

블록체인 시스템 및 블록체인 생성 방법 Download PDF

Info

Publication number
KR102017739B1
KR102017739B1 KR1020170059276A KR20170059276A KR102017739B1 KR 102017739 B1 KR102017739 B1 KR 102017739B1 KR 1020170059276 A KR1020170059276 A KR 1020170059276A KR 20170059276 A KR20170059276 A KR 20170059276A KR 102017739 B1 KR102017739 B1 KR 102017739B1
Authority
KR
South Korea
Prior art keywords
block
type
last
blocks
hash value
Prior art date
Application number
KR1020170059276A
Other languages
English (en)
Other versions
KR20180124545A (ko
Inventor
김승기
김병진
권용석
Original Assignee
박경옥
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박경옥 filed Critical 박경옥
Priority to KR1020170059276A priority Critical patent/KR102017739B1/ko
Priority to PCT/KR2017/010020 priority patent/WO2018207975A1/ko
Priority to TW107113747A priority patent/TW201901482A/zh
Priority to SG10201803839RA priority patent/SG10201803839RA/en
Publication of KR20180124545A publication Critical patent/KR20180124545A/ko
Application granted granted Critical
Publication of KR102017739B1 publication Critical patent/KR102017739B1/ko

Links

Images

Classifications

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

Landscapes

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

Abstract

본 발명은 블록체인 시스템 및 블록체인 생성 방법에 관한 것으로, 더욱 상세하게는 메인 브랜치와 서브 브랜치를 포함하는 블록체인 시스템과 이러한 블록체인의 생성 방법에 관한 것이다.
본 발명의 블록체인 시스템은, 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고, 상기 메인 브랜치의 마지막 제1 형 블록은, 상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함한다.

Description

블록체인 시스템 및 블록체인 생성 방법{Blockchain system and method of creating blockchain}
본 발명은 블록체인 시스템 및 블록체인 생성 방법에 관한 것으로, 더욱 상세하게는 메인 브랜치와 서브 브랜치를 포함하는 블록체인 시스템과 이러한 블록체인의 생성 방법에 관한 것이다.
블록체인은 분산 데이터베이스의 일종으로 암호화된 가상화폐인 비트코인에서 도입된 개념으로 알려져 있다. 기존에 거래장부, 문서 등의 디지털 컨텐츠를 중앙집중형 서버에 보관하고 관리하던 것과 달리, 블록체인 시스템에서는 누적된 디지털 컨텐츠를 네트워크를 통해 연결된 복수의 참여자의 장치(노드)에 저장하여 관리한다. 이러한 블록체인 시스템은 디지털 컨텐츠 자체가 인터넷을 통해 공개되어 있고, 다수의 참여자에 의해 수시로 검증이 진행되므로 위조 또는 변조가 매우 어렵다는 장점이 있다.
이러한 블록체인 시스템은 비트코인 등의 가상화폐 시스템 또는 금융기관의 거래기록 보관 등에 사용되고 있다. 또한, 최근에는 이러한 블록체인 시스템을 전자화된 문서관리 및 원본확인 등을 위해 사용되기도 한다.
예를 들어, 비트코인의 경우 노드들이 평균적으로 10분마다 이체 정보를 모아 블록을 새로 생성하고, 이를 해당하는 피어투피어 네트워크에 전파하고, 이를 전파 받은 노드들 또는 암호화폐 지갑들은 검증 후에 상기 블록을 블록체인에 추가한다.
블록체인은 다수의 블록을 포함하고, 또한 새 블록은 특정 시간마다 블록체인의 마지막 블록에 체인형태로 추가된다. 비트코인의 경우, 블록은 상기 도면과 같이 이체기록들을 포함한 이체부분(transaction part)과 이전 블록번호와 현재 블록번호 등을 포함한 헤더부분(header part)으로 구성된다.
비트코인의 블록체인은 블록번호1을 포함한 최초블록을 생성된 경우 블록2가 생성된다. 상기 최초블록이 생성된 후 다음 블록을 찾기 위한 경쟁에서 이긴 노드가 블록2를 생성하여 해당 네트워크로 전파한다. 이때 상기 블록2는 자신의 블록번호2와 함께 이전 블록의 블록번호1을 헤더부분에 포함한다. 즉, 새로운 블록은 헤더부분에 이전 블록의 블록번호를 포함함으로서, 이전 블록과 새로운 블록이 체인 형태로 연결하는 방법을 사용한다.
컴퓨팅 장치에 설치된 비트코인 지갑은 블록체인 전체를 피어투피어 네트워크를 통해서 전송받아 컴퓨팅장치의 저장부에 저장한다. 하지만, 경량 비트코인 지갑(light-weight wallet)을 설치하면 블록체인의 헤더부분만 컴퓨팅장치의 저장부에 저장할 수 있다.
한편, 블록체인에 참여하는 노드들은 전체 블록체인의 데이터를 컴퓨팅 장치에 저장하고 유지관리 해야 한다. 누적된 거래 등이 적어 전체 블록체인의 크기가 크지 않은 경우에는 문제되지 않으나, 거래 등 신규 이벤트 발생이 누적되면서 블록의 개수가 증가할수록 전체 블록체인의 크기는 점차 증가하게 된다. 대표적인 블록체인 시스템인 비트코인의 전체 블록체인 크기는 현재 수십 Gbyte에 달하고 있다.
삭제
따라서 블록체인에 참여하는 노드들은 이러한 대용량의 데이터를 저장하고 유지관리할 수 있는 높은 수준의 저장 장치 및 컴퓨팅 장치가 필요하다. 그러나 일반적인 개인용 컴퓨터는 이러한 수준의 성능에 도달하지 못할 수 있다. 특히, 스마트폰, 태블릿 컴퓨터 등 개인용 모바일 장치는 더욱 이러한 수준의 성능에 도달하지 못하는 실정이다.
본 발명이 해결하려는 과제는, 블록들이 복수의 브랜치로 연결되도록 구성하여 데이터를 효율적이고 체계적으로 관리할 수 있는 블록체인 시스템을 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 블록들이 복수의 브랜치로 연결되더라도 모든 블록의 위변조에 대한 안전성을 확보할 수 있는 블록체인 시스템 및 이러한 블록체인의 생성 방법을 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 블록체인 시스템은, 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고, 상기 메인 브랜치의 마지막 제1 형 블록은, 상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함한다.
본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 상기 메인 브랜치에 포함되고 상기 마지막 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 마지막 제1 형 블록은, 둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고, 상기 해시값은, 각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다.
본 발명의 일 실시예에 있어서, 상기 마지막 제2 형 블록은, 상기 마지막 제1 형 블록보다 이전에 생성된 블록일 수 있다.
또한, 상기 과제를 해결하기 위한 본 발명의 블록체인 시스템은, 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고, 상기 메인 브랜치의 임의의 제1 형 블록은, 상기 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함한다.
본 발명의 일 실시예에 있어서, 상기 임의의 제1 형 블록은, 상기 메인 브랜치에 포함되고 상기 임의의 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 임의의 제1 형 블록은, 상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 임의의 제1 형 블록은, 상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 일부 블록은, 상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록일 수 있다.
본 발명의 일 실시예에 있어서, 상기 일부 블록은, 상기 임의의 제1 형 블록이 생성될 때, 모든 서브 브랜치의 마지막 블록일 수 있다.
본 발명의 일 실시예에 있어서, 상기 일부 블록은, 상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록이되, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록일 수 있다.
본 발명의 일 실시예에 있어서, 상기 일부 블록은 둘 이상의 블록이고, 상기 해시값은, 상기 일부 블록의 각각의 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다.
또한, 상기 과제를 해결하기 위한 본 발명의 블록체인 생성 방법은 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되는 블록체인을 마련하는 단계 및 새로운 제1 형 블록을 상기 메인 브랜치의 마지막 제1 형 블록에 연결되도록 생성하는 단계를 포함하고, 상기 새로운 제1 형 블록은, 상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함한다.
본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 마지막 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 새로운 제1 형 블록은, 둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고, 상기 해시값은, 각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다.
본 발명의 일 실시예에 있어서, 상기 마지막 제2 형 블록은, 상기 새로운 제1 형 블록보다 이전에 생성된 블록일 수 있다.
본 발명의 일 실시예에 따른 블록체인 시스템은 블록들이 복수의 브랜치로 연결되도록 구성하여 데이터를 효율적이고 체계적으로 관리할 수 있다.
또한, 본 발명의 일 실시예에 따른 블록체인 시스템은 블록들이 복수의 브랜치로 연결되더라도 모든 블록의 위변조에 대한 안전성을 확보할 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 개별 블록의 구성을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 시스템의 두 개의 블록이 연결된 것을 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 시스템의 데이터를 설명하기 위한 도면이다.
도 4는 블록체인에서 블록의 표시 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 6은 본 발명의 일 실시예에 따른 블록체인 시스템의 마지막 제1 형 블록을 설명하기 위한 도면이다.
도 7은 본 발명의 다른 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 8 및 도 9는 본 발명의 또 다른 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 10은 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부한 도 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)의 해시값은 상술한 것과 같이, 직전 블록(100)의 전체 또는 선택된 일부의 정보의 해시값일 수 있다. 예를 들어, 첨부한 도 2에 도시된 것과 같이 직전 블록(100)의 해시값은 직전 블록의 블록헤더(110)의 정보의 해시값인 것으로 정의될 수 있다. 직전 블록의 해시값은 블록을 설계하는 사람의 기호 및 판단에 따라 다양하게 변경될 수 있다.
도 3을 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템의 데이터에 대해 설명하도록 한다.
본 발명의 블록체인 시스템은 복수의 블록을 포함한다. 하나의 블록은 하나의 데이터를 포함한다. 여기서 데이터는 하나의 블록에 포함되는 정보의 단위 집합을 의미한다. 구체적으로, 블록의 블록몸체는 데이터를 포함할 수 있다.
블록체인 시스템의 블록이 포함하는 데이터는 제1 형 데이터 및 제2 형 데이터로 구분될 수 있다. 제1 형 데이터는 다른 데이터에 기반하지 않은 데이터에 해당한다. 제2 형 데이터는 제1 형 데이터에 기반한 데이터에 해당한다.
도 3을 참조하면, 제1 형 데이터(10)는 신규 자료를 생성하는 것에 관한 데이터일 수 있다. 그리고 제2 형 데이터(20)는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 데이터일 수 있다. 여기서, 기존 자료란 제1 형 데이터(10)가 생성한 자료를 의미한다.
구체적으로, 데이터는 디지털 컨텐츠, 문서, 계좌, 거래, 인사, 생산 이력, 설계, 도면, 사운드, 프로그래밍 코드 등이 될 수 있다. 그리고 제1 형 데이터 및 제2 형 데이터도 이러한 다양한 종류에 따라 구분될 수 있다. 제1 형 데이터 및 제2 형 데이터는 상술한 것에 한정되지 않는다.
도 4를 참조하여, 도 5 내지 도 9에서 도시되는 블록체인을 구성하는 블록에 대해서 간략하게 설명하도록 한다.
블록은 도 1 및 도 2를 참조하여 설명한 것과 같이, 블록헤더와 블록몸체를 포함한다. 그러나 설명의 편의성을 위해 도 5 내지 도 9에서는 도 3에 도시된 방식으로 개별 블록을 표시하도록 한다.
도 3을 참조하면, 하나의 블록을 설명하는데 있어서, 블록의 타이틀, 직전 블록의 해시값 및 당해 블록의 해시값이 표시된다. 하나의 블록은 상하로 배열된 3칸의 표에서, 첫번째 칸에는 블록의 타이틀이 표시되고, 두번째 칸에는 직전 블록의 해시값이 표시되고, 세번째 칸에는 당해 블록의 해시값이 표시된다.
아래에서 설명할 마지막 제1 형 블록은 마지막 제2 형 노드의 해시값을 더 포함할 수 있다. 또한, 마지막 제1 형 블록을 설명하는데 있어서, 블록의 타이틀, 직전 블록의 해시값 및 당해 블록의 해시값에 더불어 마지막 제2 형 노드의 해시값이 추가로 표시될 수 있다. 마지막 제1 형 블록은 상하로 배열된 4칸의 표에서, 첫번째 칸에는 블록의 타이틀이 표시되고, 두번째 칸에는 직전 블록의 해시값이 표시되고, 세번째 칸에는 마지막 제2 형 노드의 해시값이 표시되고, 네번째 칸에는 당해 블록의 해시값이 표시된다. 마지막 제2 형 노드의 해시값에 대해서는 아래에서 상세하게 설명하도록 한다.
블록의 타이틀은 Bn 또는 Bnm과 같은 형태로 표시된다. 블록의 타이틀이 Bn이라는 것은 상기 블록이 메인 브랜치의 n번째 블록이라는 것을 의미한다. 그리고 블록의 타이틀이 Bnm이라는 것은 상기 블록이 메인 브랜치의 n번째 블록에서 분기되는 서브 브랜치의 m번째 제2 형 블록이라는 것을 의미한다. 임의의 서브 브랜치의 m번째 제2 형 블록은 상기 서브 브랜치의 m+1번째 블록에 해당한다.
어느 블록의 해시값은 H라는 기호를 이용하여 표시된다. 예를 들어, 블록의 타이틀이 Bnm인 블록의 해시값은 Hnm으로 표시되게 된다. 도 4를 참조하면, 블록의 타이틀이 Bnm인 블록의 직전 블록은 블록의 타이틀이 Bn(m-1)인 블록인 것이고, 직전 블록의 해시값은 Hn(m-1)인 것이다.
상기 블록의 타이틀, 해시값의 기호 등을 설명하면서 언급한 메인 브랜치, 서브 브랜치, 제2 형 블록 등에 대해서는 이하 도 5를 참조하여 상세하게 설명하도록 한다.
도 5를 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 5는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
본 발명의 블록체인 시스템은 복수의 블록을 포함한다. 하나의 블록은 하나의 데이터를 포함한다. 상술한 것과 같이, 데이터는 제1 형 데이터(10) 및 제2 형 데이터(20)로 구분될 수 있다. 블록은 포함하는 데이터의 종류에 따라 제1 형 블록(100) 및 제2 형 블록(200)으로 구분될 수 있다. 제1 형 블록(100)은 제1 형 데이터(10)를 포함하는 블록에 해당한다. 또한, 제2 형 블록(200)은 제2 형 데이터(20)를 포함하는 블록에 해당한다.
본 발명의 블록체인 시스템은 메인 브랜치(1000) 및 적어도 하나의 서브 브랜치(2000)를 포함한다. 여기서, 브랜치란 복수의 블록들이 서로 선형적으로 연결된 블록들의 집합을 의미한다.
메인 브랜치(1000)는 최초로 생성된 블록(genesis block)과 이에 연결된 적어도 하나의 연결 블록을 포함한다. 메인 브랜치(1000)는 최초로 생성된 블록에서 연결 블록이 일 방향으로 분기되기 않고 연결된다. 메인 브랜치(1000)에서 분기되어 다른 브랜치가 형성될 수는 있지만 분기된 블록들은 메인 브랜치(1000)에 포함되는 것이 아니다. 분기된 블록들은 후술할 서브 브랜치(2000)에 포함될 수 있으며, 이에 대해서는 아래에서 설명하도록 한다.
메인 브랜치(1000)는 제1 형 블록(100)들로 구성된다. 즉, 메인 브랜치(1000)가 포함하는 최초로 생성된 블록 및 연결 블록은 모두 제1 형 블록(100)에 해당한다. 메인 브랜치(1000)가 포함하는 블록들은 생성된 순서에 따라 순서대로 연결된다. 블록의 연결은 당해 블록이 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것에 의해 달성된다. 이러한 연결 형태에 대해서는 도 5에 블록 사이의 화살표를 통해 표시되어 있다. 따라서 최초로 생성된 블록을 제외하고 하나의 제1 형 블록은 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함한다.
서브 브랜치(2000)는 메인 브랜치(1000)로부터 분기되어 형성된 브랜치이다. 서브 브랜치(2000)는 루트 블록(root block)과 이에 연결된 적어도 하나의 연결 블록을 포함한다. 루트 블록은 메인 브랜치(1000)에도 포함되는 블록으로, 서브 브랜치(2000)의 분기가 시작되는 블록이다. 루트 블록은 당해 서브 브랜치(2000)에서 최초로 생성된 블록(genesis block)에 해당한다.
여기서, 루트 블록은 제1 형 블록(100)에 해당한다. 그리고 서브 브랜치(2000)가 포함하는 연결 블록은 제2 형 블록(200)에 해당한다. 하나의 서브 브랜치(2000)가 포함하는 블록들은 생성된 순서에 따라 순서대로 연결된다. 블록의 연결은 당해 블록이 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것에 의해 달성된다. 따라서 하나의 서브 브랜치(2000)에서 최초로 생성된 연결 블록(제2 형 블록)은 당해 서브 브랜치(2000)의 연결되는 루트 블록의 적어도 일부의 해시값을 포함한다. 또한, 하나의 서브 브랜치(2000)에서 최초로 생성되지 않은 연결 블록(제2 형 블록)은 당해 서브 브랜치(2000)에 포함되고 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함한다. 이러한 연결 형태에 대해서는 도 5에 블록 사이의 화살표를 통해 표시되어 있다.
서브 브랜치(2000)는 적어도 하나의 연결 블록(제2 형 블록)을 포함하는 것을 조건으로 한다. 경우에 따라서, 연결 블록(제2 형 블록)이 없고 루트 블록(제1 형 블록)만이 존재하는 높이(길이)가 1개 블록인 서브 브랜치를 생각해볼 수도 있겠지만, 본 명세서에서는 이러한 경우 그러한 서브 브랜치가 존재하지 않는 것으로 정의한다. 즉, 설명의 편의성을 위해서 서브 브랜치(2000)는 하나의 루트 블록(제1 형 블록)과 이에 연결된 적어도 하나의 연결 블록(제2 형 블록)이 있는 것을 조건으로 정의한다.
서브 브랜치(2000)는 하나 또는 둘 이상이 형성될 수 있다. 서브 브랜치(2000)는 하나의 루트 블록에서 하나 또는 둘 이상이 연장되는 형태로 형성될 수 있다. 그러나 첨부한 도면 및 이하에서는 설명의 편의성을 위해서 하나의 루트 블록에서 하나의 서브 브랜치(2000)만이 형성되는 것을 예를 들어 설명하도록 한다. 그러나 이러한 설명이 본 발명에서 하나의 루트 블록에서 둘 이상의 서브 브랜치(2000)가 연장되는 것을 제외하는 것은 아니다.
하나의 루트 블록에서 하나의 서브 브랜치(2000)가 연장되어 형성되는 경우라면, 서브 브랜치(2000)는 최대 메인 브랜치(1000)의 블록의 개수까지 형성되는 것이 가능하다.
도 5에서는 블록체인 시스템이 메인 브랜치(1000)와 서브 브랜치(2000)로 구성되고, 블록들이 제1 형 블록(100)과 제2 형 블록(200)으로 구성되는 것을 도시하였지만, 경우에 따라서는 메인 브랜치, 서브 브랜치 및 서브-서브 브랜치로 구성되고, 블록들도 제1 형 블록, 제2 형 블록 및 제3 형 블록으로 구성될 수도 있다. 여기서, 서브-서브 브랜치는 서브 브랜치를 메인 브랜치로 하고, 서브 브랜치에서 다시 분기된 브랜치를 의미한다. 서브-서브 브랜치의 루트 블록은 서브 브랜치에 포함되는 제2 형 블록이 될 수 있다. 그리고 서브-서브 브랜치의 연결 블록은 제3 형 블록이 될 수 있다. 이와 같이, 본 발명의 블록체인 시스템에서 메인 브랜치와 서브 브랜치는 상대적인 것으로, 서브 브랜치가 연쇄적으로 생성될 수 있다.
이하, 도 5를 참조하여, 마지막 제1 형 블록(190)에 대해서 설명하도록 한다. 도 5에 도시된 블록체인 시스템은 본 발명의 블록체인 시스템의 일 예시에 불과하고, 이러한 블록체인 시스템의 마지막 제1 형 블록(190)도 본 발명의 설명을 위한 예시에 불과하다.
도 5를 참조하면, 메인 브랜치(1000)에는 마지막 블록(190)이 존재한다. 마지막 블록(190)은 마지막 제1 형 블록에 해당한다. 구체적으로, 마지막 블록(190)은 메인 브랜치(1000)에서 최초로 생성된 블록을 시작으로 하여 연결된 브랜치의 마지막 제1 형 블록(190)에 해당한다. 도 5에서는 마지막 제1 형 블록(190)이 B5 블록에 해당한다. 도 5에 있어서, 마지막 제1 형 블록(190)은 도 5에 도시된 다른 모든 블록보다 마지막에 생성된 블록에 해당한다.
도 5에 도시된 마지막 제1 형 블록(B5, 190)은 직전 블록의 해시값(H4) 등 다른 블록의 해시값을 포함하지만, 마지막 제1 형 블록의 해시값(H5)은 다른 블록에 포함되지 않는다. 이후에 메인 브랜치(1000)에 추가로 제1 형 블록이 연결되도록 생성된다면, 상기 마지막 제1 형 블록의 해시값(H5)이 추가로 생성되는 블록에 포함될 수 있지만, 도 5를 참조하여 설명하는 시점에서는 마지막 제1 형 블록의 해시값(H5)은 다른 블록에 포함되지 않는다.
마지막 제1 형 블록(B5, 190)은 직전 블록의 해시값(H4) 이외에 다른 블록의 해시값을 추가로 포함한다. 여기서, 직전 블록의 해시값(H4)은 메인 브랜치(1000)에 포함되고 상기 마지막 제1 형 블록(B5, 190)보다 직전에 생성된 제1 형 블록(B4)의 적어도 일부의 해시값에 해당한다. 그리고 다른 블록의 해시값이란 상기 직전 블록의 해시값과 구분되는 해시값이다. 이하, 상기 다른 블록의 해시값에 대해서 상세하게 설명한다.
도 5를 참조하면, 마지막 제1 형 블록(B5, 190)은 서브 브랜치(2000)의 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함할 수 있다. 여기서, 마지막 제2 형 블록(290)의 범위는 마지막 제1 형 블록(B5, 190)이 생성되는 시점에서 결정된다. 구체적으로, 서브 브랜치(2000)는 마지막 제1 형 블록(B5, 190)보다 이전에 생성된 메인 브랜치(1000)의 제1 형 블록(B1, B2, B3, B4)을 루트 블록으로 하여 연결되는 브랜치이다. 그리고 마지막 제2 형 블록(290)은 이러한 서브 브랜치(2000)의 루트 블록을 시작으로 하여 연결된 브랜치의 마지막 제2 형 블록(290)에 해당한다. 이러한 마지막 제2 형 블록(290)은 상기 마지막 제1 형 블록(B5, 190)보다 이전에 생성된 블록이다. 즉, 여기서 마지막 제2 형 블록(290)이란 마지막 제1 형 블록(B5, 190)이 생성될 때, 서브 브랜치(2000)의 마지막 블록에 해당하는 블록을 의미한다.
마지막 제1 형 블록(B5, 190)이 생성되는 시점에서 복수의 서브 브랜치(2000)가 존재할 수 있다. 그리고 마지막 제2 형 블록(290)도 복수로 존재할 수 있다. 구체적으로, 마지막 제2 형 블록(290)은 복수의 서브 브랜치에 각각 하나씩 존재한다. 도 5에서는 마지막 제2 형 블록(290)이 B13, B33 및 B44인 것으로 도시되어 있다. 상술한 것과 같이, 서브 브랜치(2000)는 적어도 하나의 제2 형 블록(200)을 포함하는 것을 조건으로 하기 때문에 서브 브랜치(2000)의 개수만큼 마지막 제2 형 블록(290)이 존재하게 된다.
도 5에 도시된 것과는 다르지만, 마지막 제2 형 블록(290)이 하나가 존재하는 경우, 마지막 제1 형 블록(190)은 하나의 마지막 제2 형 블록(290)의 적어도 일부의 해시값을 포함할 수 있다.
또한, 도 5에 도시된 것과 같이, 마지막 제2 형 블록(290)이 복수로 존재하는 경우, 마지막 제1 형 블록(B5, 190)은 모든 마지막 제2 형 블록(B13, B33, B44)의 적어도 일부의 해시값을 포함할 수 있다. 여기서, 마지막 제2 형 블록(B13, B33, B44)의 적어도 일부의 해시값은 마지막 제2 형 블록(B13, B33, B44)의 블록헤더의 해시값일 수 있다.
이러한 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum) 은 마지막 제1 형 블록(B5, 190)의 블록헤더에 포함될 수 있다. 마지막 제1 형 블록(B5, 190)의 블록헤더에는, 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum)과 메인 브랜치에 포함되고 마지막 제1 형 블록(B5, 190)보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값(H4)이 포함될 수 있다. 상기 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum)과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값(H4)은 마지막 제1 형 블록(B5, 190)의 블록헤더에서 구분되어 포함될 수 있다. 따라서 마지막 제2 형 블록(290) 및 메인 브랜치(1000)의 검증을 위해 상기 해시값들(Hsum, H4) 이 사용될 수 있다. 이러한 해시값(Hsum, H4)들이 포함된 마지막 제1 형 블록(190)의 블록헤더의 해시값(H5)은 이후에 메인 브랜치(1000)에 추가로 제1 형 블록이 연결되도록 생성된다면, 추가로 생성되는 블록에 포함되어 연쇄적으로 연결되게 된다.
도 6을 참조하여, 마지막 제1 형 블록(B5, 190)이 복수의 마지막 제2 형 블록의 적어도 일부의 해시값(Hsum)을 포함하는 경우에 대해서 설명하도록 한다. 마지막 제2 형 블록(290)이 복수인 경우, 마지막 제1 형 블록(190)이 포함하는 해시값은 각각의 마지막 제2 형 블록(290)의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값(Hsum)일 수 있다. 구체적으로, 마지막 제1 형 블록(190)은 각각의 마지막 제2 형 블록의 블록헤더의 해시값(H13, H33, H44)으로부터 생성된 머클 트리의 루트에 대한 해시값(Hsum)을 포함할 수 있다.
도 5 및 도 6을 참조하여 설명한 블록체인 시스템은 특정 블록의 검증을 위해서 전체 블록체인 데이터를 저장하고 이용하지 않을 수 있다. 구체적으로, 특정 블록이 제1 형 블록(100)일 경우, 노드는 메인 브랜치(1000)의 블록체인 데이터만을 이용하여 상기 특정 블록의 검증이 가능하다. 또한, 특정 블록이 제2 형 블록(200)일 경우, 노드는 상기 특정 블록이 포함된 서브 브랜치(2000)와 메인 브랜치(1000)의 블록체인 데이터만을 이용하여 상기 특정 블록의 검증이 가능하다. 이에 따라 노드가 저장하고 검증해야 하는 블록의 크기를 줄일 수 있다.
또한, 상술한 마지막 제1 형 블록(190)이 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함하는 것에 의해서, 마지막 제2 형 블록(290)의 안전성이 강화될 수 있다.
통상적인 블록체인 시스템에서는 마지막 블록의 안전성이 상대적으로 취약하다는 단점이 있다. 이는 마지막 블록은 그것의 해시값이 다른 블록에 다시 포함되지 않기 때문이다. 상술한 메인 브랜치 및 적어도 하나의 서브 브랜치를 포함하는 블록체인 시스템은 브랜치의 개수만큼 마지막 블록이 존재하여, 상대적으로 안전성이 취약한 마지막 블록이 많을 수 있다.
그러나 상술한 것과 같이 마지막 제1 형 블록(190)이 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함하여, 마지막 제2 형 블록(290)의 안전성을 확보할 수 있다. 구체적으로, 마지막 제2 형 블록(290)은 개별 서브 브랜치(2000)의 마지막 블록이지만, 그것의 해시값이 마지막 제1 형 블록(190)에 포함되게 되어 상술한 취약성이 극복될 수 있다. 결과적으로, 본 발명의 블록체인 시스템에서 실질적인 마지막 블록은 통상적인 블록체인 시스템과 마찬가지로 하나만 존재하게 된다.
도 7을 참조하여 본 발명의 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다.
도 7을 참조하여 설명하는 블록체인 시스템은 도 5 및 도 6을 참조하여 상술한 블록체인 시스템과 마지막 제1 형 블록(190)이 포함하는 마지막 제2 형 블록의 적어도 일부의 해시값에서 차이가 있다. 따라서 설명의 편의성을 위해서 본 실시예의 블록체인 시스템을 설명하는데 있어서, 도 5 및 도 6을 참조하여 상술한 것과 다른 점을 중심으로 설명하도록 한다.
도 7에 있어서, 마지막 제1 형 블록(190)은 도 7에 도시된 다른 모든 블록보다 마지막에 생성된 블록에 해당한다.
도 7을 참조하면, 마지막 제1 형 블록(190)은 서브 브랜치의 마지막 제2 형 블록(290)의 적어도 일부의 해시값(Hsum)을 포함할 수 있다. 여기서, 마지막 제1 형 블록(190)은 마지막 제2 형 블록(290) 중 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다. 즉, 상기 마지막 제1 형 블록(190)이 생성되기 전에, 다른 제1 형 블록이 생성되면서 적어도 일부의 해시값이 상기 다른 제1 형 블록에 포함된 제2 형 블록은 상기 마지막 제1 형 블록(190)이 포함하는 해시값의 마지막 제2 형 블록에 해당하지 않게 된다.
도 7에 도시된 예시의 블록체인 시스템을 참고로 하여 설명하면, 마지막 제1 형 블록(B5, 190)이 생성되는 시점에 마지막 제2 형 블록(290)은 B13, B33 및 B44이 존재한다. 그러나 B13이 생성되고, B33 및 B44이 생성되기 전에 B2가 생성되게 된다. B2가 생성되는 시점에서, B13의 적어도 일부의 해시값(H13)이 B2에 포함되게 된다.
따라서 마지막 제1 형 블록(B5, 190)이 생성되는 시점의 마지막 제2 형 블록(290) 중 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록은 B33 및 B44만 해당한다. 따라서 마지막 제1 형 블록(B5, 190)은 B33 및 B44의 적어도 일부의 해시값을 포함한다. 구체적으로, 마지막 제1 형 블록(B5, 190)은 B33 및 B44의 블록헤더의 해시값(H33, H44)으로부터 생성된 머클 트리의 루트에 대한 해시값(Hsum)을 포함할 수 있다.
이러한 경우, 마지막 제1 형 블록이 생성되는 시점에, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록이 존재하지 않을 수 있다. 도 7에 도시된 예시의 블록체인 시스템에서 B3 및 B4는 이러한 경우에 해당한다. 이런 경우, 마지막 제1 형 블록은 메인 브랜치에 포함되고 마지막 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값만을 포함하고, 마지막 제2 형 블록의 적어도 일부의 해시값은 포함하지 않을 수 있다.
이러한 방식에 따르면, 마지막 제2 형 블록은 한 번만 그것의 적어도 일부의 해시값이 마지막 제1 형 블록에 포함되게 된다. 따라서 마지막 제1 형 블록이 생성되면서 포함해야 하는 마지막 제2 형 블록의 개수가 도 5를 참조하여 상술한 실시예의 경우보다 감소하게 된다. 도 5를 참조하여 상술한 실시예의 경우, 마지막 제2 형 블록의 안전성을 향상시킬 수 있지만 블록체인의 규모가 커지면 새로운 마지막 제1 형 블록이 참조해야 할 마지막 제2 형 블록의 개수가 점차 증가하게 된다. 이는 블록체인의 효율성을 떨어트리는 요인이 될 수 있다. 따라서 도 7을 참조하여 설명한 실시예에 따르면 마지막 제2 형 블록의 안전성도 향상시키면서, 블록체인의 효율성을 확보할 수 있다는 장점이 있다.
도 5 내지 도 7을 참조하여, 본 발명의 다양한 실시예들에 따른 블록체인 시스템과 마지막 제1 형 블록에 대해서 상세하게 설명하였다.
그러나 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 마지막 제1 형 블록은 메인 브랜치에 다른 제1 형 블록이 생성되어 연결됨에 따라 마지막 제1 형 블록에는 해당하지 않게 된다. 따라서 제2 형 블록의 적어도 일부의 해시값을 포함하는 제1 형 블록이 메인 브랜치의 마지막 블록이 아닌 경우를 포함하는 블록체인 시스템에 대해서 추가로 설명하도록 한다.
도 8은 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다. 도 8을 참조하여, 본 발명의 또 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다.
도 8에는 각 블록의 생성 순서가 빨간색의 글자로 표시되어 있다. 이러한 생성 순서를 참조하여 블록체인 시스템에 대해서 설명하도록 한다.
도 8의 실시예에서, 메인 브랜치의 임의의 제1 형 블록은 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 상기 일부 블록은 상기 임의의 제1 형 블록이 생성될 때, 서브 브랜치의 마지막 블록일 수 있다. 더욱 구체적으로, 상기 일부 블록은 상기 임의의 제1 형 블록이 생성될 때, 모든 서브 브랜치의 마지막 블록일 수 있다. 이러한 내용에 대해서 도 8에 도시된 예시의 블록체인 시스템을 참조하여 설명하도록 한다.
B2 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이다. 따라서 B2 블록은 B11 블록의 적어도 일부의 해시값(H11)을 포함한다. 그리고 B2 블록은 해시값(H11)과 구분되도록 메인 브랜치에 포함되고 B2 블록보다 직전에 생성된 제1 형 블록(B1 블록)의 적어도 일부의 해시값(H1)을 포함한다.
B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록도 B11 블록이다. B3 블록이 생성될 때 B2 블록을 루트블록으로 하는 서브 브랜치가 없으므로, B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이 유일하다. 따라서 B3 블록은 B11 블록의 적어도 일부의 해시값(H11)을 포함한다. 그리고 B3 블록은 해시값(H11)과 구분되도록 메인 브랜치에 포함되고 B3 블록보다 직전에 생성된 제1 형 블록(B2 블록)의 적어도 일부의 해시값(H2)을 포함한다.
B4 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13 및 B32 블록이다. 따라서 B4 블록은 B13 및 B32 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B4 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B4 블록보다 직전에 생성된 제1 형 블록(B3 블록)의 적어도 일부의 해시값(H3)을 포함한다.
B5 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B43 블록이다. 따라서 B5 블록은 B13, B33 및 B44 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B5 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B5 블록보다 직전에 생성된 제1 형 블록(B4 블록)의 적어도 일부의 해시값(H4)을 포함한다.
B5 블록이 생성된 이후에 B44 블록이 생성된다. B44 블록까지 생성된 것이 도 8에 도시된 블록체인 시스템의 상태이다. 이후에 다른 제2 형 블록이 생성되지 않고, 추가로 제1 형 블록이 생성된다면, 이 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B44 블록이다. 따라서 새롭게 생성되는 마지막 제1 형 블록은 B13, B33 및 B44 블록의 적어도 일부의 해시값을 포함하게 된다.
도 9를 참조하여, 본 발명의 또 다른 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 9는 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 9에는 각 블록의 생성 순서가 빨간색의 글자로 표시되어 있다. 이러한 생성 순서를 참조하여 블록체인 시스템에 대해서 설명하도록 한다. 도 9는 도 8에 도시된 블록체인 시스템과 각각의 블록의 연결 및 생성 순서가 동일한 것을 도시한 것이다.
도 9의 실시예에서, 메인 브랜치의 임의의 제1 형 블록은 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함한다. 구체적으로, 상기 일부 블록은 임의의 제1 형 블록이 생성될 때, 서브 브랜치의 마지막 블록일 수 있다. 더욱 구체적으로, 상기 일부 블록은 임의의 제1 형 블록이 생성될 때, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록일 수 있다. 이러한 내용에 대해서 도 9에 도시된 예시의 블록체인 시스템을 참조하여 설명하도록 한다.
B2 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이다. B11 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 B2 블록은 B11 블록의 적어도 일부의 해시값(H11)을 포함한다. 그리고 B2 블록은 해시값(H11)과 구분되도록 메인 브랜치에 포함되고 B2 블록보다 직전에 생성된 제1 형 블록(B1 블록)의 적어도 일부의 해시값(H1)을 포함한다.
B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록도 B11 블록이다. B3 블록이 생성될 때 B2 블록을 루트블록으로 하는 서브 브랜치가 없으므로, B3 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B11 블록이 유일하다. 그러나 B11 블록은 그것의 적어도 일부의 해시값이 이미 B2 블록에 포함되어 있다. 따라서 B3 블록은 메인 브랜치에 포함되고 B3 블록보다 직전에 생성된 제1 형 블록(B2 블록)의 적어도 일부의 해시값(H2)만을 포함하고, 제2 형 블록의 적어도 일부의 해시값은 포함하지 않는다.
B4 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13 및 B32 블록이다. B13 및 B32 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 B4 블록은 B13 및 B32 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B4 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B4 블록보다 직전에 생성된 제1 형 블록(B3 블록)의 적어도 일부의 해시값(H3)을 포함한다.
B5 블록이 생성될 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B43 블록이다. 이 중, B13 블록은 그것의 적어도 일부의 해시값이 이미 B4 블록에 포함되어 있다. 또한, B33 및 B43 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 B5 블록은 B33 및 B44 블록의 적어도 일부의 해시값(Hsum)을 포함한다. 그리고 B5 블록은 해시값(Hsum)과 구분되도록 메인 브랜치에 포함되고 B5 블록보다 직전에 생성된 제1 형 블록(B4 블록)의 적어도 일부의 해시값(H4)을 포함한다.
B5 블록이 생성된 이후에 B44 블록이 생성된다. B44 블록까지 생성된 것이 도 9에 도시된 블록체인 시스템의 상태이다. 이후에 다른 제2 형 블록이 생성되지 않고, 추가로 제1 형 블록이 생성된다면, 이 때 존재하는 서브 브랜치의 마지막 블록은 B13, B33 및 B44 블록이다. 이 중, B13 및 B33 블록은 그것의 적어도 일부의 해시값이 이미 B5 블록에 포함되어 있다. 또한, B44 블록은 그것의 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록이다. 따라서 새롭게 생성되는 마지막 제1 형 블록은 B44 블록의 적어도 일부의 해시값을 포함하게 된다.
도 10은 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법을 설명하기 위한 순서도이다. 이하, 도 10을 참조하여 본 발명의 일 실시예에 따른 블록체인 생성 방법에 대해 설명하도록 한다.
도 10을 참조하여 설명할 블록체인 생성 방법은 도 1 내지 도 9를 참조하여 설명한 블록체인 시스템의 블록체인을 생성하는 방법에 관한 것이다. 따라서 설명의 편의성을 위해 도 1 내지 도 9를 참조하여 상술한 내용과 중복되는 내용 중 일부는 생략하도록 한다.
도 10을 참조하면, 블록체인 생성 방법은 블록체인을 마련하는 단계(S100) 및 새로운 제1 형 블록을 생성하는 단계(S200)을 포함한다.
이하, 상술한 각 단계에 대해서 상세하게 설명하도록 한다.
블록체인을 마련하는 단계(S100)는 메인 브랜치 및 적어도 하나의 서브 브랜치를 포함하는 블록체인을 마련하는 단계이다. 이에 대해서는 도 5를 참조하여 상세하게 설명하였다.
새로운 제1 형 블록을 생성하는 단계(S200)는 새로운 제1 형 블록을 메인 브랜치의 마지막 제1 형 블록에 연결되도록 생성하는 단계이다. 여기서, 새로운 제1 형 블록은 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함한다. 또한, 새로운 제1 형 블록은 마지막 제1 형 블록의 적어도 일부의 해시값을 더 포함할 수 있다. 새로운 제1 형 블록은 마지막 제2 형 블록의 적어도 일부의 해시값과 마지막 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 구분하여 포함할 수 있다.
구체적으로, 새로운 제1 형 블록은 모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다. 이에 대해서는 도 5 및 도 8을 참조하여 상세하게 설명하였다.
또한, 경우에 따라서 새로운 제1 형 블록은 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다. 이에 대해서는 도 7 및 도 9를 참조하여 상세하게 설명하였다.
새로운 제1 형 블록은 둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고, 상기 해시값은 각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값일 수 있다. 이에 대해서는 도 6을 참조하여 상세하게 설명하였다.
이상, 본 발명의 블록체인 시스템 및 블록체인 생성 방법의 실시예들에 대해 설명하였다. 본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 제1 형 데이터 20: 제2 형 데이터
100: 제1 형 블록 200: 제2 형 블록
110, 210: 블록헤더 120, 220: 블록몸체
190: 마지막 제1 형 블록 290: 마지막 제2 형 블록
1000: 메인 브랜치 2000: 서브 브랜치

Claims (24)

  1. 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치; 및
    하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고,
    하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고,
    상기 메인 브랜치의 마지막 제1 형 블록은, 상기 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  2. 제1 항에 있어서,
    상기 마지막 제1 형 블록은,
    상기 메인 브랜치에 포함되고 상기 마지막 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함하는 블록체인 시스템.
  3. 제2 항에 있어서,
    상기 마지막 제1 형 블록은,
    상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 시스템.
  4. 제2 항에 있어서,
    상기 마지막 제1 형 블록은,
    상기 마지막 제2 형 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함하는 블록체인 시스템.
  5. 제1 항에 있어서,
    상기 마지막 제1 형 블록은,
    모든 서브 브랜치의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  6. 제1 항에 있어서,
    상기 마지막 제1 형 블록은,
    적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  7. 제1 항에 있어서,
    상기 마지막 제1 형 블록은,
    둘 이상의 마지막 제2 형 블록의 적어도 일부의 해시값을 포함하고,
    상기 해시값은,
    각각의 마지막 제2 형 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값인 블록체인 시스템.
  8. 제1 항에 있어서,
    상기 마지막 제2 형 블록은,
    상기 마지막 제1 형 블록보다 이전에 생성된 블록인 블록체인 시스템.
  9. 적어도 하나의 제1 형 블록을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치; 및
    하나의 제1 형 블록 및 적어도 하나의 제2 형 블록을 포함하고, 상기 제2 형 블록은 상기 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고,
    하나의 서브 브랜치의 상기 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 상기 루트 블록에 연결되고,
    상기 메인 브랜치의 임의의 제1 형 블록은, 상기 임의의 제1 형 블록보다 이전에 생성된 제2 형 블록 중 일부 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  10. 제9 항에 있어서,
    상기 임의의 제1 형 블록은,
    상기 메인 브랜치에 포함되고 상기 임의의 제1 형 블록보다 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 더 포함하는 블록체인 시스템.
  11. 제10 항에 있어서,
    상기 임의의 제1 형 블록은,
    상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 구분하여 포함하는 블록체인 시스템.
  12. 제10 항에 있어서,
    상기 임의의 제1 형 블록은,
    상기 일부 블록의 적어도 일부의 해시값과 상기 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 블록헤더에 포함하는 블록체인 시스템.
  13. 제9 항에 있어서,
    상기 일부 블록은,
    상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록인 블록체인 시스템.
  14. 제9 항에 있어서,
    상기 일부 블록은,
    상기 임의의 제1 형 블록이 생성될 때, 모든 서브 브랜치의 마지막 블록인 블록체인 시스템.
  15. 제9 항에 있어서,
    상기 일부 블록은,
    상기 임의의 제1 형 블록이 생성될 때, 상기 서브 브랜치의 마지막 블록이되, 적어도 일부의 해시값이 다른 제1 형 블록에 포함되지 않은 블록인 블록체인 시스템.
  16. 제9 항에 있어서,
    상기 일부 블록은 둘 이상의 블록이고,
    상기 해시값은,
    상기 일부 블록의 각각의 블록의 적어도 일부로부터 생성된 머클 트리의 루트에 대한 해시값인 블록체인 시스템.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020170059276A 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인 생성 방법 KR102017739B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170059276A KR102017739B1 (ko) 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인 생성 방법
PCT/KR2017/010020 WO2018207975A1 (ko) 2017-05-12 2017-09-13 블록체인 시스템 및 블록체인 생성 방법
TW107113747A TW201901482A (zh) 2017-05-12 2018-04-23 區塊鏈系統及區塊鏈生成方法
SG10201803839RA SG10201803839RA (en) 2017-05-12 2018-05-07 Blockchain system and method of creating blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170059276A KR102017739B1 (ko) 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인 생성 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190021356A Division KR20190020721A (ko) 2019-02-22 2019-02-22 블록체인 시스템 및 블록체인 생성 방법

Publications (2)

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

Family

ID=64105657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170059276A KR102017739B1 (ko) 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인 생성 방법

Country Status (4)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057570B1 (ko) * 2019-09-16 2020-01-23 (주) 모로보기 블록체인 네트워크
KR20210087721A (ko) 2020-01-03 2021-07-13 주식회사 블로코 라프트 합의를 이용한 블록체인 동기화 방법 및 블록체인 시스템

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11063746B2 (en) 2018-04-19 2021-07-13 Electronics And Telecommunications Research Institute Method for selecting consensus node using nonce and method and apparatus for generating blockchain using the same
KR102451115B1 (ko) * 2018-04-19 2022-10-06 한국전자통신연구원 난스를 이용한 합의 노드 선택 방법 및 그것을 이용한 블록체인 생성 방법 및 장치
KR102128661B1 (ko) * 2018-11-22 2020-06-30 주식회사 포스코아이씨티 이중 레이어 블록체인 시스템
KR101986081B1 (ko) * 2018-12-24 2019-06-05 (주)소프트제국 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법
CN113508570B (zh) 2018-12-21 2022-01-07 软件帝国株式会社 在区块链中节点之间共享及验证区块及电子文档的方法
KR102437006B1 (ko) * 2018-12-24 2022-08-26 (주)소프트제국 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법
KR102163267B1 (ko) * 2019-01-31 2020-10-08 한남대학교 산학협력단 블록체인을 이용한 오폐수 처리 관리 시스템
KR20210075654A (ko) 2019-12-13 2021-06-23 현대자동차주식회사 블록체인 생성 시스템 및 그 운용 방법
CN115708118A (zh) * 2021-08-18 2023-02-21 华为技术有限公司 一种区块链的生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048509B1 (ko) 2009-09-21 2011-07-11 부산대학교 산학협력단 유비쿼터스 센서 네트워크에서의 위치 정보 및 해쉬 체인을 이용한 시빌 공격 노드 탐지 방법 및 장치
US20160028552A1 (en) 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
KR101701131B1 (ko) 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT3095044T (pt) * 2013-11-19 2020-12-24 Top Galore Ltd Aparelhos e métodos de mineração de blocos

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048509B1 (ko) 2009-09-21 2011-07-11 부산대학교 산학협력단 유비쿼터스 센서 네트워크에서의 위치 정보 및 해쉬 체인을 이용한 시빌 공격 노드 탐지 방법 및 장치
US20160028552A1 (en) 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
KR101701131B1 (ko) 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057570B1 (ko) * 2019-09-16 2020-01-23 (주) 모로보기 블록체인 네트워크
KR20210087721A (ko) 2020-01-03 2021-07-13 주식회사 블로코 라프트 합의를 이용한 블록체인 동기화 방법 및 블록체인 시스템

Also Published As

Publication number Publication date
KR20180124545A (ko) 2018-11-21
TW201901482A (zh) 2019-01-01
WO2018207975A1 (ko) 2018-11-15
SG10201803839RA (en) 2018-12-28

Similar Documents

Publication Publication Date Title
KR102017739B1 (ko) 블록체인 시스템 및 블록체인 생성 방법
KR101964692B1 (ko) 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
KR102599738B1 (ko) 미결정 소스로부터 미결정 데이터를 블록체인 트랜잭션의 잠금 스크립트에 안전하게 제공하는 기법
US10635655B2 (en) Device, method and program for securely reducing an amount of records in a database
CN109298835A (zh) 区块链的数据归档处理方法、装置、设备及存储介质
CN113508570B (zh) 在区块链中节点之间共享及验证区块及电子文档的方法
Ivancsics Blockchain in journalism
CN113392144A (zh) 基于区块链的博物馆业务数据存储、查询方法及系统
CN108880820A (zh) 代码管理方法和装置
KR102349014B1 (ko) 고속 동기화 가능 탈중앙화 분산 데이터베이스 구성 방법 및 시스템
KR102412511B1 (ko) 블록체인 did를 이용한 콘텐츠 관리 장치 및 방법
KR102142955B1 (ko) 개인키 관리 방법
KR20190020721A (ko) 블록체인 시스템 및 블록체인 생성 방법
JP6685968B2 (ja) データ管理システム、データ管理方法及びデータ管理プログラム
KR100826250B1 (ko) 전자문서 관리 장치 및 방법
US20230129227A1 (en) System and method for generating a table-driven mutable blockchain
KR102332814B1 (ko) 데이터 자기주권화를 위한 블록체인 구조를 포함하는 블록체인 시스템
CN113810185B (zh) 一种抗陷门泄露的链上数据修复系统及方法
KR102437006B1 (ko) 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법
KR20190113211A (ko) 블록체인 시스템
KR20190113210A (ko) 블록체인 시스템
CN113468549A (zh) 基于区块链的加密信息存证的检索方法、系统及电子设备
CN113268490B (zh) 基于智能合约的账本处理方法、装置、设备及存储介质
Rao et al. Blockchain security implementation for financial domains
KR20190135822A (ko) 블록체인 시스템

Legal Events

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