Privacy RFQ Application

I noticed this category on the Aztec board and thought it might be ok to ask about non-technical aspects of Aztec and the possibility of creating real-world applications. If the forum does not consider this appropriate, please feel free to delete but I hope that we can talk through some basic ideas about what Aztec can do. So, here goes…

Is it possible for Aztec to support an RFQ application with built in privacy?

The smart contract would be a financial instrument (an equity pehaps) that is made available through an application with buyers and sellers - a market.

  • A Buyer sees that the Seller is making a market in the Equity.
  • The Buyer sends an order to the Seller - what is the price of buying 100 shares? The Buyer does not know the identity of the Seller…just that they are making a market.
  • The Seller receives the message and can decide to reject or quote. The Seller does not know the identity of the Buyer, just that they want a price.
  • If accepted, the Seller sends a Quote to the Buyer - including proof that they hold the position (without revealing their total position).
  • The Buyer accepts the quote (within a time limit) and sends the Seller the required amount of USDC. This would presumably be put into escrow. This transaction is private.
  • The Seller receives notice of the acceptance/payment and makes the counter transfer of the Equity into the escrow. Once again this is a private transaction to the market but made available to the Buyer and Seller.
  • Once both transfers are in the escrow, the transfer to the Buyer/Seller accounts take place and the movement is complete…these transfers are also private to all. The Buyer now has the Equity, the Seller has the USDC.

I realise that this is quite a simplistic flow but I wanted to see whether this sort of functionality with its associated privacy settings would be supportable through Aztec.

Thanks for listening.

21 Likes

Yes! I actually wrote a bit about a rfq styled DEX (like CowSwap) in a flashbots forum here - if you want to build something similar let’s do it. We are actually doing a mini “hackathon” where we are getting people to build such DEXs. If you want to participate, more info here and a link to the participation survey or just reach out :slight_smile:

The most important thing to consider in your idea is what exactly can/should be private.

E.g.

  1. if the buyer and seller don’t know each other, the order has to be public, otherwise the order may not be discoverable.
  2. If the market participants are permissioned (like Solvers are in CowSwap/UniswapX), then orders can just be public for them but no one else (“shared privacy”).
  3. In both cases, user’s address doesn’t need to be known. But if that happens, how does solver know who to send funds to? User’s can either claim or they could just create a partially filled note and solver can emit a pro rata share of every order
  4. If you do a batched auction (like CowSwap does), the final output amount may need to be public

More of my ramblings are in the above posts I have hyperlinked!

(PS: Is “ludo” referring to the board game? Because if so, I am a fan!)

25 Likes