KR20190115390A - 색인 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 방법 - Google Patents

색인 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 방법 Download PDF

Info

Publication number
KR20190115390A
KR20190115390A KR1020180064383A KR20180064383A KR20190115390A KR 20190115390 A KR20190115390 A KR 20190115390A KR 1020180064383 A KR1020180064383 A KR 1020180064383A KR 20180064383 A KR20180064383 A KR 20180064383A KR 20190115390 A KR20190115390 A KR 20190115390A
Authority
KR
South Korea
Prior art keywords
cube
block
data
indexing
blocks
Prior art date
Application number
KR1020180064383A
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 주식회사 큐브시스템
Publication of KR20190115390A publication Critical patent/KR20190115390A/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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • G06Q20/3827Use of message hashing
    • 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

본 발명의 실시 예에 따른 큐브 체인 데이터 블록들을 연결하는 방법은, 소정의 개수의 데이터 블록들을 모아 하나의 큐브를 생성하는 큐브화 과정을 포함하여 구성되며, 상기 큐브화 과정은, 상기 큐브를 구성하는 블록들 중 적어도 하나의 블록을 인덱싱 블록으로 생성하는 인덱싱 블록 생성 과정을 포함하여 구성될 수 있다.

Description

색인 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 방법{Data management engine and data management method for a cube chain containing indexing blocks}
본 발명은 블록체인을 활용한 데이터 관리 엔진 및 방법에 관한 것이다.
보다 구체적으로, 블록체인에 색인 블록을 할당하여 데이터를 관리하는 엔진 및 방법에 관한 것이다.
블록체인은 데이터를 일정한 시간단위로 모아 데이터 블록을 생성하고, 블록을 암호화한 해시 값을 통해 데이터를 검증하고, 이렇게 기록되는 데이터를 분산 서버에 저장하는 시스템이다. 암호화를 통한 데이터 검증과 동일한 데이터를 분산 저장하여 데이터의 신뢰와 안정성을 확보하기 위한 시스템이다.
기존에 사용되던 데이터베이스에 비해 블록체인의 장점은 데이터를 시간 순으로 암호화 검증하여 비가역적이고, 이를 P2P 방식으로 동일 데이터를 공유하여 저장함으로써 데이터를 매우 안전하게 보호하고 유지할 수 있다는 점에 있다. 다수의 사용자로부터 필히 신뢰를 얻어야 하는 디지털 화 폐 기술에 블록체인이 사용되면서 오늘날 암호화 화폐 시장의 기반 기술로 자리잡은 데에는 이와 같은 이유가 있다. 블록체인이 암호화 방식과 P2P 방식을 사용하여 독특한 데이터 기록 방식을 구현하여 새로운 기술의 지평을 열었지만 여전히 기술적인 한계는 가지고 있다.
블록체인이 기존의 데이터베이스를 제대로 대체하려면 속도의 개선과 사용의 편리성 등 기존 데이터베이스가 가지고 있는 기술적 기능들이 동반되어야 한다. 블록체인 기술이 지속적으로 발전 하여 데이터베이스를 대체할 수 있는 수준이 된다면 데이터를 기록하고 관리하는데 매우 안전한 방식으로 자리매김할 것이다. 그러한 관점에서 큐브체인은 블록대신 큐브라는 개념을 통해 데이터베이스의 기능적 요소를 확장해 갈 수 있도록 구조화 시켰다.
그리고 큐브 체인에서 자료 검색을 빠르게 할 수 있는 방법을 제안한다.
[문헌 1] 한국 등록특허 10-166193호 [문헌 2] 한국 등록특허 10-1827373호
본 발명은, 오랫동안 제기된 블록체인 기반 비트코인의 단점인 사용자의 급증에 따라 거래시 처리 속도가 느린 문제 및 특정 주소 검색시 느린 문제를 해결하기 위한 것이다.
본 발명의 실시 예에 따른 둘 이상의 데이터 블록들을 큐브 체인으로 연결하는 방법은, 소정의 개수의 데이터 블록들을 모아 하나의 큐브를 생성하는 큐브화 과정을 포함하여 구성되며, 상기 큐브화 과정은, 상기 큐브를 구성하는 블록들 중 적어도 하나의 블록을 인덱싱 블록으로 생성하는 인덱싱 블록 생성 과정을 포함하여 구성될 수 있다.
상기 큐브화 과정은, 상기 소정의 개수의 데이터 블록들 각각을 해싱(hashing)을 수행하여 데이터 블록들 각각에 대한 해시 값을 획득하는 블록 해시 값 획득 과정 및 상기 큐브화 과정에서 생성된 큐브를 해싱하여 큐브에 대한 해시 값을 획득하는 큐브 해시 값 획득 과정을 포함하여 구성될 수 있다.
상기 인덱싱 블록 생성 과정은, 상기 큐브를 구성하는 데이터 블록의 거래 데이터를 분석하여 주소별로 분류하는 주소별 분류 과정, 상기 주소 별로 분류된 거래 데이터 각각이 포함되어 있는 데이터 블록의 고유 번호를 확인하는 블록 고유 번호 확인 과정을 포함하여 구성될 수 있다.
예를 들어 상기 고유 번호 확인 과정은 해당 주소의 거래 데이터가 포함되어 있는 큐브 번호와 블록 번호의 조합으로 구성될 수 있다. 다시 말해, 2번째 큐브의 5번째 블록, 15번째 큐브의 26번째 블록에 A 주소에 대한 거래 데이터가 저장되어 있다면, 데이터 블록의 고유 번호는 205, 1526이다.
상기 인덱싱 블록 생성 과정은, 상기 큐브가 첫 번째 큐브인 경우, 상기 첫 번째 큐브에 데이터 블록이 생성된 이후에 인덱싱 블록을 생성하며, 상기 큐브가 첫 번째 큐브가 아닌 경우, 큐브가 생성됨과 동시에 인덱싱 블록을 생성할 수 있다.
상기 큐브 체인 데이터 블록 연결 방법은, 상기 인덱싱 블록을 업데이트 하는 인덱싱 블록 업데이트 과정을 더 포함하여 구성되며, 상기 인덱싱 블록 업데이트 과정은, 큐브에 새로운 인덱싱 블록이 생성될 때 수행되는 것이 가장 바람직할 수 있다. 그러나 이에 한정되는 것이 아니라, 큐브 내에 새로운 데이터 블록이 생성될 때 수행 되거나, 소정의 주기 간격으로 수행될 수도 있다.
상기 인덱싱 블록 생성 과정은, 상기 인덱싱 블록이 첫 번째 큐브가 아닌 큐브에서 생성되는 경우, 상기 인덱싱 블록은, 이전에 생성된 큐브의 인덱싱 블록의 데이터를 초기 값으로 가질 수 있다.
한편, 상기 인덱싱 블록이 첫 번째 큐브에서 생성되는 경우, 첫 번째 큐브의 인덱싱 블록은 데이터가 없는 비어있는 인덱싱 블록일 수 있다.
본 발명은, 본 발명의 실시 예에 따른 큐브 체인 데이터 연결 방법으로 생성된 인덱싱 블록을 포함하는 큐브가 저장된 기록 매체일 수 있다.
본 발명의 실시 예에 따른 주소별 거래 데이터를 검색하는 방법은, 가장 최근에 생성된 큐브를 검색하는 최신 큐브 검색 단계, 상기 검색한 최신 큐브의 인덱싱 블록의 데이터를 검색하는 최신 큐브 인덱싱 블록 검색 단계, 상기 검색한 최신 큐브 인덱싱 블록의 데이터를 기반으로 주소별 거래 데이터를 추출하는 거래 데이터 추출 단계를 포함할 수 있다.
본 발명은, 본 발명의 실시 예에 따른 주소 데이터 검색 방법이 기록된 기록 매체일 수 있다.
본 발명은, 기존의 블록 체인의 문제점을 해결하고자 입체 형식으로 블록들을 연결한 큐브 체인에서 전체 데이터 블록에 대한 색인을 만들어 저장함으로써 특정 주소에 관련된 데이터 블록 검색을 빠르게 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 큐브 체인에서 블록들의 연결 방법을 구조적으로 나타낸 도면이다.
도 3 내지 도 6은 본 발명의 실시 예에 따른 제1 내지 제4 패턴 각각을 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 인덱싱 블록을 사용하는 검색 시간과 종래 기술의 검색 시간을 비교한 도면이다.
도 8은 본 발명의 실시 예에 따른 인덱싱 블록을 생성하는 과정을 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예컨대, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서, 어떤 부분이 다른 부분과 “연결”되어 있다고 할 때, 이는 “직접적으로 연결”되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 “전기적으로 연결”되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 “~(하는) 단계” 또는 “~의 단계”는 “~를 위한 단계”를 의미하지 않는다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
1. 본 발명의 실시 예에 따른 인덱싱 블록을 포함하는 블록체인 데이터 블록 연결 방법
본 발명의 실시 예에 따른 인덱싱 블록을 포함하는 큐브 체인 데이터 블록 연결 방법은 큐브 체인 기술을 기반으로 구현된다.
큐브 체인 기술이란, 블록 체인을 구성하는 27개의 블록을 모아 하나의 큐브로 만드는 큐브화 기술을 의미한다. 본 발명의 발명자는 한국 특허출원번호 10-2018-0038298호에서 블록들의 연결을 다중화한 새로운 형태의 블록 체인 시스템을 출원하였고, 해당 내용은 본 발명에서 큐브화 과정의 기초가 된다.
한편, 본 발명의 실시 예에 따른 인덱싱 블록을 포함하는 큐브 체인 시스템의 데이터 관리 방법은, 소정의 개수의 블록들을 모아 하나의 큐브를 생성하는 큐브화 과정을 포함하여 구성되며, 상기 큐브화 과정에서는 적어도 하나의 색인 블록이 생성된다.
1.1 큐브화 과정
큐브화 과정은 큐브 체인을 구성하는 데이터 블록이 생성됨과 동시에 시작되며, 큐브화 과정으로 생성된 큐브들 각각은 해시 값을 가지며, 해시 값은 큐브와 큐브의 연결을 검증하는 수단으로 사용될 수 있다. 즉, 큐브화 기술은 지속적으로 소정의 개수의 데이터 블록을 하나로 모아 큐브로 만들고, 이렇게 만들어진 큐브를 잇는다.
큐브화 과정은, 큐브를 구성하는 각각의 블록들에 대한 해시 값을 획득하는 블록 해시 값 획득 과정, 데이터 블록들을 소정의 서로 다른 연결 패턴을 가지고 상호 연결하여 큐브를 생성하는 큐브화 과정 및 상기 생성된 큐브에 대한 큐브 해시 값을 획득하는 큐브 해시값 획득 과정을 포함하여 구성될 수 있다.
구체적으로, 블록 해시 값 획득 과정 및 큐브 해시 값 획득 과정은 해싱(hashing)이라는 통상적인 과정을 통해 해시 값을 획득할 수 있다.
이러한 과정으로 획득된 해시 값은 데이터 블록이 위조 또는 변조 되었는지를 검증하는 자료로 사용될 수 있다
이와 같이 개별 블록과 큐브 각각을 해싱하여 블록과 큐브 각각에 대한 해시 값을 획득하므로, 블록들만 해싱하여 해시 값을 획득하는 종래의 블록체인 기술보다 보안성이 높아질 수 있다.
한편, 상기 큐브화 과정은, 블록들을 하나 이상 블록들과 상호 연결하는 과정이다. 더욱 바람직하게는 둘 이상의 블록들과 상호 연결하는 과정이다.
한편, 상기 큐브화 과정에서 사용되는 소정의 서로 다른 연결 패턴은 블록에서 연결 가능한 블록의 최대 개수에 따라서 결정될 수 있으며, 최종적으로 생성되는 상기 큐브의 형태는, 상기 소정의 서로 다른 연결 패턴의 개수에 따라서 결정될 수 있다.
한편, 상기 큐브는 큐브를 구성하는 블록의 개수가 소정의 개수로 정해져 있을 수 있다. 다시 말해, 블록의 개수가 상기 소정의 개수 이하인 경우에는 블록들을 큐브화하여 첫 번째 큐브를 생성하고, 블록의 개수가 상기 소정의 개수 소정의 개수를 초과하는 경우, 상기 소정의 개수를 초과하는 블록들로 두 번째 큐브를 생성할 수 있다. 그리고, 상기 두 번째 큐브를 구성하는 블록의 개수가 상기 소정의 개수를 초과하게 되면, 소정의 개수를 초과하는 블록들로 세 번째 큐브를 생성한다.
예컨대, 27개의 블록이 큐브화되어 생성되는 큐브 체인에서, 고유 식별 번호 1 내지 80을 가지는 블록 80개가 있는 경우, 첫 번째 큐브는 고유 식별 번호 1 내지 27을 가지는 블록들 구성되고, 두 번째 큐브는 고유 식별번호 28 내지 54을 가지는 블록들로 구성되며, 세 번째 큐브는, 고유 식별 번호 55 내지 80을 가지는 블록들로 구성될 수 있다. 그리고 세 번째 큐브에는 추후에 생성되는 고유 식별 번호 81을 가지는 블록을 더 포함될 수 있다.
이하에서는 본 발명의 이해를 돕기 위해서 큐브가 27개의 블록들로 구성되는 육면체 입체구조인 경우를 예로 들어 설명하기로 한다. 본 발명에서는 27개의 블록들로 구성되는 큐브에 대해서만 설명하지만 큐브를 구성하는 블록의 개수는 27개보다 많거나 적을 수 있으며, 입체구조 또한 육면체로 한정되는 것은 아니다.
도 2는 본 발명의 실시 예에 따른 27개의 블록들을 위상적으로 연결한 큐브를 나타낸 도면이다.
도 2를 살펴보면, 27개의 블록들은 3개씩 3열로 9개의 블록이 하나의 평면에 배열되고, 이와 같이 배열되는 9개의 블록이 3층으로 쌓여서 육면체 입체구조를 형성할 수 있다. 그리고, 각각의 블록들은 인접한 블록들과 해시 값으로 연결되어 있다.
구체적으로 상기 27개의 블록 각각은 인접한 6개의 블록과 연결되는 제1 패턴, 인접한 5개의 블록과 연결되는 제2 패턴, 인접한 4개의 블록과 연결되는 제3 패턴, 인접한 3개의 블록과 연결되는 제4 패턴 중 어느 하나의 패턴으로 연결될 수 있다.
도 3 내지 도 6은 제1 내지 제4 패턴 각각을 나타낸 도면이다.
도 3을 살펴보면, 제1 패턴을 가지는 블록은, 27개로 구성되는 육면체 입체구조에서 가운데 있는 블록(14)으로, 하나만 존재하며, 5,11,13,15,17,23 블록들과 연결될 수 있다.
도 4를 살펴보면 제2 패턴을 가지는 블록은 27개로 구성되는 육면체 입체구조에서 육면체의 각 면의 가운데에 위치하는 블록으로 5,11,13,15,17,23 블록이다. 상기 제2 패턴을 가지는 블록은 인접한 5개의 블록과 연결되며, 제2 패턴을 가지는 블록 각각에 연결되는 블록은 아래 표 1과 같다.
제2 패턴 블록 제2 패턴 블록과 연결되는 블록
5 2,4,6,8,14
11 2,10,12,14,20
13 4,10,16,14,22
15 6,12,14,18,24
17 8,14,16,18,26
23 14,20,22,24,26
도 5는 27개로 구성되는 육면체 입체구조에서 제3 패턴을 가지는 12개의 블록을 나타낸 도면이다. 구체적으로 제3 패턴을 가지는 12개의 블록 각각은 인접한 4개의 블록과 연결되며, 제3 패턴을 가지는 블록 각각에 연결되는 블록은 아래 표 2와 같다.[표2]
제3 패턴 블록 제3 패턴 블록과 연결되는 블록
2 1,3,5,11
4 1,5,7,13
6 3,5,9,15
8 5,7,9,17
10 1,11,13,19
12 3,11,15,21
16 7,13,17,25
18 9,15,17,27
20 11,19,21,23
22 15,21,23,27
24 13,19,23,25
26 17,23,25,27
도 6은 27개로 구성되는 육면체 입체구조에서 제4 패턴을 가지는 8개의 블록을 나타낸 도면이다. 구체적으로 제4 패턴을 가지는 8개의 블록 각각은 인접한 3개의 블록과 연결되며, 제4 패턴을 가지는 블록 각각에 연결되는 블록은 아래 표 3과 같다.
제4 패턴 블록 제4 패턴 블록과 연결되는 블록
1 2,4,10
3 2,6,12
7 4,8,16
9 6,8,18
19 10,20,22
21 12,20,24
25 16,22,26
27 18,24,26
한편, 27개의 블록들이 모여 하나의 큐브를 형성하면, 다음에 생성되는 28번째 블록은, 새로운 큐브를 구성하게 된다. 즉 하나의 큐브는 27개의 블록들이 모여서 형성되고, 이와 같이 27개의 블록이 형성된 큐브들이 연결되어 블록 체인을 구현하게 된다.
1.2. 본 발명의 실시 예에 따른 인덱싱 블록 생성 과정
한편, 상술한 큐브화 과정은 큐브를 구성하는 27개의 블록들 중에서 적어도 하나의 블록을 인덱싱 블록(Indexing Block)으로 생성하는 인덱싱 블록 생성 과정을 포함하여 구성될 수 있다.
한편, 인덱싱 블록 생성 과정은, 상기 큐브를 구성하는 데이터 블록의 거래 데이터를 분석하여 주소별로 분류하는 주소별 분류 과정, 상기 주소 별로 분류된 거래 데이터 각각이 포함되어 있는 데이터 블록의 고유 번호를 확인하는 블록 고유 번호 확인 과정을 포함할 수 있다.
예를 들어 상기 고유 번호 확인 과정은 해당 주소의 거래 데이터가 포함되어 있는 큐브 번호와 블록 번호의 조합으로 구성될 수 있다. 다시 말해, 2번째 큐브의 5번째 블록, 15번째 큐브의 26번째 블록에 A 주소에 대한 거래 데이터가 저장되어 있다면, 데이터 블록의 고유 번호는 205, 1526이다.
한편, 주소 분류 과정은, 큐브 체인을 구성하는 데이터 블록을 하나씩 확인하여 거래 데이터가 어느 주소에 대한 거래 데이터인지를 확인하여 분류하는 과정이다. 이러한 주소 분류 과정이 수행된 후에 블록 고유 번호 확인 과정이 수행된다.
예를 들어 상기 고유 번호 확인 과정은 해당 주소의 거래 데이터가 포함되어 있는 큐브 번호와 블록 번호의 조합으로 구성될 수 있다. 다시 말해, 2번째 큐브의 5번째 블록, 15번째 큐브의 26번째 블록에 A 주소에 대한 거래 데이터가 저장되어 있다면, 데이터 블록의 고유 번호는 205, 1526이다.
도 8은 본 발명의 실시 예에 따른 주소 별로 데이터를 분류하여 인덱싱 블록을 생성하는 예시를 나타낸 도면이다.
도 8과 같이, 큐브 체인을 구성하는 모든 데이터에 대해서 주소별로 분류하고, 주소별로 분류된 데이터 블록들의 고유 식별 번호를 나열함으로써 인덱싱 블록이 생성될 수 있다.
이러한 과정으로 생성된 인덱싱 블록은, 큐브를 구성하는 데이터 블록에 저장되어 있는 거래 데이터를 주소 별로 분류하여 그 색인 데이터가 저장된 블록으로 큐브를 구성하는 다른 데이터 블록과 마찬가지로, 해싱 되어 해시 값이 생성될 수 있다.
이와 같이 데이터 블록의 거래 데이터를 주소 별로 정리 하는 이유는, 종래의 블록 체인 기술은 블록들이 선형적으로 연결되어 특정 주소에 대한 거래 내역을 검색하기 위해서는 도 7의 왼쪽(기존 블록체인 방법)과 같이 연결되어 있는 데이터 블록들은 처음부터 끝까지 모두 다 확인해야 되므로 시간이 오래 걸리는 문제점이 있었다.
이러한 문제점을 해결하기 위해서 본 발명에서는 주소를 기반으로 하는 인덱싱 블록을 구비하여, 인덱싱 블록을 확인하는 것만으로 특정 주소에 대한 거래 내역을 빠르게 검색할 수 있다.
한편, 인덱싱 블록은, 상술한 큐브화 과정의 제1 패턴을 가지는 블록인 것이 가장 바람직할 수 있다. 다만, 인덱싱 블록이 제1 패턴이 아닌 다른 패턴을 가질 수 있으며, 이러한 경우에도 인덱싱 블록의 기능을 수행하는데 제한사항은 없다.
한편, 인덱싱 블록은 큐브를 구성하는 데이터 블록이 생성된 다음에 생성되게 된다, 구체적으로는, 큐브는, 큐브 내의 27개의 블록 중에서 적어도 하나의 인덱싱 블록을 포함하여 구성되되, 첫번째 큐브(이전에 생성된 큐브가 없는)인 경우에는, 인덱싱 블록은 비어 있을 수 있다. 즉, 인덱싱 블록은 첫 번째 큐브에서는 아무런 데이터를 포함하지 않고 있으며, 두번째 큐브(이전에 생성된 큐브가 적어도 하나 이상 있는 경우)부터는, 큐브가 생성되는 시점에서 생성되고, 이전 큐브의 데이터 블록을 기반으로 인덱싱 블록이 생성될 수 있다.
다시 말해, 두 번째 큐브에서 생성되는 첫 번째 블록은 인덱싱 블록이고. 두 번째 큐브의 인덱싱 블록은 첫 번째 큐브의 데이터 블록들을 기반으로 생성될 수 있다.
인덱싱 블록에 저장되는 데이터는, 거래 데이터를 그대로 저장하는 경우에는 용량이 너무 커지는 문제점이 발생할 수 있으므로, 이를 방지하기 위해 인덱싱 블록에는 거래 데이터가 포함되어 있는 데이터 블록의 고유 번호가 저장될 수 있다.
예를 들어 상기 고유 번호는 데이터 블록이 포함되어 있는 큐브 번호와 큐브 내의 블록 번호의 조합으로 구성될 수 있다. 다시 말해, 2번째 큐브의 5번째 블록인 경우 고유 번호는 205이고, 15번째 큐브의 26번째 블록인 경우, 고유 번호는 1526이다.
다시 말해, 상기 인덱싱 블록은 전체 거래 내역이 포함된 모든 데이터 블록을 도 3와 같이 주소별로 분류하여 블록들의 고유 번호를 기반으로 색인 데이터를 저장 할 수 있다.
예를 들어 상기 인덱싱 블록에는 각각의 주소 별로 큐브 번호(앞의 두자리(0~99))블록 번호(뒤의 두자리(1~27))와 같은 형태로 저장될 수 있다. 다시 말해 인덱싱 블록에 A주소에 대해 120, 122, 1105, 1201와 같이 기재되어 있다면 A주소에 대한 거래 데이터는 1번 큐브의 20번째 블록, 1번 큐브의 22번째 블록, 11번 큐브의 5번째 블록, 12번 큐브의 1번째 블록에 저장되어 있는 것을 의미한다.
상기와 같은 방식으로 인덱싱 블록에는 B주소의 거래 데이터는 103,1102,1201,1999와 같은 형성으로 저장되고,, C주소의 거래 데이터는 105,113,1307,1605와 같은 형식으로 정리되어 저장될 수 있다.
한편, 인덱싱 블록은 이전에 생성된 큐브와 현재 큐브를 구성하는 모든 데이터 블록을 주소별로 정리하여 저장할 수 있다.
한편, 본 발명의 실시 예에 다른 인덱싱 블록은, 현재 큐브의 데이터 블록 및 현재 큐브 이전에 생성된 큐브들의 데이터 블록을 기반으로 생성되는 것으로 설명하였으나, 인덱싱 블록의 생성을 빠르게 하기 위해서 다음과 같이 기존의 인덱싱 블록을 업데이트 함으로써 실시 될 수도 있다.
본 발명의 실시 예에 따른 큐브 체인 데이터 연결 방법은 인덱싱 블록을 업데이트 하는 인덱싱 블록 업데이트 과정을 포함하여 구성될 수 있다. 구체적인 인덱싱 블록 업데이트 과정의 일 예로, 3개 이상의 큐브가 해시 값으로 연결되는 경우에는, 세 번째 큐브에서 생성되는 인덱싱 블록은, 두 번째 큐브의 인덱싱 블록에 세 번째 큐브의 데이터 블록을 업데이트함으로써 빠르게 인덱싱 블록을 최신화할 수 있다.
한편, 인덱싱 블록 업데이트 과정의 다른 실시 예로 새로운 데이터 블록이 생성될 때 마다 인덱싱 블록을 업데이트 하거나, 소정의 주기 간격으로 인덱싱 블록을 업데이트 할 수 있다.
한편, 상술한 바와 같이 생성되는 인덱싱 블록을 포함하는 큐브는 다양한 기록 매체에 저장될 수 있다.
기록 매체로는, 데이터 CD, USB 메모리, 메모리 스틱, 메모리 카드 등의 포터블 메모리(portable memory)와, 하드 디스크, 플로피 디스크, 정적 메모리(static memory, SRAM) 등의 넌 포터블 메모리(non-portable memory)등이 사용될 수 있으며, 상기 기록 매체는, 개인 PC 또는 서버 또는, P2P 노드의 일구성으로 포함될 수 있다.
1.3 본 발명의 실시 예에 따른 인덱싱 블록을 사용하여 주소별 거래 데이터 검색 방법.
본 발명의 실시 예에 따른 주소별 거래 데이터 검색 방법은, 가장 최근에 생성된 큐브를 검색하는 최신 큐브 검색 단계, 상기 검색한 최신 큐브의 인덱싱 블록의 데이터를 검색하는 최신 큐브 인덱싱 블록 검색 단계, 상기 검색한 최신 큐브 인덱싱 블록의 데이터를 기반으로 주소별 거래 데이터를 추출하는 거래 데이터 추출 단계를 포함하여 구성될 수 있다.
이하에서 구체적인 예를 들어 종래 블록 체인에서 주소별 거래 데이터를 검색하는 방법을 설명한다.
종래의 블록 체인에서는 B 주소에 대한 거래 데이터를 검색하기 위해서는 도 2와 같이 첫 번째 데이터 블록부터 마지막 데이터 블록까지 모든 데이터 블록을 순차적으로 검색하여 B 주소에 대한 데이터 블록을 찾아야 되므로 시간이 오래 걸렸다.
그러나 본 발명의 실시 예에 따른 주소별 거래 데이터 검색 방법은 상술한 본 발명의 실시 예에 따른 인덱싱 블록을 사용하여 빠르게 검색할 수 있다.
구체적으로, 가장 최근에 생성된 큐브를 검색하는 최신 큐브 검색 단계 및 상기 검색한 최신 큐브의 인덱싱 블록의 데이터를 검색하는 최신 큐브 인덱싱 블록 검색 단계를 순차적으로 수행한다. 이처럼 가장 최근에 생성된 큐브 및 가장 최근에 생성된 큐브의 인덱싱 블록을 검색하는 이유는, 인덱싱 블록은 큐브가 생성될 때, 또는, 데이터 블록이 새롭게 생성될 때 마다 업데이트 되기 때문에 가장 최근에 생성된 큐브의 인덱싱 블록에 가장 최근에 생성된 인덱싱(색인) 데이터가 저장되어 있기 때문이다. 따라서, 정확한 주소별 거래 정보를 획득하기 위해서는 가장 최근에 생성된 큐브의 인덱싱 블록을 검색하는 것이 바람직하다.
한편, 상기 인덱싱 블록에는 각각의 주소 별로 데이터 블록의 식별번호(앞의 두자리(0~99))블록 번호(뒤의 두자리(1~27))가 저장될 수 있다. 다시 말해 인덱싱 블록에 A주소에 대해 120, 122, 1105, 1201와 같이 기재되어 있다면 A주소에 대한 거래 데이터는 1번 큐브의 20번째 블록, 1번 큐브의 22번째 블록, 11번 큐브의 5번째 블록, 12번 큐브의 1번째 블록에 저장되어 있는 것을 의미한다.
상기와 같은 방식으로 인덱싱 블록에는 B주소의 거래 데이터는 103,1102,1201,1999와 같은 형성으로 저장되고,, C주소의 거래 데이터는 105,113,1307,1605와 같은 형식으로 정리되어 저장될 수 있다.
그리고 상기와 같이 주소별 거래 데이터가 저장되어 있는 인덱싱 블록으로부터 데이터 블록이 위치하는 큐브 번호 및 블록 번호를 찾아서 주소별 거래 데이터를 추출할 수 있다.
즉, 본 발명의 실시 예에 따른 주소별 거래 데이터 검색 방법은, 모든 데이터 블록을 검색하는 대신에 가장 최근에 생성된 큐브의 인덱싱 블록만을 검색하는 것으로 B 주소에 대한 거래 내역에 관련된 데이터 블록이 103,1102,1201,1999 식별 번호를 가지는 데이터 블록에 있음을 빠르게 알 수 있다. 따라서, 모든 블록을 하나씩 검색하지 않고도, 검색하고자 하는 주소의 데이터 블록을 알 수 있다.
한편, 본 발명의 기술적 사상은 상기 실시 예에 따라 구체적으로 기술되었으나, 상기 실시 예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주지해야 한다. 또한, 본 발명의 기술분야에서 당업자는 본 발명의 기술 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
1 내지 27 : 큐브 내의 블록 각각의 고유 번호

