IP Library Granted Patent US 11,080,430
Granted Patent B2
US 11,080,430 · App. 16/714,460 · Granted Aug 3, 2021

Integrity of communications between blockchain networks and external data sources

Inventor: Yirong Yu (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06F21/64H04L9/0637H04L9/0643H04L9/088H04L9/14H04L9/30H04L9/3073H04L9/3242H04L9/3247H04L2209/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 11,080,430
App. No.
16/714,460
Granted
Aug 3, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for enhancing blockchain network security. Embodiments include generating a request for data from a data source, the request including plaintext data and encrypted data, the encrypted data including access data and a hash of the plaintext data, transmitting the request to a relay system component external to the blockchain network, receiving a result from the relay system component that is digitally signed using a private key of the relay system component, and verifying an integrity of the result based on a public key of the relay system component and a digital signature of the result.

Claims (55)

1. A computer-implemented method for retrieving data from a data source that is external to a blockchain network, the method comprising:

generating, by a user computing device, a request for data from the data source, the request comprising a first portion and a second portion, the first portion comprising plaintext data and the second portion comprising encrypted data, the generating the request comprising:

generating a first hash value of the plaintext data by the user computing device:

concatenating access data and the first hash value to generate a concatenated data element; and

encrypting, using a public key of a relay system component, the concatenated data element to generate encrypted data;

transmitting, by the user computing device, the request to the relay system component through the blockchain network, wherein the relay system component is external to the blockchain network, wherein the request is configured to cause the relay system component to:

decrypt the encrypted data using a private key of the relay system component to provide the first hash value,

calculate a second hash value based on the plaintext data included in the request,

compare the first hash value to the second hash value to determine that the first hash value is identical to the second hash value, and

transmit a result responsive to determining that the first hash value is identical to the second hash value;

receiving, by the user computing device, the result from the relay system component through the blockchain network, the result comprising result data and a third hash value, the result data being retrieved using the access data and the third hash value being generated based on the result data, the result being digitally signed using the private key of the relay system component; and

verifying, by the user computing device, an integrity of the result based on a public key of the relay system component, a digital signature of the result, and the third hash value.

2. The method of claim 1 , wherein the relay system component transmits a query request to the data source in response to verifying the request.

3. The method of claim 1 , wherein the relay system component comprises a relay system node that receives the request from a relay system smart contract executing within the blockchain network.

4. The method of claim 1 , wherein the plaintext data comprises a uniform resource locator (URL) of the data source.

5. The method of claim 3 , wherein the relay system component executes a trusted execution environment (TEE), and the private key and the public key of the relay system component are provisioned during an attestation process of the TEE.

6. The method of claim 5 , wherein the user computing device executes the attestation process with the relay system node and an attestation service.

7. The method of claim 1 , wherein the data source comprises an Internet-based data source.

8. A non-transitory, computer-readable storage medium storing instructions executable by a computer system and that upon such execution cause the computer system to perform operations for retrieving data from a data source that is external to a blockchain network, the operations comprising:

generating, by a user computing device, a request for data from the data source, the request comprising a first portion and a second portion, the first portion comprising plaintext data and the second portion comprising encrypted data, the generating the request comprising:

generating a first hash value of the plaintext data by the user computing device:

concatenating access data and the first hash value to generate a concatenated data element; and

encrypting, using a public key of a relay system component, the concatenated data element to generate encrypted data;

transmitting, by the user computing device, the request to the relay system component through the blockchain network, wherein the relay system component is external to the blockchain network, wherein the request is configured to cause the relay system component to:

decrypt the encrypted data using a private key of the relay system component to provide the first hash value,

calculate a second hash value based on the plaintext data included in the request,

compare the first hash value to the second hash value to determine that the first hash value is identical to the second hash value, and

transmit a result responsive to determining that the first hash value is identical to the second hash value;

receiving, by the user computing device, the result from the relay system component through the blockchain network, the result comprising result data and a third hash value, the result data being retrieved using the access data and the third hash value being generated based on the result data, the result being digitally signed using the private key of the relay system component; and

verifying, by the user computing device, an integrity of the result based on a public key of the relay system component, a digital signature of the result, and the third hash value.

9. The non-transitory, computer-readable storage medium of claim 8 , wherein the relay system component transmits a query request to the data source in response to verifying the request.

10. The non-transitory, computer-readable storage medium of claim 8 , wherein the relay system component comprises a relay system node that receives the request from a relay system smart contract executing within the blockchain network.

11. The non-transitory, computer-readable storage medium of claim 8 , wherein the plaintext data comprises a uniform resource locator (URL) of the data source.

12. The non-transitory, computer-readable storage medium of claim 10 , wherein the relay system component executes a trusted execution environment (TEE), and the private key and the public key of the relay system component are provisioned during an attestation process of the TEE.

13. The non-transitory, computer-readable storage medium of claim 12 , wherein the user computing device executes the attestation process with the relay system node and an attestation service.

14. The non-transitory, computer-readable storage medium of claim 8 , wherein the data source comprises an Internet-based data source.

15. 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 instructions that, when executed by the one or more computers, cause the one or more computers to perform operations for retrieving data from a data source that is external to a blockchain network, the operations comprising:

generating, by a user computing device, a request for data from the data source, the request comprising a first portion and a second portion, the first portion comprising plaintext data and the second portion comprising encrypted data, the generating the request comprising:

generating a first hash value of the plaintext data by the user computing device:

concatenating access data and the first hash value to generate a concatenated data element; and

encrypting, using a public key of a relay system component, the concatenated data element to generate encrypted data;

transmitting, by the user computing device, the request to the relay system component through the blockchain network, wherein the relay system component is external to the blockchain network, wherein the request is configured to cause the relay system component to:

decrypt the encrypted data using a private key of the relay system component to provide the first hash value,

calculate a second hash value based on the plaintext data included in the request,

compare the first hash value to the second hash value to determine that the first hash value is identical to the second hash value, and

transmit a result responsive to determining that the first hash value is identical to the second hash value;

receiving, by the user computing device, the result from the relay system component through the blockchain network, the result comprising result data and a second third hash value, the result data being retrieved using the access data and the second third hash value being generated based on the result data, the result being digitally signed using the private key of the relay system component; and

verifying, by the user computing device, an integrity of the result based on a public key of the relay system component, a digital signature of the result, and the second third hash value.

16. The system of claim 15 , wherein the relay system component transmits a query request to the data source in response to verifying the request.

17. The system of claim 15 , wherein the relay system component comprises a relay system node that receives the request from a relay system smart contract executing within the blockchain network.

18. The system of claim 15 , wherein the plaintext data comprises a uniform resource locator (URL) of the data source.

19. The system of claim 17 , wherein the relay system component executes a trusted execution environment (TEE), and the private key and the public key of the relay system component are provisioned during an attestation process of the TEE.

20. The system of claim 19 , wherein the user computing device executes the attestation process with the relay system node and an attestation service.

21. The system of claim 15 , wherein the data source comprises an Internet-based data source.

Assignments (3)
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 Mar 11, 2020
From: YU, YIRONG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052088/0118 →