View Demo: demo
Experiment with the live deployment at hurricane.lol and supports both Goerli and Ethereum Mainnet.
Hurricane is a zero-knowledge-based (zkSNARK-based) darknet for on-chain assets.
The protocol allows for depositing and withdrawing of assets, as well as making
hidden in-network transfers that hide the sender, receiver, and asset
Made at 🏠 Hacklodge 2022 by Walden Yan, Allison Qi, and Brandon Wang.
Deposits and withdrawals are implemented similarly to Tornado cash using zero-knowledge merkle membership proofs and nullifers. Vitalik wrote a blog detailing this protocol. To extend the implementation to non-fungible assets, we added in symmetric key encryption of the asset (token address and ID) and mixed this into the zkSNARK construction in a way that is safe from rainbow attacks.
Our zk circuits can be found in zk/circuits/*.circom
Out smart contracts can be found under zk/contracts
Setup instructions exist within their individual directories.