IP Library Granted Patent US 10,805,088
Granted Patent B2
US 10,805,088 · App. 16/374,195 · Granted Oct 13, 2020

Cross-blockchain authentication method, apparatus, and electronic device

Inventor: Honglin Qiu (Zhejiang, CN)
Assignee: Alibaba Group Holding Limited
H04L9/3247H04L9/30H04L9/3239H04L2209/38
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 10,805,088
App. No.
16/374,195
Granted
Oct 13, 2020
Kind
B2
Abstract

Implementations of the present specification provide for cross-blockchain authentication. A public key of a database engine comprising a trusted node of a second blockchain is determined by a subscribing client included in a system for cross-chain interaction. The public key is used as an authentication data source. The system comprises the subscribing client (corresponding to a first blockchain), a publishing client (corresponding to the second blockchain), and a cross-chain interaction end separately connected to the subscribing client and publishing client. Data that is to be authenticated in the second blockchain is determined using the cross-chain interaction end. The data is published by the publishing client. The data to be authenticated is signed by the database engine using a private key of the database engine. The data authentication performed on the data uses the authentication data source and a signature of the data to be authenticated.

Claims (58)

1. A computer-implemented method for cross-blockchain authentication, comprising:

determining, by a subscribing client included in a system for cross-chain interaction and from a plurality of public keys configured as authentication data sources, a first public key of an oracle engine comprising a trusted node of a second blockchain, wherein the first public key authenticates data in the second blockchain, wherein the system comprises the subscribing client, a publishing client, and a cross-chain interaction end, wherein the subscribing client corresponds to a first blockchain, wherein the publishing client corresponds to the second blockchain, and wherein the cross-chain interaction end is separately connected to the subscribing client and the publishing client;

determining, by the subscribing client using the connection of the cross-chain interaction end to the second blockchain, data from the second blockchain that is to be authenticated and is published by the publishing client, wherein the data to be authenticated comprises a signature that is generated by the oracle engine based on a private key held by the oracle engine, wherein the oracle engine is configured to perform operations comprising

performing data authentication on the data from the second blockchain,

determining that the data authentication succeeds,

in response to determining that the data authentication succeeds, signing, based on the private key held by the oracle engine, the data from the second blockchain to provide signed data, and

pushing the signed data to the publishing client; and

performing, by the subscribing client, based on the first public key of the oracle engine and the signature of the data to be authenticated, authentication on the signed data.

2. The computer-implemented method of claim 1 , wherein determining the first public key comprises:

determining that the first public key is configured by a user and is of the oracle engine.

3. The computer-implemented method of claim 1 , wherein determining the first public key comprises:

determining, based upon the cross-chain interaction end, that the first public key that is published by the publishing client and is of the oracle engine.

4. The computer-implemented method of claim 1 , wherein determining the data that is to be authenticated comprises:

initiating a subscription request to the cross-chain interaction end, wherein the subscription request is used to indicate subscription conditions to the cross-chain interaction end, so that the cross-chain interaction end requests, from the publishing client based on the subscription conditions, data that is to be authenticated in the second blockchain and satisfies the subscription conditions; and

determining data that is to be authenticated and is published by the publishing client, wherein the data to be authenticated satisfies the subscription conditions and is signed by the oracle engine based on the private key held by the oracle engine.

5. The computer-implemented method of claim 1 , wherein performing the data authentication comprises:

verifying, based on the first public key of the oracle engine, the signature of the data to be authenticated; and

in response to the signature of the data being verified, determining that the data authentication on the data to be authenticated succeeds.

6. The computer-implemented method of claim 1 , wherein performing the data authentication includes using authentication rules comprising authentication logic that depends on a specific type of the data recorded on the second blockchain.

7. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

determining, by a subscribing client included in a system for cross-chain interaction and from a plurality of public keys configured as authentication data sources, a first public key of an oracle engine comprising a trusted node of a second blockchain, wherein the first public key authenticates data in the second blockchain, wherein the system comprises the subscribing client, a publishing client, and a cross-chain interaction end, wherein the subscribing client corresponds to a first blockchain, wherein the publishing client corresponds to the second blockchain, and wherein the cross-chain interaction end is separately connected to the subscribing client and the publishing client;

determining, by the subscribing client using the connection of the cross-chain interaction end to the second blockchain, data from the second blockchain that is to be authenticated and is published by the publishing client, wherein the data to be authenticated comprises a signature that is generated by the oracle engine based on a private key held by the oracle engine, wherein the oracle engine is configured to perform operations comprising

