CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2019-0027144, filed Mar. 8, 2019, the disclosure of which is incorporated herein by reference in its entirety.

BACKGROUND

1. Technical Field

The present invention relates to a system and method of efficiently searching for data desired by an individual user in a distributed data sharing environment based on a block chain having no central reliability organization.

2. Description of Related Art

Recently, interest in data sharing platform in a distributed data sharing environment based on a block chain is increasing. The data sharing platform based on the block chain may prevent a specific company from monopolizing data and may ensure a right to personal data possessed by a user.

However, there is a problem where each user is difficult to search for specific data desired by each user in a process of using data of the data sharing platform based on the block chain. In a database system of the related art, since a database manager constructs and provides a search index corresponding to a database table, a user may efficiently search for data desired by the user on the basis of the search index provided by the database manager, but in the distributed data sharing environment based on the block chain, since there is no separate node for constructing and providing a search index, the search index is not provided.

In a case where an individual participant (or a specific node) constructs and provides a search index autonomously, it is impossible to control a malicious behavior where the individual participant (or the specific node) provides only a search index corresponding to data favorable thereto and excludes a search index corresponding to data unfavorable thereto in constructing a search index, and due to this, it is unable to ensure the reliability of a search index constructed by the individual participant (or the specific node).

SUMMARY

Accordingly, the present invention provides a system for data sharing platform in a distributed data sharing environment based on a block chain and a method of providing a search index based on a Bloom filter in the system, which provide a search index for efficient data search and simultaneously ensure the integrity of the search index.

In one general aspect, a method of providing a search index based on a Bloom filter in a distributed data sharing environment based a block chain includes: generating, by a data generating device, Bloom filters used as the search index on the basis of a hash value calculated by applying a hash function to a keyword set for searching for data which is to be shared; generating, by a block providing server, a new block on the basis of the Bloom filters and the data received from the data generating device and performing proof of work (PoW) on the new block, for adding the new block to the block chain; and distributing, by a block distributing server, block chain data including the new block added to the block chain.

In another general aspect, a search method based on a Bloom filter form in a distributed data sharing environment based a block chain includes: generating, by a data generating device, Bloom filters used as a search index by applying a hash function to a keyword set for searching for data which is to be shared; constructing, by a block providing server, a block header on the basis of the Bloom filters generated by the data generating device and performing proof of work (PoW) on the basis of the block header to generate a new block including the block header; and receiving, by a block distributing server, block chain data including the new block from the block providing server and distributing the block chain data; and searching for, by a user device, data including a specific keyword in the block chain data.

In another general aspect, a system for providing a search index having a Bloom filter form in a distributed data sharing environment based a block chain includes: a data generating device configured to generate Bloom filters used as a search index on the basis of a hash value calculated by applying a hash function to a keyword set for searching for data which is to be shared; a block providing server configured to generate a new block on the basis of the Bloom filters and the data received from the data generating device and to perform proof of work (PoW) on the new block, for adding the new block to the block chain; and a block distributing server configured to distribute block chain data including the new block added to the block chain.

Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.