Claims (9)

  1. 둘 이상의 데이터 블록들을 큐브 체인으로 연결하는 방법에 있어서,
    소정의 개수의 데이터 블록들을 모아 하나의 큐브를 생성하는 큐브화 과정을 포함하여 구성되며,
    상기 큐브화 과정은,
    상기 큐브를 구성하는 블록들 중 적어도 하나의 블록을 인덱싱 블록으로 생성하는 인덱싱 블록 생성 과정을 포함하여 구성되는 것을 특징으로 하는 큐브 체인 데이터 블록 연결 방법.
  2. 청구항 1에 있어서,
    상기 큐브화 과정은,
    상기 소정의 개수의 데이터 블록들 각각을 해싱(hashing)을 수행하여 데이터 블록들 각각에 대한 해시 값을 획득하는 블록 해시 값 획득 과정; 및
    상기 큐브화 과정에서 생성된 큐브를 해싱하여 큐브에 대한 해시 값을 획득하는 큐브 해시 값 획득 과정;
    을 포함하여 구성되는 것을 특징으로 하는 큐브 체인 데이터 블록 연결 방법.
  3. 청구항 1에 있어서,
    상기 인덱싱 블록 생성 과정은,
    상기 큐브를 구성하는 데이터 블록의 거래 데이터를 분석하여 주소별로 분류하는 주소별 분류 과정;
    상기 주소 별로 분류된 거래 데이터 각각이 포함되어 있는 데이터 블록의 고유 번호를 확인하는 블록 고유 번호 확인 과정;
    을 포함하여 구성되는 것을 특징으로 하는 큐브 체인 데이터 블록 연결 방법.
  4. 청구항 1에 있어서,
    상기 인덱싱 블록 생성 과정은,
    상기 큐브가 첫 번째 큐브인 경우,
    상기 첫 번째 큐브에 데이터 블록이 생성된 이후에 인덱싱 블록을 생성하며,
    상기 큐브가 첫 번째 큐브가 아닌 경우,
    큐브가 생성됨과 동시에 인덱싱 블록을 생성하는 것을 특징으로 하는 큐브 체인 데이터 블록 연결 방법.
  5. 청구항 1에 있어서,
    상기 큐브 체인 데이터 블록 연결 방법은,
    상기 인덱싱 블록을 업데이트 하는 인덱싱 블록 업데이트 과정을 더 포함하여 구성되며,
    상기 인덱싱 블록 업데이트 과정은,
    큐브에 인덱싱 블록이 생설될 때 수행되거나, 큐브 내에 새로운 데이터 블록이 생성될 때 수행 되거나, 소정의 주기 간격으로 수행되는 것을 특징으로 하는 큐브 체인 데이터 블록 연결 방법.
  6. 청구항 4에 있어서,
    상기 인덱싱 블록 생성 과정은,
    상기 인덱싱 블록이 첫 번째 큐브가 아닌 큐브에서 생성되는 경우,
    상기 인덱싱 블록은, 이전에 생성된 큐브의 인덱싱 블록의 데이터를 초기 값으로 가지는 것을 특징으로 하는 큐브 체인 데이터 연결 방법.
  7. 청구항 1에 따른 큐브 체인 데이터 연결 방법으로 생성된, 인덱싱 블록을 포함하는 큐브가 저장된 기록 매체.
  8. 큐브 채인 데이터에서 주소별 거래 데이터를 검색하는 방법에 있어서,
    가장 최근에 생성된 큐브를 검색하는 최신 큐브 검색 단계;
    상기 검색한 최신 큐브의 인덱싱 블록의 데이터를 검색하는 최신 큐브 인덱싱 블록 검색 단계;
    상기 검색한 최신 큐브 인덱싱 블록의 데이터를 기반으로 주소별 거래 데이터를 추출하는 거래 데이터 추출 단계;
    를 포함하는 큐브 체인 데이터 검색 방법.
  9. 청구항 8에 따른 큐브 체인 데이터 검색 방법이 기록된 기록 매체
