Retrieving public data for blockchain networks using highly available trusted execution environments

  • US 11,088,850 B2
  • Filed: 02/01/2021
  • Issued: 08/10/2021
  • Est. Priority Date: 03/27/2019
  • Status: Active Grant
First Claim
Patent Images

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, wherein a relay system controller periodically sends status queries to the plurality of relay system nodes in the multi-node cluster and receives status responses from the plurality of relay system nodes, the relay system controller recording a status of a first relay system node in the multi-node cluster as available if receiving a first status response from the first relay system node within a predetermined time window, and the relay system controller recording the status of a second relay system node of the multi-node cluster as unavailable if not receiving a second status response from the second relay system node within the predetermined time window;

    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, wherein the relay system node executes a trusted execution environment (TEE), and wherein the private key of the relay system node and a public key of the relay system node are provisioned during an attestation process of the TEE;

    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 the 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 all claims
    ×
    ×

    Thank you for your feedback

    ×
    ×