The goal of this document is to overview the current state of (NFT) auction programming (on Ethereum), identify weaknesses, and propose solution ideas.
This document is provided for free at no cost. All ideas are open source and encouraged for use.
This is not a scientific paper. Its meant for easy reading.
A good auction model generally has the following properties:
- Easy to participate, "it just works"
- Minimize miner extractable value
- Maximize price paid to seller
- Fairness
- When auction concludes, there do not exist anymore buyers at the lowest sold price. That is, all interested buyers were allowed to participate without losing to MEV or too-short time windows.
These properties are not strictly required, and generally more clever objective functions exist. But these are general guidelines most auctions optimize for.
Some auctions may optimize for other properties, including but not limited to:
- Restrictions on who can bid
- Restriction on how many items a single bidder may win
- Time-based rules / pausing
A fixed price auction offers all NFTs available for mint at the same price.
Major Cons:
- Fixed price and limited supply means first come first serve winners. This creates MEV and gas spikes.
Briefly stated, an English Auction is an ascending price auction with a minimum reserve price. Bidders submit increasingly higher bids. The highest bidder(s) win the item(s).
It is important that the auction time extends for every new, higher bid. To prevent abuse, a minimum delta percentage between bids can be enforced.
Mature auction implementations may benefit from extending the auction when BASEFEE is high to allow more participants and reduce MEV.
For multi-item auctions, the Nth lowest bidder will win the Nth item. Some multi-item auctions may snap all bids to the floor winning bid, or in other cases, "excess" bids may go to seller.
Major Pro:
- No time pressure (assuming reasonable parameters)
In the middle:
- May not maximize price compared with descending auction (research this?)
Major Cons:
- ???
A Dutch auction is a market structure in which the price of something offered is determined after taking in all bids to arrive at the highest price at which the total offering can be sold