Enigma: SafeTrace: Privacy-Preserving Contact Tracing for COVID-19, Wallet and Governance Updates

Paradigm
Paradigm
Published in
12 min readApr 5, 2020

--

Biweekly update: 22nd March — 5th April

Hello to all Enigma’s community members and everyone interested in Enigma development work!

Enigma has recently launched a mainnet blockchain using the Cosmos SDK. Since then, the development team have made great progress toward integrating “secret contract” functionality with the Enigma network, which will allow smart contracts to use private and sensitive data as inputs.

Are you eager to learn what the team have been up to in the last two weeks? Let’s get started!

The dev team has been focused on implementing wasmi runtime inside an enclave, as part of cosmwasm-sgx-vm. There are several functions required for CosmWasm in order to replace wasmer with wasmi. The team are making strides toward running CosmWasm inside SGX without encryption.

Unfortunately, the world hasn’t been able to combat the highly contagious virus COVID-19 yet so many countries have taken different preventative measures to slow the spread of the virus. The Enigma team have started building a privacy-preserving data sharing and analytics platform, SafeTrace. This database takes in user location history and user infection status. The objective of this tool is to help track social infection vectors. It runs inside a Trusted Execution Environment (Intel SGX) that is hosted on IBM Cloud. Then, within a secure enclave, that data is decrypted and compared with the reports from all other users. This is an open-source project and the team is currently looking for various kinds of collaborators. Read on to find out more details about SafeTrace.

Moreover, the team are currently exploring the opportunity to participate in the Game of Zones, the adversarial testnet challenge organized for the Cosmos ecosystem. If you’re interested, the registration form is due April 25, and the competition will run May 1–22. There is a prize pool with 100,000 ATOM up for grabs!

Another important news for the communiry! MathWallet has completed a mobile wallet integration for Enigma! MathWallet has been closely cooperating with the major public chains, rapidly updating the iterations, to meet the needs of users. At present, MathWallet support more than 40+ public chains. Participants in the Enigma community have made valuable contributions. They have also enabled staking tools!

Last but not least! If you’re interested in contributing to or learning more about Enigma governance, join their weekly Governance Working Group calls every Friday at 2pm ET! Some of these meetings will be held using Mozilla Hubs in a virtual room aptly named the “Chamber of Secrets.”

In this Biweekly you’ll find more information on the recent network’s development.

Stay tuned!

Development

Github metrics:

Developer activity (from Coinlib.io):

Testnet is live with Smart Contracts!

You can track progress and find ways to contribute on GitHub

Privacy-Preserving Contact Tracing for COVID-19

The current COVID-19 is highly contagious. We all know that social distancing is highly important these days. To deal with this crisis, different businesses and governments in particular have taken different preventative measures to slow the spread of the virus.

Enigma team has been developing a platform called SafeTrace to facilitate privacy-preserving contact tracing. SafeTrace lets users share sensitive location and health data with other users and officials, without compromising the privacy of that data.

As new cases are confirmed and reported, it would help to know where the infected patients have travelled recently in order to gain knowledge about how the virus is spreading.

Part of Enigma focus is sharing data securely and responsibly to enable better decision-making while protecting privacy, a fundamental human right.

The Enigma team have started building a privacy-preserving data sharing and analytics platform. This service enables users to safely and privately share location data and their infection status. The objective of this tool is to help track social infection vectors.

Drawing on some parts of their existing code-base, the team have constructed a privacy-preserving database and a querying tool that runs inside a Trusted Execution Environment (Intel SGX) that is hosted on IBM Cloud. This database takes in user location history and user infection status. Then, within a secure enclave, that data is decrypted and compared with the reports from all other users. This analysis can return two types of output:

1. A “local view,” which is an individual report showing users where and when they’ve overlapped with individuals who have since tested positive

2. A “global view” heat map that can help better understand and curtail the spread of disease caused by COVID-19.

In order to achieve this goal, Enigma have defined how any application with location data can interact with the SafeTrace API. They encourage other location tracking applications to prompt their user their location history in a privacy-preserving manner to help track this pandemic and protect users at the same time.

They have also built a web application prototype that allows users to interface with Enigma database service and self-report their location history and pandemic status. They are leveraging Google Maps API and services in this prototype to move quickly to an MVP.

Check out the GitHub repository to see the user experience

A overview of system architecture. Source: https://github.com/enigmampc/safetrace

