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, 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 encrypted data comprising a concatenation of access data and a first hash value, the concatenation being encrypted using a public key of a relay system component external to the blockchain network, the first hash value being generated as a hash of the plaintext data by a user computing device that submits the request; transmitting, by the relay system smart contract, the request to the relay system component, wherein, in response to receiving the request, the relay system component: decrypts the encrypted data using a private key of the relay system component to provide the first hash value; calculates a second hash value based on the plaintext data included in the request; compares the first hash value to the second hash value to determine whether the first hash value and the second hash value match; and in response to determining that the first hash value and the second hash value match, sends the request to the data source to obtain result data using the access data; receiving, by the relay system smart contract, a result from the relay system component, the result comprising the result data and a third hash value, wherein the third hash value is generated by the relay system component based on the result data and digitally signed using the private key of the relay system component; verifying, by the relay system smart contract, an integrity of the result based on the public key of the relay system component and the signed third hash value, comprising obtaining the third hash value using the public key of the relay system component, computing a fourth hash value generated based on the result data as received by the relay system smart contract, determining whether the third hash value and the fourth hash value match and determining that the result data as received by the relay system smart contract is valid responsive to determining that the third hash value and the fourth hash value match; and in response to verifying the integrity of the result, transmitting the result to the user computing device. receiving, by a relay system smart contract executing within the blockchain network, 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 encrypted data comprising a concatenation of access data and a first hash value, the concatenation being encrypted using a public key of a relay system component external to the blockchain network, the first hash value being generated as a hash of the plaintext data by a user computing device that submits the request; transmitting, by the relay system smart contract, the request to the relay system component, wherein, in response to receiving the request, the relay system component: decrypts the encrypted data using a private key of the relay system component to provide the first hash value; calculates a second hash value based on the plaintext data included in the request; compares the first hash value to the second hash value to determine whether the first hash value and the second hash value match; and in response to determining that the first hash value and the second hash value match, sends the request to the data source to obtain result data using the access data; decrypts the encrypted data using a private key of the relay system component to provide the first hash value; calculates a second hash value based on the plaintext data included in the request; compares the first hash value to the second hash value to determine whether the first hash value and the second hash value match; and in response to determining that the first hash value and the second hash value match, sends the request to the data source to obtain result data using the access data; receiving, by the relay system smart contract, a result from the relay system component, the result comprising the result data and a third hash value, wherein the third hash value is generated by the relay system component based on the result data and digitally signed using the private key of the relay system component; verifying, by the relay system smart contract, an integrity of the result based on the public key of the relay system component and the signed third hash value, comprising obtaining the third hash value using the public key of the relay system component, computing a fourth hash value generated based on the result data as received by the relay system smart contract, determining whether the third hash value and the fourth hash value match and determining that the result data as received by the relay system smart contract is valid responsive to determining that the third hash value and the fourth hash value match; and in response to verifying the integrity of the result, transmitting the result to the user computing device.