# US 11,030,217 B2 · Blockchain implementing cross-chain transactions

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

- Number: US 11,030,217 B2
- Document ID: US11030217B2
- Status: Granted
- Kind: B2
- Application number: 15/967,683
- Filed: 2018-05-01
- Published: 2019-11-07
- Granted: 2021-06-08
- Earliest claimed: 2018-05-01
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Hoang Tam Vo; Lenin Mehedy; Mukesh K. Mohania; Ziyuan Wang; Ermyas Abebe
- Web page: https://patentgrep.com/patent/US11030217B2

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3247: {involving digital signatures}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/12: Details relating to cryptographic hardware or logic circuitry
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- 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 storing, via a master chain, partition information that links together storage across a plurality of blockchains, receiving a request to execute a blockchain transaction from a client, determining whether the blockchain transaction is associated with data stored on one blockchain or data stored separately on different blockchains based on the partition information stored on the master chain, and, in response to a determination that the blockchain transaction is associated with data stored separately on different blockchains, identifying, via the master chain, a location of each blockchain from among the different blockchains and transmitting the locations to a system configured to perform the blockchain transaction.

## Claims

### Claim 1

A computing system comprising:
a storage configured to store, via a master chain, partition information that links together storage across a plurality of blockchains; and
a processor configured to receive a request to execute a blockchain transaction from a client, determine whether the blockchain transaction is associated with data stored on one blockchain or data stored separately on different blockchains based on the partition information stored on the master chain;
wherein, in response to a determination that the blockchain transaction is associated with data stored separately on different blockchains, the processor is further configured to identify, via the master chain, a location of each blockchain from among the different blockchains and transmit the locations to a system configured to perform the blockchain transaction.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the partition information identifies a domain of transaction data managed by the master chain, and identifies a sub-domain of the domain uniquely associated with each respective blockchain of the plurality of blockchains.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein the partition information identifies boundary ranges of transaction data maintained by each blockchain among the plurality of blockchains.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein the processor is further configured to individually query the plurality of blockchains to determine at least one blockchain that stores data for the blockchain transaction, when the master chain does not include an identity of a blockchain that stores the data for the blockchain transaction.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the processor is further configured to establish the partition information in response to detection of a consensus of the partition information from a plurality of blockchain nodes that manage the master chain.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the processor is further configured to detect an enablement flag that has been set via the master chain and fetch the partition information in response to detection of the enablement flag.

### Claim 7 (depends on 1)

The computing system of claim 1, wherein the processor determines whether the blockchain transaction is associated with data stored on one blockchain or data stored separately on different blockchains via a transaction routing smart contract.

### Claim 8 (depends on 1)

The method of claim 1, wherein the processor is configured to transmit the locations to a cross-chain handler configured to retrieve respective data from each of the different blockchains and execute the blockchain transaction based on the data retrieved from the different blockchains.

### Claim 9

A method comprising:
storing, via a master chain, partition information that links together storage across a plurality of blockchains;
receiving a request to execute a blockchain transaction from a client;
determining whether the blockchain transaction is associated with data stored on one blockchain or data stored separately on different blockchains based on the partition information stored on the master chain; and
in response to a determination that the blockchain transaction is associated with data stored separately on different blockchains, identifying, via the master chain, a location of each blockchain from among the different blockchains and transmitting the locations to a system configured to perform the blockchain transaction.

### Claim 10 (depends on 9)

The method of claim 9, wherein the partition information identifies a domain of transaction data managed by the master chain, and identifies a sub-domain of the domain uniquely associated with each respective blockchain of the plurality of blockchains.

### Claim 11 (depends on 9)

The method of claim 9, wherein the partition information identifies boundary ranges of transaction data maintained by each blockchain among the plurality of blockchains.

### Claim 12 (depends on 9)

The method of claim 9, wherein the determining comprises individually querying the plurality of blockchains to determine at least one blockchain storing data for the blockchain transaction, when the master chain does not include an identity of a blockchain storing the data for the blockchain transaction.

### Claim 13 (depends on 9)

The method of claim 9, further comprising establishing the partition information in response to detecting a consensus of the partition information from a plurality of blockchain nodes that manage the master chain.

### Claim 14 (depends on 9)

The method of claim 9, further comprising detecting an enablement flag that has been set via the master chain and fetching the partition information in response to detection of the enablement flag.

### Claim 15 (depends on 9)

The method of claim 9, wherein the determining is performed via a transaction routing smart contract executing on a blockchain node of the master chain.

### Claim 16 (depends on 9)

The method of claim 9, wherein the transmitting comprises transmitting the locations to a cross-chain handler configured to retrieve respective data from each of the different blockchains and execute the blockchain transaction based on the data retrieved from the different blockchains.

### Claim 17

A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform:
storing, via a master chain, partition information that links together storage across a plurality of blockchains;
receiving a request to execute a blockchain transaction from a client;
determining whether the blockchain transaction is associated with data stored on one blockchain or data stored separately on different blockchains based on the partition information stored on the master chain; and
in response to a determination that the blockchain transaction is associated with data stored separately on different blockchains, identifying, via the master chain, a location of each blockchain from among the different blockchains and transmitting the locations to a system configured to perform the blockchain transaction.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the partition information identifies a domain of transaction data managed by the master chain, and identifies a sub-domain of the domain uniquely associated with each respective blockchain of the plurality of blockchains.

### Claim 19 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the partition information identifies boundary ranges of transaction data maintained by each blockchain among the plurality of blockchains.

### Claim 20 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the determining comprises individually querying the plurality of blockchains to determine at least one blockchain storing data for the blockchain transaction, when the master chain does not include an identity of a blockchain storing the data for the blockchain transaction.
