KR20210029116A - 특정 네트워크에서 데이터를 보관하고 저장하기 위해 데이터 세트를 처리하는 스파스 머클 트리 방법 및 시스템 - Google Patents

특정 네트워크에서 데이터를 보관하고 저장하기 위해 데이터 세트를 처리하는 스파스 머클 트리 방법 및 시스템 Download PDF

Info

Publication number
KR20210029116A
KR20210029116A KR1020200112809A KR20200112809A KR20210029116A KR 20210029116 A KR20210029116 A KR 20210029116A KR 1020200112809 A KR1020200112809 A KR 1020200112809A KR 20200112809 A KR20200112809 A KR 20200112809A KR 20210029116 A KR20210029116 A KR 20210029116A
Authority
KR
South Korea
Prior art keywords
rim
data
key
hash value
hash
Prior art date
Application number
KR1020200112809A
Other languages
English (en)
Inventor
블레서 라스무쎈 카슨
Original Assignee
아이25에스 에이피에스
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 아이25에스 에이피에스 filed Critical 아이25에스 에이피에스
Publication of KR20210029116A publication Critical patent/KR20210029116A/ko

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

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

Abstract

본 발명은 특정 네트워크에서 데이터 세트를 저장하고 보관하기 위한 데이터 세트를 처리하는 컴퓨터 실행 방법에 관한 것으로, 이 방법은 스파스 머클 트리를 실행한다. 이 방법은
- 적어도 하나의 해시 값을 주어진 비트 폭의 림 키(L, A)의 여러 섹션으로 분할하는 단계; 및
- 스파스 머클 트리의 아카이브 리프인 리프 림 키(L)와 하위 트리(SMT) 생성을 지원하는 부모 림 키(A)를 결정하는 단계를 포함한다.

Description

