Vitalik Buterin discusses fairer deal options
Article author: Vitalik Buterin
Article translation: Block unicorn
Article author: Vitalik Buterin
Article translation: Block unicorn
Original title: "Alternatives to selling at below-market-clearing prices for achieving fairness (or community sentiment, or fun)"
If you are in this industry, please read it if you don’t understand it. It is of great significance to you. Please continue your reading.
When sellers want to sell something with a fixed supply and high (or uncertain and potentially high) demand, one choice they often make is to set a price significantly lower than "what the market will bear". The result is that the item sells out quickly, with the lucky buyers being those who tried to get it first. This has happened in many cases in the Ethereum ecosystem, especially NFT sales and token sale ICOs. But the phenomenon is much older than that; concerts and restaurants often make similar choices with low prices, leading to quickly selling out seats or long queues for buyers.
Economists have long asked a question: Why would sellers do this? Basic economic theory suggests that it is best for sellers to sell at a market-clearing price, that is, a price at which the quantity buyers are willing to buy exactly equals the quantity sellers must sell. If the seller does not know what the clearing price will be, the seller should sell by auction and let the market determine the price. Selling below the market-clearing price not only sacrifices the seller's revenue; it also hurts the buyer: the item may sell out so quickly that many buyers simply don't have a chance to get it, no matter how much they want it And willing to pay to get it. Sometimes, the competition created by these non-price-based allocation mechanisms can even create negative externalities that harm third parties—an effect that, as we will see, is particularly acute in the Ethereum ecosystem.
But despite that, the fact that below-market-clearing pricing is so common suggests there must be some compelling reasons for sellers to do so. In fact, often there are, as research on the topic over the past few decades has shown. So it's worth asking the question: is there a way to achieve the same goal with more fairness, less inefficiency, and less damage?
Selling below the market-clearing price creates significant inefficiencies and negative externalities
If a seller sells an item at market price or through an auction, people who really want it have an easy way to get it: they can pay a premium, or in the case of an auction, they can bid a premium. If sellers sell an item at a below-market price, demand exceeds supply, so some people get the item and others don't. But the mechanics of who gets the item are clearly not random, and often don't correlate well with how much participants want the item. Sometimes, it involves clicking buttons faster than others. Other times it involves waking up at 2am in your time zone (but 11pm or even 2pm in someone else's timezone). Other times, it just becomes an "auction by other means", one that is messier, less efficient and fraught with more negative externalities.
In the Ethereum ecosystem, there are many clear examples. First, we can look at the ICO boom in 2017. In 2017, a large number of projects launched initial coin offerings (ICO), the typical model is a cap sale: the project will set a hard cap on the price of the token and the number of tokens they are willing to sell, and at a certain point in time, the sale will start automatically. The sale will end once the number of tokens reaches the cap.
How is the result? In fact, these sales often end in as little as 30 seconds. Once (or rather, right before the sale starts), everyone starts sending transactions in an attempt to get in, offering higher and higher fees to encourage miners to include their transactions first. Auctions by another name - except for the extremely pernicious negative externality of revenue going to miners instead of token sellers and pricing all other applications on the chain while the sale is going on.
The most expensive transaction in the BAT sale set a fee of 580,000 gwei, with a fee of $6,600 paid to participate in the sale.
Many ICOs have since tried various strategies to avoid these gas price auctions; one ICO in particular has a smart contract that checks the gasprice of a transaction and rejects it if it exceeds 50 gwei (transaction fee). But of course that didn't solve the problem. Buyers hoping to cheat the system send many transactions in the hope that at least one will come in. Another auction under another name, this time clogging the chain even more.
Recently, ICOs have become less popular, but NFTs and NFT sales are very popular now. Unfortunately, the NFT space failed to learn the lessons of 2017; they do fixed supply sales of fixed quantities like ICOs (see for example the function of lines 97-108 of this contract mint here). How is the result?
That's not even the biggest; some NFT sales caused gas prices to spike to 2000 gwei.
Once again, users are scrambling to get high gas (fee) prices by sending higher and higher transaction fees. Auctions by another name, like before, price all other applications on the chain within 15 minutes.
So why do sellers sometimes sell below market price?
Selling at below-market prices is not a new phenomenon, both in the blockchain space, outside and in, and over the decades there have been many articles and papers and podcasts written (and sometimes painfully complained about) about reluctance to use auctions or pinning Price Market - Clear Levels.
Many of the arguments are very similar between examples in the blockchain space (NFTs and ICOs) and outside the blockchain space (popular restaurants and concerts). A particular concern is fairness and the desire not to shut out poor people, not lose fans or create tension by being perceived as greedy. The 1986 paper by Kahneman, Knetsch, and Thaler provides a good illustration of how perceptions of fairness and greed affect these decisions. In my own recollections of the 2017 ICO season, the desire to avoid the notion of greed was likewise a deciding factor in preventing the use of an auction-like mechanism (I don't remember most of the time here and don't have many sources, although I did find a link to A parody video that is no longer considered available draws some sort of comparison between the auction-based Gnosis ICO and the National Socialist German Workers Party).
But there are also factors specific to the blockchain space. One of the arguments for selling ICO tokens below the market clearing price (and the decisive factor in convincing the OmiseGo team to adopt their cap sale strategy) has to do with the community dynamics of the token launch. The most basic rule of community sentiment management is simple: you want prices to go up, not down. If community members are "in the green up zone," they're happy. However, if the price is lower than what the community members paid for it when they bought it, leaving them at a net loss, they will get upset and start calling you a liar, which could have a ripple effect on social media, causing others to call you a liar.
some more interesting solutions
The only way to avoid this effect is to set the sales price low enough that the market price after listing will almost certainly be higher. But how do you actually do that without causing the auction's snap-off dynamics by other means?
some more interesting solutions
This year is 2021. We have a blockchain. Blockchain encompasses not only a robust decentralized financial ecosystem, but also a rapidly growing suite of various non-financial tools. Blockchain also presents us with a unique opportunity to reset social norms. Where decades of economists yelling about “efficiency” have failed, Uber legitimizes surge pricing; of course, blockchain can also be an opportunity to legitimize new uses for mechanism design. Of course, rather than fiddling with the coarse-grained one-dimensional strategy space of selling at market prices versus below-market prices (and perhaps a second dimension of auctions versus selling at fixed prices), we can use more advanced tools to create a more straightforward A solution to the problem with fewer side effects?
First, let's list our goals. We will try to cover the cases of (i) ICO, (ii) NFT and (iii) conference tickets (actually a kind of NFT) at the same time; most of the required properties are shared among the three cases.
1. Equity: Instead of completely excluding low-income earners from participation, at least give them some opportunity to participate. For token sales, there is a less identical but related goal of avoiding a high concentration of initial wealth and having a larger and more diverse community of initial token holders.
2. Don't Create Races: Avoid creating situations where many people rush to take the same action and only the first few get in (this leads to the dreaded pseudonymous auction we saw above).
3. No fine-grained knowledge of market conditions is required: the mechanism should work even if sellers have absolutely no idea how much demand there is.
4. Fun: Ideally, engaging in the sales process should be fun and have a game-like quality, but not frustrating.
5. Give buyers a positive expected return: In the case of tokens (or, for that matter, NFTs), buyers should be more likely to see the price of an item go up rather than down. This necessarily means selling below market price to buyers.
We can start by looking at (1). From an Ethereum perspective, this is a very clear solution. Instead of creating a race condition, just use a tool explicitly designed to do the job: the Proof of Personality Protocol! Here's a quick mechanism to come up with:
Mechanism 1 Each participant (verified by identity proof) can buy unit P for price X at most, and if they want to buy more, they can buy it in the auction.
It seems like it already fulfills a lot of goals: the per head aspect provides fairness, buyers can earn a positive expected return on the part sold by the per head mechanism if the auction price is higher than P, and the auction part does not require sellers to know the level of demand. Does it avoid races? That would seem to be the case if the number of participants purchased through the per-person pool wasn't that high. But what if so many people show up that each person's pool isn't big enough to provide an allocation for all of them?
Here's the idea: make each person's allocated amount dynamic in itself.
Mechanism 2 Each participant (verified by personal proof) can make a deposit into the smart contract to claim interest of up to X tokens. In the end, each buyer gets an allocation of min(X, N / number_of_buyers) tokens, where N is the total amount sold through each person's pool (some other amounts can also be sold through auctions). Any portion of the buyer's deposit in excess of the amount required to purchase the allocation will be refunded to them.
Now, regardless of the number of buyers passing through each pool, there is no race condition. No matter how high the demand is, there is no better way than to get involved early.
Here's another idea if you like your game mechanics to be smarter and use fancy quadratic formulas.
Mechanism 3 Each participant (verified by personal proof) can purchase \(X\) units at a price of \(P * X^2\), and each buyer can purchase at most \(C\) tokens. \(C\) starts at some low number and increases over time until enough units are sold.This mechanism has a particularly interesting property that if you're making governance tokens (please don't; this is purely harm-reduction advice), the amount allocated to each buyer is theoretically optimal, although of course Post-market transfers can reduce this optimality over time. Mechanisms 2 and 3 both seem to satisfy all of the above goals, at least to some extent. They don't have to be perfect and ideal, but they are great places to start.
still have a question. For NFTs with fixed and limited supply, you may have the problem that each participant's equilibrium purchase quantity is a fractional number (in mechanism 2, maybe number_of_buyers > N, in mechanism 3, maybe set
\(C = 1\) has resulted in enough demand to exceed -subscription sales). In this case, you can sell odds and ends by offering a lottery: if there are N items for sale, you have a chance of N/number_of_buyers actually getting that item if you subscribe, otherwise you get a refund. For conferences, groups that want to attend together can be allowed to bundle their lottery tickets for a guaranteed win-all or lose-all. The ability to obtain specific items can be sold at auctions.
An interesting mild gray hat tactic for conference tickets is to disguise the market-rate pool as an underlay of "sponsorship". You might end up with a bunch of faces on sponsor boards, but... maybe that's fine? After all, EthCC has John Lilic's face on their sponsor board!
In all these cases, the core of the solution is simple: if you want to be reliable and fair to people, then your mechanism should have some input that explicitly measures people. Proof-of-personality protocols can do this (combined with zero-knowledge proofs to ensure privacy if desired). Therefore, we should combine the efficiency gains of market pricing and auction pricing, and the equality gains of proof of personality mechanisms.
Answers to possible questions
Q: Could it be that many people who don't care about your item at all will buy the item through an egalitarian scheme and immediately resell it?
A: Initially, probably not. In practice, this metagame will take time to emerge. However, if/when they do, one possible mitigation would be to make them untradeable for a period of time. This actually works because personal identities are not tradable: you can always use your face to claim that your previous account was hacked, and that the identity corresponding to you, including everything in it, should be transferred to a new account.
Q: What if I want to make my project accessible not only to the general public but also to specific communities?
Q: How do we know people will accept this? People have resisted strange new mechanics in the past.MetaverseA: It's hard to get people to accept a new mechanism that they think is weird, and to get economists to write their conclusions about how they "should" accept it for "efficiency" (or even "fairness"). However, rapid changes in circumstances do a good job of resetting the expectations people set. So if ever there was a good time to try this, the blockchain space would be that time. You can also wait for the "metaverse", but very likely


