KR101964692B1 - 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법 - Google Patents

블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법 Download PDF

Info

Publication number
KR101964692B1
KR101964692B1 KR1020170059270A KR20170059270A KR101964692B1 KR 101964692 B1 KR101964692 B1 KR 101964692B1 KR 1020170059270 A KR1020170059270 A KR 1020170059270A KR 20170059270 A KR20170059270 A KR 20170059270A KR 101964692 B1 KR101964692 B1 KR 101964692B1
Authority
KR
South Korea
Prior art keywords
block
type
data
branch
event
Prior art date
Application number
KR1020170059270A
Other languages
English (en)
Other versions
KR20180124541A (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 KR1020170059270A priority Critical patent/KR101964692B1/ko
Priority to PCT/KR2017/010017 priority patent/WO2018207974A1/ko
Priority to TW107113746A priority patent/TW201901481A/zh
Priority to SG10201803837VA priority patent/SG10201803837VA/en
Publication of KR20180124541A publication Critical patent/KR20180124541A/ko
Application granted granted Critical
Publication of KR101964692B1 publication Critical patent/KR101964692B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Abstract

블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법이 개시된다.
본 발명의 블록체인 시스템은, 하나의 블록은 하나의 데이터를 포함하고, 둘 이상의 데이터들을 관리하는 블록체인 시스템에 있어서, 상기 데이터는 다른 데이터에 기반하지 않은 제1 형 데이터 및 상기 제1 형 데이터에 기반한 제2 형 데이터로 구분되고, 상기 제1 형 데이터들이 포함된 제1 형 블록들을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 상기 제2 형 데이터들이 포함된 제2 형 블록들을 포함하고, 상기 제2 형 블록들은 하나의 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치는, 제1 형 블록인 루트 블록 및 상기 루트 블록이 포함하는 제1 형 데이터에 기반한 제2 형 데이터를 포함하는 적어도 하나의 제2 형 블록을 포함하고, 상기 하나의 서브 브랜치의 적어도 하나의 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 루트 블록에 연결된다.
또한, 본 발명의 블록체인을 이용한 데이터 관리 방법은, 블록체인 시스템이 하나의 블록은 하나의 데이터를 포함하고, 둘 이상의 데이터들에 대한 이벤트를 블록체인을 이용하여 관리하는 방법에 있어서, 상기 이벤트는 기존의 데이터에 기반하지 않은 제1 형 이벤트 및 기존의 데이터에 기반한 제2 형 이벤트로 구분되고, 상기 블록체인 시스템이 적어도 하나의 블록이 각각 블록의 생성 순서에 따라 연결된 메인 브랜치를 마련하는 단계, 상기 블록체인 시스템이 상기 제2 형 이벤트가 발생하면, 상기 메인 브랜치에서 상기 제2 형 이벤트가 기반한 데이터를 포함하는 루트 블록을 탐색하는 단계, 및 상기 블록체인 시스템이 상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하지 않으면, 상기 제2 형 이벤트에 따른 데이터를 포함하는 블록을 상기 루트 블록에 연결되도록 생성하여 서브 브랜치를 생성하는 단계를 포함한다.

Description

블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법{Blockchain system and data managing method using blockchain}
본 발명은 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법에 관한 것으로, 더욱 상세하게는 복수의 브랜치를 포함하는 블록체인 시스템 및 이러한 블록체인을 이용한 데이터 관리 방법에 관한 것이다.
블록체인은 분산 데이터베이스의 일종으로 암호화된 가상화폐인 비트코인에서 도입된 개념으로 알려져 있다. 기존에 거래장부, 문서 등의 디지털 컨텐츠를 중앙집중형 서버에 보관하고 관리하던 것과 달리, 블록체인 시스템에서는 누적된 디지털 컨텐츠를 네트워크를 통해 연결된 복수의 참여자의 장치(노드)에 저장하여 관리한다. 이러한 블록체인 시스템은 디지털 컨텐츠 자체가 인터넷을 통해 공개되어 있고, 다수의 참여자에 의해 수시로 검증이 진행되므로 위조 또는 변조가 매우 어렵다는 장점이 있다.
이러한 블록체인 시스템은 비트코인 등의 가상화폐 시스템 또는 금융기관의 거래기록 보관 등에 사용되고 있다. 또한, 최근에는 이러한 블록체인 시스템을 전자화된 문서관리 및 원본확인 등을 위해 사용되기도 한다.
블록체인에 참여하는 노드들은 전체 블록체인의 데이터를 장치에 저장하고 유지관리 해야한다. 누적된 거래 등이 적어 전체 블록체인의 크기가 크지 않은 경우에는 문제되지 않으나, 거래 등 신규 이벤트 발생이 누적되면서 블록의 개수가 증가할수록 전체 블록체인의 크기는 점차 증가하게 된다. 대표적인 블록체인 시스템인 비트코인의 전체 블록체인 크기는 현재 수십 Gbyte에 달하고 있다.
따라서 블록체인에 참여하는 노드들은 이러한 대용량의 데이터를 저장하고 유지관리할 수 있는 높은 수준의 저장 장치 및 컴퓨팅 장치가 필요하다. 그러나 일반적인 개인용 컴퓨터는 이러한 수준의 성능에 도달하지 못할 수 있다. 특히, 스마트폰, 태블릿 컴퓨터 등 개인용 모바일 장치는 더욱 이러한 수준의 성능에 도달하지 못하는 실정이다.
본 발명이 해결하려는 과제는, 블록들을 다차원으로 연결하여 블록체인을 효율적이고 체계적으로 구성할 수 있는 블록체인 시스템을 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 블록이 포함하는 데이터를 두 가지로 구분하여 블록체인을 다차원으로 구성할 수 있는 블록체인 시스템을 제공하는 것이다.
본 발명이 해결하려는 또 다른 과제는, 다차원으로 연결된 블록체인을 이용하여 데이터를 효율적이고 체계적으로 관리하는 방법을 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 블록체인 시스템은, 하나의 블록은 하나의 데이터를 포함하고, 둘 이상의 데이터들을 관리하는 블록체인 시스템에 있어서, 상기 데이터는 다른 데이터에 기반하지 않은 제1 형 데이터 및 상기 제1 형 데이터에 기반한 제2 형 데이터로 구분되고, 상기 제1 형 데이터들이 포함된 제1 형 블록들을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치 및 상기 제2 형 데이터들이 포함된 제2 형 블록들을 포함하고, 상기 제2 형 블록들은 하나의 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고, 하나의 서브 브랜치는, 제1 형 블록인 루트 블록 및 상기 루트 블록이 포함하는 제1 형 데이터에 기반한 제2 형 데이터를 포함하는 적어도 하나의 제2 형 블록을 포함하고, 상기 하나의 서브 브랜치의 적어도 하나의 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 루트 블록에 연결된다.
본 발명의 일 실시예에 있어서, 상기 메인 브랜치에서 하나의 제1 형 블록은 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 연결되는 루트 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 하나의 서브 브랜치에서 최초로 생성되지 않은 제2 형 블록은 상기 서브 브랜치에 포함되고 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 데이터는 신규 자료를 생성하는 것에 관한 데이터이고, 상기 제2 형 데이터는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터는 디지털 컨텐츠에 관한 정보이고, 상기 제1 형 데이터는 신규 디지털 컨텐츠에 관한 정보이고, 상기 제2 형 데이터는 이미 생성된 디지털 컨텐츠에 기반한 정보일 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 형 데이터는 이미 생성된 디지털 컨텐츠의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나에 관한 정보일 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터는 문서에 관한 정보이고, 상기 제1 형 데이터는 신규 문서 생성에 관한 정보이고, 상기 제2 형 데이터는 이미 생성된 문서에 기반한 정보일 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 형 데이터는 이미 생성된 문서의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나에 관한 정보일 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터는 계좌에 관한 정보이고, 상기 제1 형 데이터는 신규 계좌 생성에 관한 정보이고, 상기 제2 형 데이터는 이미 생성된 계좌의 거래에 관한 정보일 수 있다.
또한, 상기 과제를 해결하기 위한 본 발명의 블록체인을 이용한 데이터 관리 방법은, 블록체인 시스템이 하나의 블록은 하나의 데이터를 포함하고, 둘 이상의 데이터들에 대한 이벤트를 블록체인을 이용하여 관리하는 방법에 있어서, 상기 이벤트는 기존의 데이터에 기반하지 않은 제1 형 이벤트 및 기존의 데이터에 기반한 제2 형 이벤트로 구분되고, 상기 블록체인 시스템이 적어도 하나의 블록이 각각 블록의 생성 순서에 따라 연결된 메인 브랜치를 마련하는 단계, 상기 블록체인 시스템이 상기 제2 형 이벤트가 발생하면, 상기 메인 브랜치에서 상기 제2 형 이벤트가 기반한 데이터를 포함하는 루트 블록을 탐색하는 단계, 및 상기 블록체인 시스템이 상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하지 않으면, 상기 제2 형 이벤트에 따른 데이터를 포함하는 블록을 상기 루트 블록에 연결되도록 생성하여 서브 브랜치를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 있어서, 상기 블록체인 시스템이 상기 서브 브랜치를 생성하는 단계는, 상기 루트 블록의 적어도 일부의 해시값을 생성하려는 블록의 블록헤더에 삽입하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 블록체인 시스템이 상기 서브 브랜치를 생성하는 단계는, 상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하는지 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 블록체인을 이용한 데이터 관리 방법은 상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하면, 상기 블록체인 시스템이 상기 제2 형 이벤트에 따른 데이터를 포함하는 블록을 상기 서브 브랜치의 마지막 블록에 연결되도록 생성하여 상기 서브 브랜치를 연장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 블록체인 시스템이 상기 서브 브랜치를 연장하는 단계는, 상기 서브 브랜치의 마지막 블록의 적어도 일부의 해시값을 생성하려는 블록의 블록헤더에 삽입하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 블록체인 시스템이 상기 서브 브랜치를 연장하는 단계는, 상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하는지 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 블록체인을 이용한 데이터 관리 방법은 제1 형 이벤트가 발생하면, 상기 블록체인 시스템이 상기 제1 형 이벤트에 따른 데이터를 포함하는 블록을 상기 메인 브랜치의 마지막 블록에 연결되도록 생성하여 상기 메인 브랜치를 연장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 블록체인 시스템이 상기 메인 브랜치를 연장하는 단계는, 상기 메인 브랜치의 마지막 블록의 적어도 일부의 해시값을 생성하려는 블록의 블록헤더에 삽입하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 이벤트는 신규 자료를 생성하는 것에 관한 이벤트이고, 상기 제2 형 이벤트는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 어느 적어도 하나를 수행하는 것에 관한 이벤트일 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터는 디지털 컨텐츠에 관한 정보이고, 상기 제1 형 이벤트는 신규 디지털 컨텐츠를 생성하는 것에 관한 이벤트이고, 상기 제2 형 이벤트는 이미 생성된 디지털 컨텐츠에 기반한 이벤트일 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 형 이벤트는 이미 생성된 디지털 컨텐츠의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 이벤트일 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터는 문서에 관한 정보이고, 상기 제1 형 이벤트는 신규 문서를 생성하는 것에 관한 이벤트이고, 상기 제2 형 이벤트는 이미 생성된 문서에 기반한 이벤트일 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 형 이벤트는 이미 생성된 문서의 수정, 변경, 삭제, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 이벤트일 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 형 이벤트는 신규 계좌를 생성하는 것에 관한 이벤트이고, 상기 제2 형 이벤트는 이미 생성된 계좌의 거래에 관한 이벤트일 수 있다.
본 발명의 일 실시예에 따른 블록체인 시스템은 블록들을 다차원으로 연결하여 블록체인을 효율적이고 체계적으로 구성할 수 있다는 장점이 있다.
또한, 본 발명의 일 실시예에 따른 블록체인 시스템은 블록이 포함하는 데이터를 두 가지로 구분하여 블록체인을 다차원으로 구성할 수 있다는 장점이 있다.
또한, 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법은 다차원으로 연결된 블록체인을 이용하여 데이터를 효율적이고 체계적으로 관리할 수 있다는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 개별 블록의 구성을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 시스템의 두 개의 블록이 연결된 것을 도시한 것이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 블록체인 시스템의 데이터를 설명하기 위한 도면이다.
도 7은 블록체인에서 블록의 표시 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
도 9는 본 발명의 일 실시예에 따른 블록체인 시스템의 사용 예시에 관한 도면이다.
도 10은 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법을 설명하기 위한 순서도이다.
도 11 내지 도 15는 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법을 설명하기 위한 블록체인의 예시에 관한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부한 도 1 내지 도 9를 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템에 대해 설명한다.
도 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 내지 6을 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템의 데이터에 대해 설명하도록 한다.
본 발명의 블록체인 시스템은 복수의 블록을 포함한다. 하나의 블록은 하나의 데이터를 포함한다. 여기서 데이터는 하나의 블록에 포함되는 정보의 단위 집합을 의미한다. 구체적으로, 블록의 블록몸체는 데이터를 포함할 수 있다.
블록체인 시스템의 블록이 포함하는 데이터는 제1 형 데이터 및 제2 형 데이터로 구분될 수 있다. 제1 형 데이터는 다른 데이터에 기반하지 않은 데이터에 해당한다. 제2 형 데이터는 제1 형 데이터에 기반한 데이터에 해당한다.
도 3을 참조하면, 제1 형 데이터(10)는 신규 자료를 생성하는 것에 관한 데이터일 수 있다. 그리고 제2 형 데이터(20)는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 데이터일 수 있다. 여기서, 기존 자료란 제1 형 데이터(10)가 생성한 자료를 의미한다.
이하, 제1 형 데이터와 제2 형 데이터의 구분에 대해서 예를 들어 설명하도록 한다.
먼저 도 4를 참조하면, 데이터는 디지털 컨텐츠에 관한 정보일 수 있다. 디지털 컨텐츠란 디지털 정보로 구성된 모든 형태의 컨텐츠를 의미한다. 디지털 컨텐츠란 예를 들어, 이미지, 영상, 사운드, 텍스트, 프로그래밍 코드, 스프레드시트 등일 수 있으며 상기 나열한 것에 한정되지 않는다. 이러한 경우, 제1 형 데이터(10)는 신규 디지털 컨텐츠에 관한 정보이고, 제2 형 데이터(20)는 이미 생성된 디지털 컨텐츠에 기반한 정보일 수 있다. 여기서, 제2 형 데이터(20)는 예를 들어, 이미 생성된 디지털 컨텐츠의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나에 관한 정보일 수 있다. 여기서, 이미 생성된 디지털 컨텐츠란 제1 형 데이터(10)가 생성한 디지털 컨텐츠를 의미한다.
또한, 도 5를 참조하면, 데이터는 문서에 관한 정보일 수 있다. 문서는 디지털 정보로 구성된 모든 형태의 문서를 의미한다. 예를 들어, 문서는 텍스트, 이미지 및 표 등을 포함할 수 있다. 또한, 문서는 관련자의 결재 및 합의 등에 관한 정보를 포함할 수 있다. 이러한 경우, 제1 형 데이터(10)는 신규 문서 생성에 관한 정보이고, 제2 형 데이터(20)는 이미 생성된 문서에 기반한 정보 정보일 수 있다. 여기서, 제2 형 데이터(20)는 예를 들어, 이미 생성된 문서의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나에 관한 정보일 수 있다. 더불어, 제2 형 데이터(20)는 이미 생성된 문서에 대한 결재, 합의, 반려 등에 관한 정보일 수 있다. 여기서, 이미 생성된 문서란 제1 형 데이터(10)가 생성한 문서를 의미한다.
또한, 도 6을 참조하면, 데이터는 계좌에 관한 정보일 수 있다. 이러한 경우, 제1 형 데이터(10)는 신규 계좌 생성에 관한 정보이고, 제2 형 데이터(20)는 이미 생성된 계좌의 거래에 관한 정보일 수 있다. 여기서, 이미 생성된 계좌란 제1 형 데이터(10)가 생성한 계좌를 의미한다.
또한, 데이터는 상술한 것 이외에도 거래, 인사, 생산 이력, 설계, 도면, 사운드, 프로그래밍 코드 등이 될 수 있다. 그리고 제1 형 데이터 및 제2 형 데이터도 이러한 다양한 종류에 따라 구분될 수 있다. 제1 형 데이터 및 제2 형 데이터는 상술한 것에 한정되지 않는다.
도 7을 참조하여, 도 8 내지 도 9 및 도 11 내지 도 15에서 도시되는 블록체인을 구성하는 블록에 대해서 간략하게 설명하도록 한다.
블록은 도 1 및 도 2를 참조하여 설명한 것과 같이, 블록헤더와 블록몸체를 포함한다. 그러나 설명의 편의성을 위해 도 8 내지 도 9 및 도 11 내지 도 15에서는 도 7에 도시된 방식으로 개별 블록을 표시하도록 한다.
도 7을 참조하면, 하나의 블록을 설명하는데 있어서, 블록의 타이틀, 직전 블록의 해시값, 당해 블록의 해시값 및 블록이 포함하는 데이터가 표시된다. 상하로 배열된 4칸의 표에서, 첫번째 칸에는 블록의 타이틀이 표시되고, 두번째 칸에는 직전 블록의 해시값이 표시되고, 세번째 칸에는 당해 블록의 해시값이 표시되고, 마지막 칸에는 데이터가 표시된다.
블록의 타이틀은 Bn 또는 Bnm과 같은 형태로 표시된다. 블록의 타이틀이 Bn이라는 것은 상기 블록이 메인 브랜치의 n번째 블록이라는 것을 의미한다. 그리고 블록의 타이틀이 Bnm이라는 것은 상기 블록이 메인 브랜치의 n번째 블록에서 분기되는 서브 브랜치의 m번째 제2 형 블록이라는 것을 의미한다. 임의의 서브 브랜치의 m번째 제2 형 블록은 상기 서브 브랜치의 m+1번째 블록에 해당한다.
어느 블록의 해시값은 H라는 기호를 이용하여 표시된다. 예를 들어, 블록의 타이틀이 Bnm인 블록의 해시값은 Hnm으로 표시되게 된다. 도 7을 참조하면, 블록의 타이틀이 Bnm인 블록의 직전 블록은 블록의 타이틀이 Bn(m-1)인 블록인 것이고, 직전 블록의 해시값은 Hn(m-1)인 것이다.
상기 블록의 타이틀, 해시값의 기호 등을 설명하면서 언급한 메인 브랜치, 서브 브랜치, 제2 형 블록 등에 대해서는 이하 도 8을 참조하여 상세하게 설명하도록 한다.
도 8을 참조하여, 본 발명의 일 실시예에 따른 블록체인 시스템에 대해서 설명하도록 한다. 도 8은 본 발명의 일 실시예에 따른 블록체인 시스템의 예시 도면이다.
본 발명의 블록체인 시스템은 복수의 블록을 포함한다. 하나의 블록은 하나의 데이터를 포함한다. 상술한 것과 같이, 데이터는 제1 형 데이터(10) 및 제2 형 데이터(20)로 구분될 수 있다. 블록은 포함하는 데이터의 종류에 따라 제1 형 블록(100-1) 및 제2 형 블록(100-2)으로 구분될 수 있다. 제1 형 블록(100-1)은 제1 형 데이터(10)를 포함하는 블록에 해당한다. 또한, 제2 형 블록(100-2)은 제2 형 데이터(20)를 포함하는 블록에 해당한다.
본 발명의 블록체인 시스템은 메인 브랜치(1000) 및 적어도 하나의 서브 브랜치(2000)를 포함한다. 여기서, 브랜치란 복수의 블록들이 서로 선형적으로 연결된 블록들의 집합을 의미한다.
메인 브랜치(1000)는 최초로 생성된 블록(genesis block)과 이에 연결된 적어도 하나의 연결 블록을 포함한다. 메인 브랜치(1000)는 최초로 생성된 블록에서 연결 블록이 일 방향으로 분기되기 않고 연결된다. 메인 브랜치(1000)에서 분기되어 다른 브랜치가 형성될 수는 있지만 분기된 블록들은 메인 브랜치(1000)에 포함되는 것이 아니다. 분기된 블록들은 후술할 서브 브랜치(2000)에 포함될 수 있으며, 이에 대해서는 아래에서 설명하도록 한다.
메인 브랜치(1000)는 제1 형 블록(100-1)들로 구성된다. 즉, 메인 브랜치(1000)가 포함하는 최초로 생성된 블록 및 연결 블록은 모두 제1 형 블록(100-1)에 해당한다. 메인 브랜치(1000)가 포함하는 블록들은 생성된 순서에 따라 순서대로 연결된다. 블록의 연결은 당해 블록이 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것에 의해 달성된다. 이러한 연결 형태에 대해서는 도 8에 블록 사이의 화살표를 통해 표시되어 있다. 따라서 최초로 생성된 블록을 제외하고 하나의 제1 형 블록은 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함한다.
서브 브랜치(2000)는 메인 브랜치(1000)로부터 분기되어 형성된 브랜치이다. 서브 브랜치(2000)는 루트 블록(root block)과 이에 연결된 적어도 하나의 연결 블록을 포함한다. 루트 블록은 메인 브랜치(1000)에도 포함되는 블록으로, 서브 브랜치(2000)의 분기가 시작되는 블록이다. 루트 블록은 당해 서브 브랜치(2000)에서 최초로 생성된 블록(genesis block)에 해당한다.
여기서, 루트 블록은 제1 형 블록(100-1)에 해당한다. 그리고 서브 브랜치(2000)가 포함하는 연결 블록은 제2 형 블록(100-2)에 해당한다. 하나의 서브 브랜치(2000)가 포함하는 블록들은 생성된 순서에 따라 순서대로 연결된다. 블록의 연결은 당해 블록이 직전에 생성된 블록의 적어도 일부의 해시값을 포함하는 것에 의해 달성된다. 따라서 하나의 서브 브랜치(2000)에서 최초로 생성된 연결 블록(제2 형 블록)은 당해 서브 브랜치(2000)의 연결되는 루트 블록의 적어도 일부의 해시값을 포함한다. 또한, 하나의 서브 브랜치(2000)에서 최초로 생성되지 않은 연결 블록(제2 형 블록)은 당해 서브 브랜치(2000)에 포함되고 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함한다. 이러한 연결 형태에 대해서는 도 8에 블록 사이의 화살표를 통해 표시되어 있다.
서브 브랜치(2000)는 적어도 하나의 연결 블록을 포함하는 것을 조건으로 한다. 경우에 따라서, 연결 블록이 없고 루트 블록만이 존재하는 높이(길이)가 1개 블록인 서브 브랜치를 생각해볼 수도 있겠지만, 본 명세서에서는 이러한 경우 그러한 서브 브랜치가 존재하지 않는 것으로 정의한다. 즉, 설명의 편의성을 위해서 서브 브랜치(2000)는 하나의 루트 블록과 이에 연결된 적어도 하나의 연결 블록이 있는 것을 조건으로 정의한다.
서브 브랜치(2000)는 하나 또는 둘 이상이 형성될 수 있다. 서브 브랜치(2000)는 하나의 루트 블록에서 하나 또는 둘 이상이 연장되는 형태로 형성될 수 있다. 그러나 첨부한 도면 및 이하에서는 설명의 편의성을 위해서 하나의 루트 블록에서 하나의 서브 브랜치(2000)만이 형성되는 것을 예를 들어 설명하도록 한다. 그러나 이러한 설명이 본 발명에서 하나의 루트 블록에서 둘 이상의 서브 브랜치(2000)가 연장되는 것을 제외하는 것은 아니다.
하나의 루트 블록에서 하나의 서브 브랜치(2000)가 연장되어 형성되는 경우라면, 서브 브랜치(2000)는 최대 메인 브랜치(1000)의 블록의 개수까지 형성되는 것이 가능하다.
도 8에서는 블록체인 시스템이 메인 브랜치와 서브 브랜치로 구성되고, 블록들이 제1 형 블록과 제2 형 블록으로 구성되는 것을 도시하였지만, 경우에 따라서는 메인 브랜치, 서브 브랜치 및 서브-서브 브랜치로 구성되고, 블록들도 제1 형 블록, 제2 형 블록 및 제3 형 블록으로 구성될 수도 있다. 여기서, 서브-서브 브랜치는 서브 브랜치를 메인 브랜치로 하고, 서브 브랜치에서 다시 분기된 브랜치를 의미한다. 서브-서브 브랜치의 루트 블록은 서브 브랜치에 포함되는 제2 형 블록이 될 수 있다. 그리고 서브-서브 브랜치의 연결 블록은 제3 형 블록이 될 수 있다. 이와 같이, 본 발명의 블록체인 시스템에서 메인 브랜치와 서브 브랜치는 상대적인 것으로, 서브 브랜치가 연쇄적으로 생성될 수 있다.
이러한 블록체인 시스템에 따르면 특정 블록의 검증을 위해서 전체 블록체인 데이터를 저장하고 이용하지 않을 수 있다. 구체적으로, 특정 블록이 제1 형 블록일 경우, 노드는 메인 브랜치의 블록체인 데이터만을 이용하여 상기 특정 블록의 검증이 가능하다. 또한, 특정 블록이 제2 형 블록일 경우, 노드는 상기 특정 블록이 포함된 서브 브랜치와 메인 브랜치의 블록체인 데이터만을 이용하여 상기 특정 블록의 검증이 가능하다. 이에 따라 노드가 저장하고 검증해야 하는 블록의 크기를 줄일 수 있다.
이하, 도 9를 참조하여 본 발명의 일 실시예에 따른 블록체인 시스템의 사용 예시에 대해서 설명하도록 한다.
도 9에는 블록체인의 블록이 포함하는 데이터가 문서에 관한 정보이고, 제1 형 데이터는 신규 문서 생성에 관한 정보이고, 제2 형 데이터는 이미 생성된 문서에 기반한 정보인 경우의 예시이다. 여기서, 제2 형 데이터는 예를 들어, 이미 생성된 문서의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나에 관한 정보일 수 있다.
도 9에 도시된 블록체인 시스템은 7개의 서로 다른 문서에 관한 데이터를 저장하고 있다. 상기 7개(1번-7번)의 문서가 신규로 생성되면서 7개의 제1 형 블록(B1~B7)이 생성되게 되고, 7개의 제1 형 블록(B1~B7)은 각각 신규 문서가 생성된 것에 대한 데이터를 저장하고 있다. 7개의 제1 형 블록(B1~B7)은 생성된 순서대로 연결되어 메인 브랜치(1000)를 형성한다. 또한, 도 9에 도시된 블록체인 시스템은 7개의 제1 형 블록 중 5개의 블록(B1, B2, B3, B4, B6)에서 연장된 5개의 서브 브랜치를 포함한다.
이러한 블록체인 시스템에 참여하는 A노드는 3번 문서에만 관련된 노드라고 가정한다. A노드는 3번 문서의 최종 변경에 대한 데이터의 검증을 원할 수 있다. 이러한 경우, A노드는 3번 서브 브랜치(2300)가 포함하는 블록과 메인 브랜치(1000)가 포함하는 블록만을 저장하고, 이를 이용하여 3번 문서의 최종 변경에 대한 데이터를 검증할 수 있다.
이는 A노드가 저장하고 검증해야 하는 블록체인의 크기를 감소시키는 장점이 있다. 구체적으로, 상술한 예시에서 A노드는 12개의 블록(메인 브랜치(1000)의 7개의 제1 형 블록 및 3번 서브 브랜치(2300)의 5개의 제2 형 블록)만을 저장하고, 이를 검증하면 된다. 그러나 종래의 블록체인 시스템에서는 전체 블록체인을 저장하고 검증해야 한다. 이럴 경우 상술한 예시에서 A노드는 최대 26개의 블록을 저장하고, 이를 검증해야 한다. 따라서 본원발명의 블록체인 시스템에 의해 블록체인에 참여하는 노드의 저장공간 부담과 컴퓨팅 부담을 감소시키는 효과가 있다.
이하, 첨부한 도 10 내지 도 15를 참조하여, 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법에 대해 설명한다.
이하에서 설명할 블록체인을 이용한 데이터 관리 방법은 도 1 내지 도 9를 참조하여 상술한 블록체인 시스템을 이용하여 데이터를 관리하는 방법에 관한 것이다. 따라서 설명의 편의를 위해, 블록체인 시스템에 관한 설명과 중복되는 내용 중 일부는 생략하도록 한다.
본 발명의 블록체인을 이용한 데이터 관리 방법은 데이터에 대한 이벤트를 블록체인을 이용하여 관리하는 방법이다. 여기서, 이벤트는 노드가 데이터에 대해서 어떠한 작업을 수행한 것을 의미한다. 본 발명의 블록체인을 이용한 데이터 관리 방법은 상술한 이벤트에 따라 생성된 데이터를 블록체인을 통해 저장하고 관리하는 방법이다.
블록체인이 관리하는 이벤트는 제1 형 이벤트 및 제2 형 이벤트로 구분될 수 있다. 제1 형 이벤트는 기존의 데이터에 기반하지 않은 이벤트에 해당한다. 제2 형 이벤트는 기존의 데이터에 기반한 이벤트에 해당한다.
구체적으로, 제1 형 이벤트는 신규 자료를 생성하는 것에 관한 이벤트이고, 제2 형 이벤트는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 어느 적어도 하나를 수행하는 것에 관한 이벤트일 수 있다.
이하, 제1 형 이벤트와 제2 형 이벤트의 구분에 대해서 예를 들어 설명하도록 한다.
먼저, 데이터는 디지털 컨텐츠에 관한 정보일 수 있다. 이러한 경우, 제1 형 이벤트는 신규 디지털 컨텐츠를 생성하는 것에 관한 이벤트이고, 제2 형 이벤트는 이미 생성된 디지털 컨텐츠에 기반한 이벤트일 수 있다. 여기서, 제2 형 이벤트는 예를 들어, 이미 생성된 디지털 컨텐츠의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 이벤트일 수 있다.
또한, 데이터는 문서에 관한 정보일 수 있다. 이러한 경우, 제1 형 이벤트는 신규 문서를 생성하는 것에 관한 이벤트이고, 제2 형 이벤트는 이미 생성된 문서에 기반한 이벤트일 수 있다. 여기서, 제2 형 이벤트는 이미 생성된 문서의의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 이벤트일 수 있다.
또한, 데이터는 계좌에 관한 정보일 수 있다. 이러한 경우, 제1 형 이벤트는 신규 계좌를 생성하는 것에 관한 이벤트이고, 제2 형 이벤트는 이미 생성된 계좌의 거래에 관한 이벤트일 수 있다.
또한, 데이터는 상술한 것 이외에도 거래, 인사, 생산 이력, 설계, 도면, 사운드, 프로그래밍 코드 등이 될 수 있다. 그리고 제1 형 이벤트 및 제2 형 이벤트도 이러한 다양한 종류에 따라 구분될 수 있다. 제1 형 이벤트 및 제2 형 이벤트는 상술한 것에 한정되지 않는다.
도 10은 본 발명의 일 실시예에 따른 블록체인을 이용한 데이터 관리 방법을 설명하기 위한 순서도이다.
도 10을 참조하면, 블록체인을 이용한 데이터 관리 방법은 블록체인 시스템이 각각 메인 브랜치를 마련하는 단계(S100), 이벤트의 종류를 판단하는 단계(S200), 메인 브랜치를 연장하는 단계(S510), 루트 블록을 탐색하는 단계(S300), 서브 브랜치의 존재를 판단하는 단계(S400), 서브 브랜치를 생성하는 단계(S520) 및 서브 브랜치를 연장하는 단계(S530)를 포함한다.
이하, 도 11 내지 도 15를 참조하여 블록체인을 이용한 데이터 관리 방법이 포함하는 각 단계에 대해서 상세하게 설명하도록 한다. 본 명세서에서 별도 기재가 없는한, 블록체인을 이용한 데이터 관리 방법이 포함하는 각 단계는 블록체인 시스템에 의해 수행되는 것으로 이해될 수 있다. 도 11 내지 도 15는 데이터가 문서에 관한 정보인 것을 예로 들어 도시한 것이다.
먼저, 메인 브랜치를 마련하는 단계(S100)에 대해 설명하도록 한다. 메인 브랜치를 마련하는 단계(S100)는 적어도 하나의 블록이 각각 블록의 생성 순서에 따라 연결된 메인 브랜치를 마련하는 단계이다. 블록체인 시스템을 설명하면서 상술한 것과 같이, 메인 브랜치는 제1 형 데이터를 포함하는 제1 형 블록으로 구성된다.
도 11을 참조하면, 블록체인에는 메인 브랜치가 마련된다. 구체적으로, 블록체인은 6개의 제1 형 블록(B1~B6)으로 구성된 메인 브랜치가 마련된 상태이다. 도 11의 블록체인은 6개(1번-6번)의 문서가 생성된 이벤트에 따른 데이터가 각각의 블록에 포함되어 관리되고 있다.
본 발명의 블록체인을 이용한 데이터 관리 방법은 메인 브랜치가 마련된 상태에서 새로운 이벤트가 발생한 경우, 발생한 이벤트에 따른 데이터를 블록체인을 이용하여 관리하는 방법에 관한 것이다.
이벤트가 발생하면, 이벤트의 종류를 판단하는 단계(S200)가 수행된다. 이벤트는 제1 형 이벤트 또는 제2 형 이벤트일 수 있다.
상기 제1 형 이벤트가 발생하면, 메인 브랜치를 연장하는 단계(S510)가 수행된다. 메인 브랜치를 연장하는 단계(S510)는 발생한 제1 형 이벤트에 따른 데이터를 포함하는 블록을 메인 브랜치의 마지막 블록에 연결되도록 생성하는 단계이다. 새롭게 생성된 블록이 기존의 메인 브랜치에 연결됨으로써 메인 브랜치가 연장되게 된다.
블록을 생성하려는 노드는 발생한 제1 형 이벤트에 따른 데이터를 포함하는 블록몸체를 생성한다. 그리고 블록몸체의 해시값을 블록헤더에 삽입한다. 또한, 새롭게 생성하려는 블록의 블록헤더에 기존 메인 브랜치의 마지막 블록의 적어도 일부의 해시값이 삽입될 수 있다.
블록헤더에는 블록몸체의 해시값 및 기존 메인 브랜치의 마지막 블록의 적어도 일부의 해시값 등이 포함된다. 그리고 블록을 생성하려는 노드는 블록 생성 조건을 만족하는 난스를 탐색하고, 탐색된 난스를 블록헤더에 삽입하여 블록을 생성한다.
도 12를 참조하여, 발생한 이벤트가 제1 형 이벤트인 경우에 대해서 설명하도록 한다. 도 12는 도 11의 블록체인 상태에서 7번의 신규 문서가 생성되는 제1 형 이벤트가 발생한 경우, 이에 따른 데이터를 관리하는 방법을 설명하기 위한 도면이다.
도 12를 참조하면, 7번 문서가 생성된 제1 형 이벤트에 따른 데이터를 포함하는 블록(B7)이 새롭게 생성된다. 생성된 블록(B7)은 기존의 메인 브랜치의 마지막 블록(B6)에 연결되어 메인 브랜치를 연장하게 된다. 새롭게 생성된 블록(B7)에는 기존의 메인 브랜치의 마지막 블록의 적어도 일부의 해시값(H6)이 포함된다.
발생한 이벤트가 제2 형 이벤트인 경우에 대해서 설명하도록 한다. 제2 형 이벤트가 발생하면, 루트 블록을 탐색하는 단계(S300)가 수행된다. 루트 블록을 탐색하는 단계(S300)는, 발생한 제2 형 이벤트가 기반한 데이터를 포함하는 블록을 탐색하는 단계이다. 루트 블록은 메인 브랜치가 포함하는 블록 중의 하나일 수 있다.
루트 블록이 탐색되면, 탐색된 루트 블록에서 시작되고 메인 브랜치와 구분되는 서브 브랜치가 존재하는지 여부를 판단하는 단계(S400)가 수행된다. 서브 브랜치가 존재하지 않으면, 서브 브랜치를 생성하는 단계(S520)가 수행된다. 서브 브랜치가 존재하면, 상기 서브 브랜치를 연장하는 단계(S530)가 수행된다.
이하, 서브 브랜치를 생성하는 단계(S520)에 대해 설명하도록 한다. 루트 블록에서 시작되고 메인 브랜치와 구분되는 서브 브랜치가 존재하지 않으면, 서브 브랜치를 생성하는 단계(S520)가 수행된다. 서브 브랜치를 생성하는 단계(S520)는 발생한 제2 형 이벤트에 따른 데이터를 포함하는 블록을 루트 블록에 연결되도록 생성하는 단계이다. 새롭게 생성된 블록이 루트 볼록에 연결됨으로써 서브 브랜치가 생성되게 된다.
블록을 생성하려는 노드는 발생한 제2 형 이벤트에 따른 데이터를 포함하는 블록몸체를 생성한다. 그리고 블록몸체의 해시값을 블록헤더에 삽입한다. 또한, 새롭게 생성하려는 블록의 블록헤더에 루트 블록의 적어도 일부의 해시값이 삽입될 수 있다.
블록헤더에는 블록몸체의 해시값 및 루트 블록의 적어도 일부의 해시값 등이 포함된다. 그리고 블록을 생성하려는 노드는 블록 생성 조건을 만족하는 난스를 탐색하고, 탐색된 난스를 블록헤더에 삽입하여 블록을 생성한다.
도 13을 참조하여, 발생한 이벤트가 제2 형 이벤트이고, 서브 브랜치가 존재하지 않는 경우에 대해서 설명하도록 한다. 도 13은 도 12의 블록체인 상태에서 5번의 문서가 수정되는 제2 형 이벤트가 발생한 경우, 이에 따른 데이터를 관리하는 방법을 설명하기 위한 도면이다.
5번 문서가 수정되는 제2 형 이벤트가 발생하면, 발생한 제2 형 이벤트가 기반한 데이터를 포함하는 루트 블록을 탐색하는 단계(S300)가 수행된다. 도 13을 참조하면, 상기 단계(S300)에서 루트 블록으로 5번 문서가 생성된 이벤트에 따른 데이터를 포함하는 블록(B5)이 탐색된다.
루트 블록이 탐색되면, 탐색된 루트 블록(B5)에서 시작되고 메인 브랜치와 구분되는 서브 브랜치가 존재하는지 여부를 판단하는 단계(S400)가 수행된다. 도 13을 참조하면, 상기 단계(S400)에서 루트 블록(B5)에서 시작되는 서브 브랜치가 존재하지 않는다고 판단하게 된다.
서브 브랜치가 존재하지 않으면, 서브 브랜치를 생성하는 단계(S510)가 수행된다. 도 13을 참조하면, 5번 문서가 수정된 제2 형 이벤트에 따른 데이터를 포함하는 블록(B51)이 새롭게 생성된다. 생성된 블록(B51)은 탐색된 루트 블록(B5)에 연결되어 서브 브랜치를 생성하게 된다. 새롭게 생성된 블록(B51)에는 루트 블록의 적어도 일부의 해시값(H5)이 포함된다.
이하, 서브 브랜치를 연장하는 단계(S520)에 대해 설명하도록 한다. 루트 블록에서 시작되고 메인 브랜치와 구분되는 서브 브랜치가 존재하면, 서브 브랜치를 연장하는 단계(S520)가 수행된다. 서브 브랜치를 연장하는 단계(S520)는 발생한 제2 형 이벤트에 따른 데이터를 포함하는 블록을 상기 서브 브랜치의 마지막에 연결되도록 생성하는 단계이다. 새롭게 생성된 블록이 서브 브랜치에 연결됨으로써 서브 브랜치가 연장되게 된다.
블록을 생성하려는 노드는 발생한 제2 형 이벤트에 따른 데이터를 포함하는 블록몸체를 생성한다. 그리고 블록몸체의 해시값을 블록헤더에 삽입한다. 또한, 새롭게 생성하려는 블록의 블록헤더에 서브 브랜치의 마지막 블록의 적어도 일부의 해시값이 삽입될 수 있다.
블록헤더에는 블록몸체의 해시값 및 서브 브랜치의 마지막 블록의 적어도 일부의 해시값 등이 포함된다. 그리고 블록을 생성하려는 노드는 블록 생성 조건을 만족하는 난스를 탐색하고, 탐색된 난스를 블록헤더에 삽입하여 블록을 생성한다.
도 14 및 도 15를 참조하여, 발생한 이벤트가 제2 형 이벤트이고, 서브 브랜치가 존재하는 경우에 대해서 설명하도록 한다. 일단 도 14는 도 13의 블록체인 상태에서 복수의 제2 형 이벤트가 발생하여 복수의 서브 브랜치가 생성되고, 연장된 상태를 도시한 것이다. 이러한 도 14의 블록체인 상태에서 새로운 제2 형 이벤트가 발생한 것을 가정하여 설명하도록 한다.
도 15는 도 14의 블록체인 상태에서 3번의 문서가 조회되는 제2 형 이벤트가 발생한 경우, 이에 따른 데이터를 관리하는 방법을 설명하기 위한 도면이다.
3번 문서가 조회되는 제2 형 이벤트가 발생하면, 발생한 제2 형 이벤트가 기반한 데이터를 포함하는 루트 블록을 탐색하는 단계(S300)가 수행된다. 도 15를 참조하면, 상기 단계(S300)에서 루트 블록으로 3번 문서가 생성된 이벤트에 따른 데이터를 포함하는 블록(B3)이 탐색된다.
루트 블록이 탐색되면, 탐색된 루트 블록(B3)에서 시작되고 메인 브랜치와 구분되는 서브 브랜치가 존재하는지 여부를 판단하는 단계(S400)가 수행된다. 도 15를 참조하면, 상기 단계(S400)에서 루트 블록(B3)에서 시작되는 서브 브랜치가 존재한다고 판단하게 된다.
서브 브랜치가 존재하면, 서브 브랜치를 연장하는 단계(S530)가 수행된다. 도 15를 참조하면, 3번 문서가 조회된 제2 형 이벤트에 따른 데이터를 포함하는 블록(B35)이 새롭게 생성된다. 생성된 블록(B35)은 탐색된 루트 블록(B3)에서 시작되는 서브 브랜치의 마지막 블록(B34)에 연결되도록 생성하게 된다. 새롭게 생성된 블록(B35)에는 서브 브랜치의 마지막 블록의 적어도 일부의 해시값(H34)이 포함된다.
이러한 블록체인을 이용한 데이터 관리 방법에 따르면 하나의 메인 브랜치와 적어도 하나의 서브 브랜치를 포함하는 블록체인을 형성할 수 있고, 이를 이용하여 데이터를 관리할 수 있다. 이러한 블록체인을 이용하면 임의의 하나의 블록의 데이터를 검증하는데 상기 블록이 포함되는 서브 브랜치 및 메인 브랜치의 블록만이 필요하다. 따라서 블록체인에 참여하는 노드들이 저장하고 검증해야 하는 블록의 크기를 줄일 수 있다.
이상, 본 발명의 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법의 실시예들에 대해 설명하였다. 본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 제1 형 데이터 20: 제2 형 데이터
100, 200: 블록 110, 210: 블록헤더
120, 220: 블록몸체
100-1: 제1 형 블록 100-2: 제2 형 블록
1000: 메인 브랜치 2000: 서브 브랜치

Claims (24)

  1. 하나의 블록은 하나의 데이터를 포함하고, 둘 이상의 데이터들을 관리하는 블록체인 시스템에 있어서,
    상기 데이터는 다른 데이터에 기반하지 않은 제1 형 데이터 및 상기 제1 형 데이터에 기반한 제2 형 데이터로 구분되고,
    상기 제1 형 데이터들이 포함된 제1 형 블록들을 포함하고, 상기 제1 형 블록들은 각각 블록의 생성 순서에 따라 연결된 메인 브랜치; 및
    상기 제2 형 데이터들이 포함된 제2 형 블록들을 포함하고, 상기 제2 형 블록들은 하나의 제1 형 블록을 루트 블록으로 하여 연결된 적어도 하나의 서브 브랜치를 포함하고,
    하나의 서브 브랜치는,
    제1 형 블록인 루트 블록 및 상기 루트 블록이 포함하는 제1 형 데이터에 기반한 제2 형 데이터를 포함하는 적어도 하나의 제2 형 블록을 포함하고,
    상기 하나의 서브 브랜치의 적어도 하나의 제2 형 블록은 각각 블록의 생성 순서에 따라 연결되되, 상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 루트 블록에 연결되는 블록체인 시스템.
  2. 제1 항에 있어서,
    상기 메인 브랜치에서 하나의 제1 형 블록은 직전에 생성된 제1 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  3. 제1 항에 있어서,
    상기 하나의 서브 브랜치에서 최초로 생성된 제2 형 블록은 연결되는 루트 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  4. 제1 항에 있어서,
    상기 하나의 서브 브랜치에서 최초로 생성되지 않은 제2 형 블록은 상기 서브 브랜치에 포함되고 직전에 생성된 제2 형 블록의 적어도 일부의 해시값을 포함하는 블록체인 시스템.
  5. 제1 항에 있어서,
    상기 제1 형 데이터는 신규 자료를 생성하는 것에 관한 데이터이고,
    상기 제2 형 데이터는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 데이터인 블록체인 시스템.
  6. 제1 항에 있어서,
    상기 데이터는 디지털 컨텐츠에 관한 정보이고,
    상기 제1 형 데이터는 신규 디지털 컨텐츠에 관한 정보이고,
    상기 제2 형 데이터는 이미 생성된 디지털 컨텐츠에 기반한 정보인 블록체인 시스템.
  7. 제6 항에 있어서,
    상기 제2 형 데이터는 이미 생성된 디지털 컨텐츠의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나에 관한 정보인 블록체인 시스템.
  8. 제1 항에 있어서,
    상기 데이터는 문서에 관한 정보이고,
    상기 제1 형 데이터는 신규 문서 생성에 관한 정보이고,
    상기 제2 형 데이터는 이미 생성된 문서에 기반한 정보인 블록체인 시스템.
  9. 제8 항에 있어서,
    상기 제2 형 데이터는 이미 생성된 문서의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나에 관한 정보인 블록체인 시스템.
  10. 제1 항에 있어서,
    상기 데이터는 계좌에 관한 정보이고,
    상기 제1 형 데이터는 신규 계좌 생성에 관한 정보이고,
    상기 제2 형 데이터는 이미 생성된 계좌의 거래에 관한 정보인 블록체인 시스템.
  11. 블록체인 시스템이 하나의 블록은 하나의 데이터를 포함하고, 둘 이상의 데이터들에 대한 이벤트를 블록체인을 이용하여 관리하는 방법에 있어서,
    상기 블록체인 시스템이 상기 이벤트를 기존의 데이터에 기반하지 않은 제1 형 이벤트 및 기존의 데이터에 기반한 제2 형 이벤트로 구분하고,
    상기 블록체인 시스템이 적어도 하나의 블록이 각각 블록의 생성 순서에 따라 연결된 메인 브랜치를 마련하는 단계;
    상기 블록체인 시스템이 상기 제2 형 이벤트가 발생하면, 상기 메인 브랜치에서 상기 제2 형 이벤트가 기반한 데이터를 포함하는 루트 블록을 탐색하는 단계; 및
    상기 블록체인 시스템이 상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하지 않으면, 상기 제2 형 이벤트에 따른 데이터를 포함하는 블록을 상기 루트 블록에 연결되도록 생성하여 서브 브랜치를 생성하는 단계를 포함하는 블록체인을 이용한 데이터 관리 방법.
  12. 제11 항에 있어서,
    상기 블록체인 시스템이 상기 서브 브랜치를 생성하는 단계는,
    상기 루트 블록의 적어도 일부의 해시값을 생성하려는 블록의 블록헤더에 삽입하는 단계를 포함하는 블록체인을 이용한 데이터 관리 방법.
  13. 제11 항에 있어서,
    상기 블록체인 시스템이 상기 서브 브랜치를 생성하는 단계는,
    상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하는지 여부를 판단하는 단계를 포함하는 블록체인을 이용한 데이터 관리 방법.
  14. 제11 항에 있어서,
    상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하면, 상기 블록체인 시스템이 상기 제2 형 이벤트에 따른 데이터를 포함하는 블록을 상기 서브 브랜치의 마지막 블록에 연결되도록 생성하여 상기 서브 브랜치를 연장하는 단계를 더 포함하는 블록체인을 이용한 데이터 관리 방법.
  15. 제14 항에 있어서,
    상기 블록체인 시스템이 상기 서브 브랜치를 연장하는 단계는,
    상기 서브 브랜치의 마지막 블록의 적어도 일부의 해시값을 생성하려는 블록의 블록헤더에 삽입하는 단계를 포함하는 블록체인을 이용한 데이터 관리 방법.
  16. 제14 항에 있어서,
    상기 블록체인 시스템이 상기 서브 브랜치를 연장하는 단계는,
    상기 루트 블록에서 시작되고 상기 메인 브랜치와 구분되는 서브 브랜치가 존재하는지 여부를 판단하는 단계를 포함하는 블록체인을 이용한 데이터 관리 방법.
  17. 제11 항에 있어서,
    제1 형 이벤트가 발생하면, 상기 블록체인 시스템이 상기 제1 형 이벤트에 따른 데이터를 포함하는 블록을 상기 메인 브랜치의 마지막 블록에 연결되도록 생성하여 상기 메인 브랜치를 연장하는 단계를 더 포함하는 블록체인을 이용한 데이터 관리 방법.
  18. 제17 항에 있어서,
    상기 블록체인 시스템이 상기 메인 브랜치를 연장하는 단계는,
    상기 메인 브랜치의 마지막 블록의 적어도 일부의 해시값을 생성하려는 블록의 블록헤더에 삽입하는 단계를 포함하는 블록체인을 이용한 데이터 관리 방법.
  19. 제11 항에 있어서,
    상기 제1 형 이벤트는 신규 자료를 생성하는 것에 관한 이벤트이고,
    상기 제2 형 이벤트는 기존 자료를 수정, 변경, 삭제, 폐기, 조회 및 전달 중 어느 적어도 하나를 수행하는 것에 관한 이벤트인 블록체인을 이용한 데이터 관리 방법.
  20. 제11 항에 있어서,
    상기 데이터는 디지털 컨텐츠에 관한 정보이고,
    상기 제1 형 이벤트는 신규 디지털 컨텐츠를 생성하는 것에 관한 이벤트이고,
    상기 제2 형 이벤트는 이미 생성된 디지털 컨텐츠에 기반한 이벤트인 블록체인을 이용한 데이터 관리 방법.
  21. 제20 항에 있어서,
    상기 제2 형 이벤트는 이미 생성된 디지털 컨텐츠의 수정, 변경, 삭제, 폐기, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 이벤트인 블록체인을 이용한 데이터 관리 방법.
  22. 제11 항에 있어서,
    상기 데이터는 문서에 관한 정보이고,
    상기 제1 형 이벤트는 신규 문서를 생성하는 것에 관한 이벤트이고,
    상기 제2 형 이벤트는 이미 생성된 문서에 기반한 이벤트인 블록체인을 이용한 데이터 관리 방법.
  23. 제22 항에 있어서,
    상기 제2 형 이벤트는 이미 생성된 문서의 수정, 변경, 삭제, 조회 및 전달 중 적어도 어느 하나를 수행하는 것에 관한 이벤트인 블록체인을 이용한 데이터 관리 방법.
  24. 제11 항에 있어서,
    상기 데이터는 계좌에 관한 정보이고,
    상기 제1 형 이벤트는 신규 계좌를 생성하는 것에 관한 이벤트이고,
    상기 제2 형 이벤트는 이미 생성된 계좌의 거래에 관한 이벤트인 블록체인을 이용한 데이터 관리 방법.
KR1020170059270A 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법 KR101964692B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170059270A KR101964692B1 (ko) 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
PCT/KR2017/010017 WO2018207974A1 (ko) 2017-05-12 2017-09-13 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
TW107113746A TW201901481A (zh) 2017-05-12 2018-04-23 區塊鏈系統及利用區塊鏈的數據管理方法
SG10201803837VA SG10201803837VA (en) 2017-05-12 2018-05-07 Blockchain system and data managing method using blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170059270A KR101964692B1 (ko) 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법

Publications (2)

Publication Number Publication Date
KR20180124541A KR20180124541A (ko) 2018-11-21
KR101964692B1 true KR101964692B1 (ko) 2019-04-02

Family

ID=64105265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170059270A KR101964692B1 (ko) 2017-05-12 2017-05-12 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법

Country Status (4)

Country Link
KR (1) KR101964692B1 (ko)
SG (1) SG10201803837VA (ko)
TW (1) TW201901481A (ko)
WO (1) WO2018207974A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200108757A (ko) 2019-03-11 2020-09-21 순천향대학교 산학협력단 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 xgs 주입 방법
KR20210032168A (ko) * 2019-09-16 2021-03-24 손종희 블록체인 기반의 전자영수증 관리 장치 및 방법
KR102267560B1 (ko) * 2020-11-13 2021-06-21 주식회사 케이사인 블록 체인에 저장되는 데이터 크기를 축소할 수 있는 데이터의 변경 이력 관리 방법
KR20210073810A (ko) * 2019-12-11 2021-06-21 지송학 데이터 자기주권화를 위한 블록체인 구조를 포함하는 블록체인 시스템
US11818940B2 (en) 2019-07-05 2023-11-14 Samsung Display Co., Ltd. Electronic apparatus including an electronic module and method of manufacturing the same

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128661B1 (ko) * 2018-11-22 2020-06-30 주식회사 포스코아이씨티 이중 레이어 블록체인 시스템
KR102188718B1 (ko) * 2018-11-29 2020-12-08 롯데정보통신 주식회사 블록체인 기반 결제중개 시스템 및 방법
WO2020138532A1 (ko) * 2018-12-27 2020-07-02 서강대학교 산학협력단 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법
KR102189667B1 (ko) * 2019-04-24 2020-12-11 인제대학교 산학협력단 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법
KR102189668B1 (ko) * 2019-04-24 2020-12-11 인제대학교 산학협력단 탈중앙화된 계층적 다중 블록체인 방법
WO2020153552A1 (ko) * 2019-01-22 2020-07-30 인제대학교 산학협력단 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치
CN109918402A (zh) * 2019-01-31 2019-06-21 平安科技(深圳)有限公司 基于区块链的教育证明获取方法、装置、计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300877A1 (en) * 2014-09-23 2017-10-19 Spondoolies Tech Ltd. System and method for providing shared hash engines architecture for a bitcoin block chain
KR101660627B1 (ko) * 2015-02-03 2016-09-28 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
http://tokenpost.kr/article-848, 애스톤, 전자 문서에 특화된 다차원구조 블록체인 'X-체인' 선보여, 인터넷 기사 (2017.11.15)
Hyperledger Fabric을 이용한 블록체인 시작하기, http://developer.ibm.com (2017.04.04)
김형건 외, 블록체인 기반 최신 플랫폼에 대한 조사, 2017년 한국컴퓨터종합학술대회 논문집, pp.1048-1050 (2017)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200108757A (ko) 2019-03-11 2020-09-21 순천향대학교 산학협력단 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 xgs 주입 방법
US11818940B2 (en) 2019-07-05 2023-11-14 Samsung Display Co., Ltd. Electronic apparatus including an electronic module and method of manufacturing the same
KR20210032168A (ko) * 2019-09-16 2021-03-24 손종희 블록체인 기반의 전자영수증 관리 장치 및 방법
KR102348741B1 (ko) * 2019-09-16 2022-01-07 손종희 블록체인 기반의 전자영수증 관리 장치 및 방법
KR20210073810A (ko) * 2019-12-11 2021-06-21 지송학 데이터 자기주권화를 위한 블록체인 구조를 포함하는 블록체인 시스템
KR102332814B1 (ko) * 2019-12-11 2021-11-29 지송학 데이터 자기주권화를 위한 블록체인 구조를 포함하는 블록체인 시스템
KR102267560B1 (ko) * 2020-11-13 2021-06-21 주식회사 케이사인 블록 체인에 저장되는 데이터 크기를 축소할 수 있는 데이터의 변경 이력 관리 방법

Also Published As

Publication number Publication date
KR20180124541A (ko) 2018-11-21
WO2018207974A1 (ko) 2018-11-15
SG10201803837VA (en) 2018-12-28
TW201901481A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
KR101964692B1 (ko) 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
KR102017739B1 (ko) 블록체인 시스템 및 블록체인 생성 방법
KR102599738B1 (ko) 미결정 소스로부터 미결정 데이터를 블록체인 트랜잭션의 잠금 스크립트에 안전하게 제공하는 기법
EP3785204A1 (en) Maintaining blocks of a blockchain in a partitioned blockchain network
EP2302538B1 (en) Method and system for capturing change of data
US11720688B2 (en) Secure initiation and transfer of a cryptographic database and/or a cryptographic unit
US20210109917A1 (en) System and Method for Processing a Database Query
US20180131693A1 (en) Systems and methods for creating and displaying an electronic communication digest
GB2503486A (en) Managing changes to files
Ivancsics Blockchain in journalism
US11232234B2 (en) Method for sharing and verifying blocks and electronic documents between nodes in blockchain
CN109408643B (zh) 基金相似度计算方法、系统、计算机设备和存储介质
KR20190020721A (ko) 블록체인 시스템 및 블록체인 생성 방법
KR102349014B1 (ko) 고속 동기화 가능 탈중앙화 분산 데이터베이스 구성 방법 및 시스템
US20230129227A1 (en) System and method for generating a table-driven mutable blockchain
CN103902554B (zh) 数据访问方法与装置
CN101556595A (zh) 一种快速定位文件系统中关联文件的办法
KR102416336B1 (ko) 블록체인을 관리하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
KR20190113211A (ko) 블록체인 시스템
KR102228214B1 (ko) 블록체인 네트워크에서 블록을 생성하기 이전에 트랜잭션을 전파함으로써 트랜잭션 처리 속도를 향상시킬 수 있는 노드 장치 및 그 동작 방법
KR20190113210A (ko) 블록체인 시스템
KR102123183B1 (ko) 키워드 검색을 이용한 블록 체인 기반의 송수금 방법 및 이를 이용한 시스템
KR20190099936A (ko) 블록체인 시스템
CN113468549A (zh) 基于区块链的加密信息存证的检索方法、系统及电子设备
Nguyen et al. Building mathematical models applied to utxos selection for objective transactions

Legal Events

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