Biweekly update 26th February -12th March
This is not financial advice.
During the last two weeks Enigma showed little activity in media landscape. The main keynote of Enigma’s activity was Enigma Development Update. The whole engineering team at Enigma has been heads down working on finalizing the current iteration of the Discovery release of the Enigma Protocol. To continue, Enigma Twitter AMA Recap was posted where Enigma’s team and Ambassadors answered questions. During the AMA, Enigma core team shared some critical information for the first time concerning secret contracts in Rust, compiling them into WASM, and deploying them on the network and Growth Grants to support the development of the tooling needed to support the ecosystem.
Development
Enigma now has a working implementation of its protocol in a Docker network that it can deploy anywhere in which each component in the network runs in its own container, and they all communicate and interoperate with each other:
Contract: the Enigma contract provides the consensus layer in the network and is the “source of truth” for the state and results of secret computations, mostly in the form of hashes that are used for verification purposes.
Javascript Library: The Enigma JS library is the interface to the Enigma network for secret contract developers, and the entry point for dApp users. Once the network is up and running, this is the component that triggers the deployment of secret contracts in the network and triggers the secret computations, later verifying their correct execution.
Enclave: The code running inside the Trusted Execution Environment (TEE, which is SGX in the case of Intel) is written in Rust, and contains Enigma’s adaptation of WASM that runs the bytecode for secret contract in a Virtual Machine inside the secure hardware. It receives the secret contract inputs encrypted from the user, and encrypts its outputs so that only the user can decrypt them.
Peer-to-Peer (P2P) component: Each enclave communicates one-on-one with its networking component, written in Javascript, that provides an interface to the rest of the network and to the contract. Some of these P2P components double as “proxies” or “gateways” where clients can connect to using the Javascript library to get their requests routed through the Enigma network.
Principal Node: A special instance of the enclave code that manages the encryption keys to maintain the state of secret contracts across the network. It responds to requests from other enclaves providing the needed keys to decrypt and re-encrypt the state associated with each secret contract deployed in the network.
Remote Attestation Proxy: A secure webserver online that Enigma provides as an interface to Intel Remote Attestation Service, so that anyone can validate that any enclave in the Enigma network runs its code inside a legitimate enclave and runs the code that it is supposed to run and not some other malicious code.
Enigma has also been working on some important features for Enigma’s P2P networking layer. First, Enigma team has been stabilizing content synchronizations and the P2P layer by adding robust fault tolerance and extending libp2p functionality. For reference, see:
https://github.com/libp2p/js-libp2p/pull/321
https://github.com/ipfs/interface-js-ipfs-core/pull/437
Enigma is also working to ensure scalability in development for enigma-p2p. The goal is to make this library welcoming for developers (both contributors and Enigma core devs) so Enigma team can all work with the code nicely. This means:
- single configuration feature to build everything.
- rich CLI (command-line interface) that even allows actions such as starting an Ethereum testnet.
- full JSON-RPC endpoint that supports key exchange, deployment and computation of secret contracts.
What now?
Here are some of the features that are to be included in this imminent release of Discovery:
Stateful (Encrypted) Secret Contracts: Secret contracts are capable of maintaining a state, allowing to persist encrypted data between private computations or different tasks. Stateful contracts enable many more use cases than stateless computations.
Secret Contracts decoupled from Smart Contracts: The Enigma network only relies on Ethereum as the consensus layer, but is otherwise decoupled from the requirements and limitations of Ethereum. This means that secret contracts can have their own runtime and programming language (Rust, instead of Solidity).
Private Outputs: In addition to private inputs, the network supports storage of computation outputs by storing the contract state encrypted on chain and sending results encrypted directly to the dApp user.
Economic Incentives: Each node receives a financial reward for participating in the network. Nodes are randomly selected to work in any computation by lottery weighted by the amount of ENG tokens they stake.
Ethereum integration: Secret Contracts may call arbitrary functions of any other smart contract deployed on Ethereum.
Peer-to-peer and storage layers: Completely redesigned from scratch, these functions are now an integral part of the Enigma network and no longer rely on Ethereum.
The article covers a three-part “getting started” series for developers. This series will include:
- a guide to Rust
- an introduction to Secret Contracts
- a getting-started walkthrough of deploying the network
Social encounters
DECENTRALIZE THIS!
Decentralize This! features @acityinohio from @ZcashFoundation. Josh discusses privacy, the role foundations play in decentralization, and why we should still trust and build with blockchain — even if some privacy experts are skeptics.
The latest Decentralize This! features @loi_luu from @KyberNetwork! He discusses why Kyber’s vision has expanded since inception, the importance of collaboration in #defi, and how he thinks young people see the potential of Ethereum and cryptoassets.
TWITTER AMA
Enigma Twitter AMA Recap: Countdown to Discovery!
Members of the Enigma core team and Ambassadors answered community questions about themselves, their protocol, and their vision for the future.
We already have an internal working implementation of WASM to compute secret contracts, and we have been able to successfully run computations. We are packaging into the Discovery release with an ETA for 2019Q1, almost here!
Enigma’s main priority is to ensure usability. Enigma has a vertical approach and is targeting areas with traction such as gaming, trading and governance. Enigma is proactively discussion collaboration opportunities with existing projects and welcome community contributions.
Yes! @EximchainEXC is building ML models to predict creditworthiness.
[Model weights] x [buyer/seller data] = credit score
Here both model weights (Eximchain IP) and buyer/seller data must remain confidential, and are inputs to #secretcontracts
A big part of our collaboration is around improving SGX, and how it/we can help the decentralization movement to improve. Other than a close technical collaboration, we’re looking at making Enigma nodes more accessible (think NUCs w\ Enigma preloaded)
The whole dev team @EnigmaMPC is heads down to ship Discovery on testnet by 2019Q1, it’s almost here! After that we’ll split, some starting to work on future features, while the rest stabilizing and auditing the Discovery code.
2/ The first set of documentation on how devs can start writing and testing secret contracts is coming out even before the protocol is released, as there is plenty to get acquainted with #rustlang that can be run standalone.
3/ And that is also why we have the Enigma Growth Grants, to support the development of the tooling needed to support the ecosystem. We expect the development of SDK-like tools between testnet and mainnet with the community.
REDDIT DISCUSSIONS:
Finance
Roadmap
What’s next?
- Implementation of WASM to compute secret contracts
- Discovery on testnet by 2019Q1
- The development of SDK-like tools between testnet and mainnet with the community
Rumors
No updates
Social media metrics
The chart above illustrates a slight decline in the number of Telegram followers. In general, Enigma experiences average level of social activity.
There is a slight decline in Enigma community over time. The graph above shows the dynamics of changes in the number of Telegram, Discord and Medium followers.