Blockchains might be the most ground-breaking technologies in several generations but its mainstream adoption remains relatively limited compared to other technology trends. The blockchain community is very aware that there are several challenges that need to be solved in order to streamline the adoption of blockchain technologies. Among those challenges, none two are more important than privacy and scalability.
There are several efforts within the blockchain community that are trying to address these issues but most of them rely on creating brand new blockchain infrastructures. A few years ago, security researchers from the Massachusetts Institute of Technology(MIT) Media Lab published a paper that outlined a different computation model that can solve those two problems for any blockchain. They called the technology Enigma presumably in honor of the German cryptographic machine used to cipher messages during World War II that play an important role in the beginning of computer industry. A few months after, the MIT team decided to venture beyond the academy a launched Enigma in order to bring privacy and scalability to any blockchain.
How Does Enigma Solves Privacy?
From the conceptual standpoint, Enigma is designed to connect to any blockchain and off-load private and intensive computations to an off-chain network. All transactions are facilitated by the blockchain, which enforces access-control based on digital signatures and programmable permissions.
The key idea that Enigma brings to the table is the ability to run computations on data without having access to the data itself. More specifically, the type of computations Enigma focuses on are smart contracts which, in the context of Enigma, are known as Secret Contracts given the additional level of privacy achieved with the stack. When using Enigma, Secret Contracts execute their public version on the blockchain while relying on Enigma for the private or computationally intensive parts.
The magic behind secret contracts is achieved by leveraging a novel technique known as secure multi-party computation (sMPC or MPC). In this computation model, data queries are computed 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 random piece of it. MPC can be seen as a solution to the famous millionaires problem in computer science that describes two millionaires interested in knowing which one of them is richer, without revealing their actual net worth.
How Does Enigma Solves Scalability?
The key building block in the Enigma architecture that ensures scalability is the off-chain storage model. Enigma includes a decentralized off-chain distributed hash-table (or DHT) that is accessible through the adjacent blockchain. In that model, the blockchain stores references to the data but not the data themselves. Private data should be encrypted on the client-side before storage and access-control protocols are programmed into the blockchain.
From the storage standpoint, Enigma can be thought of as a collection of distributed nodes. Each node has a distinct view of shares and encrypted data so that the computation process is guaranteed to be privacy-preserving and fault tolerant.
Architecturally, there are three different decentralized databases living in the Enigma system:
The Enigma Token
Similar to Ethereum, Enigma includes its own token that is used to compensate for different costs in the platform. Specifically, ENG tokens are used in three main areas:
· Computation Fees: ENG tokens are used to pay for any request in the Enigma network.
· Storage Fees: ENG tokens are used to maintain data in the network for certain amount of time.
· Security Deposits: Nodes in the network can use ENG tokens as a security deposit to ensure their participation in transactions.
Two Applications Using Enigma
Even when the core Enigma technology is not available yet, the team has released two applications that validate the capabilities of Enigma at a large scale.
Enygma Catalyst is an algorithmic trading library for crypto-assets written in Python. It allows trading strategies to be easily expressed and back-tested against historical data, providing analytics and insights regarding a particular strategy’s performance.
The Catalyst solution is powered by the Enigma Data Marketplace, another interesting solution that validates the capabilities of the Enigma platform. The Data Marketplace acts as a gateway to different databases and shares references to the data in a decentralized way while ensuing its privacy.