특정 네트워크에서 데이터를 보관하고 저장하기 위해 데이터 세트를 처리하는 스파스 머클 트리 방법 및 시스템{Sparsed Merkle tree method and system for processing sets of data for storing and keeping track of the same in a specific network }
본 발명은 데이터베이스, 특히 트랜잭션 데이터베이스에서, 데이터 저장 관리 분야에 관한 것이다. 트랜잭션은 블록체인 거래와 같은 암호 화폐와 관련될 수 있다. 본 발명은 특히 특정 네트워크에서 트랜잭션을 저장하고 보관하는 것에 관한 것이다
트랜잭션의 횟수가 많고 트랜잭션 보안이 높아야 한다. 이는 데이터의 안전하고 최적의 저장 문제를 제기한다.
종래 기술에서 제공된 한 가지 해결책은 머클 트리를 사용하는 것이다. 머클 트리를 사용하면 데이터 세트를 암호화 방식으로 실시할 수 있다. 세트의 각 데이터 조각은 먼저 해시된 다음 루트 노드가 얻어질 때까지 모든 데이터와 트리까지 다시 해싱이 수행된다. 도 1에서 트랜잭션 (TA, TS, TX, TZ)과 같은 각 데이터는 해시되어서 트랜잭션 (H(TA), H(TS), H(TX), H(TZ)의 해시를 얻는다. 다음으로, 연속 해시 ((H(TA), H(TS))를 함께 해시하여 다른 해시 값 (H(H(TA)||H(TS))… 등을 얻으며, 루트 노드(H(H((H(TA)||H(TS))||H(H(TX)||H(TZ )))))에 도달할 때 때지 계속한다.
이 트리의 루트는 해시이다. 머클 증명(Merkle proof)이라고 불리는 것을 보여주는 데 사용할 수 있는데, 즉, 일부 콘텐츠가 트리의 일부임을 증명하는 것이다. 이를 일반적으로 증명 포함(Proving Inclusion)이라고 한다. 예를 들어, TA가 트리의 일부임을 증명하기 위해서, TA의 형제를 사용하여 모든 트리를 다시 계산하고 항목이 일치하는지 확인할 수 있다. 실제로 H(TS) 및 H(H(TX)||H(TZ))를 사용하면 원래 루트 해시를 쉽게 다시 계산하고 TA가 트리의 일부임을 증명할 수 있다. 이 항목에는 해당 거래를 안전하고 효율적으로 저장 및/또는 검색하기 위한 해당 거래에 대한 정보가 포함될 수 있다. 머클 트리를 사용하면 전체 트리 또는 전체 데이터 세트를 저장하고 다시 제공할 필요가 없기 때문에 마이크로 컨트롤러 등의 대역폭 및 처리 활동을 절약할 수 있다.
실제로, 머클 트리는 데이터가 동일한지 확인하기 위해 두 장치 간에 전송하는 데 필요한 정보를 줄인다. 두 컴퓨터 장치 간에 정보의 각 바이트를 추출하고 확인하는 대신 데이터 모음에서 머클 트리를 계산한 다음 머클 트리를 탐색하고 머클 트리의 해시값을 비교한다.
그러나, 머클 트리에는 항목이 트리의 일부가 아님을 증명할 가능성이 없다. 이를 일반적으로 증명 미포함(Proving Non-Inclusion)이라고 한다.
종래 기술에서 제공되는 한 가지 해결책은 스파스 머클 트리(Sparsed Merkle trees)를 사용하는 것이다. 스파스(Sparsed Merkle trees)는 머클 트리와 비슷하지만 포함된 데이터가 인덱싱되고 각 데이터 포인트가 데이터 포인트의 인덱스에 해당하는 리프(leaf)에 배치된다. 도 1의 예시에서, 모든 데이터 포인트는 예를 들어 도 1에서 (TA, TS, TX, TZ) 대신 (A, B, C, D)와 같은 세로 좌표 값을 갖게 된다. TC가 트리의 일부인지 여부를 증명하기 위하여, 추가 검사는 예를 들어 TD와 비교하여 세로 좌표 인덱스에 있다.
대한민국
본 발명의 목적은 트랜잭션에 대한 정보의 처리 효율성을 개선하기 위한 추가 수단, 특히 특정 데이터베이스에서의 저장을 제공하는 것이다. 보다 구체적으로는, 본 발명의 목적은 안전한 분산 방식으로 트랜잭션의 제거 및 추가를 효율적으로 처리하는 것이다. 이것은 구조화된 방식으로 인해 해시 키를 정렬/순서화하기 때문에 인터 알리아(interallia)이다. 이를 통해 각 트랜잭션 아카이브(archive)를 빠르게 검색할 수 있다.
이러한 목적을 충족시키기 위해, 본 발명은 특정 네트워크에서 데이터 세트를 저장하고 보관하기 위한 데이터 세트를 처리하는 컴퓨터 구현 방법에 관한 것으로, 이 방법은 스파스 머클 트리(Sparsed Merkle trees)를 구현하며, 다음 단계를 포함한다.
- 데이터를 암호화 해싱하여 데이터의 해시 값을 얻는 단계;
- 해당되는 경우, 데이터의 연속 해시 값을 암호화 해싱하여 첫 번째 단계의 결합된 해시 값을 얻는 단계;
- 해당되는 경우, 첫 번째 단계의 결합된 해시 값을 암호학 해싱하여 두 번째 단계의 결합된 해시 값을 얻는 단계;
- ...
- 루트 해시값을 얻을 때까지 하는 단계.
첫 번째 양상(aspect)에 있어서, 컴퓨터 구현 방법은 아래 단계를 특징으로 한다.
- 적어도 하나의 해시 값을 주어진 비트-폭(bit-width)의 림-키(rim-keys)의 다중 섹션으로 나누는 단계; 및
- 스파스 머클 트리의 아카이브 리프(archive leaves)인 리프 림-키(leave rim-key), 및 하위 트리(subtree) 생성을 지원하는 부모 림 키(parent rim keys)를 결정하는 단계.
바람직하게는, 이 방법은 루트 해시 값이 획득되지 않는 한 모든 해시 값에 대해 서브 트리를 만드는 종래 기술의 방법과는 반대로 서브 트리의 수를 제한할 수 있다. 이렇게 하면 각 하위 트리가 해시 계산이기 때문에 데이터 처리에 사용되는 처리 계산과 메모리가 줄어든다.
또한, 아카이브(archive)의 해시 키는 아카이브의 해시이므로 림 키(rim-keys)를 통해 빠른 트리 검색을 수행할 수 있다.
독립적으로 또는 기술적으로 가능한 조합으로 결합된 방법의 다른 양상에 따르면:
- 상기 방법은 아카이브된 데이터가 부모 림 키와 동일한 림 키를 갖는 경우 부모 림 키에 하위 트리를 생성하는 단계를 포함하고/또는;
- 상기 방법은 다수의 해시 값, 바람직하게는 모든 해시 값을 주어진 비트 폭의 림 키의 다수 섹션으로 분할하는 단계를 포함하고/또는;
- 적어도 하나의 하위 트리는 지정된 인덱스 해시의 벡터이고/또는;
- 상기 인덱스는 각각의 림 키이며/또는;
- 상기 스파스 머클 트리(Sparsed Merkle Tree)는 해시의 벡터로 구성되며/또는;
- 상기 데이터는 트랜잭션이다.
본 발명은 또한 특정 네트워크에서 데이터 세트를 저장하고 보관하기 위한 데이터 세트를 처리하기 위한 시스템에 관한 것으로, 이 시스템은 본 발명에 따른 방법의 단계를 수행하기 위한 수단을 포함한다.
보다 일반적으로, 본 발명은 또한 특정 네트워크에서 동일한 데이터를 저장하고 보관하기 위해 데이터 세트를 처리하는 시스템에 관한 것으로, 시스템은 스파스 머클 트리를 구현하며, 시스템은 다음을 포함한다.
- 데이터의 해시 값을 얻기 위해 데이터를 암호화 해싱하는 수단;
- 제1 단계의 결합된 해시 값을 얻기 위해 데이터의 연속적인 해시 값을 암호화 해싱하는 수단;
- 제2 단계의 결합된 해시 값을 얻기 위해 제1 단계의 결합된 해시 값을 암호화 해싱하는 수단;
- ...
- 루트 해시 값을 얻기 위한 수단.
첫 번째 양상에 따르면, 상기 시스템은 아래를 특징으로 한다.
- 적어도 하나의 해시 값을 주어진 비트-폭의 림-키의 다중 섹션으로 나누는 수단; 및
- 스파스 머클 트리의 아카이브 리프인 리프 림-키 및 하위 트리 생성을 지원하는 부모 림 키를 결정하기 위한 수단.
방법에 대해서 상술한 이점은 방법을 구현하는 시스템에도 적용된다.
독립적으로 취하거나 기술적으로 가능한 조합으로 결합된 시스템의 다른 양상에 따르면:
- 시스템은 아카이브된 데이터가 부모 림 키와 동일한 림 키를 갖는 경우 부모 림 키에 하위 트리를 생성하는 수단을 포함하며/또는;
- 시스템은 복수의 해시 값, 바람직하게는 모든 해시 값을 주어진 비트-폭의 림-키의 다중 섹션으로 분할하기 위한 수단을 포함하며/또는;
- 적어도 하나의 하위 트리는 지정된 인덱스 해시의 벡터이며/또는;
- 상기 인덱스는 각각의 림 키이며/또는;
- 상기 스파스 머클 트리(Sparsed Merkle Tree)는 해시 벡터로 구성된다.
본 발명은 또한 특정 네트워크에서 본 발명에 따른 방법을 통해 또는 본 발명에 따른 시스템에 의해 처리된 데이터 세트를 저장하고 보관하기 위한 수단을 포함하는 데이터베이스에 관한 것이다.
보다 일반적으로, 본 발명은 또한 특정 네트워크에서 데이터 세트를 저장하고 보관하기위한 데이터베이스에 관한 것으로, 스파스 머클 트리를 구현하며,
- 데이터를 암호화 해싱하여 얻은 데이터의 해시 값;
- 데이터의 연속적인 해시 값의 일부를 암호화 해싱하여 얻은 제1 단계의 결합된 해시 값;
- 제1 단계의 결합된 해시 값 중 일부를 암호화 해싱하여 얻은 제2 단계의 결합된 해시 값;
- ...
- 루트 해시 값을 포함하며
- 적어도 하나의 해시 값을 림 키의 여러 섹션으로 나눈 주어진 비트-폭의 림-키; 및
그 중에는 스파스 마클 트리(Sparsed Merkle Tree)의 아카이브 리프인 리프 림-키(leave rim-key) 및 하위 트리 생성을 지원하는 부모 림 키가 있는 것을 특징으로 한다.
방법과 시스템에 대해 상술한 이점은 해당 데이터를 포함하는 데이터베이스에도 적용된다.
본 발명의 또 다른 목적은 하나 이상의 중앙 유닛, 특히 하나 이상의 컴퓨터 중앙 유닛, 및 트랜잭션을 구현하는 추가 커맨드 유닛, 특히 컴퓨터 커맨드 유닛을 포함하는 네트워크를 포함하며, 특히 상기 중앙 유닛은 본 발명에 따른 시스템 및 본 발명에 따른 데이터베이스를 포함한다.
상술한 기술적 해결책에 의해서, 본 발명은
도 1은 종래 기술에 따른 방법에서 스파스 머클 트리(Sparsed Merkle Tree)의 개략도이다.
도 2A는 본 발명의 실시예에 따른 방법에서 섹션 계층적 스파스 머클 트리의 예시의 개략도이다.
도 2B는 도 2A에 예시된 방법의 스파스 머클 트리 벡터의 개략도이다.
도 2C는 본 발명의 일실시예에 따른 시스템의 예시이다.
도 3A는 해시 값을 갖는 트랜잭션 리스트의 개략도이다.
도 3B는 도 3A의 트랜잭션이 계층적 서브 트리에서 아카이브되는 방법의 예시 개략도이다.
도 4는 본 발명의 일실시예에 따른 데이터베이스의 그래픽 예시이다.
본 발명은 이제 본 발명을 한정하지 않는 실시예의 설명 및 첨부된 도면에 기초하여 상세하게 제시될 것이다.
본 발명은 특히 암호 화폐와 관련된 것과 같은 트랜잭션의 데이터베이스를 위한 데이터베이스의 관리 및 저장에 관한 것이다. 본 발명은 블록체인 트랜잭션 등에서 적용된다.
본 발명은 특히 특정 네트워크에서 트랜잭션을 저장하고 보관하는 것에 관한 것이다.
본 발명은 데이터를 안전하고 최적으로 저장하기 위해 먼저 많은 수의 트랜잭션들을 안전한 방식으로 관리하는 것을 목표로 한다.
본 발명은 또한 종래 기술의 해결책의 결여를 극복하고, 특히 트랜잭션에 대한 정보 처리의 효율성을 개선하고, 특히 특정 데이터베이스에 저장하는 것을 목표로 한다.
보다 구체적으로, 본 발명은 안전한 분산 방식으로 트랜잭션을 효율적으로 제거하고 추가하는 것을 목표로 한다. 보다 일반적으로 본 발명은 CRUD(create, read, update, delete) DHT (Distribute Hash Table) 시스템에 관한 것입니다.
본 발명은 특정 네트워크에서 데이터 세트를 저장하고 보관하기 위해 데이터 세트를 처리하는 컴퓨터 구현 방법에 관한 것이다. 이 방법은 스파스 머클 트리(Sparsed Merkle Tree) 구현을 기반으로 한다. 그 자체로 스파스 머클 트리는 당업자에게 공지되어 있다. 따라서, 설명은 종래 기술의 상세한 특징이 아닌 혁신적인 특징에 초점을 맞출 것이다.
본 발명은 랜덤 트랜잭션의 분산 아카이브(Distribute Archive of Random Transactions)를 가능하게 하는 컴퓨터 기반 시스템(1a)에서 구현된다. 따라서 시스템을 DART 시스템이라고 하고 방법을 DART 방법이라고 할 수 있다.
본 발명의 방법은 데이터의 해시 값을 얻기 위해 데이터를 암호화 해싱하는 단계를 포함한다. 그런 다음 얻은 해시 값도 해시되며 루트 해시 값을 얻을 때까지 계속된다. 바람직하게는 해시된 스파스 마클 트리 트리의 연속적인 해시 값이다. 획득된 해시 값은 제1 단계의 결합된 해시 값으로 표시될 수 있다. 그런 다음 제2 단계의 결합 된 해시 값 등을 얻기 위해 유사한 단계가 구현되며, 루트 해시 값을 얻을 때까지 계속된다.
데이터는 특히 트랜잭션과 관련이 있다. 특히 각 트랜잭션은 트랜잭션 T 데이터의 암호화 해시를 사용하여 분산 해시 테이블로 DART 시스템에 저장된다. 이는 각 트랜잭션이 고유한 해시 값 h로 식별됨을 의미한다. 상기 트랜잭션은 해시의 숫자 값을 통해 테이블 순서로 입력된다.
바람직한 실시예에서, h 값은 다음 공식에 의해 얻어질 수 있다 :
Figure pat00001
방정식 1
여기에서,
H 는 암호화 해시 함수이고,
N 은 해시 값 h 의 비트 수를 나타낸다.
다음으로,
Figure pat00002
방정식 2
여기서 b i 는 해시 값 h의 i 번째 비트이다.
제1 양상(aspect)에 따르면, 본 발명의 방법은 해시 값 중 적어도 하나를 주어진 비트-폭의 림-키(L, A)의 다중 섹션으로 분할하는 단계를 포함한다. 이 방법은 스파스 머클 트리의 아카이브 리프(archive leaves)인 리프 림-키(leave rim-keys) L 및 서브 트리(SMT)의 생성을 지원하는 부모 림 키(parent rim keys) A를 결정하는 단계를 더 포함한다.
바람직하게는,이 방법은 스파스 머클 트리(Sparsed Merkle tree)에서 생성되는 서브 트리의 수를 제한할 수 있다. 실제로, 루트 해시 값이 획득되지 않는 한 모든 해시 값에 대해 서브 트리를 만드는 종래 기술의 방법과는 달리, 본 발명에서는 일부 림-키(rim keys)만이 리프(leaves)가 되고 나머지는 서브 트리의 베이스가 된다. 이로 인해 데이터 처리에 사용되는 계산 및 메모리가 줄어든다.
특히, 해시-테이블은 m 등분되어서 섹션 S로 분할된다. 각 섹션은 바람직한 실시예의 다음 공식에서와 같이 제한된 범위 내에서 순서화된 해시 값 리스트를 포함하여 섹션은 림(rims)이라는 불리는 것으로 나누어지는 머클 트리의 계층 구조를 구축한다.
Figure pat00003
방정식 3
본 발명의 방법은 스파스 머클 트리의 아카이브 리프(archive leaves)인 리프 림-키(leave rim-keys) 및 서브 트리의 생성을 지원하는 부모 림 키(parent rim keys)를 결정하는 단계를 더 포함한다.
특히 림의 비트-폭은 예를 들어 K 이다. 트리의 각 리프(leave)는 림-키라고하는 림-인덱스를 통해 표현된다. 최대 분기 수는 k로 정의되므로 다음과 같다.
Figure pat00004
방정식 4
섹션 비트-너비(sections bit-width) MK 의 기본 배수 C 번호로 선택되면, 림 키(rim key)는 다음과 같이 표현될 수 있다:
Figure pat00005
방정식 5
상기 섹션은 첫 번째 C 림-키로 표현할 수 있다.
Figure pat00006
방정식 6
이로부터 해시 값 h 는 다음과 같이 구성될 수 있다.
Figure pat00007
방정식 7
도 2A 및 2B는 본 발명의 실시예를 설명하기 위해 사용될 수 있다. 이는 섹션 계층 구조의 스파스 머클 트리의 예시를 보여준다. 림(rims)은 림 C의 경우 R_C, 다음 림의 경우 R_C+1로 표시된다.
트랜잭션이 DART 시스템에 저장되면 해시 값 h 가 계산되고 해시 값은 림-키 (L, A)의 섹션들로 분리된다.
바람직한 실시예에 따르면, 스파스 머클 트리는 해시의 벡터를 포함한다. 보다 구체적으로, 각 하위-트리는 벡터 테이블로 표현되며 벡터에 대한 인덱스는 각 림의 림-키이다. 해시의 벡터는 본 발명의 구현에서 매우 효율적인 수단이다.
실제로 하위 트리는 계산 속도가 빠른 벡터의 작은 해시이다. 그리고 더 빠른 벡터는 여분(spares)(대부분의 null 값)이다. 트리에서 깊숙이 갈수록 하위 트리 벡터는 더 희소하다(sparsed). 현재 실시에서 림(rim) 3에서 작업하고 있는데, 림(rim) 3에는 1006 개 이상의 아카이브에서 널(null) 요소가 거의 없다.
일실시예에 따르면, 상기 방법은 아카이브된 데이터(archived data)가 부모 림-키 A와 동일한 림-키를 갖는 경우 부모 림-키 A에 서브 트리(SMT)를 생성하는 단계를 포함한다.
특히, 기존의 아카이브된 트랜잭션에 동일한 림-키가 있는 경우에 하위-트리는 생성되어야 한다.
림-키가 기존 아카이브 트랜잭션과 다르면 상기 아카이브는 현재 림-키와 함께 벡터-테이블에 저장된다. 이는 하위 트리 수를 제한하는 효율적인 방법이다.
또한, 아카이브된 데이터에서 해시를 계산할 수 있다. 구현에서 벡터 요소는,
- 서브 트리 분기를 포함하는 해시(a hash of the including subtree branch); 또는
- 아카이브된 데이터(the archived data)의 어느 하나를 포함할 수 있다.
하나의 완전한 섹터에 저장할 최소 노드 수를 갖는 것이 바람직하다.
구현에서, 벡터에는 디스크의 레코드를 가리키는 인덱스 포인터도 포함된다. 섹터 림(Sector rims)은 메모리에 저장되고 모든 섹터 하위 트리는 로컬 디스크 공간에 저장된다.
도 2A에는, 계층적 트리 구조가 표시된다. 화이트 박스 A 는 스파스 머클 트리의 해시 값이다. 해치된 박스는 아카이브 리프 L 이다. 원은 스파스 머클 트리의 하위 트리이다. 도 2B는 SMT 벡터를 나타낸다.
도 3A 및 3B에 설명된 예시는 트랜잭션의 리스트가 트리 구조로 아카이브되는 방법을 나타낸다.
대부분의 최신 컴퓨팅은이 다중 8 비트(바이트)이기 때문에 이 실시예에서 k=8 및 C=2를 기반으로 한다.
트랜잭션 리스트가 도 3A에 나열된 해시 값과 함께 제공된다고 가정한다. 도면에서, 화살표는 브랜치(branch) 또는 아카이브(Archive)를 가리킨다. 림 분할이면 브랜치이고, 아니면 아카이브이다. 아카이브는 리프(leave)이다. 도면에서 브릭-대시 기호(brick-dashed symbol)는 브랜치 해시를 의미한다. 아무것도 없으면 아카이브에서 해시가 아카이브의 데이터에서 계산됨을 의미한다.
도 3B는 트랜잭션 아카이브가 트리 구조에 배치되는 위치를 나타낸다.
도 3B에서, 빗금 친 사각형은 하위-브랜치의 SMT의 해시 값이며; 다른 사각형은 브랑스(Brance) 림 키이다. 하위-트리 벡터 요소는 브랑스(Brance) (하위 트리를 가리킴) 또는 아카이브의 데이터를 포함하는 아카이브를 포함할 수 있다. 림은 첫 번째 림의 경우 R_0, 다음 림의 경우 R_1로 표시된다.
상술한 바와 같이 트리는 첫 번째 C 림으로 정의된 섹션으로 나누어진다. 섹션 림에서는 트랜잭션 리프(leave)는 허용되지 않는다. 트랜잭션은 C보다 큰 림 내에 보관되어야 한다. 이 규칙을 사용하면 데이터베이스를 분산 데이터베이스로 쉽게 분할할 수 있다.
전체 데이터베이스는 도 4와 같이 원형 구조로 설명할 수 있다. 각각의 검은색 사각형은 도 2A에 표시된 구조를 나타내고 데이터의 모든 중앙은 전체 데이터베이스에 대한 머클 트리를 나타낸다.
데이터베이스는 해시-값 h가 해시 테이블에 대한 키 인덱스 키인 대형 해시 테이블로 흐르는 방식으로 컴퓨터 노드 CN 간에 분산될 수 있다.
해시-테이블은 네트워크를 통해 연결된 컴퓨터 노드 간에 분산되며, 각 노드는 DART 각도라고 하는 섹션의 샘플을 관리한다.
해시의 숫자 값이 원을 중심으로 정렬되기 때문이다.
예컨대, 256 해시의 최대 값은 2256-1이다.
숫자는 2256-1에서 0으로 돌아간다. 이것은 원에 그릴 수 있음을 의미한다.
섹션은 데이터의 중복성과 보안을 유지하기 위해 Q 개 이상의 노드에서 관리된다.
각 노드는 노드 섹션 각도 내에서 데이터베이스 섹션을 유지해야 한다. 이는 트랜잭션을 추가 및 제거하고, 섹션 해시의 머클-트리 루트를 업데이트하는 것을 의미한다. DART의 머클 루트는 불스아이(bullseye)라고 한다.
DART의 예시가 도 4에 도시되어 있다. 아카이브(트랜잭션)은 계층적 트리 구조로 저장된다. 아카이브는 트리의 리프(leaves)로 저장된다. CN은 해당 번호를 갖는 노드를 나타낸다. "sSMT"는 섹터 머클 트리를 나타낸다. "cSMT"는 중앙 머클 트리를 나타낸다. "sH"는 섹터 해시를 나타낸다. "be"는 과녁(bullseye)을 나타낸다.
이제 스파스 머클 트리(Sparsed Merkle Tree) 자체는 SMT의 구조로 인해 전체 머클 트리에 비해 매우 적은 해시 연산으로 전체 DART의 머클 루트를 계산할 수 있다.
이하 방법은 효율적인 방식으로 머클 트리를 계산하는 방법을 설명한다.
아래 함수는 두 개의 값의 해시 함수를 정의한다.
Figure pat00008
방정식 8
이 정의는 대부분의 요소가 널(null)이고 널(null) 요소에서는 어떤 계산도 수행하지 않기 때문에 매우 희소한(sparsed) 벡터에서 해시 계산을 매우 빠르게 만들기 때문에 중요하다. 이는 아래의 예에서도 설명되어 있다.
스파스 머클 트리(Sparsed Merkle Tree)는 벡터의 일부 값이 종종 0 인 이전에 설명한 해시 벡터로 표현할 수 있다.
Figure pat00009
방정식 9
벡터의 해시 함수는 다음과 같이 정의할 수 있다.
Figure pat00010
방정식 10
Ξ 함수는 트리 벡터로 스파스 머클 루트 해시 값으로 정의된다.
일부 Ξ 계산의 예시.
실시예 1.
널(null) 벡터의 Ξ 값은 rqkt 0이 되며, 또한 SMT가 비어 있음을 증명한다.
실시예 2.
벡터 V (0, k)hi 값이 하나만 있고 0이 없으면 값 Ξ은 hi 가 된다.
Figure pat00011
방정식 11
실시예 3
벡터 V (0, k) 가 2 개만 포함하고 0 값 h i h j 가 2 개만 포함된 경우 Ξ은 다음과 같이 표현할 수 있다:
Figure pat00012
방정식 12
실시예 4
Figure pat00013
방정식 13
결과적으로 다음과 같은 해시 값이 생성된다.
Figure pat00014
방정식 14
예를 들어, 일반적인 머클 트리 계산을 SMT 방법 및 데이터베이스에 저장된 4·109 ~ 232 의 아카이브 예시와 비교한다. 이것은 최악의 경우 4 ·109 해시 작업에 해당한다.
좋은 확률로 아카이브는 림 4에 저장되고 림 4가 저장된 아카이브는 약 4 ·256~1000이 된다.
본 발명은 또한 상술한 방법을 구현하기위한 시스템(1a)에 관한 것이다. 시스템(1a)은 컴퓨터화 된 시스템이며 위에서 설명된 방법을 구현하도록 구성된 고유 하드웨어 및 소프트웨어 모듈을 포함한다. 이를 DART 시스템(1a)이라고 부를 수 있다. 시스템은 특정 네트워크에서 동일한 데이터를 저장하고 보관하기 위한 데이터 세트를 처리할 수 있으며, 시스템은 본 발명에 따른 방법의 단계를 수행하기 위한 수단을 포함한다.
시스템은 루트 해시 값을 획득할 때까지 데이터를 암호화 해싱하는 수단을 포함한다. 이러한 수단은 당업자에게 알려져 있는데, 본 발명의 특정 스파스 머클 트리를 구현하도록 구성된 하나 이상의 마이크로 컨트롤러, 하드웨어 및 소프트웨어 모듈을 포함한다.
첫 번째 양상에 따르면, 시스템은
- 적어도 하나의 해시 값을 주어진 비트-폭의 림-키의 다중 섹션으로 나누는 수단; 및
- 스파스 머클 트리의 아카이브 리프(leave) 인 리프 림-키와 하위 트리 생성을 지원하는 부모 림 키를 결정하기 위한 수단을 포함한다.
시스템은 마이크로 컨트롤러와 소프트웨어 및 하드웨어 모듈을 통해 해당 작업을 실행하도록 구성된다.
방법에 대해 위에서 언급한 이점은 방법을 구현하는 시스템에도 적용된다.
본 발명은 또한 상술한 방법을 통해 또는 상술한 시스템에 의해 처리된 데이터 세트를 특정 네트워크에서 저장하고 저장하기 위한 수단을 포함하는 데이터베이스(2a)에 관한 것이다. 이를 DART 데이터베이스(2a)라고 할 수 있습니다. 데이터베이스는 당업자에게 알려져 있는데, 본 발명을 구현하도록 구성된 하나 이상의 마이크로 컨트롤러, 하드웨어 및 소프트웨어 모듈을 포함한다.
보다 일반적으로, 데이터베이스는 루트 해시 값(들)에 대응하는 하나 이상의 스파스 머클 트리(들)의 모든 데이터의 해시 값을 포함한다.
이에 더하여, 상기 데이터베이스는,
- 적어도 하나의 해시 값을 림-키의 여러 섹션으로 나눈 주어진 비트-폭의 림-키; 및
- 그 중에는 스파스 머클 트리의 아카이브 리프(leaves)인 림-키와 하위 트리 생성을 지원하는 부모 림 키를 포함한다.
방법 및 시스템(1a)에 대해 위에서 언급한 이점은 해당 데이터를 포함하는 데이터베이스에도 적용된다.
본 발명의 또 다른 목적은 하나 이상의 중앙 유닛(들)(3a), 특히 하나 이상의 컴퓨터화 된 중앙 유닛, 및 트랜잭션을 구현하는 추가 명령 유닛(5a)에 대한 연결(들)(4a), 특히 컴퓨터화 된 명령 유닛을 포함하는 네트워크이다. 상술한 바와 같이 중앙 유닛(들)(3a)은 시스템(1a) 및 데이터베이스(2a)를 포함한다. 이를 DART 네트워크라고 할 수 있다. 상기 네트워크는 인터넷을 통해 추가 명령 유닛에 연결될 수 있다.
1a: 시스템 2a: 데이터베이스
3a: 중앙 유닛 4a: 연결
5a: 명령 유닛

Claims (15)

  1. 특정 네트워크에서 동일한 데이터를 저장하고 보관하기 위한 데이터 세트를 처리하는 컴퓨터 실행 방법, 스파스 머클 트리를 실행하는 방법으로서,
    - 데이터의 해시 값을 얻기 위해 데이터를 암호화 해싱하는 단계;
    - 해당되는 경우, 데이터의 연속적인 해시 값을 암호화하여 첫 번째 단계의 결합된 해시 값을 얻는 단계;
    - 해당되는 경우, 두 번째 단계의 결합된 해시 값을 얻기 위해 첫 번째 단계의 결합된 해시 값을 암호학적으로 해싱하는 단계;

    - 루트 해시 값(be)을 얻을 때까지 계속하여 해싱하는 단계를 포함하며,
    - 적어도 하나의 해시 값을 주어진 비트 폭의 림-키(L, A)의 여러 섹션으로 나누는 단계; 및
    - 스파스 머클 트리의 아카이브 리프(archive leaves)인 리프 림-키(L)와 하위 트리(SMT) 생성을 지원하는 부모 림-키(A)를 결정하는 단계를 포함하는 것을 특징으로 하는 특정 네트워크에서 데이터를 보관하고 저장하기 위해 데이터 세트를 처리하는 컴퓨터 실행 방법.
  2. 제1항에 있어서,
    아카이브된 데이터가 부모 림-키와 동일한 림-키를 갖는 경우,
    부모 림-키(A)에 서브 트리를 생성하는 단계를 포함하는 컴퓨터 실행 방법.
  3. 제1항 또는 제2항 중 어느 한 항에 있어서,
    다수의 해시 값, 바람직하게는 모든 해시 값을 주어진 비트-폭의 림-키(L, A)의 다수 섹션으로 분할하는 것을 특징으로 하는 컴퓨터 실행 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    적어도 하나의 하위 트리(SMT)는 주어진 인덱스의 해시 벡터인 것을 특징으로 하는 컴퓨터 실행 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 인덱스는 각각의 림 키인 것을 특징으로 하는 컴퓨터 실행 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 스파스 머클 트리는 해시의 벡터를 포함하는 것을 특징으로 하는 컴퓨터 실행 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 데이터는 트랜잭션인 것을 특징으로 하는 컴퓨터 실행 방법.
  8. 특정 네트워크에서 동일한 데이터를 저장하고 보관하기 위한 데이터 세트를 처리하기 위한 시스템(1a), 스파스 머클 트리를 실행하는 시스템으로서,
    - 데이터의 해시 값을 얻기 위해 데이터를 암호화 해싱하는 수단;
    - 첫 번째 단계의 결합된 해시 값을 얻기 위해 데이터의 연속적인 해시 값을 암호학적으로 해싱하는 수단;
    - 두 번째 단계의 결합된 해시 값을 얻기 위해 첫 번째 단계의 결합된 해시 값을 암호학적으로 해싱하는 수단;
    …;
    - 루트 해시 값을 획득하기 위한 수단을 포함하며,
    - 적어도 하나의 해시 값을 주어진 비트-폭의 림-키(L, A)의 여러 섹션으로 나누는 수단; 및
    - 스파스 머클 트리의 아카이브 리프인 리프 림-키(L) 및 하위 트리(SMT)의 생성을 지원하는 부모 림 키(A)를 결정하기 위한 수단을 포함하는 것을 특징으로 하는 특정 네트워크에서 동일한 데이터를 저장하고 보관하기 위한 데이터 세트를 처리하기 위한 시스템.
  9. 제8항에 있어서,
    아카이브된 데이터(archived data)가 부모 림-키와 동일한 림 키를 갖는 경우 부모 림-키(A)에 하위 트리(SMT)를 생성하기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
  10. 제8항 또는 제9항에있어서,
    다중 해시 값, 바람직하게는 모든 해시 값을 주어진 비트-폭의 림-키의 다중 섹션으로 분할하기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    적어도 하나의 하위 트리는 주어진 인덱스의 해시 벡터인 것을 특징으로 하는 시스템.
  12. 제8항 내지 제11항 중 어느 한 항 에있어서,
    상기 인덱스는 각각의 림 키인 것을 특징으로 하는 시스템.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서,
    상기 스파스 머클 트리는 해시의 벡터를 포함하는 것을 특징으로 하는 시스템 .
  14. 특정 네트워크에서 데이터 세트를 저장하고 보관하기 위한 데이터베이스 (2a)로서, 스파스 머클 트리를 실행하며,
    - 데이터를 암호화 해싱하여 얻은 데이터의 해시 값;
    - 데이터의 연속적인 해시 값 중 일부를 암호학적으로 해싱하여 얻은 첫 번째 단계의 결합된 해시 값;
    - 첫 번째 단계의 결합된 해시 값 중 일부를 암호학적으로 해싱하여 얻은 두 번째 단계의 결합된 해시 값;
    …,
    - 루트 해시 값을 포함하며,
    - 적어도 하나의 해시 값을 림-키의 여러 섹션으로 나눈 주어진 비트-너비의 림-키;
    그 중에는 스파스 머클 트리의 아카이브 리프(archive leaves)인 림 키와 하위 트리 생성을 지원하는 부모 림 키를 특징으로 하는 특정 네트워크에서 데이터 세트를 저장하고 보관하기 위한 데이터베이스.
  15. 네트워크로서,
    특히 컴퓨터 중앙 장치(3a)인 하나 이상의 중앙 장치, 및
    특히 컴퓨터 명령 장치인 트랜잭션을 실행하는 추가 명령 장치(5a)에 대한 연결(4a)을 포함하며
    상기 중앙 장치(들)은 제8항 내지 제13항 중 어느 한 항에 따른 시스템(1a) 및 제14항 또는 제15항에 따른 데이터베이스(2a)를 포함하는 것을 특징으로 하는 네트워크.
KR1020200112809A 2019-09-04 2020-09-04 특정 네트워크에서 데이터를 보관하고 저장하기 위해 데이터 세트를 처리하는 스파스 머클 트리 방법 및 시스템 KR20210029116A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19020509.6A EP3790224A1 (en) 2019-09-04 2019-09-04 Sparsed merkle tree method and system for processing sets of data for storing and keeping track of the same in a specific network
EP19020509.6 2019-09-04

Publications (1)

Publication Number Publication Date
KR20210029116A true KR20210029116A (ko) 2021-03-15

Family

ID=67909250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200112809A KR20210029116A (ko) 2019-09-04 2020-09-04 특정 네트워크에서 데이터를 보관하고 저장하기 위해 데이터 세트를 처리하는 스파스 머클 트리 방법 및 시스템

Country Status (4)

Country Link
US (1) US11997194B2 (ko)
EP (1) EP3790224A1 (ko)
KR (1) KR20210029116A (ko)
RU (1) RU2020129151A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102648501B1 (ko) * 2020-12-16 2024-03-19 한국전자통신연구원 네트워크 환경 동기화 장치 및 방법
EP4142211A1 (en) * 2021-08-26 2023-03-01 BitFlow GmbH Document integrity protection
US11956368B2 (en) * 2021-12-17 2024-04-09 Advanced Micro Devices, Inc. Enhanced method for a useful blockchain consensus

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831573B2 (en) * 2003-08-12 2010-11-09 Hewlett-Packard Development Company, L.P. System and method for committing to a set
US7925624B2 (en) * 2006-03-31 2011-04-12 Amazon Technologies, Inc. System and method for providing high availability data
US7707136B2 (en) * 2006-03-31 2010-04-27 Amazon Technologies, Inc. System and method for providing high availability data
GB2512324B (en) * 2013-03-26 2020-12-09 Cloudtomo Ltd Improvements in or relating to public-key certificate management
US9916203B1 (en) * 2015-06-30 2018-03-13 EMC IP Holding Company LLC Sparse metadata segment tree for efficient file storage operations in evolving backup workloads
US10339014B2 (en) * 2016-09-28 2019-07-02 Mcafee, Llc Query optimized distributed ledger system
US11108627B2 (en) * 2016-12-30 2021-08-31 Intel Corporation Object identification for groups of IoT devices
EP3735648A1 (en) * 2017-12-06 2020-11-11 Zamna Technologies Limited Method and system for data security, validation, verification and provenance within independent computer systems and digital networks
WO2019236925A1 (en) * 2018-06-06 2019-12-12 KR8OS, Inc dba Lucidity Systems and methods for enforcing advertising standards and digital advertisement measurements
US20200126075A1 (en) * 2018-10-18 2020-04-23 Temujin Labs, Inc. Confidential transaction auditing using an authenticated data structure
US20220078006A1 (en) * 2018-12-31 2022-03-10 Guardtime Sa Verifiable object state data tracking
SG11202109729SA (en) * 2019-05-22 2021-10-28 Swirlds Inc Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
US11429738B2 (en) * 2019-05-29 2022-08-30 International Business Machines Corporation Blockchain endorsement with approximate hash verification
US11329829B2 (en) * 2019-06-01 2022-05-10 Guardtime Sa Security for sequentially growing data structures
US10896171B2 (en) * 2019-06-13 2021-01-19 Tyson York Winarski Big data blockchains with Merkle trees
US11249947B2 (en) * 2019-06-15 2022-02-15 Facebook, Inc. Distributed digital ledger transaction network for flexible, lazy deletion of data stored within an authenticated data structure
US11126593B2 (en) * 2019-06-15 2021-09-21 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
US11095457B2 (en) * 2019-08-30 2021-08-17 Beatdapp Software Inc. System and method for scalably tracking media playback using blockchain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
대한민국

Also Published As

Publication number Publication date
US20210067330A1 (en) 2021-03-04
US11997194B2 (en) 2024-05-28
EP3790224A1 (en) 2021-03-10
RU2020129151A (ru) 2022-03-04

Similar Documents

Publication Publication Date Title
KR20210029116A (ko) 특정 네트워크에서 데이터를 보관하고 저장하기 위해 데이터 세트를 처리하는 스파스 머클 트리 방법 및 시스템
US20200218707A1 (en) Manipulating sets of hierarchical data
US10102253B2 (en) Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices
US7739288B2 (en) Systems and methods of directory entry encodings
US10754853B2 (en) Virtual edge of a graph database
US11386081B2 (en) System and method for facilitating efficient indexing in a database system
US20140188893A1 (en) Data retrieval apparatus, data storage method and data retrieval method
CN105956166A (zh) 数据库读写方法和读写装置
US11132345B2 (en) Real time indexing
US10990573B2 (en) Fast index creation system for cloud big data database
CN111984732B (zh) 在区块链上实现去中心化检索的方法、节点及区块链网络
US20070239663A1 (en) Parallel processing of count distinct values
Jiang et al. Incremental evaluation of top-k combinatorial metric skyline query
CN108628907A (zh) 一种用于基于Aho-Corasick的Trie树多关键词匹配的方法
US11144522B2 (en) Data storage using vectors of vectors
CN110532284B (zh) 海量数据存储和检索方法、装置、计算机设备及存储介质
Faro et al. On the longest common Cartesian substring problem
US10248813B2 (en) Organizing key-value information sets into hierarchical representations for efficient signature computation given change information
US11991290B2 (en) Associative hash tree
US10885157B2 (en) Determining a database signature
WO2015129109A1 (ja) インデックス管理装置
JP2007048318A (ja) リレーショナルデータベースの処理方法およびリレーショナルデータベース処理装置
US11481370B1 (en) Devices, systems, and methods for optimization of data sets
CN111309704B (zh) 数据库操作方法和数据库操作***
Hassan et al. An efficient scheme for real-time information storage and retrieval systems: A hybrid approach

Legal Events

Date Code Title Description
N231 Notification of change of applicant