project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4

Anonymous Vickrey Auctions On Chain

Maximally private, second price, sealed bid auction aka Vickrey auctions.

Anonymous Vickrey Auctions On Chain

Created At

ETHBogotá

Winner of

trophy

🏆 ETHBogota Finalist

trophy

🎮 Optimism — Optimism Games & NFT Infrastructure

trophy

🥇 Gnosis Chain — Best Use

Project Description

By leveraging CREATE2 based smart contract creation, we conceal bids by having users transfer ETH to future contract addresses. On-chain the submission of bids look like seperate, simple ETH transfers to standard wallets (EOAs). During the reveal phase bidders reveal their bids, deploying contracts to the pre-funded addresses, using the ETH. Unlike the typical commit and reveal scheme based Vickrey auctions it is impossible to know which address is truly bidding on a given auction without relying on additional off-chain data. Vickrey auctions are ideal for pricing non-fungible assets, as the game theory encourages all parties to be honest, and only bid based on what they believe the asset to actually be worth -- this leads to more optimal price discovery than first price auctions. To ensure that users can't adjust their bids during the reveal phase, a snapshot is taken of the blockchain state, and users submit Merkle Patricia Trie proofs of account balance, along with their reveal showing that their bid was present prior to the begin of the reveal phase.

EDIT: We've published a blog post explaining the construction more fully here: https://blog.aayushg.com/posts/vickrey/

How it's Made

We designed our own smart contracts from scratch with Solidity, Huff, and assembly. We adapted Merkle Patricia Trie proofs from goldengate to verify account ownership during specific timestamps as well, completely on chain. We use assembly hacks to optimize gas and do clever bit tricks to make the lookup into the MPT on chain faster. The entire process is automated and decentralized.

Sponsor tech: Our contracts are inspired by OpenZeppelin templates. We deployed on Gnosis Chain, Optimism, and Ethereum. We integrate ENS names. We use sign in with Metamask.

background image mobile

Join the mailing list

Get the latest news and updates