Motivation
Given that we have settled on a product roadmap this posts examines some applications that can be built on top of Anoma Beta on the different EVM chains that the protocol adaptor is deployed to. Indeed, we plan to have an informal hacker house / co-working space and participate in Eth Global at Devconnect. As such @maurice have begun ideating. (All Ideas welcome in this thread ).
Preliminaries
Below is the makings of a list of the typed of applications which could be interesting for folks at Devconnect to begin working on. This is meant to be ideation, not a product requirements document, which would look very different. Instead here are some user flows to consider for the respective application ideas. We can add product requirements here or to another document, this is simply to get an idea of what I mean by the application (by examing how the user would interact with it and what the app does for the user).
Will add more as we think of them
Shielded Kudos (swaps)
- Users have the ability to swap kudos both exactly (X units of A for Y units of B), and with inequalities (“at least X units of A”), not just exact swaps. (Here is the current repo. for shielded kudos. To my knowledge, swpas is not implemented).
- User deposit tokens (e.g., USDC) into the EVM protocol adapter contract, which creates a private “resource” commitment and gives you a secret note
- User creates swap intent, (e.g., “100 USDC for ETH”), builds the tx and necessary ZKP
- User submits swap intent to a solver mempool (could be a single server running in a TEE)
- Solver finds a counterparty wanting the opposite trade and bundles both intents into one transaction with balanced inputs/outputs
- Solver submits a tx for settlement to the protocol adapter which verifies the ZK proofs, marks old resources as spent (nullifiers), and creates new resource commitments for the swapped assets
- User receives a new private note proving ownership of the swapped ETH - the on-chain data shows no link between your old USDC and new ETH
- User unshields ETH if desired.
Shielded Swap aggregator
-
Similar to railway wallet DEX offering, relies on a relayer and 0x protocol to execute the swap. The user gets to keep their identity private. The user flow would look something like this:
- User generates a zero-knowledge proof for the swap
- Interface queries aggregator API (0x, CowSwap) for the best swap route and pricing
- The proof and swap parameters are sent to a relayer
- Relayer submits the transaction, which:
- Verifies the ZK proof
- Unshields the exact input amount
- Executes the swap via 0x’s route
- Re-shields the output
- User receives the swapped tokens in their private balance
Shielded borrow/lend
-
Private privacy for folks who want to use borrow /lend protocols like Aave, Morpho or an aggregator (Twyne)
- User shields 10 ETH into PA
- User decides to use 5 ETH as collateral
- Generates ZK proof: “I own 5 ETH and want to deposit as collateral”
- Relayer deploys a fresh proxy contract
- Proxy deposits 5 ETH to Aave as collateral
- User generates proof to borrow 5,000 USDC (assuming safe LTV)
- Relayer executes borrow
- 5,000 USDC is shielded to Alice’s private balance
- User does stuff with borrowed funds
- After some time, User repays 5,100 USDC (principal + interest)
- Generates proof, unshields USDC, repays through relayer
- Withdraws collateral back to private balance
Private Dating
- Users have the ability to craft intents that can be matched over an array of input variables like (height, age, weight, relationship type, interest), but they can participate without revealing their identity.
- User create anonymous profile with encrypted photos and interests - no real names or identifiable info stored
- User defines what you’re looking for (e.g., “hiking partner, 25-35, within 10 miles”) using private search parameters
- Solving algortihm finds compatible people without either party seeing each other’s full profiles - just match percentages
- Users exchange encrypted messages via signal once there is a match
- Users reveal more info to each other - agree to unlock each piece of info (first name, photos, age) - like a mutual consent system
- Users coordinate a date by sharing a location through a mutual trusted contact (assigned by the app?)
- User leaves private feedback that creates trust scores without revealing who you dated
Additional Ideas
- Private flashloans (shielded action)
- Private Yield aggregation (shielded action)
- Private Prediction market (shielded action)