1

I am interested in computing medical data in a decentralized way where none of the computing resources nor the requester can fully access the data for the sake of privacy concerns.

In this schema, elected servants (decentralized computers) compute parts of the raw input data using a public algorithm. The computed data is eventually transmitted to the requester.

From my understanding of EVM, both the input data and the algorithm is stored on the blockchain which greatly limits the available computational resources and extends the blockchain size unnecessarily.

Shortly after that I discovered Ethereum Computation Market which looks more interesting for my application.

As I am still confused about what EVM really is, I would like to know if I can use it to:

  • Compute encrypted data issued from a data lake cloud
  • Encrypt the result using a GPG-like method
  • Send the result on a cloud server.
2

EVM itself is a virtual machine that runs a very restricted subset of instructions. More officially,

The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. It is not only sandboxed, but actually completely isolated, which means that code running inside the EVM has no access to network, filesystem, or other processes. Smart contracts even have limited access to other smart contracts.

Contracts live on the blockchain in an Ethereum-specific binary format (EVM bytecode). However, contracts are typically written in an Ethereum high level language, compiled into byte code using an EVM compiler, and finally uploaded on the blockchain using an Ethereum client.

(See here for source)

It seems you could in theory run any computations within the EVM, but there is still the problem of this: if the code is running on the computer, any data it is using can be decrypted by someone determined to see it (e.g. memory dump of anything used by assembly-level instructions). You'd want to put the data in a TPM or something like a PlayReady container (Microsoft's way of hiding DRM code from conventional memory inspectors) to truly secure it.

This seems similar to projects like SETI@home, but without the encryption requirement.

More theoretically, you're looking for "Homomorphic encryption", which is still a research topic currently, so might not be ready for large-scale use yet.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.