A typical problem with NFT sales is bad actors quickly buy up many editions with the intention to resell them at a markup price. We saw this with the CryptoNewYorkers drop.
The naive solution of limiting NFT sales to one per account still leaves us open for a Sybil attack. In short, a Sybil attack is when an individual abuses a network by assuming multiple identities. We can assume that if an actor can quickly submit multiple transactions from one account, they can easily do so from multiple accounts too. In fact, without any other barriers to entry, the naive approach would make it harder to track bad actors.
Know Your Community (KYC)
As more communities start to use NFTs for in-person events, now more than ever it is necessary to avoid this type of attack. An element of KYC is crucial to begin exploring different mitigation strategies. Some ideas for community leaders to explore:
Once a community has a sense of who should be allowed to purchase NFTs, limiting sales based on accounts will have a more powerful effect. In addition to limiting sales to members of the community, because blockchains are fun we can layer different price and time-based mechanisms. There are different sale approaches to explore and the correct one will likely depend on the community and type of NFT.
Some mechanisms to think about are:
P_x = P * x^2 where
P_x = price for unit x,
P = set price. This approach can be layered by opening up the remaining units with the same price function, auction, or set price
Ideas like this are explored in more detail by Vitalik in this post.
All in all, a minimal KYC layer unlocks the exploration of better NFT sales tailored to your specific community.