Anton Wahrstätter, an Ethereum researcher, has come up with a new proposal for an ERC-721 extension that would incorporate “stealth” addresses to hide public blockchain transactions relating to non-fungible tokens (NFTs).
The idea was inspired by Vitalik Buterin’s conceptualization of non-transferrable Soulbound tokens.
Wahrstätter’s proposal recommends the use of a privacy-focused piece of cryptography known as zk-SNARKs to implement stealth addresses for ERC-721 tokens – Ethereum’s current token standard for NFTs).
According to the proposal, a portion of a stealth address is inserted into a Merkle tree, thereby enabling the sending, storing, and burning of NFTs without revealing all the details of the transaction on the public blockchain.
The proposal drew the attention of Vitalik Buterin, who described it as “a low-tech approach to add a significant amount of privacy to the NFT ecosystem.”He buttressed the point further in a tweet on Monday.
Idea: stealth addresses for ERC721s.A low-tech approach to add a significant amount of privacy to the NFT ecosystem.So you would be able to eg. send an NFT to vitalik.eth without anyone except me (the new owner) being able to see who the new owner is.https://t.co/UdqK6NAYjn— vitalik.eth (@VitalikButerin) August 8, 2022
Buterin, however, pointed out a few drawbacks to Wahrstätter’s proposal, insisting that the idea of anonymous NFT transactions can be accomplished “with much lighter-weight technology.”
The reason why you don’t need Merkle trees or ZK-SNARK-level privacy is that each ERC-721 is unique, so there’s no possibility of creating an 'anonymity set' for an ERC-721.According to the co-founder of Ethereum, the only challenge left is to figure out how to pay fees. He wrote:
The best I can come up with is, if you send someone an ERC-721 also send along enough ETH to pay fees 5-50 times to send it further. If you get an ERC-721 without enough ETH, then you can tornado some ETH in to keep the transfer chain going.