Confidential Smart Contracts for Ethereum


  1. (Latin) To conceal, hide;
  2. A spell used to conjure a blindfold over the eyes of the target.

V0.9, November 2021 Note: This document is under development, so please check for updates.

James Carlyle, Tudor Malene, Cais Manai, Neal Shah, Gavin Thomas, Roger Willis; with significant additional contributors.


We present Obscuro, a decentralised Ethereum Layer 2 Rollup protocol designed to achieve data confidentiality and prevent Maximal Extractable Value (MEV) by leveraging hardware-based Trusted Execution Environments (TEE).

The design of Obscuro ensures that hardware manufacturers do not have to be trusted for the safety of the ledger. If one manufacturer turns malicious or there is a breach in the TEE technology, the protocol falls back to the behaviour of a public blockchain that preserves the ledger’s integrity but makes the transactions public. This situation will lead to a partial liveness failure because the withdrawal function will be suspended.

The design also focuses on preserving privacy for the limited period when it matters most, which removes the need for a privacy technique that is robust against all adversaries in perpetuity.

Obscuro sits in what we believe is a sweet spot between the existing rollup-based L2 offerings Optimistic and ZK Rollups. The use of confidential computing techniques coupled with economic incentives allows Obscuro to retain the performance and programming model simplicity of Optimistic rollups, and on top of that attain confidentiality, short withdrawal periods, and address MEV.