← Back to home

Sarma+EVM=ZKEVM,PEXC

Sarma: simple primitive to achieve private execution on EVM, even cross-chain.

Screenshots

Sarma+EVM=ZKEVM,PEXC screenshot 1
Sarma+EVM=ZKEVM,PEXC screenshot 2
Sarma+EVM=ZKEVM,PEXC screenshot 3

Problem Statement

This project implements a single primitive calledSarma, which achieves public/private execution duality on any EVM. It also works cross-chain on multiple EVM chains. The user can write the public part of the Smart Contracts using Solidity as usual. When private execution and addressing is needed, Sarma, the encrypted UTXO-style blob achieves privacy. The private part of the Smart Contract is written in Noir.

Solution

The implementation is inspired by Aleo, which uses a single primitive called "record", which is an encrypted "struct" visible to the owner. However, Aleo stores the "records" in a Sparse Merkle Tree, not suitable for EVM considering the cost of storage. To get around this problem, I separate the public and private address spaces. The Smart Contract EVM calls act as "mules", not knowing what they are executing, and each call can be made from a different address. This achieves revealing of minimal information. In addition, to achieve non-interactive handover of the "records" that I call "Sarmas" from one private address (owner) to another, I use El Gamal encryption. The EVM code can create, move and destroy Sarmas only upon ZK proof verification of authorization. Moreover, the Sarma can be moved cross-chain, which not only achieves cross-chain private execution, but makes the bridges safer and less corruptible as they do not know what they are moving across.

Hackathon

ETHGlobal Istanbul

2024

Prizes

  • 🏆

    🏊 Filecoin — Pool Prize

    IPFS & Filecoin

  • 🏆

    Top 5 - Best App Built on Leo

    Aleo

  • 🏆

    Pool Prize

    Chiliz

  • 🏆

    Grand Prize

    Aleo

  • 🏆

    Pool Prize

    IPFS & Filecoin

  • 🏆

    Deploy your Dapp on Linea

    MetaMask

  • 🏆

    Pool Prize

    Arbitrum

  • 🏆

    Deploy on Scroll

    Scroll

  • 🏆

    Best overall Noir application or library

    Aztec

  • 🏆

    Cross - chain / LxLy Bridge implementation

    Polygon

  • 🏆

    Best Neon EVM use case1st Place

    Neon EVM

  • 🏆

    🏆 ETHGlobal Istanbul 2023 Finalist

    ETHGlobal

Contributors