KR1020180064383A 2018-04-02 2018-06-04 색인 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 방법 KR20190115390A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR1020180038300 2018-04-02
KR1020180038300 2018-04-02
KR1020180038301 2018-04-02
KR1020180038299 2018-04-02
KR1020180038301 2018-04-02
KR1020180038299 2018-04-02

Publications (1)

Publication Number Publication Date
KR20190115390A true KR20190115390A (ko) 2019-10-11

Family

ID=68210375

Family Applications (7)

Application Number Title Priority Date Filing Date
KR1020180064384A KR102174801B1 (ko) 2018-04-02 2018-06-04 에스크로 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 관리 방법
KR1020180064383A KR20190115390A (ko) 2018-04-02 2018-06-04 색인 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 방법
KR1020180064382A KR102194190B1 (ko) 2018-04-02 2018-06-04 통계 블록을 포함하는 큐브체인 형태의 데이터 관리 엔진 및 데이터 방법
KR1020180078359A KR20190115393A (ko) 2018-04-02 2018-07-05 큐브 체인의 암호화 방법 및 큐브 체인을 이용한 코인 거래를 확인하는 방법
KR1020180090252A KR20190115398A (ko) 2018-04-02 2018-08-02 큐브 체인을 이용한 챗봇 기반의 콜센터 서비스 방법 및 시스템
KR1020180090250A KR20190115396A (ko) 2018-04-02 2018-08-02 큐브 체인을 이용한 sns 서비스 방법 및 시스템
KR1020180090251A KR20190115397A (ko) 2018-04-02 2018-08-02 큐브 체인을 이용한 개인과 개인간의 거래 서비스 방법 및 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180064384A KR102174801B1 (ko) 2018-04-02 2018-06-04 에스크로 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 관리 방법

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020180064382A KR102194190B1 (ko) 2018-04-02 2018-06-04 통계 블록을 포함하는 큐브체인 형태의 데이터 관리 엔진 및 데이터 방법
KR1020180078359A KR20190115393A (ko) 2018-04-02 2018-07-05 큐브 체인의 암호화 방법 및 큐브 체인을 이용한 코인 거래를 확인하는 방법
KR1020180090252A KR20190115398A (ko) 2018-04-02 2018-08-02 큐브 체인을 이용한 챗봇 기반의 콜센터 서비스 방법 및 시스템
KR1020180090250A KR20190115396A (ko) 2018-04-02 2018-08-02 큐브 체인을 이용한 sns 서비스 방법 및 시스템
KR1020180090251A KR20190115397A (ko) 2018-04-02 2018-08-02 큐브 체인을 이용한 개인과 개인간의 거래 서비스 방법 및 시스템

