Expanding Enigma’s Roadmap: Towards a Privacy Layer for the Decentralized Web

in #ethereum6 years ago

                                      

Hello to the Enigma community! 

This is a very important post about our roadmap and the exciting future of our project. We hope that you take the time to read fully.

At Enigma, we believe building a more decentralized future will unlock the original potential of the Internet and empower individuals all over the world. But while blockchain technology is an exciting and novel solution, blockchains alone have limited applications and cannot scale. Enigma’s mission is to help build this future by focusing on secure computation and decentralized privacy solutions.

While blockchain is relatively new, secure computation has been a critical area of study for decades. The ability to compute over encrypted data has long been held as one of the “holy grails” of computer science. At Enigma, we believe one day this functionality will exist everywhere in the web, whether the end user is aware or not. And while blockchains can’t do everything — and should not — Enigma’s technology can be a fundamental and essential part of our future internet, powering every type of application. As a result, Enigma is much more than a blockchain. It is a real solution to very real problems.

We are creating a new kind of privacy protocol, one we believe is the missing piece for scaling truly decentralized applications. We want Enigma to be the first project that allows dApps to be globally adopted by millions of individuals as well as by industry.

Enigma’s protocol enables blockchains to work with private and sensitive data, significantly expanding the meaningful scope of blockchain-based applications. We have introduced the concept of secret contracts, smart contracts with hidden inputs, to enable scalable, end-to-end decentralized applications. Our long term vision is clear: we are building Enigma to be the privacy layer for the decentralized Web. Achieving this is a multi-year process, and we can only achieve our ambition through hard work, continuous development, active research, and strong collaboration.

We’ve already written a great deal about our technology and code, our partners, and our incredible community. In the coming weeks, we will share more critical information about our protocol development progress, our network of staking nodes, and also some personal stories about why we build. Today, we’re revisiting our roadmap and giving you a more concrete look at Enigma’s plans and opportunities — those in the present moment, in the near future, and years down the line. Here is what (and how) we are building for our community and partners today, as well as for the decades ahead.

Revisiting Our Roadmap

When we originally shared our first public roadmap and timelines in March, we made our best effort to project some of the opportunities and challenges we would face as a project. The decentralization space evolves rapidly and unpredictably, and like with any bleeding-edge endeavor, the exact shape of the future cannot be known. There are so many amazing people and projects constantly working to move research and knowledge forward, and new information arrives hourly.

As we wrote in that post six months ago:

“We are working on groundbreaking technology that will advance the frontiers of computer science. Thus, development progress will come from serious research that is subject to uncertainty. What we have listed above for our milestones and targets is a goal, not an inevitability…
“Our vision is clear — to create a robust protocol that allows for truly decentralized applications and solutions, primarily solving for privacy. This roadmap as published is our current plan for making this vision a reality. We intend to improve upon it whenever possible and exceed all expectations, both internal and external.”

Since that original post, we’ve had many awesome achievements. We released the very first version of our private computation protocol (codenamed Discovery) on testnet. We began collaborating with many amazing launch partner projects, with more unannounced partners on the way. We also began collaborating with Intel on efforts to advance the development of privacy-preserving computation technologies, an ongoing relationship with huge significance. We’ve continued hiring and announced and expanded our Ambassador Program. There have been a lot of changes — all positive!When we devised our initial public roadmap, we anticipated some interest in our protocol. We assumed we might need to build in a vacuum, release a usable amount of code, then seek out partners who might build on Enigma. It’s fair to say that we underestimated the outpouring of interest we have so far received, from developers, projects, blockchains, and enterprise.

Enigma’s foremost mission has always been meaningful adoption of our technology and collaboration with other builders — and as the opportunity arose to work with so many great partners on foundational “building blocks”, this has taken precedence for us.

In our original roadmap, we planned to support basic functionality such as secret voting and auctions in our first mainnet protocol release, and some initial code for these contracts is already available. We are continuing to work on these implementations with our launch partners, such as Ocean and Portal. However, there are many other critical “building blocks” for dApps that we want to enable at this stage, including: gaming, credit, private decentralized exchanges, data marketplaces, secret ICOs, and federated machine learning. To our great appreciation and excitement, many of our launch partners are already working with us on exactly these implementations. By building our long-term infrastructure alongside them, we can allow for Enigma to achieve more interesting and scalable use cases faster.

