Pay even if NFT transactions fail? How to rationalize gas fees?
In 2021, NFT collectibles exploded into a multi-billion dollar asset class. However, this success brings with it a number of problems.
Most NFTdrop uses a first-come, first-served (FCFS) mechanism with a fixed price that is well below the market clearing price (the price at which supply matches demand). What is the problem with this? Low prices and excessive demand effectively create race conditions. During highly anticipated drops, only the earliest buyers have the opportunity to mint NFTs. as a result, demand for mint transactions in the next block rises, and gas fees increase dramatically.
If you're not familiar with the term "gas fee", it is the fee that users pay for the use ofEtherThe fee paid for a blockchain. Specifically, "gas" is the fee required to conduct a successful blockchain transaction. Users useEtherPayment fees, Ether is the cryptocurrency used on the Ether blockchain. The network calculates the amount of gas a user needs to pay based on the demand for block space. Usually, the fee is set automatically by the user's wallet. gas is measured in gwei, which is 10^(-9)ETH.
At peak times, you will be involved in what is called a "gas war". This is a phrase used when there is a huge spike in gas prices as countless users try to get a deal confirmed in a small window of time.
The gas wars that occurred during the high-demand NFT decline created a terrible experience for all users on that blockchain. For example, the rush to mint and list Loot derivatives after the breakthrough success of the Loot project caused several spikes in gas fees, raising the trading price across the ethereum network. The chart below shows how the gas fee spiked whenever Loot derivatives were minted on September 2.
In this article, we explore some case studies of how FCFS drops have negatively impacted users. We also provide suggestions on how collection creators can mitigate these issues.
Enter the Metaverse: The problem with the Adidas drop
Into the Metaverse is a collaborative NFT project between Adidas, Gmoney, Bored Ape Yacht Club (BAYC) and PUNKS Comic. It was released in December 2021. By owning one of the 30,000 NFTs, holders will receive limited edition Adidas merchandise and future virtual experiences. There is a pre-sale event that only collectors who own one of the collaborative project's NFTs can participate in, followed by a public sale that anyone can attend.
There are two main issues plaguing public auctions. The first is the high cost of gas. The demand to execute mint transactions to obtain Adidas NFTs greatly exceeds the number of transactions the Ethernet network can handle in a single block. As a result, the cost of processing an Ether transaction rises dramatically.
The chart above illustrates these dynamics by plotting minting transactions across blocks. Green dots indicate successful minting nft and red dots indicate failure.
35,000 wallets attempted 39,000 mint transactions, of which 59% of minting failed. The median of the successful mint transactions was 0.16 ETH of gas. 680 ETH worth of gas was wasted on the failed mint. Based on the ETH price at the time, that's $2.6 million.
The second problem with the public offering is that each wallet is allowed to mint a maximum of two NFTs. however, some participants use bots to circumvent the rules. For example, a speculator minted 330 Adidas NFTs in a single transaction. this person wrote a custom smart contract that deployed many subcontracts. All of the subcontracts participated in minting the coins and sending the NFTs to a wallet.
One system that could alleviate the problems plaguing Adidas NFT sales is the drop mechanism developed by the parallel NFT project. Using this system, the Into the Metaverse project will allow users to pre-order NFTs off-chain. as initially planned, each user will be able to pre-order up to two NFTs. after making one pre-order, the user must wait five minutes to reserve another. In this way, the bot will not be able to grab all the inventory before a human with normal reaction time can make a purchase.
The pre-sale period will continue until all NFTs are booked. Once all NFTs are booked, there will be a 24 hour period where users can pay for their booked NFTs on the chain. This means that users will not have to rush to make transactions on short notice and there will be no gas wars. It will also give the core team time to identify and weed out any bots involved in the first phase.
Finally, the NFT will be cast and sent to the buyer in batches. Adidas will pay the cost of gas associated with minting and transferring the NFT from the drop revenue. Note that using this method, buyers only need to make one payment transaction on the chain, which has a relatively low gas cost compared to minting transactions.
The downside of this approach is that users will have to trust centralized, off-chain pre-selling systems - and team members who blacklist bots - to prove that the user is a unique person and not a bot without compromising decentralization, which is still a developing area in the web3 space.
Those problems with Doodles
Doodles is a collection of 10k pfp NFTs to be launched in October 2021.
There are two phases of Doodles placement: the whitelist-only FCFS casting phase and the public FCFS casting phase. During the whitelist phase, users can cast as much as they want, the underlying gas stays reasonably stable, and there are few failed trades. Once the public sale begins, the demand for block space rises as people rush to cast the remaining Doodles and the cost of gas rises sharply.
During the pre-sale period (before the gray vertical line), failed transactions account for only 0.2 ETH of fees.
During the public offering (after the gray line), there were 13,000 mint transactions attempted by 10,000 wallets. 12,000 of these attempts failed, representing a failure rate of 90% or more. The median number of successful mint transactions was 4.0 ETH of gas.
Due to the failed transaction, 335.2 ETH worth of gas was wasted. Based on the ETH price at the time, this was equivalent to $1.26 million. The block's 13,439,104 Etherscan entry is a perfect microcosm of the carnage - it had over 1,000 failed Doodles transactions, resulting in nearly 100 ETH in failed transaction fees alone.
Implementing the MultiRaffle method can improve gas efficiency and Doodles drop failure rate. Anish and Hasu, researchers from Paradigm Cryptocurrency Investments, developed this drop mechanism. It involves users buying raffle tickets by locking in funds in a smart contract. The cost of the lottery ticket is equal to the cost of the NFT and this cost is refunded if that ticket does not win.
The ticketing period should last for multiple days to ensure that there is no impact on gas prices. Once the ticket purchase period is over, the winner is selected using Chainlink VRF to provide robust randomness. Each ticket has an equally random chance of being selected. Finally, users can claim their NFT or get a refund at any time.
Only then will the project team be able to draw funds from the contract as specified in the code.
Stoner Cats' drop
Stoner Cats is an animated short film produced by an all-star cast, including Mila Kunis and Ashton Kutcher, and the purchase of one of 10,420 NFTs entitles holders to a variety of episodes and benefits, such as conceptualization and behind-the-scenes content with the creators.
During the launch period, 35,000 wallets were minted 5,000 times. 51% mint attempts failed. Each successful mint cost 0.22ETH of gas. 345 ETH worth of gas was wasted on the failed mint. Based on the Ether price at the time, this was equivalent to $794,000.
As the minting of Stoner Cats began, the cost of gas skyrocketed. In addition to this, minting contracts are written inefficiently, resulting in under-calculation of gas limits. As a result, users who did not manually adjust their gas limits in their wallets were more likely to experience failed transactions.
Thankfully, the Stoner Cats team decided to reimburse participants for their gas fees after the incident.
In addition to improving the contract, one way to help improve gas efficiency would be to put a limit on mint options behind a series of Stoner Cats-themed games and puzzles. The nature of these challenges would be diverse and appear on many different platforms, making treasure hunts infeasible for bots even if the user knows all the steps. A good example of this approach is the opening of TempleDAO, which includes multiple steps of the Discord command thatCryptovoxelspuzzle room, and answering questions on a customized website.
This approach will help stagger the minting process, and those who have not completed a series of challenges by the time all NFTs are minted will not have the opportunity to submit minting transactions.
Using puzzles and games to gate the casting of NFT is an interesting way to filter participants and select those most engaged and interested in the project - rather than inadvertently filtering those with the biggest wallets and highest skills, which is the way it currently works. In the long run, this could have a positive impact on the community.
How TIMEPieces can be improved
In September 2021, Time Inc. dropped an NFT project called TIMEPieces. The collection includes 4,676 NFTs featuring works by more than 40 artists. Benefits for holders include unlimited access to the Time website until 2023 and exclusive invitations to future personal events.
11,000 wallets were minted for 13.5k, with 96% of them failing to mint. The median cost of gas for a successful minting transaction was 2.3 ETH. 265 ETH worth of gas was wasted due to the failed transaction. Based on the ETH price at the time, the wasted gas was valued at $836,000. In block 13,283,025, the failed TIMEPieces transactions account for about 90% of the entire block!
The failure rate of TIMEPieces drop was a horrible 96%. NFTs were sold out in just 2-3 minutes because the "scientists" found the contracts and deployed the bots in advance.
One method the team can use to prevent this outcome is a smart batch auction. Using this method, users submit bids to a smart contract specifying the number of tokens they want and the price at which they wish to buy them. Once the bidding period ends, a liquidation price is calculated to match demand and supply. Users who bid above that price can claimNFT at any time, plus the difference in ETH between the bid and the clearing price. Users who bid below that price will have their ETH refunded by the contract.
Other ways to solve the NFT drop problem
In addition to the placement mechanism explored above, NFT projects can also explore routing mint transactions through Flashbots RPC during the placement process. This brings two main benefits.
If the transaction fails, the user will not have to pay gas for it.
The bot will not see the user's mint transactions in the public mempool.
One way a project can take advantage of Flashbots RPC is to add an informational pop-up to the drop site explaining to users how to use Flashbots RPC to mint coins.
Another approach is to design drop sites to detect users who are not using Flashbots RPC and prompt them to add them to Metamask before minting.
In this article, we've explored a case study of how FCFS collection placement can lead to a poor user experience, and suggested some possible alternatives.
We want to see the community unite and push against the FCFS model. As users, we have the ability to vote with our wallets and decide what projects will succeed. If we make it clear that we will not support project teams that are unwilling to improve their technology, the development team will design drops that provide a better user experience.