Country Status (1)

Country Link
KR (7) KR102174801B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102284832B1 (ko) * 2019-12-02 2021-08-02 동명대학교산학협력단 인공지능과 블록체인을 융합한 엔터테인먼트 콘텐츠 유통 시스템 및 방법
CN111429046A (zh) * 2020-06-12 2020-07-17 深圳大数据计算机信息股份有限公司 一种基于区块链去中心化的用户评价方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0166193B1 (ko) 1995-12-30 1999-02-18 석진철 중장비의 아암굴삭력 증대장치
KR101827373B1 (ko) 2017-08-29 2018-02-08 주식회사 더블체인 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3859110B2 (ja) * 1999-05-20 2006-12-20 富士通株式会社 記憶装置及びデータ記憶構造
KR100918024B1 (ko) * 2009-03-19 2009-09-18 주식회사 스마트카드연구소 전자화폐 기능이 포함된 스마트카드의 에스크로 실행 시스템 및 그 방법
JPWO2016178312A1 (ja) * 2015-05-07 2018-03-15 日本電気株式会社 情報処理装置、情報処理方法およびプログラム
KR101720268B1 (ko) * 2015-10-26 2017-03-27 (주)아이알엠 환자정보 보호를 위한 의료영상의 클라우드 데이터베이스 구축 및 판독 방법
JP6199518B1 (ja) * 2017-03-23 2017-09-20 株式会社bitFlyer プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0166193B1 (ko) 1995-12-30 1999-02-18 석진철 중장비의 아암굴삭력 증대장치
KR101827373B1 (ko) 2017-08-29 2018-02-08 주식회사 더블체인 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법

