Computations over data

Once I have put my data set on enigma to share with 3rd parties to compute over:

#1 Can I completely remove or erase the data? Or will it be there forever encrypted?

#2 Who can perform computations on that data? Only the person I give permission to or will anyone willing to pay the fee be able to compute over my data?

#3 once permission for computations over my data is given, can it be withdrawn?

Hi @Cryptojoe

Enigma is the protocol or decentralized network that enables secret contracts capable of answering yes or no to all of those questions. As Dapp users we’ll want to read the terms and conditions, and even the secret contract as we do with smart contracts, and have some awareness of what happens when we submit data to the contract.

Enigma’s storage is not a sort of database where you upload your data and it’s shared with all parties, rather a secret contract has access to storage, which it may use as the developers see fit.
They may choose to update or clear its dataset, and in some use cases not need to store any of your data at all, eg a voting Dapp may verify your ID or wallet somehow but not need to store anything, just record your vote.

There’s some examples in the docs for inspiration on what’s possible, and sample dapps to play with, eg secret access control

That said, there’s also the Enigma Data Marketplace, which has taken a back seat to protocol development atm, where data providers would get paid for publishing data, subscribers would pay for access to health records or trading data without access to personally identifiable information.

It would then depend on the provider you gave your data to, whether they’d pay you once off, every month, not at all, and whether they’d be able to revoke your data on demand.
If you made some trades for example, you wouldn’t have much choice in sharing the trade data after agreeing to use the Dapp, whereas with health records you may be able to.

Did you have a particular use case in mind?


Building on @taariq,

  1. Enigma secret contract can be used as a DB (hold data). Currently we don’t have a way of erasing state. However state, thus the DB, is always encrypted

  2. You can create a whitelist to allow access to data. Check out the dead man switch article for more information

  3. You can technically update the whitelist

As Taariq mentioned, would be curious to hear what use case you have in mind

1 Like