RiB Newsletter #16 – Secure Enclaves à la Crab

Welcome to the #16 edition of Rust in Blockchain, the hypest newsletter about the hypest tech. Previous: #15.

For the last few months we’ve been following new zero-knowledge proof projects in Rust. This month, with Secret Network upgrading their mainnet with secret contracts, it seems like a good opportunity to explore Rust blockchains that are using a completely different privacy-preserving technology: secure enclaves.

Secure enclaves are processes whose environment is protected from inspection by other processes, even the kernel, by special hardware. This protection particularly involves the encryption of a process’s memory. Software that wants to compute in secret can put those computations inside a secure enclave and, if everything works as expected, neither a local user, nor the hosting provider, can snoop on the computations being performed. The most notable implementation of secure enclaves is Intel’s SGX (Secure Guard Extensions).

Secure enclaves are an attractive way to perform private computation primarily because they don’t impose any limitations on what can be computed — code that runs inside SGX is more-or-less just regular x86 code, just running inside a special environment. But depending on SGX for privacy does have some special risks: software that runs in an SGX enclave must be signed (if transitively) by Intel’s own cryptographic keys, which means that Intel must approve of any software running in SGX, that Intel can revoke permission to use SGX, and that there is a risk of the signing keys being compromised; and it’s not obvious that secure enclaves are actually secure, there have already been a number of attacks against SGX. Regardless, as of now, hardware enclaves provide security features that aren’t feasible any other way.

There are two prominent Rust blockchains relying on SGX:

  • Secret Network is a programmable blockchain based on Cosmos / Tendermint that runs smart contracts written in Rust, and compiled to WASM, inside of secure enclaves.

  • MobileCoin is a private currency that aims to integrate with Signal, and that uses SGX to add additional confidentiality on top of RingCT transactions and its variant of the Stellar Consensus Protocol.

Outside of the blockchain world there are some other Rust projects using SGX, the most notable being:

  • Teaclave SGX SDK is an SDK for running Rust code inside SGX enclaves, developed at Baidu, and now an Apache project. MobileCoin uses a heavily modified fork.

  • Fortanix is a provider of various Rust+SGX services, and they provide an SGX SDK, for which mainline Rust has some built-in support.

  • Rust OP-TEE TrustZone SDK is an SDK for ARM TrustZone.

Whether it’s secure enclaves or zk-SNARKs, Rust blockchains are walking the bleeding edge of privacy tech.

In unrelated RiB news, we recently received two donations,

Thanks so much to our anonymous donors. We don’t often receive donations, so this was a nice surprise! We intend to put all monetary contributions to use funding events or new contributors, and we’ll let you know what we do with the funds when we spend them.

 

Thanks

This edition of RiB was produced with contributions from Aaron Lu, Alex Chepurnoy, kathyjah, Mike, Paulii Good, Brian Anderson, and Aimee Zhu. Thank you for your help!

RiB needs help to keep up with Rust blockchain projects. If you follow a particular project, or otherwise find information that is beneficial to the Rust & blockchain community, please contribute to the next issue. Either submit a PR to the #17 draft, or Tweet @rust_blockchain.

 

Project Spotlight

Each month we like to shine a light on a notable Rust blockchain project. This month that project is…

Aleo.

Aleo is a zero-knowledge blockchain, with its own zero-knowledge programming language, Leo.

We don’t have a lot to say about it, but we think it looks cool. We hope they blog more.

 

Interesting Things

News

Blog Posts

Papers

Projects

  • Acala. CrossChain StableCoin platform based on Substrate.
  • Anon. Substrate modules for anonymous group actions (ring signatures + merkle proofs).
  • Bitcoins-rs. Bitcoin-oriented dev toolboxes for native and browser apps.
  • Cardano-serialization-lib. A library for serialization & deserialization of data structures used in Cardano’s Haskell implementation of Shelley along with useful utility functions.
  • Crust. Implementation of a Crust protocol node with Substrate.
  • Curv has built-in support for some useful operations/primitives such as verifiable secret sharing, commitment schemes, zero-knowledge proofs, and simple two-party protocols such as ECDH and coin flip.
  • Edgeware. Substrate node implementing Edgeware. It’s an On-chain Governed, Proof-of-Stake (PoS) Blockchain with a WASM Runtime
  • ergo-utilities-rust. General utilities to make writing off-chain Ergo code in Rust simpler.
  • Fawkes-Crypto is a lightweight framework for building circuits in bellman, using groth16 proving system and BN254 curve.
  • Hacspec. A specification language for cryptography primitives.
  • Magical Bitcoin Library. A modern, lightweight, descriptor-based wallet library written in Rust.
  • Phala. Phala Network is a TEE-Blockchain hybrid architecture implementing Confidential Contract.
  • TezEdge. Tezos node/shell in Rust.

 

Most Active in September

Solana: 274 merged PRs (1), 95 closed issues (1), 54 open issues (1)

Parity: 185 merged PRs (1, 2), 82 closed issues (1, 2), 63 open issues (1, 2)

Libra: 204 merged PRs (1), 24 closed issues (1), 16 open issues (1)

COMIT: 187 merged PRs (1, 2, 3), 10 closed issues (1, 2, 3), 1 open issues (1)

 

Project Updates

Aleo

67 merged PRs (1, 2, 3), 23 closed issues (1, 2), 20 open issues (1, 2, 3)

COMIT

187 merged PRs (1, 2, 3), 10 closed issues (1, 2, 3), 1 open issues (1)

Conflux

43 merged PRs (1), 21 closed issues (1), 10 open issues (1)

Crypto.com Chain

30 merged PRs (1, 2), 12 closed issues (1), 6 open issues (1, 2)

Elrond

19 merged PRs (1, 2, 3), 0 closed issues, 0 open issues

Holochain

4 merged PRs (1), 0 closed issues, 0 open issues

Libra

204 merged PRs (1), 24 closed issues (1), 16 open issues (1)

Lighthouse

4 merged PRs (1), 71 closed issues (1), 33 open issues (1)

MobileCoin

68 merged PRs (1), 1 closed issues (1), 0 open issues

NEAR

59 merged PRs (1), 55 closed issues (1), 50 open issues (1)

Nervos

39 merged PRs (1, 2), 6 closed issues (1), 4 open issues (1, 2)

Parity

185 merged PRs (1, 2), 82 closed issues (1, 2), 63 open issues (1, 2)

Secret Network

35 merged PRs (1, 2), 10 closed issues (1), 26 open issues (1)

Solana

274 merged PRs (1), 95 closed issues (1), 54 open issues (1)

Zcash

86 merged PRs (1, 2, 3), 34 closed issues (1, 2, 3), 41 open issues (1, 2, 3)

 

Events

Oct 1-30 | Online

ETHOnline 2020. Summits + Hackathon.

Oct 16–30 | Online

Cosmos Hackathon: HackAtom V

Oct 21-23 | NYC, US

ACM Advances in Financial Technologies

Oct 27-28 | Dubai

Future Blockchain Summit

 

Careers

Aleo | San Francisco, US; Remote

Chainlink | Remote

Compound | Remote

Dock | Remote

SimpleStaking | Remote

More jobs can be found at Job Board.

 

Want to be included in the next issue? Feel free to submit a PR to the #17 draft, or Tweet @rust_blockchain.

Join the discussion on RiB telegram group ❤️