PHASE 1

Inspiration

Max worked with Mina, a zk blockchain, at his previous job. Bao worked at JunoSwap and DaoDao, the biggest CW projects on Juno.

What it does

Temporarily private trades on Osmosis until withdrawal.

How we built it

A CosmWasm contract with zk verification that obscures source of funds until withdrawal. Once funds are deposited, participants can swap with a pre-specified set of Osmosis pools while remaining private.

Challenges we ran into

Overcoming design issues and figuring out a lot implementation details. We had to redesign our zk circuits twice. There was lots of bit manipulation required to create proofs using SnarkJS but then verify them with Arkworks.

Accomplishments that we're proud of

A working CW-contract and zk circuit after a single weekend of hacking.

What we learned

The zk circuit design can be much simpler, which also affects the simplicity of the CW contract.

What's next for Whirlwind

  • Get zk circuits audited
  • Add extensive tests

PHASE 2

For Phase 2, we decided to focus on the user experience of institutions managing funds on Osmosis. We design around the main job of institutions: managing large amounts of money as a team while making private proprietary trades.

Built With

Share this project:

Updates