This is an open-source project and the team is currently looking for various kinds of collaborators. check out the list of specialists the team are looking for in the article here.

If you’d like to donate to the SafeTrace project, please visit the SafeTrace Gitcoin Grant page.

The Enigma team encourage contributors to visit CONTRIBUTE.MD and open issues in their repo with questions and contributions.

You can also join the team and community on the Enigma Developers Forum to discuss your ideas in this thread.

Join our official Enigma Discord and talk with the team members on the #safetrace channel.

source

Enigma Community Update: April 3, 2020

Enigma Development Update — March 2020

The Enigma team and community recently launched a mainnet blockchain using the Cosmos SDK. The development team has made significant progress toward integrating “secret contract” functionality with the Enigma network, which will allow smart contracts to use private and sensitive data as inputs.

Enigma + CosmWasm

After launching a testnet with a built-in smart contract module, the Enigma dev team has been focused on compiling CosmWasm to SGX. This process has definitely been challenging. CosmWasm uses wasmer.io which is a JIT compiler, but SGX doesn’t support writing machine code to RWX memory and invoking it from there. They are shifting towards adding wasmi as a VM backend in CosmWasm. The wasm interpreter is enclave friendly, but CosmWasm is tightly integrated with Wasmer. Read more in this dev forum post.

The team successfully executed wasmi inside an SGX enclave, and they managed to invoke Rust userspace functions in Wasm code (within the enclave). They have also made significant progress toward replacing the wasmer runtime of the compute module with a wasmi runtime running inside an SGX enclave. This pull request includes the details.

The team are also deploying smart contracts on the Enigma Testnet to better understand the developer experience of CosmWasm. The product team is working on a guide for developers about how to use the compute module. They are looking at how it compares to developer experience of the Enigma discovery testnet and Ethereum. More info can be found here.

Governance

Moving forward, the Enigma development team (and any other contributors) must make changes to the protocol using various kinds of proposals, which are voted on and approved by network validators.

One of the recent proposals to pass on the network was a community fee parameter change. This dramatically increased the amount of SCRT being funded into the community pool, which can be used to fund community-driven initiatives for ecosystem expansion and improvement.

This proposal will change the current community tax from 2% to 75%.

Once the community pool has enough funding to complete several existing/upcoming community spend based proposals, the team will propose new fee/inflation settings for the Enigma Mainnet.

Salad: March 2020 Development Update

The technology behind Enigma enables data privacy for the blockchain ecosystem. That means the inputs and outputs to contracts can be kept secret from the network throughout a computation. As a result, Enigma can also be used to enable transactional privacy: the ability to hide the transaction history of addresses. For the public blockchain ecosystem, transactional privacy is a requirement for widespread adoption.

The team have been working and iterating on Salad, their transactional privacy tool, since last August. Over the past couple of months, they have built an API that can mix ETH for any Ethereum application and built a stand alone UI that connects to the API and also worked on integration with MyEtherWallet and Metamask Snaps.

As the team are moving towards building secret contracts on Enigma chain, the approach to Salad changes slightly. Salad will first focus on mixing Enigma native assets like SCRT. The plan is to explore interoperability with the rest of the Cosmos ecosystem, Ethereum, and other chains as well.

Recap of Salad Work

Salad is an open-source coin-mixer built using Enigma’s data privacy and randomness-generation features.

Salad in Discovery had three primary components:

  • A deposit contract on Ethereum which holds funds to be mixed.
  • A secret contract on Enigma, which randomizes receipt addresses.
  • A relayer/operator who is responsible for coordinating deposits and batching transactions. Discovery’s architecture necessitated a relayer for usability reasons. This was primarily a UX improvement given the limitations of Discovery. The reliance on a relayer not only created a central point of failure, but it also required them to run cryptographic libraries inside secret contracts that slowed down execution performance. This was required because the operator had to relay the user’s recipient addresses in a way that’s decryptable by the Enigma network, but not the operator itself.

For a mix to take place, the following steps would need to occur:

1 The secret contract generates a static keypair to be used for end-user encryption. The key generation takes place inside the enclave, and the public key is published by the contract.

2 The relayer requests the encryption public key that will be used to encrypt the end-user’s recipient addresses and passes the key to users who participate in the mix.

3 Alice selects mix amount and their recipient address. In a single user interaction (metamask interaction):
- Alice sends the amount of Eth she wants mixed to the Ethereum deposit contract
- Alice locally encrypts the recipient address using the key shared by the secret contract, and sends her encrypted recipient address to the relayer

