Hello!
I’ve been researching how to enable decentralized nft marketplaces. Currently most if not all are centralized with an offchain orderbook to facilitate trading over malleable offchain metadata. The idea I’ve been playing with is to utilize locality sensitive hashing / minhash. By minHashing all the traits of the nft as “key:value” pairs we can calculate jaccard similarity between an nft and a bid onchain.
In an analogy. the minhash is like a low resolution image of the nft, created by placing all the “key:value” traits on a stage and taking the snapshot. The bidder can than place the traits they want on the stage and takes a snapshot of that. we can now compare the two low resolution images and come up with a probability they are the same. The bidder can set a tolerance/confidance threshold and the smart contract will allow the swap to pass if they are sufficiently similar.
I think this belongs as a standard to define rules and expectations on how to construct the minHashes specifically, as more nft minters conforming to a same schema will make their markets more liquid to each other- looking at all the pokemon card gacha games.
Semi-Fungible Trading Onchain | Jaccard Swap provides a reference attempt, GitHub - jaccard-swap/relic-safari · GitHub ties to make a playable game out of it so users an feel the power of jaccard across an intent.
I think this is important as the rwa space will suffer a netflix style tragedy of the commons as they all try to verticly integrate their own marketplaces. They need a credibly neutral onchain marketplace to avoid market fragmentation. I dont think this will come from the companies making them either as they have a buyback now feature that makes them good profit, but disappears when users can get market prices elsewhere.
thanks for your time!