IP Library Granted Patent US 11,995,647
Granted Patent B2
US 11,995,647 · App. 16/399,686 · Granted May 28, 2024

System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus

Inventors: Prithvi Krishnan Padmanabhan (San Ramon, CA); Marc Benioff (San Francisco, CA)
Assignee: Salesforce, Inc.
G06Q20/3829G06F16/1824G06F16/1834H04L9/14H04L9/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,995,647
App. No.
16/399,686
Granted
May 28, 2024
Kind
B2
Abstract

A method to enable interoperability between blockchain networks. The method including receiving, by a mapper of an interoperability network, a transaction emitted by a first blockchain network, transforming the received transaction to a transaction compatible with a second blockchain network according to a mapping determined for the received transaction, and forwarding the transformed transaction to the second blockchain network to be processed by the second blockchain network.

Claims (56)

1. A method to enable interoperability between blockchain networks, the method comprising:

receiving, by a mapper implemented using one or more nodes of an interoperability network, a transaction emitted by a first blockchain network, wherein the interoperability network is a blockchain network that incorporates data blocks originating from each of a plurality of other blockchain networks serviced by the interoperability network;

determining, by the mapper, a plurality of mappings for the received transaction based on a transaction type of the received transaction;

selecting, by the mapper, a second blockchain network from the plurality of other blockchain networks to resolve consensus for the received transaction by matching a field of the received transaction to data in at least one of the data blocks incorporated into the interoperability network that originated from the second blockchain network thereby identifying the second blockchain network;

transforming the received transaction to a transaction compatible with the second blockchain network according to a mapping determined for the received transaction, where the mapping correlates metadata of the received transaction with a format of a transaction of the second blockchain network;

forwarding the transformed transaction to the second blockchain network to be processed by the second blockchain network;

receiving a consensus response from the second blockchain network for the forwarded transaction;

determining consensus for the received transaction within the interoperability network based on the consensus response of the second blockchain network and consensus criteria of the interoperability network;

validating and committing a successful transaction of the second blockchain network to the interoperability network, in response to reaching consensus in the interoperability network based at least in part on the consensus response of the second blockchain network;

sending an indication of the consensus determined within the interoperability network to the first blockchain network;

receiving a consensus response from the first blockchain network based on the consensus determined within the interoperability network; and

validating and committing the received transaction for the first blockchain network to the interoperability network, in response to successfully reaching consensus in the interoperability network based at least in part on the consensus response of the first blockchain network.

2. The method of claim 1 , further comprising:

transforming the received transaction to a transaction compatible with a third blockchain network.

3. The method of claim 2 , further comprising:

receiving a consensus response from the third blockchain network for the transaction compatible with the third blockchain network.

4. The method of claim 1 , further comprising:

rejecting the transaction where the consensus criteria of the interoperability network is not met.

5. A non-transitory machine-readable storage medium, including instructions that when executed by a processor, cause the processor to:

receive, by a mapper implemented using one or more nodes of an interoperability network, a transaction emitted by a first blockchain network, wherein the interoperability network is a blockchain network that incorporates data blocks originating from each of a plurality of other blockchain networks serviced by the interoperability network;

determine, by the mapper, a plurality of mappings for the received transaction based on a transaction type of the received transaction;

select, by the mapper, a second blockchain network from the plurality of other blockchain networks to resolve consensus for the received transaction by matching a field of the received transaction to data in at least one of the data blocks incorporated into the interoperability network that originated from the second blockchain network thereby identifying the second blockchain network;

transform the received transaction to a transaction compatible with the second blockchain network according to a mapping determined for the received transaction, where the mapping correlates metadata of the received transaction with a format of a transaction of the second blockchain network;

forward the transformed transaction to the second blockchain network to be processed by the second blockchain network;

receive a consensus response from the second blockchain network for the forwarded transaction;

determine consensus for the received transaction within the interoperability network based on the consensus response of the second blockchain network and consensus criteria of the interoperability network;

validate and commit a successful transaction of the second blockchain network to the interoperability network, in response to reaching consensus in the interoperability network based at least in part on the consensus response of the second blockchain network;

send an indication of consensus determined within the interoperability network to the first blockchain network;

receive a consensus response from the first blockchain network based on the consensus determined within the interoperability network; and

validate and commit the received transaction for the first blockchain network to the interoperability network, in response to successfully reaching consensus in the interoperability network based at least in part on the consensus response of the first blockchain network.

6. The non-transitory machine-readable storage medium of claim 5 , wherein the instructions further cause the processor to:

transform the received transaction to a transaction compatible with a third blockchain network.

7. The non-transitory machine-readable storage medium of claim 6 , wherein the instructions further cause the processor to:

receive a consensus response from the third blockchain network for the transaction compatible with the third blockchain network.

8. The non-transitory machine-readable storage medium of claim 5 , wherein the instructions further cause the processor to:

reject the transaction where the consensus criteria of the interoperability network is not met.

9. A computing device to manage data in a peer-to-peer blockchain network, the computing device comprising:

a processor; and

a memory storing instructions that when executed by the processor cause the processor to:

receive, by a mapper implemented using one or more nodes of an interoperability network, a transaction emitted by a first blockchain network, wherein the interoperability network is a blockchain network that incorporates data blocks originating from each of a plurality of other blockchain networks serviced by the interoperability network;

determine, by the mapper, a plurality of mappings for the received transaction based on a transaction type of the received transaction;

select, by the mapper, a second blockchain network from the plurality of other blockchain networks to resolve consensus for the received transaction by matching a field of the received transaction to data in at least one of the data blocks incorporated into the interoperability network that originated from the second blockchain network thereby identifying the second blockchain network;

transform the received transaction to a transaction compatible with the second blockchain network according to a mapping determined for the received transaction, where the mapping correlates metadata of the received transaction with a format of a transaction of the second blockchain network;

forward the transformed transaction to the second blockchain network to be processed by the second blockchain network;

receive a consensus response from the second blockchain network for the forwarded transaction;

determine consensus for the received transaction within the interoperability network based on the consensus response of the second blockchain network and consensus criteria of the interoperability network;

validate and commit a successful transaction of the second blockchain network to the interoperability network, in response to reaching consensus in the interoperability network based at least in part on the consensus response of the second blockchain network;

send an indication of consensus determined within the interoperability network to the first blockchain network;

receive a consensus response from the first blockchain network based on the consensus determined within the interoperability network; and

validate and commit the received transaction for the first blockchain network to the interoperability network, in response to successfully reaching consensus in the interoperability network based at least in part on the consensus response of the first blockchain network.

10. The computing device of claim 9 , wherein the instructions further cause the processor to:

transform the received transaction to a transaction compatible with a third blockchain network.

11. The computing device of claim 10 , wherein the instructions further cause the processor to:

receive a consensus response from the third blockchain network for the transaction compatible with the third blockchain network.

12. The computing device of claim 9 , wherein the instructions further cause the processor to:

reject the transaction where the consensus criteria of the interoperability network is not met.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2021
From: PADMANABHAN, PRITHVI KRISHNAN; BENIOFF, MARC
To: SALESFORCE.COM, INC.
Reel/Frame 057432/0246 →