Retrieving public data for blockchain networks using highly available trusted execution environments
First Claim
1. A computer-implemented method for retrieving data from a data source that is external to a blockchain network, the method comprising:
- receiving, by a relay system smart contract executing within the blockchain network and from a client within the blockchain network, a request for data from the data source;
transmitting, by the relay system smart contract, the request to a relay system that is external to the blockchain network, the relay system comprising a multi-node cluster that comprises a plurality of relay system nodes;
receiving, by the relay system smart contract, a result provided from a relay system node of the multi-node cluster, the result being digitally signed with a digital signature using a private key of the relay system node, the result including the data from the data source;
identifying, by the relay system smart contract, a first unique identification of the relay system node, wherein the first unique identification of the relay system node comprises a web address of the relay system node;
determining, by the relay system smart contract, that the first unique identification of the relay system node matches a second unique identification comprised in a plurality of unique identifications, wherein the plurality of unique identifications are comprised in the relay system smart contract and are associated with a plurality of registered relay system nodes;
in response to determining that the first unique identification of the relay system node matches the second unique identification, verifying, by the relay system smart contract, that the relay system node is registered at the relay system smart contract;
in response to verifying that the relay system node is registered at the relay system smart contract, verifying, by the relay system smart contract, an integrity of the result based on a public key of the relay system node and the digital signature; and
in response to verifying the integrity of the result, transmitting the result to the client.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for enhancing blockchain network security. Implementations include receiving a request for data from the data source, transmitting the request to a relay system that is external to the blockchain network and that includes a multi-node cluster including a plurality of relay system nodes, receiving a result provided from a relay system node, the result being digitally signed using a private key of the relay system node, verifying that the relay system node is registered, verifying an integrity of the result based on a public key of the relay system node and a digital signature of the result in response to verifying that the relay system node is registered, and transmitting the result to a client in response to verifying the integrity of the result.
53 Citations
18 Claims
-
1. A computer-implemented method for retrieving data from a data source that is external to a blockchain network, the method comprising:
-
receiving, by a relay system smart contract executing within the blockchain network and from a client within the blockchain network, a request for data from the data source; transmitting, by the relay system smart contract, the request to a relay system that is external to the blockchain network, the relay system comprising a multi-node cluster that comprises a plurality of relay system nodes; receiving, by the relay system smart contract, a result provided from a relay system node of the multi-node cluster, the result being digitally signed with a digital signature using a private key of the relay system node, the result including the data from the data source; identifying, by the relay system smart contract, a first unique identification of the relay system node, wherein the first unique identification of the relay system node comprises a web address of the relay system node; determining, by the relay system smart contract, that the first unique identification of the relay system node matches a second unique identification comprised in a plurality of unique identifications, wherein the plurality of unique identifications are comprised in the relay system smart contract and are associated with a plurality of registered relay system nodes; in response to determining that the first unique identification of the relay system node matches the second unique identification, verifying, by the relay system smart contract, that the relay system node is registered at the relay system smart contract; in response to verifying that the relay system node is registered at the relay system smart contract, verifying, by the relay system smart contract, an integrity of the result based on a public key of the relay system node and the digital signature; and in response to verifying the integrity of the result, transmitting the result to the client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory, computer-readable storage medium storing one or more instructions executable by a computer system to perform operations comprising:
-
receiving, by a relay system smart contract executing within a blockchain network and from a client within the blockchain network, a request for data from a data source; transmitting, by the relay system smart contract, the request to a relay system that is external to the blockchain network, the relay system comprising a multi-node cluster that comprises a plurality of relay system nodes; receiving, by the relay system smart contract, a result provided from a relay system node of the multi-node cluster, the result being digitally signed with a digital signature using a private key of the relay system node, the result including the data from the data source; identifying, by the relay system smart contract, a first unique identification of the relay system node, wherein the first unique identification of the relay system node comprises a web address of the relay system node; determining, by the relay system smart contract, that the first unique identification of the relay system node matches a second unique identification comprised in a plurality of unique identifications, wherein the plurality of unique identifications are comprised in the relay system smart contract and are associated with a plurality of registered relay system nodes; in response to determining that the first unique identification of the relay system node matches the second unique identification, verifying, by the relay system smart contract, that the relay system node is registered at the relay system smart contract; in response to verifying that the relay system node is registered at the relay system smart contract, verifying, by the relay system smart contract, an integrity of the result based on a public key of the relay system node and the digital signature; and in response to verifying the integrity of the result, transmitting the result to the client. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
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; receiving, by a relay system smart contract executing within a blockchain network and from a client within the blockchain network, a request for data from a data source; transmitting, by the relay system smart contract, the request to a relay system that is external to the blockchain network, the relay system comprising a multi-node cluster that comprises a plurality of relay system nodes; receiving, by the relay system smart contract, a result provided from a relay system node of the multi-node cluster, the result being digitally signed with a digital signature using a private key of the relay system node, the result including the data from the data source; identifying, by the relay system smart contract, a first unique identification of the relay system node, wherein the first unique identification of the relay system node comprises a web address of the relay system node; determining, by the relay system smart contract, that the first unique identification of the relay system node matches a second unique identification comprised in a plurality of unique identifications, wherein the plurality of unique identifications are comprised in the relay system smart contract and are associated with a plurality of registered relay system nodes; in response to determining that the first unique identification of the relay system node matches the second unique identification, verifying, by the relay system smart contract, that the relay system node is registered at the relay system smart contract; in response to verifying that the relay system node is registered at the relay system smart contract, verifying, by the relay system smart contract, an integrity of the result based on a public key of the relay system node and the digital signature; and in response to verifying the integrity of the result, transmitting the result to the client. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification