Getting data from outside services


#1

How would you go about getting private data from outside sources?

If we take an example from https://blog.enigma.co/decentralizing-credit-with-enigma-440c6648b4d8, where an Enigma node would take an encrypted access token to a bank’s API, decrypt it, and use it to fetch some private data from the bank’s api, on which it does a computation and returns a result.

  • How would this be implemented from a developer’s side? I’m guessing we’d need an Enigma node to support executing code in something different from Solidity?
  • How would such an asynchronous operation work with an Ethereum smart contract, since EVM doesn’t have asynchronicity mechanisms built in, right? (I don’t know, asking)

Thanks!


#2

This is high in our priority list for upcoming releases. We’ll publish more details in the next few weeks. In a nutshell, at least initially, web queries will likely be included as preprocessors. Upon task execution, the TEE of the selected worker will request data from the service host. The response will be injected in the smart contract “callable” function for execution (in the same TEE). The worker will generate a proof of data provenance and integrity.