MGP: Privacy Pools - v1
Note from Ameen - The following proposal was prepared by Chainway for MolochDAO

Past Privacy Pools Grants:

Introduction

Chainway is a web3 venture builder based in Istanbul, Turkey. Our team is experienced in building DeFi applications and blockchain infrastructure. Chainway is co-founded by:
  • Esad Yusuf Atik, Full Stack Blockchain Developer with 5 years of experience in Algo Trading, MEV, Stablecoins…
  • Ekrem Bal, Full Stack Blockchain Developer with 5 years of experience in Zero Knowledge, Data and Analytics, Security…
  • Murat Karademir, Community Builder with 10 years of experience in Competitive Programming, Crypto Hubs and Hacker Teams.
  • Orkun Mahir Kılıç, Full Stack Blockchain Developer with 5 years of experience in DeFi, Protocol Architecture, Stablecoins…

We recently announced our open sourced protocol on Tornado Cash: Proof of Innocence
It gained a lot of attention from the Ethereum ecosystem, including Vitalik Buterin, The Block, Bankless, and more. You can follow our projects and products on our website or twitter.

Proposal

We are seeking a grant of $100K to develop and deploy a demo version of Privacy Pools v1, an innovative privacy solution combining the capabilities of Tornado Nova and Proof of Innocence. The project will include the development of circuit code, smart contracts, JavaScript libraries/scripts, and a demo user interface. Our target is to deploy Privacy Pools v1 to a testnet by the end of Q1 2024.

Note from Ameen - Funding for this proposal will be milestone based. $50K will be awarded first, and upon completion of the circuits & contracts, the remaining $50K will be rewarded. 

Grant Proposal is for $50K = 28.4 ETH + 20% Volatility Buffer = 34 ETH (remainder to be returned)

Funds → 0xAdA87687AA4fa430bcEaD748F2c8018D14DAeD3d (multisig owned by Ameen)

Roadmap

  • Circuits (April 1st)
  • Step1: Research on (Halo2, Nova, Plonky2) (Expected time 1 month)
  • Step2: Writing the circuit for single transaction (Only single deposit and withdrawal) (Expected time 1 month)
  • Step3: Writing recursion (Expected time 1 month)
  • Step4: Tests (Expected time 1 month)
  • Contracts
  • Deployment of tornado nova contracts on testnet
  • Js script (Expected time 1 month)
  • Scripts for deposit, withdrawal, internal transaction
  • Fetching onchain data for circuit inputs
  • Generate and verify recursive proof of exclusion
  • UI (Expected time 2 month)
  • Basic tornado nova features
  • Prove innocence tab where the user can select deposits to exclude and creates a proof for all the past transactions
  • Verify exclusion zk proofs 
  • Explorer for viewing “withdrawal exlusion proofs”

Future Work

outside the scope of this grant:
  • Quarantine
  • this is where some sanctioned address sends you internal transaction but you never withdraw that money and you also want to prove that you won't be using that money
  • Audits
  • Sanctioned addresses listing
  • Note from Ameen - working on this with a separate team
  • Tornado Nova contract improvements
  • Onchain exclusion proof verification