ENIGMA: November Development Update, Collaboration with Chainlink and Implementation of the EEA Off-Chain Trusted Compute

Paradigm
Paradigm
Published in
14 min readDec 17, 2019

Biweekly update 3d December — 17th December

November Enigma Development Update covers the latest news on the audit results, development progress, community initiatives, and more. The first phase of the audit completed on November 27th. The overall assessment of the code was positive. The Solidity code was very well structured, commented and tested, which is important given the very challenging execution environment. Also, the choice of Rust was very advantageous as its memory-safety and tight language constraints mitigate many common vulnerabilities.

The Enigma and Chainlink teams announced a new collaboration and integration, maximizing the combined and independent power of Enigma’s secure computation protocol and Chainlink’s decentralized oracle network.

Enigma Discovery implements the Enterprise Ethereum Alliance Trusted Compute Framework for public Ethereum. Enigma has published an overview of how the Discovery network implements and builds on the EEA Trusted Compute Framework, bridging public Ethereum with enterprise requirements for data privacy. The Enterprise Ethereum Alliance is a member-driven standards organization whose charter is to develop open, blockchain specifications that drive harmonization and interoperability for businesses and consumers worldwide.

More to follow!

Development

Github metrics
Developer activity (from Coinlib.io)

Protocol Development

An important milestone included ongoing external audits, which were started on November 4th. The first phase of the audit completed last week on November 27th. The overall assessment of the code was positive:

The Solidity code was very well structured, commented and tested, which is important given the very challenging execution environment. Also, the choice of Rust was very advantageous as its memory-safety and tight language constraints mitigate many common vulnerabilities.

