Note:

If the demo video above isn't displaying, please find a link to it on the GitHub repo that accompanies this project.

What is it?

EVSwap is a decentralized protocol on the EVMOS network that allows users to transfer & receive virtual assets anonymously without the need to compromise their identity. Partly inspired by Tornado Cash, EVSwap leverages Zero Knowledge proofs to improve transaction privacy by breaking the on-chain link between the recipient and destination addresses.

How it works

  1. A user deposits an asset (token or NFT) they want to send on EVSwap.
  2. A commitment is generated by hashing two private values (a secret & a nullifier), displayed to the user in the form of a note, and assembled into a merkle tree. Additionally, EVSwap generates a unique link that you can share with another person.
  3. That person can either use the custom note or visit the generated link to claim the assets deposited. Under the hood, EVSwap generates a ZK Proof & nullifier hash (to prevent double-spending from the same proof) and submits it to the contract prove that person's eligibility to claim the assets.

It's that easy, and at the same time, lowers the barrier of entry for people into the world of DeFi since it allows the transfer of different types of virtual assets (including dollar-pegged stablecoins [to be supported...]) without the hassle of maintained hardware/virtual wallets.

What's Next?

This project serves as a great PoC for extending Tornado Cash to support any asset on EVMOS. Obviously, we haven't implemented the Anonymity Set or cash mixing features from TC since that's probably why it was banned recently by the US Dept. of Treasury. Needless, it's still my firm belief that Zero Knowledge can prove to be a vital solution to web3 on-chain privacy, and we're just getting scratching the surface with EVSwap. I hope to launch on more networks to validate my hypothesis, and, in the future extend use-cases beyond privately sending assets.

Built With

  • zkp
Share this project:

Updates