4 Bob and others repeat step 3.

5 When a quorum is reached and deposits are verified (by the relayer), the relayer submits all encrypted recipient addresses to the secret contract.

6 The secret contract decrypts and shuffles recipient addresses using randomness.

7 The secret contract calls Ethereum deposit contract to distribute funds to shuffled recipient addresses.

The primary advantage of Salad is its usability — that it is non-interactive, requiring only one interaction per user.

Tornado.Cash, another Ethereum mixer, requires users to:

  • First deposit and create a secret note that they need to securely store
  • Then submit the note (proof) when they wish to withdraw their funds.

ZK-Proof based solutions will always require a withdrawal transaction, while Enigma mixer transactions can be set in motion without requiring a second withdrawal transaction from the user.

The goal has been to create an API that allows all DeFi apps on Ethereum to easily integrate with the Enigma protocol to provide transactional privacy to their users. The team have been working with MyEtherWallet (MEW) team in the past couple of months. they built a UI / UX integration to MEW. We have been able to:

  • Complete UI work per MEW integration instructions and the Enigma specs
  • Execute end to end deal creation and execution using MetaMask
  • Use a client to interact with the Salad Operator, published in NPM

The team have also built a stand-alone UI to interact with Salad and conducted user research to understand UX challenges of mixers. They created an issue for Metamask Snaps and shared their views on improved UX for transactional privacy.

Salad on Enigma

The development team has been exploring ways to integrate secret contract functionality to the Enigma chain. The first version of Salad will work on Enigma chain and will enable transactional privacy for SCRT. In the short term, this may help SCRT holders to anonymously delegate their coins to different validators.

The development team has no plans to abandon Ethereum. They plan to work on supporting other blockchain ecosystems. However, the first version of Salad will be limited to Enigma chain.

Salad for SCRT will not require a relayer/operator. Now users will be able to directly interact with Enigma. This is an improvement towards full decentralization and censorship resistance.

In addition, the use of an operator forced the development team to integrate crypto-libraries inside the contract (the operator must be prevented from decrypting user inputs — see step 1). This meant execution performance of the secret contract was slower than optimal. In addition, since contracts on Enigma can store coins, they do not require a deposit contract.

Going forward the user interactions with Salad on Enigma will look like the following:

  • Alice sends the amount of SCRT to be mixed and her locally encrypted recipient address to Salad secret contract.
  • Bob and others follow step 1).

On the Salad secret contract side, the following will happen:

  • Check whether a quorum is reached after X blocks (currently 2 hours or ~12,000 block) and secret contract has the right amount of SCRT.
  • If 1) is satisfactory, privately decrypt and shuffle all inputs (recipient addresses).
  • Return shuffled plaintext recipient addresses to the deposit contract for distribution of SCRT to new addresses.

source

The Enigma Mainnet

Social encounters

Finance

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

MathWallet

MathWallet completed a mobile wallet integration for Enigma! They have also enabled staking tools.

Enigma APP Wallet User Guide

Enigma MathWallet Extension Tutorial

Install the MathWallet Chrome Extension

Math Wallet

Token Swap Proposal

Burn ENG for SCRT!

Param Change slashing.signed_blocks_window: from 100 to 5000

Token Swap Proposal

Secretnodes.org

A community-led group of individuals who care about privacy, data ownership, and are committed to supporting the enigma ecosystem.

If you want to learn more about the people who maintain and contribute to secretnodes.org check out the Secret Nodes Collective.

Roadmap

Defiant — 2020

Defiant brings complete chain-independence. This is just another critical step towards their mission — growing and improving Enigma, scaling the developer community, achieving global adoption, and solving some of the world’s biggest challenges to privacy and true decentralization.

Enigma’s roadmap does not really end in 2020. Enigma is building a foundation for decades of progress. Enigma is the critical missing technology that can allow for truly decentralized applications and useful solutions.

Source

Partnerships and team members

Check out this page on enigma.co to learn more about the experienced team of technologists, researchers and business people.

Other

Social media metrics

Social media activity:

Telegram

Twitter

Reddit

Medium

Discord

Enigma forum

Social media dynamics:

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

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

There are so many ways to get involved with Enigma’s ecosystem! You can:

See also:

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

This is not financial advice.

Subscribe to detailed companies’ updates by Paradigm!

Medium. Twitter. Telegram. Reddit.

--

--