A computer-implemented method for retrieving data from a data source that is external to a blockchain network (212, 504), 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 encrypted data comprising access data and a first hash value that are encrypted using a public key of a relay system component external to the blockchain network, the first hash value being generated by the user computing device as a hash of the plaintext data; transmitting, by the user computing device and through the blockchain network (212, 514), the request to the relay system component for 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 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, send the request to the data source to obtain result data using the access data; receiving, by the user computing device and through the blockchain network (212, 514), 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; 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 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 user computing device, determining whether the third hash and the fourth hash match and determining that the result data as received by the user computing device is valid responsive to determining that the third hash and the fourth hash match. 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 encrypted data comprising access data and a first hash value that are encrypted using a public key of a relay system component external to the blockchain network, the first hash value being generated by the user computing device as a hash of the plaintext data; transmitting, by the user computing device and through the blockchain network (212, 514), the request to the relay system component for 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 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, send the request to the data source to obtain result data using the access data; 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 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, send the request to the data source to obtain result data using the access data; receiving, by the user computing device and through the blockchain network (212, 514), 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; 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 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 user computing device, determining whether the third hash and the fourth hash match and determining that the result data as received by the user computing device is valid responsive to determining that the third hash and the fourth hash match.