This is part 3 in a 3-part series explaining the protocols we are employing as we move toward decentralization. Our series set-up post is here. Each part in the series will address a particular protocol or solution that sits in between our apps-layer and the blockchain-layer (middle layer in the digram below). This post is focused on the Compute component:

How do you compute on data that you can’t see, touch, or hold?

The data computation process is what creates data outputs that are used by the world’s consumers of data. It is essential to making potentially worthless blob of data worth something. Computation is a catch all word that can range in complexity from basic filtering, such as by demographic data, to something more complex, like finding correlative relationships within a data-set.

Traditionally, in order to use consumer personal data, data buyers such as hedge funds or market researchers require access to the consumers’ raw data (which they buy from aggregators/vendors). In contrast, our design will allow these buyers to utilize the data providers’ raw data without gaining access to the decrypted raw data itself, thus preserving the providers’ privacy. We achieve this “magical” property with our system’s 3rd key component: the Enigma protocol for “secret computation”. Enigma provides a decentralized network that allows computation in a TEE (Trusted Execution Environment) with strong correctness and privacy guarantees.

Trusted Execution Environment (TEE) is an isolated area on the main processor of a device that is separate from the main operating system. It ensures that data is stored, processed and protected in a trusted environment. It is used in our ecosystem to preserve privacy and decentralization while computing on data.

The Enigma network is similar to Ethereum, but with the key difference that the decrypted data itself is concealed from chain and even from the nodes that execute the computations. So that data requesters can buy rights to compute over the providers’ data (analyze it) instead of buying the data itself. The Enigma client lives in our web-app and encrypts user-connected data-sets client-side. This means that neither Datacoup, nor any nodes in the decentralized data-store can see or touch plain-text data

We’ll fit a real-world example to the technical diagram below: A hedge fund could find a correlation between consumers’ age and their likelihood to buy Starbucks coffee, without gaining access to any single consumer purchase data record, nor will any other party gain such access (including Datacoup and the computer which executes the computation).

Here is a sequence diagram exhibiting how component #3 works:

As mentioned above, the consumer private data is stored in a decentralized database only after the Enigma client (JS library) encrypts it. The data could only be decrypted inside an Enigma TEE.

A requester purchases the right to compute over the data by initiating a transaction in our marketplace {inputs: data fields required, sample size, qualifying data attributes, computation functions, gas limit, computation fee, payment for data, address for analysis result}, the smart/secret contract pulls the required encrypted data from the decentralized database into an Enigma TEE. Inside the TEE, the data is decrypted, and the computation/analysis is executed. The computation result is encrypted, and sent to data buyer who provided the required address for result, while initiating the transaction.

In this case, neither the app provider (Datacoup), nor nodes in the decentralized data-store, nor nodes in the computation network (Enigma nodes)were able to see or touch potentially sensitive plain-text data. Data provider privacy has been preserved.

Data monetization, privacy preservation, full decentralization!

In concluding our 3-part series, we’ve shown an end-to-end solution for an individual consumer to connect their valuable, disparate data-sources, and get compensated for sharing access to data requesters, while maintaining control of their data and preserving its privacy in a decentralized fashion.