# US 2019/0171744 A1 · Query processing and access control in a blockchain network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171744 A1
- Document ID: US20190171744A1
- Status: Published application
- Kind: A1
- Application number: 15/829,885
- Filed: 2017-12-02
- Published: 2019-06-06
- Earliest claimed: 2017-12-02
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Vijay Kumar Ananthapur Bache; Jhilam Bera; Vijay Ekambaram; Padmanabha Venkatagiri Seshadri
- Web page: https://patentgrep.com/patent/US20190171744A1

## CPC

- G06F 16/24575: {using context}
- G06F 16/248: Presentation of query results
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example operation may include one or more of identifying a query from a requesting entity, where the query requests access to one or more blockchains, converting the query to an expression tree, creating one or more expression tree variations based on the expression tree, the one or more expression tree variations provide one or more different expressions than the expression tree and a same result as the expression tree, determining access conformity between one or more expression tree variations and the expression tree, selecting an expression tree variation with a greatest conformity rating, performing the query using the expression tree variation with the greatest conformity rating, and providing query results to a requesting entity.

## Claims

### Claim 1

A method, comprising:
identifying a query from a requesting entity, wherein the query requests access to one or more blockchains;
converting the query to an expression tree;
creating one or more expression tree variations based on the expression tree, wherein the one or more expression tree variations provide one or more different expressions than the expression tree and a same result as the expression tree;
determining access conformity between the one or more expression tree variations and the expression tree;
selecting an expression tree variation with a greatest conformity rating;
performing the query using the expression tree variation with the greatest conformity rating; and
providing query results to the requesting entity.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
comparing the one or more expression tree variations to one or more data tables associated with the one or more blockchains to identify the access conformity by using one or more meta-functional encryption keys to compare the one or more data tables to one or more encrypted views; and
determining the conformity rating is complete when the one or more encrypted views contain the query results.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
determining the conformity rating is incomplete when the one or more encrypted views contain only a portion of the query results.

### Claim 4 (depends on 1)

The method of claim 1, wherein the expression tree and the one or more expression tree variations are relational algebra expression trees.

### Claim 5 (depends on 1)

The method of claim 1, wherein a functional encryption key, assigned to a user profile associated with the requesting entity, identifies one or more query access policies assigned to the user profile.

### Claim 6 (depends on 5)

The method of claim 5, wherein the functional encryption key permits execution of a function on encrypted data without decrypting the encrypted data.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more encrypted views are continuously updated views based on blockchain data associated with the one or more blockchains.

### Claim 8

An apparatus, comprising:
a processor configured to:
identify a query from a requesting entity, wherein the query requests access to one or more blockchains;
convert the query to an expression tree;
create one or more expression tree variations based on the expression tree, wherein the one or more expression tree variations provide one or more different expressions than the expression tree and a same result as the expression tree;
determine access conformity between the one or more expression tree variations and the expression tree;
select an expression tree variation with a greatest conformity rating;
perform the query using the expression tree variation with the greatest conformity rating; and
provide query results to the requesting entity.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the processor is further configured to:
compare the one or more expression tree variations to one or more data tables associated with the one or more blockchains to identify the access conformity by using one or more meta-functional encryption keys to compare the one or more data tables to one or more encrypted views; and
determine the conformity rating is complete when the one or more encrypted views contain the query results.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to:
determine the conformity rating is incomplete when the one or more encrypted views contain only a portion of the query results.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein the expression tree and the one or more expression tree variations are relational algebra expression trees.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein a functional encryption key, assigned to a user profile associated with the requesting entity, identifies one or more query access policies assigned to the user profile.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the functional encryption key permits execution of a function on encrypted data without decrypting the encrypted data.

### Claim 14 (depends on 8)

The apparatus of claim 8, wherein the one or more encrypted views are continuously updated views based on blockchain data associated with the one or more blockchains.

### Claim 15

A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform:
identifying a query from a requesting entity, wherein the query requests access to one or more blockchains;
converting the query to an expression tree;
creating one or more expression tree variations based on the expression tree, wherein the one or more expression tree variations provide one or more different expressions than the expression tree and a same result as the expression tree;
determining access conformity between the one or more expression tree variations and the expression tree;
selecting an expression tree variation with a greatest conformity rating;
performing the query using the expression tree variation with the greatest conformity rating; and
providing query results to the requesting entity.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the processor is further configured to perform:
comparing the one or more expression tree variations to one or more data tables associated with the one or more blockchains to identify the access conformity by using one or more meta-functional encryption keys to compare the one or more data tables to one or more encrypted views; and
determining the conformity rating is complete when the one or more encrypted views contain the query results.

### Claim 17 (depends on 16)

The non-transitory computer readable storage medium of claim 16, wherein the processor is further configured to perform:
determining the conformity rating is incomplete when the one or more encrypted views contain only a portion of the query results.

### Claim 18 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the expression tree and the one or more expression tree variations are relational algebra expression trees.

### Claim 19 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein a functional encryption key, assigned to a user profile associated with the requesting entity, identifies one or more query access policies assigned to the user profile.

### Claim 20 (depends on 19)

The non-transitory computer readable storage medium of claim 19, wherein the functional encryption key permits execution of a function on encrypted data without decrypting the encrypted data, and wherein the one or more encrypted views are continuously updated views based on blockchain data associated with the one or more blockchains.