Also Published As

Publication number Publication date
KR20190115391A (ko) 2019-10-11
KR102174801B9 (ko) 2021-07-14
KR20190115396A (ko) 2019-10-11
KR102174801B1 (ko) 2020-11-05
KR20190115397A (ko) 2019-10-11
KR102194190B9 (ko) 2021-07-14
KR20190115389A (ko) 2019-10-11
KR20190115398A (ko) 2019-10-11
KR20190115393A (ko) 2019-10-11
KR102194190B1 (ko) 2020-12-23

Similar Documents

Publication Publication Date Title
US11483622B2 (en) Hybrid blockchains and streamchains using non-crypto hashes for securing audio-, video-, image-, and speech-based transactions and contracts
CN109165224B (zh) 一种在区块链数据库上针对关键字key的索引方法
US10402386B2 (en) Method and apparatus for generating index for encrypted field in database
CN109522290B (zh) 一种HBase数据块恢复及数据记录提取方法
CA2399891A1 (en) Software patch generator
KR20190079324A (ko) 블록체인 시스템을 이용한 데이터베이스의 무결성 강화 방법 및 시스템
US11411743B2 (en) Birthday attack prevention system based on multiple hash digests to avoid collisions
CN102024019B (zh) 一种分布式文件系统中基于后缀树的目录组织方法
KR20190115390A (ko) 색인 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 방법
CN108446308A (zh) 可扩展分布式数据库的系统和方法
US11113191B1 (en) Direct and indirect addressing pointers for big data
Xu et al. A Forensic Analysis Method for Redis Database based on RDB and AOF File.
Patgiri et al. Role of bloom filter in big data research: A survey
CN111581647B (zh) 文件加密及解密方法、装置
Vatsalan et al. Sorted nearest neighborhood clustering for efficient private blocking
CN111782589B (zh) 一种用于操作历史重现的数据模型的构建方法及系统
CN109271097A (zh) 数据处理方法、数据处理装置和服务器
Pieterse et al. Data hiding techniques for database environments
CN116484399A (zh) 构建密文范围检索结果完备性验证数据结构的方法及系统
Dahal et al. A clustering based vertical fragmentation and allocation of a distributed database
US6738771B2 (en) Data processing method, computer readable recording medium, and data processing device
KR20190115432A (ko) 큐브체인 형태의 데이터 관리 엔진 및 데이터 관리 방법
CN116756760B (zh) 一种可搜索的数据库加密系统及其方法
Lei Forensic analysis of unallocated space
JP5056546B2 (ja) ファイル保護システム、方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application