# US 12,015,715 B2 · Trusted aggregation with data privacy based on zero-knowledge-proofs

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

- Number: US 12,015,715 B2
- Document ID: US12015715B2
- Status: Granted
- Kind: B2
- Application number: 17/242,781
- Filed: 2021-04-28
- Published: 2022-11-03
- Granted: 2024-06-18
- Earliest claimed: 2021-04-28
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Johannes Adrianus Wilhelmus Röling; Pankaj Satyanarayan Dayama; Vinayaka Pandit; Joseph Nicolaas Gijsbertus Zeinstra
- Web page: https://patentgrep.com/patent/US12015715B2

## CPC

- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3221: {interactive zero-knowledge proofs}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A processor may commit, anonymously, an identity and associated data of a resource producer on a blockchain by an independent gateway. The processor may generate a Merkle tree hash commitment to the blockchain of all resources handled by an aggregator. The processor may execute individual commitments of a resource to a user. The processor may provide a zero-knowledge-proof that proves that the commitment of the identity and associated data of the resource producer and the Merkle tree hash commitment match.

## Claims

### Claim 1

A system for trusted aggregation with data privacy of contributors based on a zero-knowledge-proof, the system comprising:
a memory; and
a processor in communication with the memory, the processor being configured to perform operations comprising:
committing, anonymously, an identity and performance data of a resource producer on a blockchain by an independent gateway;
generating a Merkle tree hash commitment to the blockchain of all resources handled by an aggregator, wherein the Merkle tree hash commitment includes a first commitment of a delivery of the resource to a first user and a second commitment of the delivery of the resource to a second user;
executing the first commitment of the delivery of the resource to the first user and the second commitment of the delivery of the resource to the second user; and
providing, by the aggregator, a zero-knowledge-proof that proves that the commitment of the identity and performance data of the resource producer, and the Merkle tree hash commitment match, wherein the zero-knowledge-proof verifies that the executed first commitment and the executed second commitment are consistent with the first commitment and the second commitment in the Merkle tree, wherein the zero-knowledge-proof is recorded on a linked shared document of the blockchain as matching and approved by a virtual machine.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise:
providing a second zero-knowledge proof that proves that the commitments are mutually exclusive with no double utilization; and
providing a third zero-knowledge-proof that proves agreement specifications from the user are met without revealing the identity or associated data of the resource producer.

### Claim 3 (depends on 1)

The system of claim 1, wherein the committing is a hash commitment.

### Claim 4 (depends on 1)

The system of claim 1, wherein the Merkle tree hash commitment involves the identity of the resource producer and its associated data, and wherein a sub-tree in the Merkle tree hash commitment is associated with a commitment of individual resources.

### Claim 5 (depends on 1)

The system of claim 1, wherein:
the resource is two or more devices,
the aggregator manages a pool of the two or more devices, and
the user is a transmission system operator.

### Claim 6 (depends on 1)

The system of claim 1, wherein the zero-knowledge-proof is a non-interactive zero-knowledge-proof, and wherein the method further comprises:
generating an arithmetic circuit from a ZoKrates compiler; and
generating the non-interactive zero-knowledge-proof.

### Claim 7 (depends on 1)

The system of claim 1, wherein the operations further comprise:
identifying that a predetermined condition has been met; and
performing, automatically, an action.

### Claim 8

A method for trusted aggregation with data privacy of contributors based on a zero-knowledge-proof, the method comprising:
committing, anonymously, an identity and performance data of a resource producer on a blockchain by an independent gateway;
generating a Merkle tree hash commitment to the blockchain of all resources handled by an aggregator, wherein the Merkle tree hash commitment includes a first commitment of a delivery of the resource to a first user and a second commitment of the delivery of the resource to a second user;
executing the first commitment of the delivery of the resource to the first user and the second commitment of the delivery of the resource to the second user; and
providing, by the aggregator, a zero-knowledge-proof that proves that the commitment of the identity and performance data of the resource producer, and the Merkle tree hash commitment match, wherein the zero-knowledge-proof verifies that the executed first commitment and the executed second commitment are consistent with the first commitment and the second commitment in the Merkle tree, wherein the zero-knowledge-proof is recorded on a linked shared document of the blockchain as matching and approved by a virtual machine.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
providing a second zero-knowledge proof that proves that the commitments are mutually exclusive with no double utilization; and
providing a third zero-knowledge-proof that proves agreement specifications from the user are met without revealing the identity or associated data of the resource producer.

### Claim 10 (depends on 8)

The method of claim 8, wherein the committing is a hash commitment.

### Claim 11 (depends on 8)

The method of claim 8, wherein the Merkle tree hash commitment involves the identity of the resource producer and its associated data, and wherein a sub-tree in the Merkle tree hash commitment is associated with a commitment of individual resources.

### Claim 12 (depends on 8)

The method of claim 8, wherein:
the resource is two or more devices,
the aggregator manages a pool of the two or more devices, and
the user is a transmission system operator.

### Claim 13 (depends on 8)

The method of claim 8, wherein the zero-knowledge-proof is a non-interactive zero-knowledge-proof, and wherein the method further comprises:
generating an arithmetic circuit from a ZoKrates compiler; and
generating the non-interactive zero-knowledge-proof.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
identifying that a predetermined condition has been met; and
performing, automatically, an action.

### Claim 15

A computer program product for trusted aggregation with data privacy of contributors based on a zero-knowledge-proof, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a function, the function comprising:
committing, anonymously, an identity and performance data of a resource producer on a blockchain by an independent gateway;
generating a Merkle tree hash commitment to the blockchain of all resources handled by an aggregator, wherein the Merkle tree hash commitment includes a first commitment of a delivery of the resource to a first user and a second commitment of the delivery of the resource to a second user;
executing the first commitment of the delivery of the resource to the first user and the second commitment of the delivery of the resource to the second user; and
providing, by the aggregator, a zero-knowledge-proof that proves that the commitment of the identity and performance data of the resource producer, and the Merkle tree hash commitment match, wherein the zero-knowledge-proof verifies that the executed first commitment and the executed second commitment are consistent with the first commitment and the second commitment in the Merkle tree, wherein the zero-knowledge-proof is recorded on a linked shared document of the blockchain as matching and approved by a virtual machine.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the function further comprises:
providing a second zero-knowledge proof that proves that the commitments are mutually exclusive with no double utilization; and
providing a third zero-knowledge-proof that proves agreement specifications from the user are met without revealing the identity or associated data of the resource producer.

### Claim 17 (depends on 15)

The computer program product of claim 15, wherein the committing is a hash commitment.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the Merkle tree hash commitment involves the identity of the resource producer and its associated data, and wherein a sub-tree in the Merkle tree hash commitment is associated with a commitment of individual resources.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein:
the resource is two or more devices,
the aggregator manages a pool of the two or more devices, and
the user is a transmission system operator.

### Claim 20 (depends on 15)

The computer program product of claim 15, wherein the zero-knowledge-proof is a non-interactive zero-knowledge-proof, and wherein the method further comprises:
generating an arithmetic circuit from a ZoKrates compiler; and
generating the non-interactive zero-knowledge-proof.
