Since last month’s update, the engineering team at Enigma has been working hard on the final stages of development for Discovery, the first networked iteration of our protocol. (Please reference our latest roadmap here.)

We’re happy to share that we have nearly completed end-to-end full round-trip integration tests for deploying and executing secret contracts in our upcoming Discovery release. What will follow is extensive stress-testing of the Enigma network, the computation engine, and the Enigma Javascript library — then, finally, our long-anticipated testnet deployment. At that time, members of the Enigma community will be able to run “secret nodes”, worker nodes on our network which perform privacy-preserving computations.

Our dedicated and highly-skilled team of developers has been working swiftly and efficiently on about a dozen parallel work streams integrating the different components that make the Enigma protocol a reality. To just name a few of the tasks we have accomplished in the last month:

Implementation of gas metering in the WebAssembly Virtual Machine for secret contracts denominated in ENG tokens (adapted from the Parity WASM interpreter).

Implementation of the Ethereum bridge for secret contracts, which allows for calling arbitrary functions of regular smart contracts as part of the business logic of any secret contract.

Defined the specifications for all messages used between the various components in the network, and implemented the communications following those specifications. The technologies used to communicate between components include JSON-RPC between the Enigma client library and the Enigma peer-to-peer network, publish-subscribe architecture between the nodes in the peer-to-peer network, and ZeroMQ for InterProcess Communication (IPC) between the worker node in the network and its associated enclave.

Exhaustive suites of unit tests for every element in the network that validate that every function and component perform as designed.

Randomization of the worker selection algorithm implemented inside an SGX enclave in a trustless environment, guaranteeing fairness and impartiality.

Created a growing set of sample secret contracts that demonstrate the capabilities of the features packed in the Discovery release.

What now?

From now until the release of Discovery on testnet, the Enigma team has a number of major priorities to ensure we’ll be ready for an effective launch. On the development side, this includes doing an internal release of:

a dockerized network where each component runs in its own container,

where there are at least three worker nodes and one key management node, all running on SGX-enabled hosts

with at least five different secret contracts deployed on the network,

with all the signature verifications and key exchanges in place

where the network runs through at least three different epoch transitions (this is when there is a change on what worker nodes are assigned to work on what contracts, and they have to “pass the torch” between them)

where we can have an instance of the Millionaire’s Problem running,

and all the above runs smoothly and successfully.

We will then proceed to share this internal release with our launch partners and continue to support them in writing and deploying the first real-world applications involving secret contracts, with the prospect of having battle-tested applications and real uses-cases by the time we launch Discovery on mainnet.

Our team is always pursuing more use cases and partners, and we continue to collaborate with many projects and organizations that have not yet been announced. We believe secret contracts are the critical missing piece that will drive meaningful adoption of decentralized applications for millions of users, not just hundreds. If you are a developer looking to implement secret contracts in your own applications, or if you are a project interesting in building on the Enigma protocol, please submit this form to get in contact with our team directly.

In parallel with the above activities we will conduct internal and external audits, in addition to stress-testing the network and fine tuning the various initial parameters that we need to set in preparation for the mainnet launch.

If you are interested in running a secret node for Discovery, you’re in good company! We’ve received substantial interest from the community already and look forward to creating more detailed materials supporting secret node operators — the backbone of Enigma’s network. We expect to have more documentation and walkthroughs available for node runners around testnet launch. In addition, we expect to make another communication this month with more details around node economics that will give node runners a better understanding of potential returns. If you have specific questions, please post on our Developers Forum or join the community Secret Nodes telegram.