We reached a decision point: launch an interim mainnet with limited functionality and adoption (as originally planned) to hit a self-assigned goal, or put off a mainnet release to ensure we can support the maximum number of partners, use cases, and network usage from the very first day of Enigma’s Discovery launch. Given our mission and the amount of interest we have received since our initial roadmap, the decision has become straightforward.

We have decided to extend our initial timelines and focus on working with our partners to grow our ecosystem, expand Enigma’s capabilities, and build secret contracts. Importantly, we will keep a strong focus on acquiring and onboarding new launch partners between now and a mainnet launch — and you can stay tuned for more news on this front.

To be clear, the reason for this extension is to focus on adding more functionality than was originally planned for early releases, moving later portions of our roadmap into the present day to align ourselves with our partners’ timelines. This actually means our protocol development work is accelerating, not slowing. However, launching a mainnet that projects are not yet ready to adopt would only hurt long term adoption of our technology — an unacceptable outcome for a project with a multi-decade view. It is precisely because of Enigma’s relevance and adoption, and not a lack thereof, that we are making this decision. Our team is 100% confident that this is in the best short and long term interest of our project.

We want to be very clear about a few common questions:

Is mainnet coming in Q3? 

No. A mainnet launch means deploying Enigma on the main Ethereum network and having live staking nodes. If our launch partners are not ready to utilize Enigma on mainnet, there is no good reason to launch earlier. Developing in the blockchain space is risky, given the unforgiving nature of smart contracts. We are making a responsible decision to prioritize long-term growth and avoid unnecessary short-term risks, while continuing to work actively with our partners.

When is mainnet? 

We get asked this a lot, but it really depends what you mean. We intend to have multiple “mainnet launches” as we integrate more features into our protocol — in our original roadmap, this means our Valiant, Voyager, and Defiant releases. These future releases involve integrating MPC and having our own blockchain, which we’ll explain in more detail later in this post. Our Discovery mainnet release will occur when we are confident that our partners will be ready and our network will be robust. We will outline the concrete steps we are taking to get there in the next section.

Will we ever get more details on nodes? 

Absolutely. In fact, you can expect a post on this topic next week. And as we said above — by focusing on adding more functionality and partners instead of pushing hard for a limited mainnet release (which would require significant testing), our protocol development work, token economics work, and business development work are accelerating dramatically. You can expect to see more frequent development and network updates, lots of code, and more partners.

Does this decision have anything to do with SGX? 

Definitely not. As we’ve stated elsewhere, we are confident in the viability of Intel SGX technology for our solutions and continue to work closely with Intel. Trusted execution environments are an active area of research in this space — one we contribute to ourselves — and we believe combining secure hardware with software-based privacy solutions will allow us to create a protocol that minimizes risks and maximizes performance.With those questions out of the way, we want to tell you what we’re working on right now, what we’ll be working on in the future, and how we’ll keep communicating with you. Here we go!

Immediate Development Priorities

The next steps for Enigma are simple: deploy a higher-functioning network on the Ethereum testnet, then test, audit, and optimize before deploying on the Ethereum mainnet.As described in our initial testnet release announcement, the current release:

…is a self-contained network which allows external developers to build their first secret contracts. This developer release provides a deployable Docker network that holds a simplified, containerized environment that also makes available multiple core components of the Enigma protocol. Developers are able to deploy secret contracts, and verify that these contracts are executed as intended.

The next iteration of our network to be deployed on the Ethereum testnet will improve dramatically on these initial features. One important change will be introducing networked nodes and incentives (i.e. node rewards). As the initial release was a self-contained network, node-running and staking was not relevant. Now this functionality becomes paramount.

We are also building Enigma’s core virtual machine (our computation engine) to support WASM, which is quickly becoming the best-in-class industry standard. By doing so, we enable the following:

  • use of much more scalable programming languages/models
  • ability to use standard and common libraries in your code (beyond single-use blockchain code)
  • most of what’s needed to have oracle functionality already built into Enigma — i.e. getting external data feeds and communicating with the world outside our own network and blockchain
  • a common computation engine for ANY privacy-preserving technology we’d like to implement, including SGX, MPC, FHE, ZKPs, and other tech. (More on this in the next section.)

Another crucial change is allowing for stateful contracts, allowing secret contracts to persist encrypted data between computations. Compared to stateless computations, this can enable significantly more important use cases, such as secret tokens. This was something originally planned for the Valiant release that is now being moved up in our roadmap to support Enigma’s own building blocks.

