What is an E3?

Encrypted Execution Environment (E3)

An Encrypted Execution Environment (E3) is a decentralized framework designed to allow secure computation over encrypted data from multiple sources. E3s ensure data privacy and computational integrity by combining three essential components:

  1. Fully Homomorphic Encryption (FHE): Enables computations directly on encrypted data without needing to decrypt it, maintaining security from start to finish.
  2. Zero-Knowledge Proofs (ZKPs): Allow verification of data and computations without revealing sensitive information, offering a way to validate accuracy while preserviing privacy.
  3. Distributed Threshold Cryptography (DTC): Distributes cryptographic keys across multiple nodes, eliminating single points of failure and enhancing the framework’s resilience against breaches.

Together, these components create a secure, verifiable framework for privacy-preserving computation.

When to Use E3

E3s are ideal for scenarios where you want to:

  • Compute over sensitive data from multiple parties without taking custody of the plaintext data.
  • Ensure compliance with data protection laws like GDPR or HIPAA.
  • Reduce liability when interacting with sensitive data.
  • Derive insights from otherwise inaccessible or sensitive datasets.
  • Eliminate trust in any single party or hardware component.

Practical Use Cases

  • Secret Ballots: Implement verifiable and private voting systems.
  • Secure Data Analysis: Perform computations on private datasets without taking custody of raw data.
  • Collaborative Research: Enable multiple organizations to securely aggregate and analyze data without mutual data sharing.

How E3 Works for Developers

As a developer, interacting with an E3 involves:

  • Defining the computation logic (E3 Program).
  • Configuring parameters for the execution environment.
  • Submitting encrypted data inputs.
  • Retrieving and verifying the computation results.

Each of these steps will be covered in detail in the following sections.