*** Update as of 10/10/19: Please see the newest developer guide for the most recent version of the developer testnet ***

Hello to the community! We have some awesome news to share today as the second quarter of 2018 finally comes to a close.

As we’ve stated from the earliest days of the Enigma project, our goal has always been to enable decentralized applications to scale and gain wide adoption. We believe our development of groundbreaking privacy technologies is the first major step towards building a platform that will support our vision of a more sustainable, decentralized future. As Enigma is one of the most ambitious projects in our space, we are always working hard to identify new team members and new partners like Intel who can help us achieve this mission.

But in a space that’s often overcrowded with vision and undersaturated with substance, we have always been determined to build and deploy real solutions — not simply propose them. It is important for us to always keep building and always keep promises. That is why today we are very excited to announce the immediate launch of Enigma’s initial testnet.

This development has been a long time coming, ever since our CEO Guy Zyskind’s initial whitepapers were published back in 2015. Since then, our core principle — that a truly decentralized future requires privacy — has been validated over and over again. Guy’s original whitepaper “Decentralizing Privacy” is now one of the most highly cited papers in the space with nearly 250 citations. We’ve never been more certain of the necessity of our project to the future of decentralization, and we’re glad to see more and more leaders and projects acknowledge the significance of privacy.

We acknowledge that development of these types of innovative technologies is non-linear and an ongoing, iterative process. We’re not simply forking an existing platform — we’re building something completely new and essential, something that will take (and has taken) many people and many days and nights to build. As we move along our ambitious roadmap, we anticipate meeting many challenges, some unforeseen. Enigma is committed to transparency and openness at every phase, and we will work actively with our developer community to tackle these problems and create better solutions. Privacy solutions are essential to securing all of our futures — and that is why we are determined to succeed.

If this sounds as exciting to you as it does to us, please read on for more details about the testnet and how you can begin building secret contracts with Enigma. We’ll also tell you how to join our rapidly growing developer community and get the support you need. Onwards!

What’s in the box?

The initial testnet 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.

Secret contracts operate by being executed in a retrofitted EVM running inside a Trusted Execution Environment (TEE), based on Intel’s SGX technology. This supports out-of-the-box interoperability with Solidity, as well as the Ethereum network.

Keep in mind, at this time you cannot:

Execute secret contracts outside of the Docker network. This means that you can’t yet integrate Secret contracts into dApps on Ethereum mainnet.

Access the “world state” (i.e. account information, storage, or account’s code). This will change in future releases.

Run a node. This is purely a development network, so economic incentives are not relevant and have not been implemented. Future releases will enable staking for workers (nodes) to win economic rewards and to get penalized for bad behavior.

Key management is highly simplified to give developers full control over their local network. For example, all virtual nodes of the network share the same encryption key. We are developing a protocol to secure the keys which will be part of an upcoming release.

What comes next?

In the next Enigma release, we will have a couple of major changes. Some of these noteworthy changes are:

WASM implementation: Enigma Virtual Machine (VM) will run computations on WASM in addition to EVM. This will enable interoperability with other blockchains and will support other programming languages beyond Solidity.

Enigma Virtual Machine (VM) will run computations on WASM in addition to EVM. This will enable interoperability with other blockchains and will support other programming languages beyond Solidity. Contract-level Sharding: The protocol will define shards of workers per smart contract, significantly adding to scalability.

The protocol will define shards of workers per smart contract, significantly adding to scalability. Changes to State Management: State management is a central component of the Enigma network, and in this release it has been simplified. Smart contract attributes are simply encrypted and stored on Ethereum. The Enigma network executes computations statelessly, always reporting back to Ethereum. In our future release, the state of smart contracts will be securely stored on the Enigma network, which will report to Ethereum only when necessary, preserving privacy while reducing gas cost and improving scalability. This will enable building even more types of dApps that require this level of privacy and security (e.g., Secret ICOs and Privacy Tokens).

How can you get started?

To get started, you’ll need a host machine with Intel SGX enabled. Check here for hardware that supports this and also a script that will check if yours is compatible. Then, download the testnet code from our repo and follow along with our “getting started” documentation. With this release, you should be able to run our sample secret contract, as well as build your own.

As you set up your environment and get started with building secret contracts, the best place to find support and assistance is the Enigma developer forum. Here you can find helpful posts and interact with other developers and members of the Enigma team who can help address common issues. Of course, you should also continue to use our documentation as a reference.

If you note any errors in the documentation or have observations you believe are helpful to other developers, please make a post in the developer forum — we’ll respond actively. Remember, this is just the first release of many for Enigma as we add functionality — you can expect regular updates.

If you identify any protocol bugs or security issues, Enigma welcomes you to report these on our Github. All repositories are public.