Computing on public blockchains faces two major issues: a lack of privacy and a lack of scalability.
Data stored on most blockchains is completely transparent. This is a double-edged sword. On one hand, transparency increases accessibility and allows for easy validation. On the other, it prevents applications that operate over private data layers from being built on the public blockchain.
Public blockchains tend to also scale very poorly. In order to accomodate for increased decentralization -- but still maintain a high level of security -- blockchains end up sacrificing transaction throughput. Typically, every node in a public blockchain has to execute every single transaction As such, it's very expensive, even technically impossible, to run computationally-intensive applications on public blockchains.
Enigma is a project that aims to solve the problems of both privacy and scalability for blockchain computing using an offchain network of nodes capable of secure multi-party computation. The idea, at a high-level, is that only a small subset of nodes are involved in executing a smart contract, and no node ever gets the full dataset.
Enigma is a project rooted in real technology. However, it can also be argued that Enigma is overly ambitious since the project is trying to anticipate the needs of a presumably soon-to-be existent market of unknown size. With a roadmap that extends to 2020, it's still very early stages for Enigma.
Growing ambitions - a brief look at Enigma's past
Enigma completed its token sale in September 2017. Out of the 40,000 interested participants, the team accepted contributions from 5,000 of them. The sale had a $45 million hard cap which was reached within hours.
The project's ambitions were initially much smaller and different than what they are today. The team wanted to build Catalyst, a decentralized algorithmic trading platform running on a decentralized exchange. The idea was that traders could code and deploy programmatic trading strategies on Catalyst and users could invest in these strategies. Alternatively, users could also directly trade on the decentralized exchange. Catalyst had its own token called ECAT. ECAT would be used to pay for computational and storage costs to use Catalyst. It'd also be used to pay for fees on the decentralized exchange.
For unknown reasons, the team pivoted from building the decentralized exchange and instead focused on building a decentralized data marketplace. Catalyst would become just one application built on the data marketplace and the team renamed the token from ECAT to ENG so that it more accurately reflected its more generalized utility. You can see their decentralized data marketplace roadmap here in an official blog post.
Since the pivot, the team has launched an early iteration of the decentralized data marketplace with productionized smart contracts deployed on Ethereum. The team has also launched an early iteration of Catalyst -- although its scope has decreased significantly. In its current state, it's a piece of software used for testing and executing algorithmic trading strategies.
In March 2018, the team revealed a new roadmap that casts the decentralized data marketplace and Catalyst to the wayside. Enigma was now a privacy-oriented project that plans to build its own blockchain capable of running smart contracts that obfuscated data they operated on through secure multi-party computation.
How does Enigma work?
Enigma allows smart contract developers to program what the team calls "secret contracts". Secret contracts are essentially smart contracts that operate with private data. Enigma's secret contracts will have code that is partially executed on a public blockchain (i.e. the Enigma blockchain) and partially executed on Enigma's decentralized off-chain privacy computation network. The public blockchain will primarily be used as a security measure to store auditable proofs of correct execution for the code executed off-chain. The off-chain computation network will not only offer privacy, it will also be much more performant than the public blockchain.
In order to keep off-chain computation private, the team plans to use a technology known as secure multi-party computation (sMPC). Put simply, sMPC is a technology that enables the execution of an algorithm to be split with multiple different entities. No entity gets the full data input to the algorithm, even if they wanted to; each entity executes based on a jumbled subset of the data. The computational outputs of all entities are securely combined into a final result.
In the context of Enigma, its off-chain computation network will consist of a series of peer-to-peer nodes all capable of running sMPC computations. Anyone can join as an sMPC node as long as it also stakes a specific amount of ENG on the public blockchain. The blockchain will then assign secret contract jobs fairly among the sMPC nodes and monitor results in order to ensure the correctness and timeliness of the computation. To incentivize good behaviour, if anything was wrong with a node, its staked ENG tokens will be confiscated and redistributed to the rest of the staking nodes. A fee priced in ENG tokens will then be calculated based on the computational intensity of the job and charged to the job poster.
This is certainly no easy feat and there are various problems the Enigma team needs to solve to be successful. For starters, the team needs to design and build Enigma's public blockchain as well as a secret contract virtual machine (VM) on top of this blockchain that is capable of delineating between public code and private code and compiling the private code into sMPC-enabled code. They also need to design a protocol such that the off-chain computation network can communicate with the public blockchain and allow nodes to join, leave, receive jobs, and complete jobs. Lastly, they need a way to check that the computation from an sMPC node is correct as well as a method to log the proof of correct execution on the public blockchain.
Put simply, the Enigma team has their work cut out for them if they hope to hit their 2020 roadmap goals.
The team behind Enigma
The Enigma project started when a team of researchers and software developers at MIT noticed the increased popularity of cryptocurrency trading. They jumped on the opportunity and built a decentralized algorithmic trading platform called Catalyst. The idea was to allow programmers, especially quantitative traders to develop, test, and run trading strategies on Catalyst. Other users could then subscribe and invest in top performing trading strategies.
The CEO and co-founder of Enigma is Guy Zyskind. Zyskind is a serial entrepreneur, having been involved with multiple startups before joining MIT to pursue his Masters. At MIT, he also served as a course instructor and an MIT Media Lab research assistant. Enigma was inspired by his masters thesis, "Efficient Secure Computation Enabled by Blockchain Technology", which presented a framework for scalable sMPC managed by the blockchain.
Enigma's other co-founder, Can Kisagun, serves as Chief Product Officer and holds an MBA from MIT Sloan.
Even though the team is quite small, especially for the project's ambitions, the team is highly technical, and primarily composed of highly experienced software engineers.
Enigma’s multiple pivots since the ICO
As described above, Enigma's team has pivoted the project at least two times since the ICO last year. The team's pitch for their $45 million ICO was Catalyst, a decentralized algorithmic trading platform running on a decentralized exchange. The original token name was ECAT. Halfway into building Catalyst and the decentralized exchange, the team decided to pivot Enigma to a decentralized data storage platform and a data marketplace. The token was renamed to ENG. Very recently, the team again changed course and pivoted Enigma to a privacy-focused smart contract platform.
A team with a history of pivoting can sometimes be a good thing since it could demonstrate agility and a willingness to adapt. However, more often than not, it's a sign of internal problems. The team might not longer believe in their own vision or they’ve encountered technical challenges they were either unwilling or incapable of solving.
Enigma is a highly ambitious project with many unknowns
Enigma's most recent pivot expanded the project's scope significantly. This expansion also comes with an expansion in the number of challenges that the team needs to solve in order to realize their new roadmap. I already alluded to some of them above. In my opinion, the hardest problems facing the team are the design and implementation of Enigma's public blockchain, the design and implementation of their secret contract VM, and Enigma's blockchain economics. There are also big unknowns that are key to the success of Enigma such as the actual market size for decentralized sMPC computations.
A general rule of thumb is, the more unknowns around a project, the greater the risk of it failing. It's easy to paint a grand vision, it's very hard to execute. The good thing is, the team has given itself a lot of runway to fail with a roadmap that stretches till 2020.
To summarize, Enigma aims to introduce privacy to computations on public blockchains using secure multi-party computation. If the team is successful, Enigma could hail an entire new class of dApps where data privacy is a must. However, there are many questions and concerns regarding the team and the challenges that they need to solve in order to reach this goal. For one, the team has had two major pivots since its ICO last year. Not only is this uncharacteristic of most blockchain projects, it could also be an indicator of more severe internal problems. Finally, the scope of the Enigma project is very large and there are many risk factors, both internal and external, that can hurt its trajectory. Keep a close tab on Enigma because it has potential, but it's still very early stages for this project.