Integrity of communications between blockchain networks and external data sources
AssigneeAdvanced New Technologies Co., Ltd.
InventorYirong Yu
Life of this patent
Estimating the term…
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.
Claims21
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.
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.
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.
Dependencies are inferred from the claim text.