No Intermediary NFT Trading Protocol With More Diverse Royalty Schemes
Abstract
Add a marketplace functionality to ERC-721 to enable non-fungible token trading without relying on an intermediary trading platform. At the same time, implement a mandatory, more diverse royalty scheme.
Motivation
Most current NFT trading relies on an NFT trading platform acting as an intermediary, which has the following problems:
- Security concerns arise from authorization via the
setApprovalForAll
function. The permissions granted to NFT trading platforms expose unnecessary risks. Should a problem occur with the trading platform contract, it would result in significant losses to the industry as a whole. Additionally, if a user has authorized the trading platform to handle their NFTs, it allows a phishing scam to trick the user into signing a message that allows the scammer to place an order at a low price on the NFT trading platform and designate themselves as the recipient. This can be difficult for ordinary users to guard against. - High trading costs are a significant issue. On one hand, as the number of trading platforms increases, the liquidity of NFTs becomes dispersed. If a user needs to make a deal quickly, they must authorize and place orders on multiple platforms, which increases the risk exposure and requires additional gas expenditures for each authorization. For example, taking BAYC as an example, with a total supply of 10,000 and over 6,000 current holders, the average number of BAYC held by each holder is less than 2. While
setApprovalForAll
saves on gas expenditure for pending orders on a single platform, authorizing multiple platforms results in an overall increase in gas expenditures for users. On the other hand, trading service fees charged by trading platforms must also be considered as a cost of trading, which are often much higher than the required gas expenditures for authorization. - Aggregators provide a solution by aggregating liquidity, but the decision-making process is centralized. Furthermore, as order information on trading platforms is off-chain, the aggregator’s efficiency in obtaining data is affected by the frequency of the trading platform’s API and, at times, trading platforms may suspend the distribution of APIs and limit their frequency.
- The project parties’ royalty income is dependent on centralized decision-making by NFT trading platforms. Some trading platforms implement optional royalty without the consent of project parties, which is a violation of their interests.
- NFT trading platforms are not resistant to censorship. Some platforms have delisted a number of NFTs and the formulation and implementation of delisting rules are centralized and not transparent enough. In the past, some NFT trading platforms have failed and wrongly delisted certain NFTs, leading to market panic.
Solution
In short, the NFT trading function is directly written into the NFT’s own contract, and the royalty distribution mechanism is set. In this way, we have no intermediary, safer, 0 service fee, with network-wide liquidity and meet the project party of the copyright tax revenue, anti-censorship NFT trading protocol.
Mechanism Design
It includes:
~ a method to list an item for sale or update an existing listing, whether private sale (only to a specific address) or public (to anyone),
~ a method to delist an item that has previously been listed,
~ a method to purchase a listed item while royalties are automatically distributed
~ a method to view a specific listing.
Optional: Collection Offer Extention and Item Offer Extention
This interface could also be adapted for ERC1155 standard, but might require adjustments
Note: Compatibility with EIP6147 can be considered in the future. NFT can only be traded without guard
Other - Optional Blocklist
Some viewpoints suggest that tokens should be prevented from trading on intermediary markets that do not comply with royalty schemes, but this standard only provides a functionality for non-intermediary NFT trading and does not offer a standardized interface to prevent tokens from trading on these markets. If deemed necessary to better protect the interests of the project team and community, they may consider adding a blocklist to their implementation contracts to prevent NFTs from being traded on platforms that do not comply with the project’s royalty scheme.
If community members support it, they may also block these platforms that charge higher service fees.