What does “privacy” mean? In the blockchain ecosystem, the word “privacy” has been used in so many different contexts to signify so many things that the meaning has become lost, or at least confused. Given the number of “privacy-preserving” blockchain projects out there, it is vital to accurately classify these projects so we can understand, compare, and evaluate them. “Privacy” can generally be broken down along two major lines: transactional privacy versus computational privacy. In this post, we’ll take a deeper look at what that means for networks, users, and decentralized applications.

Transactional Privacy

Transactional privacy is what most people think of when they think of privacy for decentralized apps and blockchains. In a private transaction, certain aspects are hidden from the public. The sender, recipient, and amount of the transaction can all be obfuscated, and while this can be computationally expensive, we have the tools and networks that enable it today. Examples of projects that provide transactional privacy are Zcash (which uses zkSNARKS) and Monero (which uses ring signatures), both of which can be used to shield transactions from the public and the recipient. Transactional privacy is a crucial element in promoting individual liberty, but it’s one-dimensional in that it only allows for simple exchanges of value. If we wanted something more robust — something beyond simple transactions — then we have to turn to computational privacy.

Computational Privacy

Computational privacy in a decentralized network has a few basic requirements. First, input data must be encrypted and kept secret from all nodes running on the network, and also from observers of network transactions. Second, the nodes need to be able to perform computations on this encrypted data. Finally, we must have good guarantees that the results returned by nodes running these computations are correct.

If these conditions can be met reliably, a computationally private network can retain the benefits of a decentralized, permissionless blockchain, while also keeping information secure and private; it enables general-purpose computation (not just simple things like transactions) without exposing all the data on the network.

(We previously wrote extensively about types of computational privacy on the CoinMarketCap blog — check it out!)

Privacy Networks

Think of the difference between Bitcoin and Ethereum. On the Bitcoin network, users can transmit value back and forth, but for most intents and purposes, that’s it. Ethereum, on the other hand, has the capability to perform arbitrary (with constraints) computations on the Ethereum Virtual Machine (EVM) using smart contracts. One is a single-use network, the other is a general-use network.

This is where Enigma comes in. Enigma uses a suite of privacy preserving methods to keep data encrypted and still allow for general-purpose computing. This gives Ethereum a much-needed upgrade: by keeping data hidden, the network effects of Ethereum are maintained, while preventing the computations themselves from ever being seen. Using computational privacy methods, developers can build truly decentralized applications while still being able to guarantee data privacy to their users.

So what exactly are these computational privacy-preserving methods? At Enigma, we have primarily explored two systems: secure enclaves (trusted execution environments), and multi-party computation (MPC). Secure enclaves are physical chips within a computer that are used to protect data from being seen outside the hardware itself. Using techniques like remote attestation, users of the network can be sure that the encrypted data submitted to the network remains private, and this has the added advantage of being significantly faster than purely software-based methods. Our upcoming Discovery release uses this technology, and prioritizes usability.

In addition, the Enigma team is working towards using MPC in the architecture of the network, which emulates a trusted third party by combining untrusted parties. Each computer in the network only sees encrypted bits of data — but never anything meaningful. To learn more about MPC, see our co-founder and CEO Guy Zyskind’s foundational MIT paper on Decentralizing Privacy (which has now been cited in over 500 other papers), or check out this Github repository for a deeper dive!

Evaluating Privacy for dApps and Users

As we’ve seen, understanding what privacy means for any particular network or application can be challenging. So, when you are evaluating a project that offers “privacy” as a feature, the first question to ask would be: “is this transactional privacy or computational privacy?” The second question to ask is, “what are the methods this project is using to ensure privacy?” And the third is, “what is being kept private?” Without answering all these questions, it is difficult to compare projects and technologies to one another.

While there are different techniques that other blockchain projects can use in service of computational privacy, we believe that none offer the robustness and flexibility that Enigma can provide. Our team is helping build Enigma into what we hope becomes the most powerful general-purpose secure computation network in the world — or, as we refer to it, a privacy layer for the decentralized web.

Want to join us? Learn more about our project and community with the links below!