performing data authentication on the data from the second blockchain,

determining that the data authentication succeeds,

in response to determining that the data authentication succeeds, signing, based on the private key held by the oracle engine, the data from the second blockchain to provide signed data, and

pushing the signed data to the publishing client; and

performing, by the subscribing client, based on the first public key of the oracle engine and the signature of the data to be authenticated, authentication on the signed data.

8. The non-transitory, computer-readable medium of claim 7 , wherein determining the first public key comprises:

determining that the first public key is configured by a user and is of the oracle engine.

9. The non-transitory, computer-readable medium of claim 7 , wherein determining the first public key comprises:

determining, based upon the cross-chain interaction end, that the first public key that is published by the publishing client and is of the oracle engine.

10. The non-transitory, computer-readable medium of claim 7 , wherein determining the data that is to be authenticated comprises:

initiating a subscription request to the cross-chain interaction end, wherein the subscription request is used to indicate subscription conditions to the cross-chain interaction end, so that the cross-chain interaction end requests, from the publishing client based on the subscription conditions, data that is to be authenticated in the second blockchain and satisfies the subscription conditions; and

determining data that is to be authenticated and is published by the publishing client, wherein the data to be authenticated satisfies the subscription conditions and is signed by the oracle engine based on the private key held by the oracle engine.

11. The non-transitory, computer-readable medium of claim 7 , wherein performing the data authentication comprises:

verifying, based on the first public key of the oracle engine, the signature of the data to be authenticated; and

in response to the signature of the data being verified, determining that the data authentication on the data to be authenticated succeeds.

12. The non-transitory, computer-readable medium of claim 7 , wherein performing the data authentication includes using authentication rules comprising authentication logic that depends on a specific type of the data recorded on the second blockchain.

13. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

determining, by a subscribing client included in a system for cross-chain interaction and from a plurality of public keys configured as authentication data sources, a first public key of an oracle engine comprising a trusted node of a second blockchain, wherein the first public key authenticates data in the second blockchain, wherein the system comprises the subscribing client, a publishing client, and a cross-chain interaction end, wherein the subscribing client corresponds to a first blockchain, wherein the publishing client corresponds to the second blockchain, and wherein the cross-chain interaction end is separately connected to the subscribing client and the publishing client;

determining, by the subscribing client using the connection of the cross-chain interaction end to the second blockchain, data from the second blockchain that is to be authenticated and is published by the publishing client, wherein the data to be authenticated comprises a signature that is generated by the oracle engine based on a private key held by the oracle engine, wherein the oracle engine is configured to perform operations comprising

performing data authentication on the data from the second blockchain,

determining that the data authentication succeeds,

in response to determining that the data authentication succeeds, signing, based on the private key held by the oracle engine, the data from the second blockchain to provide signed data, and

pushing the signed data to the publishing client; and

performing, by the subscribing client, based on the first public key of the oracle engine and the signature of the data to be authenticated, authentication on the signed data.

14. The computer-implemented system of claim 13 , wherein determining the first public key comprises:

determining that the first public key is configured by a user and is of the oracle engine.

15. The computer-implemented system of claim 13 , wherein determining the first public key comprises:

determining, based upon the cross-chain interaction end, that the first public key that is published by the publishing client and is of the oracle engine.

16. The computer-implemented system of claim 13 , wherein determining the data that is to be authenticated comprises:

initiating a subscription request to the cross-chain interaction end, wherein the subscription request is used to indicate subscription conditions to the cross-chain interaction end, so that the cross-chain interaction end requests, from the publishing client based on the subscription conditions, data that is to be authenticated in the second blockchain and satisfies the subscription conditions; and

determining data that is to be authenticated and is published by the publishing client, wherein the data to be authenticated satisfies the subscription conditions and is signed by the oracle engine based on the private key held by the oracle engine.

17. The computer-implemented system of claim 13 , wherein performing the data authentication comprises:

verifying, based on the first public key of the oracle engine, the signature of the data to be authenticated; and

in response to the signature of the data being verified, determining that the data authentication on the data to be authenticated succeeds.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2025
From: ADVANCED NEW TECHNOLOGIES CO., LTD.
To: ADVANCED INNOVATION PTE. LTD.
Reel/Frame 070550/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2019
From: QIU, HONGLIN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 048856/0035 →