Might be of interest
http://enigma.media.mit.edu/#http://enigma.media.mit.edu/enigma_full.pdf2 Enigma
Enigma is a decentralized computation platform with guaranteed privacy. Our goal is to enable
developers to build ’privacy by design’, end-to-end decentralized applications, without a trusted
third party.
Enigma is private. Using secure multi-party computation (sMPC orMPC), data queries are com-
puted in a distributed way, without a trusted third party. Data is split between different nodes, and
they compute functions together without leaking information to other nodes. Specifically, no single
party ever has access to data in its entirety; instead, every party has a meaningless (i.e., seemingly
random) piece of it.
Enigma is scalable
. Unlike blockchains, computations and data storage are not replicated by every node in the network. Only a small subset perform each computation over different parts of the data. The decreased redundancy in storage and computations enables more demanding computations. The key new utility Enigma brings to the table is the ability to run computations on data, without having access to the raw data itself. For example, a group of people can provide access to their salary, and together compute the average wage of the group. Each participant learns their relative
position in the group, but learns nothing about other members’ salaries. It should be made clear that this is only a motivating example. In practice, any program can be securely evaluated while
maintaining the inputs a secret.
Today, sharing data is an irreversible process; once it is sent, there is no way to take it back or limit
how it is used. Allowing access to data for secure computations is reversible and controllable, since
no one but the original data owner(s) ever see the raw data. This presents a fundamental change in
current approaches to data analysis.
3 Design overview
Enigma is designed to connect to an existing blockchain and off-load private and intensive compu-
tations to an off-chain network. All transactions are facilitated by the blockchain, which enforces
access-control based on digital signatures and programmable permissions. Code is executed both on the blockchain (public parts) and on Enigma (private or computationally intensive parts). Enigma’s execution ensures both privacy and correctness , whereas a blockchain alone can only ensure the latter. Proofs of correct execution are stored on the blockchain and can be audited. We supply a scripting language for designing end-to-end decentralized applications using private contracts , which are a more powerful variation of smart contracts that can handle private information (i.e., their state is not strictly public). The scripting language is also turing-complete, but this is not as important as its scalability. Code execution in blockchains is decentralized but not distributed, so every node redundantly executes the same code and maintains the same public state. In enigma, the computational work is efficiently distributed across the network. An interpreter breaks down the execution of a private contract,
as is illustrated in Figure 1, resulting in improved run-time, while maintaining both privacy and verifiability