  The increase in the adoption of blockchain technology in different
application domains e.g., healthcare systems, supplychain management, has
raised the demand for a data query mechanism on blockchain. Since current
blockchain systems lack the support for querying data with embedded security
and privacy guarantees, there exists inherent security and privacy concerns on
those systems. In particular, existing systems require users to submit queries
to blockchain operators (e.g., a node validator) in plaintext. This directly
jeopardizes users' privacy as the submitted queries may contain sensitive
information, e.g., location or gender preferences, that the users may not be
comfortable sharing. On the other hand, currently, the only way for users to
ensure integrity of the query result is to maintain the entire blockchain
database and perform the queries locally. Doing so incurs high storage and
computational costs on the users, precluding this approach to be practically
deployable on common light-weight devices (e.g., smartphones). To this end,
this paper proposes $\pi$QLB, a query language for blockchain systems that
ensures both confidentiality of query inputs and integrity of query results.
Additionally, $\pi$QLB enables SQL-like queries over the blockchain data by
introducing relational data semantics into the existing blockchain database.
$\pi$QLB has applied the recent cryptography primitive, i.e., function secret
sharing (FSS), to achieve confidentiality. To support integrity, we extend the
traditional FSS setting in such a way that integrity of FSS results can be
efficiently verified. Successful verification indicates absence of malicious
behaviors on the servers, allowing the user to establish trust from the result.
To the best of our knowledge, $\pi$QLB is the first query model designed for
blockchain databases with support for confidentiality, integrity, and SQL-like
queries.
