1 |
1
블록체인 기반의 분산 데이터 공유 환경에서 블룸 필터 기반의 검색 인덱스를 제공하는 방법에서, 데이터 생성 장치가, 공유하고자 하는 데이터를 검색하기 위한 키워드 집합에 해시 함수(hash function)를 적용하여 계산한 해시값을 기반으로 상기 검색 인덱스로 사용되는 블룸 필터들(Bloom filters)들을 생성하는 단계;블록 채굴 서버가, 상기 데이터 생성 장치로부터 수신한 상기 데이터 및 상기 블룸 필터들을 기반으로 새로운 블록을 생성하고, 상기 새로운 블록을 상기 블록 체인에 추가하기 위해, 상기 새로운 블록에 대해 작업 증명(Proof of Work)을 수행하는 단계; 및데이터 배포 서버가, 상기 블록 체인에 추가된 상기 새로운 블록을 포함하도록 구성된 블록체인 데이터를 배포하는 단계;를 포함하는 블록체인 기반의 분산 데이터 공유 환경에서 검색 인덱스 제공 방법
|
2 |
2
제1항에 있어서, 상기 블룸 필터들(Bloom filters)들을 생성하는 단계는,상기 데이터 생성 장치가, 상기 공유하고자 하는 데이터를 선택하는 단계;상기 데이터 생성 장치가, 상기 선택한 데이터를 검색하기 위한 다수의 키워드를 포함하도록 구성된 상기 키워드 집합을 결정하는 단계;상기 해시 함수가 다수의 해시 함수들로 구성된 경우, 각 키워드에 상기 다수의 해시 함수들을 적용하여 다수의 해시 값들을 계산하는 단계; 및상기 계산된 다수의 해시 값들을 기반으로 상기 검색 인덱스에 대응하는 블룸 필터들을 생성하는 단계를 포함하는 것인 블록체인 기반의 분산 데이터 공유 환경에서 검색 인덱스 제공 방법
|
3 |
3
제1항에서, 상기 작업 증명(Proof of Work)을 수행하는 단계는,상기 블록 채굴 서버가, 상기 데이터 생성 장치로부터 상기 데이터 생성 장치의 식별 ID, 상기 데이터 및 상기 블룸 필터들을 포함하도록 구성된 트랜잭션을 상시 수집하는 단계;상기 블록 채굴 서버가, 상기 수집한 트랙잭션 중에서 이전 블록에 포함되지 않은 트랜잭션을 루트 노드(root node), 리프 노드(leaf node) 및 상기 루트 노드와 상기 리프 노드 사이의 중간 노드에 각각 할당하여 머클 트리(Merkle tree) 구조를 구성하는 단계;상기 블록 채굴 서버가, 상기 블룸 필터들을 루트 노드(root node), 리프 노드(leaf node) 및 상기 루트 노드와 상기 리프 노드 사이의 중간 노드에 각각 할당하여 블룸 필터 트리 구조로 구성하는 단계;상기 블록 채굴 서버가, 상기 이전 블록의 해시값, 상기 머클 트리 구조에서의 상기 루트 노드를 나타내는 루트값, 상기 블룸 필터 트리 구조에서의 상기 루트 노드를 나타내는 루트값 및 상기 작업 증명(Proof of Work)에 따라 계산된 논스(nonce)값을 상기 새로운 블록의 블록 헤더(Block Header)로 구성하는 단계;를 포함하는 것인 블록체인 기반의 분산 데이터 공유 환경에서 검색 인덱스 제공 방법
|
4 |
4
제3항에서, 상기 머클 트리 구조에서의 루트 노드를 나타내는 루트값은,상기 머클 트리 구조에서의 루트 노드의 두 자식 노드를 각각 나타내는 값들을 연접한 후, 연접한 두 값들에 해시 함수를 적용하여 계산한 값이고,상기 블룸 필터 트리 구조에서의 루트 노드를 나타내는 루트값은,상기 블룸 필터 트리 구조에서의 루트 노드의 두 자식 노드를 각각 나타내는 값들을 bitwise-OR 연산 방식에 따라 계산한 값인 것인 블록체인 기반의 분산 데이터 공유 환경에서 검색 인덱스 제공 방법
|
5 |
5
블록 체인 기반의 분산 데이터 공유 환경에서 블룸 필터 형태의 검색 인덱스 기반의 검색 방법에서, 데이터 생성 장치가, 공유하고자 하는 데이터를 검색하기 위한 키워드 집합에 해시 함수(hash function)를 적용하여 검색 인덱스로 사용되는 블룸 필터들(Bloom filters)을 생성하는 단계;블록 채굴 서버가, 상기 데이터 생성 장치에서 생성한 상기 블룸 필터들을 기반으로 블록 헤더를 구성하고, 상기 블록 헤더를 기반으로 작업 증명(Proof of Work)을 수행하여, 상기 블록 헤더를 포함하는 새로운 블록을 생성하는 단계;데이터 배포 서버가, 상기 블록 채굴 서버로부터 상기 새로운 블록을 포함하도록 구성된 블록 체인 데이터를 수신하여 배포하는 단계; 및사용자 장치가, 상기 블록체인 데이터에서 특정 키워드를 포함하는 데이터를 검색하는 단계를 포함하는 블록체인 기반의 분산 데이터 공유 환경에서 검색 방법
|
6 |
6
제5항에서, 상기 검색하는 단계는,상기 사용자 장치가 상기 블록 배포 서버로부터 상기 블록 헤더만을 수신하는 단계; 및상기 수신된 블록 헤더를 이용하여 상기 데이터를 검색하는 단계인 것인 블록 체인 기반의 분산 데이터 공유 환경에서 검색 방법
|
7 |
7
블록체인 기반의 분산 데이터 공유 환경에서 블룸 필터 형태의 검색 인덱스를 제공하기 위한 시스템에서,공유하고자 하는 데이터를 검색하기 위한 키워드 집합에 해시 함수(hash function)를 적용하여 계산한 해시 값을 기반으로 검색 인덱스로 사용되는 블룸 필터들(Bloom filters)들을 생성하는 데이터 생성 장치;상기 데이터 생성 장치로부터 수신한 상기 데이터 및 상기 블룸 필터들을 기반으로 새로운 블록을 생성하고, 상기 새로운 블록을 상기 블록체인에 추가하기 위해, 상기 새로운 블록에 대해 작업 증명(Proof of Work)을 수행하는 블록 채굴 서버; 및상기 블록체인에 추가된 상기 새로운 블록을 포함하도록 구성된 블록 체인 데이터를 배포하는 데이터 배포 서버를 포함하는 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템
|
8 |
8
제7항에서, 상기 데이터 생성 장치는,다수의 해시 함수가 저장된 메모리; 및상기 키워드 집합에 포함된 각 키워드에 대한 상기 다수의 해시 함수를 적용하여 계산된 다수의 해시값을 이용하여 상기 블룸 필더들을 생성하는 프로세서포함하는 것인 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템
|
9 |
9
제7항에서, 상기 블록 채굴 서버는,상기 데이터 생성 장치로부터 상기 데이터 생성 장치의 식별 ID, 상기 데이터 및 상기 블룸 필터들을 포함하도록 구성된 데이터 트랜잭션을 수신하는 통신부; 및이전 블록의 해시값, 상기 트랜잭션으로부터 구성된 머클 트리 구조에서의 루트 노드에 대응하는 루트값, 상기 블룸 필터들로부터 구성된 블룸 필터 트리 구조에서의 루트 노드에 대응하는 루트값 및 상기 작업 증명에 따라 계산된 논스(nonce)값을 상기 새로운 블록의 블록 헤더로 구성하는 프로세서;를 포함하는 것인 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템
|
10 |
10
제7항에서, 블록 배포 서버로부터 상기 새로운 블록의 블록 헤더를 수신하고, 수신된 블록 헤더를 상기 블록 체인 데이터에서 특정 키워드를 포함하는 데이터를 검색하는 사용자 장치를 더 포함하는 것인 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템
|
11 |
11
제10항에서, 상기 블록 헤더는,상기 검색 인덱스로 사용되는 블룸 필터들을 포함하는 것인 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템
|
12 |
12
제10항에서, 상기 사용자 장치는,상기 특정 키워드(K)에 대한 블룸 필터(FK= BF(K))를 계산하고, 상기 블록 헤더 포함된 블룸 필터들 중에서 FK = BFi ^ FK를 만족하는 블룸 필터들(BFi)을 계산하고, 계산된 블룸 필터들(BFi)에 대응하는 데이터를 상기 특정 키워드를 포함하는 데이터로 검색하는 것인 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템
|