IP Library Granted Patent US 11,853,291
Granted Patent B2
US 11,853,291 · App. 16/920,844 · Granted Dec 26, 2023

Privacy preserving architecture for permissioned blockchains

Inventors: Angelo De Caro (Zurich, CH); Christian Gorenflo (Waterloo, CA); Kaoutar El Khiyaoui (Zurich, CH); Elli Androulaki (Zurich, CH); Alessandro Sorniotti (Zurich, CH); Marko Vukolic (Zurich, CH)
Assignee: International Business Machines Corporation
G06F16/2379G06F16/27G06F21/6245H04L9/0637H04L9/0643H04L9/50
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,853,291
App. No.
16/920,844
Granted
Dec 26, 2023
Kind
B2
Abstract

In some embodiments, a processor may generate a request associated with a transaction, collect an anchor associated with the request, and transition the transaction into a collection of two or more hashes; the processor may submit the transaction to an ordering service. In some embodiments, a processor may receive a request associated with a transaction, identify that a first preimage associated with a first hash is known to a first shard, and generate a first identification tag associated with the transaction. In some embodiments, a processor may receive a request associated with a transaction, assign a first shard a first task, and identify that a first preimage associated with a first hash is known to the first shard; the processor may perform the task.

Claims (66)

1. A method for processing a private transaction in a blockchain network, the method comprising:

generating a request associated with a transaction;

validating the transaction privately, wherein validating the transaction privately prevents other shards from viewing information by storing preimages of hashes in specific shards within a blockchain;

collecting an anchor associated with the request;

transitioning the transaction into a collection of two or more hashes; and

submitting the transaction to an ordering service.

2. The method of claim 1 , wherein the request is a processable action that modifies a blockchain ledger.

3. The method of claim 1 , wherein the transaction is locally validated by two or more shards in the blockchain network.

4. The method of claim 3 , wherein the two or more shards validate the transaction comprising:

receiving by each of the two or more shards a respective, known preimage associated with the two or more hashes; and

matching, by each of the two or more shards, the respective, known preimage to the two or more hashes.

5. The method of claim 4 , further comprising:

performing, by the two or more shards, an atomic commit of the request.

6. The method of claim 5 , wherein the atomic commit is performed without any respective, known preimage being shared with any of the other two or more shards.

7. A system for processing a private transaction in a blockchain network, the system comprising:

a memory; and

a processor in communication with the memory, the processor being configured to perform operations comprising:

generating a request associated with a transaction;

validating the transaction privately, wherein validating the transaction privately prevents other shards from viewing information by storing preimages of hashes in specific shards within a blockchain;

collecting an anchor associated with the request;

transitioning the transaction into a collection of two or more hashes; and

submitting the transaction to an ordering service.

8. The system of claim 7 , wherein the request is a processable action that modifies a blockchain ledger.

9. The system of claim 7 , wherein the transaction is locally validated by two or more shards in the blockchain network.

10. The system of claim 9 , wherein the two or more shards validate the transaction comprising:

receiving by each of the two or more shards a respective, known preimage associated with the two or more hashes; and

matching, by each of the two or more shards, the respective, known preimage to the two or more hashes.

11. The system of claim 10 , wherein the operations further comprise:

performing, by the two or more shards, an atomic commit on the request.

12. The system of claim 11 , wherein the atomic commit is performed without any respective, known preimage being shared with any of the other two or more shards.

13. A computer program product for processing a private transaction in a blockchain network, 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 processors to perform a function, the function comprising:

generating a request associated with a transaction;

validating the transaction privately, wherein validating the transaction privately prevents other shards from viewing information by storing preimages of hashes in specific shards within a blockchain;

collecting an anchor associated with the request;

transitioning the transaction into a collection of two or more hashes; and

submitting the transaction to an ordering service.

14. The computer program product of claim 13 , wherein the request is a processable action that modifies a blockchain ledger.

15. The computer program product of claim 13 , wherein the transaction is locally validated by two or more shards in the blockchain network.

16. The computer program product of claim 15 , wherein the two or more shards validate the transaction comprising:

receiving by each of the two or more shards a respective, known preimage associated with the two or more hashes; and

matching, by each of the two or more shards, the respective, known preimage to the two or more hashes.

17. The computer program product of claim 16 , further comprising:

performing, by the two or more shards, an atomic commit on the request.

18. The computer program product of claim 17 , wherein the atomic commit is performed without any respective, known preimage being shared with any of the other two or more shards.

19. A method for processing a private transaction in a blockchain network, the method comprising:

receiving a request associated with a transaction;

identifying that a first preimage associated with a first hash is known to a first shard;

validating the transaction privately using the first shard, wherein validating the transaction privately prevents other shards from viewing information by storing preimages of hashes in specific shards within a blockchain; and

generating a first identification tag associated with the transaction.

20. The method of claim 19 , further comprising:

identifying that a second preimage associated with a second hash is known to a second shard; and

generating a second identification tag associated with the transaction.

21. The method of claim 20 , wherein the first identification tag is displayed to a first user and a second user, and wherein the second identification tag is displayed to the first user and a third user.

22. The method of claim 21 , further comprising:

committing, atomically, the transaction to the blockchain network.

23. A method for processing a private transaction in a blockchain network, the method comprising:

receiving a request associated with a transaction;

assigning a first shard a first task;

identifying that a first preimage associated with a first hash is known to the first shard;

validating the transaction privately using the first shard, wherein validating the transaction privately prevents other shards from viewing information by storing preimages of hashes in specific shards within a blockchain; and

performing the first task.

24. The method of claim 23 , further comprising:

assigning a second shard a second task;

identifying that a second preimage associated with a second hash is known to the second shard; and

performing the second task.

25. The method of claim 24 , wherein the first task and the second task are performed as a part of an atomic commit of the transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2020
From: DE CARO, ANGELO; GORENFLO, CHRISTIAN; EL KHIYAOUI, KAOUTAR; ANDROULAKI, ELLI; SORNIOTTI, ALESSANDRO; VUKOLIC, MARKO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053122/0577 →
Continuity (1)
Related Publication 20220004539A1 · Jan 6, 2022