# US 10,871,979 B2 · Methods and devices for establishing communication between blockchain networks

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

- Number: US 10,871,979 B2
- Document ID: US10871979B2
- Status: Granted
- Kind: B2
- Application number: 16/752,356
- Filed: 2020-01-24
- Published: 2020-10-22
- Granted: 2020-12-22
- Earliest claimed: 2019-04-19
- Assignees: Advanced New Technologies Co., Ltd.
- Applicants: Advanced New Technologies Co., Ltd.
- Inventors: Yanpeng Li
- Web page: https://patentgrep.com/patent/US10871979B2

## CPC

- G06F 9/45529: {Embedded in an application, e.g. JavaScript in a Web browser}
- G06Q 20/02: involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- H04L 9/3234: {involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token (network architectures or network communication protocols for supporting authentication of entities using an additional device in a packet data network H04L63/0853)}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3255: {using group based signatures, e.g. ring or threshold signatures}
- H04L 63/00: {Network architectures or network communication protocols for network security (cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00; network architectures or network communication protocols for wireless network security H04W12/00; security arrangements for protecting computers or computer systems against unauthorised activity G06F21/00)}
- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 67/1087: using cross-functional networking aspects
- H04L 67/1091: {Interfacing with client-server systems or between P2P systems}
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- G06Q 2220/00: Business processing using cryptography
- 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)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed herein are methods, devices, and apparatuses, including computer programs stored on computer-readable media, for establishing communication between a first blockchain network and a second blockchain network. One of the methods includes: embedding a first library into a process; executing the first library to create a first border node within the process, wherein the first border node operates in the first blockchain network; embedding a second library into the process; executing the second library to create a second border node within the process, wherein the second border node operates in the second blockchain network; and establishing a communication interface within the process to allow the first border node and the second border node to communicate with each other.

## Claims

### Claim 1

A computer-implemented method for establishing communication between a first blockchain network and a second blockchain network, comprising:
embedding a first library into a process;
executing the first library to create a first border node embedded into the process, wherein the first border node operates together with a first set of nodes in the first blockchain network, the first set of nodes not being embedded into the process;
embedding a second library into the process;
executing the second library to create a second border node embedded into the process, wherein the second border node operates together with a second set of nodes in the second blockchain network, the second set of nodes not being embedded into the process; and
establishing a communication interface within the process to allow the first border node and the second border node to communicate with each other to jointly establish communication between the first blockchain network and the second blockchain network through the first border node and the second border node, wherein the process causes a processor to allocate a trusted execution environment to the communication interface, and the first border node and the second border node communicate with each other utilizing one or more function calls.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
obtaining the first library and the second library, the first library including binary code for the first border node, and the second library including binary code for the second border node.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first library further includes data representing a first blockchain to be managed by the first border node.

### Claim 4 (depends on 1)

The method of claim 1, wherein the second library further includes data representing a second blockchain to be managed by the second border node.

### Claim 5 (depends on 1)

The method of claim 1, wherein the process is implemented as a single process executing on a computing device.

### Claim 6 (depends on 5)

The method of claim 5, wherein the process utilizes an interface supporting execution of libraries written in different languages to embed and execute the first and second libraries.

### Claim 7 (depends on 1)

The method of claim 1, wherein the process causes the processor to allocate a separate memory region to each of the first and second border nodes using hardware level processing unit instructions.

### Claim 8 (depends on 1)

The method of claim 1, wherein the processor provides hardware-enforced protection for the trusted execution environment allocated to the communication interface utilizing cryptography.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
embedding a third library into the process;
executing the third library to create a third border node within the process, wherein the third border node operates in a third blockchain network; and
establishing the communication interface within the process to allow the first border node, the second border node, and the third border node to communicate with each other.

### Claim 10

A device for establishing communication between a first blockchain network and a second blockchain network, comprising:
one or more processors; and
one or more computer-readable memories coupled to the one or more processors and having instructions stored thereon that are executable by the one or more processors, wherein the one or more processors are configured to:
embed a first library into a process;
execute the first library to create a first border node embedded into the process, wherein the first border node operates together with a first set of nodes in the first blockchain network, the first set of nodes not being embedded into the process;
embed a second library into the process;
execute the second library to create a second border node embedded into the process, wherein the second border node operates together with a second set of nodes in the second blockchain network, the second set of nodes not being embedded into the process; and
establish a communication interface within the process to allow the first border node and the second border node to communicate with each other to jointly establish communication between the first blockchain network and the second blockchain network through the first border node and the second border node, wherein the process causes the one or more processors to allocate a trusted execution environment to the communication interface, and the first border node and the second border node communicate with each other utilizing one or more function calls.

### Claim 11 (depends on 10)

The device of claim 10, wherein the one or more processors are further configured to:
obtain the first library and the second library, the first library including binary code for the first border node, and the second library including binary code for the second border node.

### Claim 12 (depends on 10)

The device of claim 10, wherein the first library further includes data representing a first blockchain to be managed by the first border node.

### Claim 13 (depends on 10)

The device of claim 10, wherein the second library further includes data representing a second blockchain to be managed by the second border node.

### Claim 14 (depends on 10)

The device of claim 10, wherein the process is implemented as a single process executing on a computing device.

### Claim 15 (depends on 14)

The device of claim 14, wherein the process utilizes an interface supporting execution of libraries written in different languages to embed and execute the first and second libraries.

### Claim 16

A non-transitory computer-readable medium having stored therein instructions that, when executed by a processor of a device, cause the device to perform a method for establishing communication between a first blockchain network and a second blockchain network, the method comprising:
embedding a first library into a process;
executing the first library to create a first border node embedded into the process, wherein the first border node operates together with a first set of nodes in the first blockchain network, the first set of nodes not being embedded into the process;
embedding a second library into the process;
executing the second library to create a second border node embedded into the process, wherein the second border node operates together with a second set of nodes in the second blockchain network, the second set of nodes not being embedded into the process; and
establishing a communication interface within the process to allow the first border node and the second border node to communicate with each other to jointly establish communication between the first blockchain network and the second blockchain network through the first border node and the second border node, wherein the process causes the processor to allocate a trusted execution environment to the communication interface, and the first border node and the second border node communicate with each other utilizing one or more function calls.
