EIP-7503: Zk Wormholes
This is implementation of EIP-7503 - L1 native mixer
Demo
About
The problem it solves This EIP increase privacy by allowing users to burn and re-mint ether. This approach have two main benefits - It's imposible for outside obsever to understand that user burned funds and entered mixer. - Privacy poll is extimelly big - all unspent accounts To burn funds user sends ether to unspendable address. In our case Keccak(Keccak(nullifer, secret)). To withdraw user proofs in zk that address from whitch he witdraw have this form and belongs to ethereum state tree.
How it's made
Challenges we ran into We had compilation problems with RISC Zero, but this issue is resolved. Also for some reason our Rust Verifier accepting all proofs, unfortunatelly we didn't resolve this issue. In addition we didn't implement ethereum merkle proof verification. We also had issue recording demo, so there is no audio in it. In the video we send money to unspendable address from Address 1 and mint funds back to Address 2