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
- arkworks
- circom
- cosmwasm
- osmosis
- rust
- snarkjs
- typescript
Log in or sign up for Devpost to join the conversation.