How It Works

zkSNARKs for Privacy-Preserving Transactions

Cyclone is simple -- a user deposits cryptocurrency into a pool and later withdraws from the same pool, which obfuscates the deposited tokens' history. For deposits, the user sends a "secret" in the form of a hash (called a commitment) and the deposit amount to the Cyclone smart contract. The contract accepts the deposit and adds the commitment to its list of deposits.

Later, when the user decides to make a withdrawal, they provide proof via the same secret via an unspent commitment from the smart contract’s list of deposits. zkSNARKs technology allows this to happen without revealing which exact deposit corresponds to this secret. The smart contract checks the proof, and transfers the originally deposited funds to the address specified for withdrawal. An external observer will be unable to determine which deposit this withdrawal came from.

For an even deeper dive, please see the cryptographic review.

Trusted Setup

As an anonymous team, we value complete transparency and aim for a safe and smooth launch of Cyclone. Everything is open-source and verifiable -- we apply the exact zkSNARKs implementation used by tornado.cash, which has been extensively audited (circuit, smart contracts). In addition, we directly use the result from Trusted Setup MPC which is successful and running well on Ethereum.

Last updated