No critical issues were found. A number of issues ranging from high risk to informational were uncovered, and the development team started addressing those right away as the audit was in progress, some of which have already been merged, such as:

  • implementing a stronger input validation on the attestation report (via Contract PR#171, which validates two more fields, Core#256 which introduces a third field, and a forthcoming PR contract-side that will validate that third field and two additional ones)
  • updating outdated dependencies and compiler specification, remedying a possible reentrancy vulnerability, and adding a SafeMath directive were missing (all addressed in Contract PR#172)

Separate from the audit, preparatory work for networked testnet included:

  • Separating staking and operating Ethereum addresses for node runners, where it is important to separate the address from which a large amount of ENG is staked in the Enigma contract from the operating address that worker nodes will need to operate in their daily transactions (Contract PR#177 is work in progress as it requires matching changes in the Core and P2P repos).
  • Waiting for a configurable number of on-chain confirmations before confirming results and propagating across the peer-to-peer network (P2P PR#251)
  • Implementing “health checks” on both the P2P (PR#258) and Core (PR#254) to be able to query the status of a running node.
  • Several small but necessary improvements, mostly on the P2P side, PRs #252, #253, #254, #255, #256, #257, #259, #260, #263, #264, #265

Enigma Open Community Call

In November Enigma’s very first Open Community Call was held, featuring the members of the Enigma core team as well as some of the Enigma Collective representing a global community. The team shared critical project updates and take questions from everyone who joined the live stream in real-time.

Important highlights include:

  • Introductions of Enigma team members and the Collective
  • A discussion of the timeline for networked testnet deployment
  • Thoughts from the CEO Guy Zyskind on Enigma’s roadmap beyond 2020
  • Changes to secret node economics and the Genesis Game — including increased network rewards for genesis nodes!
  • A recap of ETHWaterloo, including a summary of what hackers were able to build on Enigma
  • An overview of the product strategy and Salad, the transactional privacy solution built for Ethereum
  • Enigma Discovery: Bridging Private Enterprises and Public Ethereum

Enigma’s mission is to ensure the adoption and usage of decentralized technologies. To achieve this mission, Enigma brings privacy and the ability to use sensitive data to blockchains. Enigma is a private computation protocol that is able to run blockchain functions, or smart contracts, on sensitive (secret) data. Enigma’s “secret contracts” execute over private data (Tasks) without revealing the underlying information to any network participant or nodes (workers).

The Enterprise Ethereum Alliance has identified the need for trusted and private computation as a requirement for enterprise use of blockchains and has developed the Off-Chain Trusted Compute Specification (TCS). These specifications have been demonstrated by a reference implementation for Hyperledger called Avalon, which is currently available in Version 1, with Version 2 currently under development.

Enigma has implemented the TCS specifications for an Ethereum-compatible, decentralized network — the Enigma Discovery network. This release is open-source and has been in developer release since June 2019.

In addition, Enigma has begun actively contributing to the specifications of the TCF Version 2.0. Enigma’s implementation of TCS introduces several contributions that are not yet included in version 1 of the TCS (such as encrypted state) and demonstrates implementations that are described but not included in Avalon, the reference implementation, such as a fee market for computations.

Enigma and the Trusted Compute Framework

The Discovery release of the Enigma network is the first implementation of the EEA Off-Chain Trusted Compute specs for a public stateful network. The Off-Chain Trusted Compute Specification (TCS) leaves many details open to specific implementations. Enigma Discovery is opinionated about some of these details in order to satisfy the particular use case: private computation for public network Ethereum.

This contribution is valuable, showing the flexibility of the EEA specs to be applied to a public network as well as demonstrating certain implementation details that are unique to a public mainnet integration, including:

  • Fee market management
  • A unique worker registration process
  • Ethereum main-net integrations via registry contract and via function calls (i.e. model Layer 1 integration
  • Mixed implementation of direct and proxy mod
  • Implementation-specific task receipt data
  • The use of “Secret contracts”, analogous to smart contracts for TEE computation
  • A P2P network for state propagation and stake-weighted worker selection
  • Encrypted State within the Enigma Network

Enigma Discovery Network: Overview of Stakeholders and Components

Enigma’s Discovery Network is made up of three types of users:

  • Nodes (“Workers”): a public network of nodes enabled with Intel SGX, which allows nodes to privately perform computation “tasks” and return the result of this private computation.
  • Users (“Requesters”): entities who submit tasks (work orders) to the network. Tasks are encrypted on the client-side
  • Developers: Developers deploy “secret contracts” to the Enigma Contract on Ethereum. This process ensures that nodes are able to be paid correctly for their work, and that they are computing over the correct data. See fee market for more details on this implementation-level feature.

Furthermore, the network itself is made up of the following distinct components:

  • Enigma P2P
  • Enigma-JS
  • Enigma Contract on Ethereum
  • Enigma Core

Use-Cases for Secret Contracts

Enigma enables publicly deployed Ethereum contracts to make use of private data in their business logic by offloading the computation for that data to the Enigma network. This has advantages for many popular public blockchain use cases for smart contracts, a few of which were highlight below:

Gaming

Enigma can enable games to avoid commit-reveal patterns, thus significantly decreasing wait-time during gameplay. Thanks to secret state, Enigma can enable complex multiplayer games that are not possible to build in a decentralized fashion like Blackjack. Enigma also enables randomness for games that is not subject to front-running.

Transactional Privacy

Enigma is building a service called Salad that enables wallets to provide transactional privacy for Ethereum using Enigma’s network. This is one of the biggest barriers to adoption and use currently facing decentralized finance (DeFi) applications. Salad provides significant cost and usability advantages relative to other transactional privacy solutions.

Access Control

Data can be stored in secret contracts, and then permissioned to specific recipients. This takes advantage of Enigma’s encrypted state to enable many of the same applications currently served by proxy re-encryption, including subscription to data services, controlling access to content by user privileges, and similar use cases.

Safety of Sensitive Data In Use

Enigma enables privacy over data in use, which sets it apart from methods for simply sharing data privately. In the model, the data is never observed by counterparties, even when it is being used as part of a calculation. This enables applications to use private data, such as medical or health data, to provide a service to their users without being directly responsible for the sensitive data.

Additionally, this functionality is attractive for many common enterprise use cases, all of which require the use of sensitive data. Ф few specific examples were outlined here to help illustrate the breadth of applications:

Privacy-preserving data access / benchmarking

Most organizations share data with third parties either to receive analysis services like fraud detection and benchmarking or to monetize their data. With Enigma, the data and querying capabilities can be represented with secret contracts and limit data liability. Telco, financial services, e-commerce, and supply chain are among some industries which can benefit from privacy-preserving data access / benchmarking.

Privacy-preserving data indexing

In cases where two organizations have different datasets with one or more common fields, it would be possible to merge these data sets based on the common denominator field and run analysis on the combined data set. These scenarios are very common in consortium setups, where for example a bank has PII on a customer and the credit card consortium has spending data. These data sets can be combined based on a common denominator like a credit card number in a privacy-preserving manner.

Private business logic

Business logic (such as credit scoring engine logic) can be kept private with secret contracts when the business logic is provided to the contract as an input. The execution of these contracts can trigger actions on L1 networks (e.g. credit scoring output can mint an NFT on Ethereum). This would enable different networks to interoperate, achieving higher levels of the network effect.

Trusted Compute Specifications and Enigma

Off-Chain Trusted Compute Specification 1.1 can be found here.

This section gives an overview of components from the EEA Specs along with a comparison to Enigma’s Discovery implementation. The goal of this section is to draw analogs between the specification described in the TCS and the implementation in Enigma Discovery.

The following chart describes how Discovery fits the goals of the TCS:

Conceptually, the stated TCS objectives are well aligned with the architectural direction taken by Enigma. Ultimately Enigma’s aim is to support APIs defined in the TCS as well as achieve interoperability with the Hyperledger Avalon reference implementation of TCS.

Contextualizing Enigma in the TCS Cohort

Enigma’s goal is to enable private computation. This means that data inputs remain encrypted to every untrusted party throughout the computation process, while results can be returned to task senders or used to call functions on Ethereum. Enigma Discovery enables many of the same use-cases currently addressed by zero-knowledge proofs, homomorphic encryption, and multi-party computation.

A number of projects are contributing to the TCS, with a variety of use-cases. Projects like iExec demonstrate trusted compute for scalability and show how the TCS-enabled verified computation can facilitate this goal. Chainlink utilizes TCS-compliant verified computation for oracle services with greater security guarantees. These products demonstrate the breadth of applications that benefit from a cohesive approach and standards pertaining to trusted computation.

Aligning Enigma Components with TCS

The individual components of Enigma Discovery align with assumptions made in the Trusted Compute Specification:

Novel Aspects of Enigma’s Discovery Implementation

Discovery introduces a number of innovations:

  • Encrypted State: Enigma secret contracts maintain encrypted state, enabling users to modify and update the state of secret contracts over time.
  • Gas/fee market for tasks: As Enigma is a public network, the nodes are incentivized to perform computations via a fee model.
  • “Secret Contracts”: Enigma “secret contracts” are public code, such that users of contracts can see what computations will be performed on the encrypted tasks they send to the network.
  • Ethereum Mainnet integrations: Enigma uses the Ethereum network for consensus, and submits a hash of task data to the Enigma Contract on Ethereum whenever a task is kicked off. Enigma is also capable of making callbacks on Ethereum based on the outcome of a secret computation.
  • Public worker network: Workers in the Enigma Network are decentralized and not controlled by Enigma, and they can do work for any user who submits a task.

Confidential State Management

One of the aspects that has not yet been addressed in the EEA Off-Chain Trusted Compute Specification (TCS) is confidential state management. However, there is strong industry interest in extending the specification to define common mechanisms and APIs that would allow for maintaining a state between work order (task) execution. Currently, the burden of complex workflow execution that requires maintaining a state across multiple transactions is completely on application developers.

Enigma has implemented encrypted state in the Discovery release of the Enigma protocol. This enables secret contracts to maintain state in a confidential manner and propagate state changes across all workers in the network.

This is a complex task, considering that the state needs to be maintained in a confidential and privacy-preserving manner with non-trivial authentication and authorization policies that include human and attested and trusted non-human actors (e.g. Intel SGX trusted execution environment). Additionally, in many cases, the state needs to be replicated in a protected form (enforcing end-to-end integrity and confidentiality) across multiple sites.

There are numbers of aspects that need to be addressed in the trusted compute specification, to name a few:

  • Authentication and authorization policies for human actors
  • Authentication and authorization policies for non-human actors (trusted workers)
  • Enforcing state integrity
  • Enforcing state confidentiality
  • State replications across multiple sites and/or requesters (aka end-users)
  • Concurrent state access management by multiple actors
  • State time-to-life enforcement

Enigma’s expertise is directly applicable to a number of areas listed above. Defining clear and efficient direction and APIs for confidential state management will improve product interoperability and increase trusted compute adoption for blockchain- centric enterprise and hybrid use cases.

Social encounters

No updates

Finance

Token holders and the number of transactions (information from Etherscan.io)

Roadmap

What’s next?

  • The Discovery networked testnet will be deployed in December 2019
  • more hackathons and developer engagement in 2020
  • more application development from the Enigma team
  • interoperability improvements

Rumors

No updates

Partnerships and team members

The Enigma and Chainlink teams announced a new collaboration, focusing on the integration of the protocols to enable powerful new use cases for secret smart contracts.

As projects, Enigma and Chainlink share many commonalities, including strong technical teams, focuses around solving privacy and scalability, and a collaborative mindset. By enabling the connection between the two networks, novel solutions can emerge to some of the biggest problems facing the blockchain space, particularly privacy, scalability, and external connection. This will open up new product offerings in areas like decentralized finance (DeFi), as well as solutions for traditional industries, such as in credit, healthcare, machine learning, global trade, and many more.

To date, Enigma and Chainlink are already working together as members of larger industry-wide initiatives and alliances. Both projects are contributors to the Trusted Compute Framework (TCF) working group inside the Enterprise Ethereum Alliance. In addition, both Enigma and Chainlink are recognized as “best-in-class” protocols within Outlier Ventures’ Convergence Stack, a collection of open-source technologies that promise to revolutionize the way data is used, consumed, and protected.

Areas of Collaboration

As mentioned, integrating Enigma’s and Chainlink’s protocols can have both near-term and longer-term benefits for developers and users. The way how Chainlink’s price oracles can be directly integrated with Enigma’s secure computation protocol to improve usability and end-user experience will be explored. One key use is facilitating ENG/ETH gas price conversion with Chainlink oracles.

“Secret contracts” on Enigma interoperate with other smart contracts using an Ethereum callback mechanism. When giving a task to Enigma, a user pays for both the secret contract computation and Ethereum callback in ENG. Since it is the Enigma worker who submits the Ethereum callback transaction on-chain, paid ENG must include the ETH gas cost of the callback to maximize usability. Therefore, the going rate for ENG/ETH must be available on-chain. By integrating a Chainlink oracle, a median conversion rate can be calculated from multiple data sources, mitigating the risk of price manipulation.

In the longer term, more complex integrations can maximize the combined and independent power of Enigma’s secure computation protocol and Chainlink’s decentralized oracle network. One such integration is the use of Chainlink nodes to submit oracle data as tasks to Secret Contracts. Application developers will be able to use APIs available via Chainlink to trigger events in their contracts.

Some potential use cases in which the two protocols can address existing challenges in the blockchain space include:

  • Off-chain payments: a non-crypto payment could trigger the release of data within a secret contract.
  • Social integrations: a Twitter “following” list could be used to whitelist certain users, and be updated in real-time.
  • Cross-chain activity: events on Bitcoin and other blockchains could be used in the logic of secret contracts.

On the enterprise side, Enigma provides an implementation of the Trusted Compute Framework that is compatible with Ethereum mainnet. This can bridge the needs of enterprises with the benefits of a public, permissionless blockchain. Enigma enables common enterprise use-cases around logistics and tracking, secure data-sharing, access-control, and identity management. A Chainlink oracle integration closes the loop between real-world data feeds, private computation with Enigma, and the public Ethereum blockchain.

At a high level, all these use-cases involve using Chainlink nodes to submit task data to a secret contract on Enigma. The diagram below outlines a high-level potential model for this integration.

Social media metrics

Social media activity
Social media dynamics
Social media dynamics

The charts above show the decline in the number of Twitter and Telegram followers.

Telegram — Telegram HQ for the Enigma Project.

Secret Nodes Community Telegram — a community-led group of individuals who care about privacy, data ownership, and are dedicated to supporting secret node runners.

Twitter — The official announcements channel. The average number of retweets is 40 for one post. Publications with 30–100 likes.

Reddit — Threads with 6–20 comments, 10–30 upvotes.

See also:

Enigma’s secret nodes sub-forum

Forum

The graph above shows the dynamics of changes in the number of Enigma Facebook likes, Reddit subscribers and Twitter followers. The information is taken from Coingecko.com

This is not financial advice.

Subscribe to detailed companies’ updates by Paradigm!

Medium. Twitter. Telegram. Reddit.

--

--