We will also be allowing for private outputs. In our original testnet, all outputs of computations done on the Enigma network were public. In this next release, we will support storage of computation outputs by storing the contract state encrypted on chain and sending results directly to the dApp user.

We have already been actively researching and developing all of these improvements, and we continue to accelerate our work to support a future deployment on the Ethereum testnet. These are critical improvements that will best support our early partners — both announced and unannounced.

We will regularly write about our development progress on the Enigma blog, specifically our Protocol page. Our aim is to be more transparent about the day-to-day work of the Enigma team, placing more focus on the process than setting hard dates. As a protocol, our primary responsibility is to the projects who trust Enigma enough to build alongside and on top of us — and we are responsible for growing and keeping that trust. We want to allow for the healthy growth of our project and ecosystem, with more collaboration and less speculation.

Future Development Priorities

So what are we building towards after Discovery?

Our biggest long-term priority remains to build our general-purpose secure Multi-party Computation engine (MPC). Our current work on retrofitting WASM to work with TEEs sets the stage well for a plug-and-play solution for MPC. Our goal on that front is to build a variant MPC interpreter that can take in WASM code and on-the-fly execute it as an MPC protocol.

Concurrently, we are spending a lot of effort into researching MPC further in order to include state-of-the-art optimizations from the last couple of years. Given the immense progress in MPC research, it’s likely that this iterative process will continue for years to come, which will in turn include several iterations of our MPC-WASM interpreter.

MPC will likely have other, self-contained roles in our network that allows us to combine it with other privacy technologies. For example, even when accounting for SGX for computation, it’s still more secure to use MPC to manage keys in the network, particularly when these are long-lived keys. We’re already laying down the groundwork to add these capabilities.

Another important aspect of our future protocol is to move to our own, scalable blockchain. This is expected to come in phases. The first phase, which was supposed to first be included in Valiant, was to standardize our own state, and keep data in our network. As mentioned above, we’re already working on that aspect.

A second part is to ensure scalability through splitting the network into small groups of workers. This is similar to sharding, but happens on the computation layer (as opposed to on the blockchain itself). For this reason, this type of ‘sharding’ could be used to complement any blockchain-type of sharding. It’s likely that these small groups would need some form of consensus, but given how our architecture is laid out, this does not need quite the same strong guarantees — and for that reason can be scalable.

Finally, there’s the move to our own blockchain. The blockchain in Enigma’s case serves as a thin verification layer (as blockchains should), helping in ordering transactions, disseminating payouts and enforcing penalties.

These critical priorities (MPC and an independent chain) were all communicated to some level of detail in our original roadmap. As we noted, some of the development work slated for the future has been moved to the present. Some remains for future releases of our network. In either case, our research and development work continues to move at a strong pace.

How We’ll Communicate

Going forward, we’ll be working on how to best talk about our progress. At Enigma, we are committed to transparent communication and collaboration above all else. We’re constantly looking to improve how we keep the community up to date with our development progress, partners, and other initiatives such as our Ambassador program. We’re already fairly prolific writers, averaging 1–2 blog posts weekly over the past few months, but we’re also looking to create more video and educational content relevant to the Enigma protocol as well as secure computation and privacy more generally.

Here are some of the types of regular updates you can expect to see going forward to ensure you can stay closely connected with our team:

  • Updates on protocol development and milestones
  • Updates on development with our partners
  • Information on node-running and our network
  • Development walkthroughs and guides
  • Research and thought leadership on critical solutions
  • New partnerships (projects, enterprise, etc)
  • Ambassadors Program updates
  • Live event updates (meetups, conferences, campuses, etc)

Our communication channels are the same as ever:

  • We primarily use our blog for important communications and articles.
  • We share official news and announcements on our Twitter.
  • Our primary broad community is Telegram — our team and Ambassadors are often very active there.
  • You can also discuss our project and news on Reddit.
  • We will post video content to the official Enigma YouTube.
  • Developers can discuss our protocol, nodes, and more on the Enigma Developer Forum, as well as receive technical support.

Please ensure you remain subscribed to these channels if you want to be the first to hear about development and partnership news, or if you want to learn more about Enigma from the people building and supporting it.

If you’d like to discuss these exciting changes, our recent announcements, or anything else related to our project, the Enigma team is actively available to speak on Telegram. We look forward to your questions and your feedback. Thank you for your support as we build a decentralized future together :)


Onwards, upwards, always,

The Enigma Team

Thanks to Can Kisagun and Guy Zyskind