Development

Github metrics

Developer activity (from Coinlib.io)

Enigma has continued its comprehensive testing of the existing protocol through an extensive suite of integration tests. Enigma team is busy uncovering and resolving edge cases where the protocol does not quite work as intended. Here’s a some highlights of Enigma’s recent struggles and successes:

>> The peer-to-peer network is hitting a message limit of 1MB in the underlying pubsub (publish/subscribe) implementation from libp2p. Enigma-p2p uses the pubsub implementation to broadcast messages like the deployment of secret contracts to the network on a given topic, which then gets picked up by the assigned worker. The WebAssembly bytecode is included in the contract deployment messages, and as we experiment with secret contracts of increasing complexity, we are quickly hitting this limit. This is an area of active development — both adjusting the network message limits while considering the tradeoffs to limit spam attacks on the network, and considering compression algorithms (though WebAssembly code already comes decently compressed by default).

>> First implementation of handling failed Ethereum callbacks that are triggered at the end of the execution of secret contracts. Secret contracts provide the ability to call a function of any smart contract deployed on Ethereum. The question is how to handle the scenario where that callback fails (for a number of reasons, say wrong function, wrong parameters, or the execution fails a requirement in the contract to name a few). This initial implementation will be revised in the near future (pull request).

>> Slight discrepancies between the cryptographic primitives used across different programming languages (Rust in the enclave vs Javascript in the client), where a difference in padding — whether a leading zero is included or not — caused random occurrence of an error in the process of establishing ephemeral encryption keys across the network (pull request).

>> When a computation request is received at the very end of an epoch, and its processing coincides with an epoch transition, it was being mistakenly rejected due to an invalid epoch error. The protocol was adjusted to make the epoch configurable for which state keys are being requested (pull request).

Data privacy startup Enigma is officially launching its second test network for ethereum developers.

While the code for the second testnet developer release has been up on GitHub since last week, the Enigma team announced new developer guidelines and walk-through documentation to supplement the release.

In interview with CoinDesk, Tor Bair — head of growth and marketing for Enigma — positioned the launch as a way for more developers than before to build specialized smart contracts called “secret contracts.” The Enigma project — originally incubated at MIT Media Labs — aims to create a secure, off-chain environment able to process sensitive and private blockchain data with end-to-end encryption.

These secret contracts are able to perform off-chain computations on encrypted data leveraging the Enigma protocol. While the protocol is not yet live on ethereum mainnet, the release sets up developers to start building code that can be then immediately deployed onto Enigma’s first networked protocol — dubbed Discovery — once officially activated.

“We’re releasing now the developer testnet release so that our partners and friends can get a jumpstart on development so that by the time Discovery is live on ethereum mainnet, we can have live applications [on the network] straightaway,” said Bair.

He added that unlike last year’s testnet release back in July 2018, today’s release is considered to be “from a developer experience almost identical to what it will be when the public networked version of the [Enigma] protocol actually launches.”

Having fundraised $45 million in an initial coin offering back in 2017, Discovery was actually expected to go live on ethereum mainnet last year. However, for a variety of different reasons, the Enigma team announced back in September a delayed timeline to better secure the long-term interests of the project.

The next major milestone for the Enigma project is a subsequent launch on a public ethereum test network, akin to the Ropsten or Rinkeby network.

This release only supports testing for secret contracts locally in controlled virtual environments.

During Enigma’s next code release on a public ethereum testnet blockchain, there will be what Bair calls a “genesis game” in which people who want to run Enigma nodes will compete to be among the first 50 nodes whitelisted for Discovery mainnet launch.

“The next phase is the deployment on the ethereum testnet which is geared entirely towards node runners,” said Bair. “We’ve been in conversation with a lot of staking-as-a-service providers, funds, independent node runners, ENG holders who have been excited to run nodes on the network for at least the past year and a half.”

While not committing to an exact timeline for this upcoming milestone or a possible date for ethereum mainnet activation, Bair did share with CoinDesk that the team is “doing everything in our power to get mainnet out in 2019.”

See also: