Posted on Sep 21, 2022Read on

Sound V2

Sound has come a long way since its launch in 2021, and the upcoming protocol release includes significant upgrades aimed at allowing anyone to leverage it for music-related NFTs.

The new protocol allows for 4 specific types of NFT releases, and also includes novel features to gamify mints and incentivize an ecosystem to build on top of the protocol.

Minting at the Speed of Sound

In implementing this new version, Sound worked with a developer called Vectorized, who is known for their work on Solady (a highly optimized set of Solidity contracts), and an NFT implementation called ERC721A (co-maintained with the Azuki NFT team).

The most notable improvement that ERC721A makes to the NFT standard is that it supports minting multiple NFTs very efficiently. Minting multiple NFT editions is something that we worked on a lot at Mirror, so I’m familiar with the difficulty of doing this! This implementation gets the cost down similar to that of minting a single NFT, which is going to be important for Sound’s next set of goals as a product and protocol.

Both ERC721A and the Solady toolset are used in the Sound protocol release, which means that the new protocol is optimized for efficiency, and specifically optimizes around minting editions. As long as Vectorized’s implementations are safe and secure, this is a good bet for Sound’s core product offering, which allows music lovers to mint NFT editions of songs after they participate in an online “listening party” for new drops.

Minting Modules: The Life of the Party

During listening parties, artists on Sound debut their new music. Collectors listen to the new song during this online event and collect limited-edition NFTs of that song. They can then resell the NFT on a secondary marketplace like OpenSea, or keep it in their wallet to show public support for the artist.

When artists drop their new songs on Sound, they will have the option to use one of a range of different types of minting options. For each type of release on the protocol, there is a module in the codebase that encapsulates its functionality.

Minting permission for the edition is granted via a “minter role” to the module the artist wants to use for their drop. Each of these types includes a start time and an end time, and minting is only enabled between these two timestamps.

These release types include:

Max Minting

A simple and standard module allowing editions to be minted up until a maximum quality per account and per NFT collection as a whole. The concept is similar to other NFT marketplaces like Foundation.

Signature-Permission Minting

This allows the artist to give a “ticket” to their collectors, enabling them to mint the NFT edition at a specific fixed price. The ticket is an ECDSA signature that can be produce by a backend. This could be used to enable sybil-resistance for drops, by requesting users to go through a captcha service that gates an API that produces the signatures.

Merkle-Drop Minting

This provides a way for artists to drop NFTs to a selected group of collectors at a given price.

Time-bound “Range” Minting

This allows artists to create editions where minting is possible for a larger supply cap for a limited amount of time and then restricted to a lower supply cap after that time. This works by setting 2 limits: a lower max and an upper max, and a time where the lower max becomes the quantity limit (freezing minting if at or above).

The Golden Egg

A Golden Egg is a special hidden NFT that one person in the listening party will receive, based on their edition’s token ID. The token ID for the Golden Egg is unknown to anyone involved in the listening party; the Golden Egg only gets revealed at the end of the listening party.

This feature requires a randomly selected token ID to be revealed. Those familiar with blockchain programming will know that there is currently no true source of randomness in Ethereum. Nonetheless, the approach taken here is very compelling. The technical approach is as follows:

With each mint or Merkle drop on the NFT contract, a variable called _mintRandomness gets updated by picking one of the last 256 blocks (using the current _mintRandomness) and hashing together a combination of the following inputs:

  1. The coinbase() – the chosen block’s miner’s address

  2. The difficulty() of the block – which becomes a source of randomness after the merge via EIP-4399

  3. The current _mintRandomness

Once edition minting is concluded then the mint’s randomness becomes publicly available, and the Golden Egg’s token ID is revealed. This turns an ordinary Sound edition into an “one-of-one” NFT – presumably with a much higher market value.

Promoting the Party with Affiliate fees

Also included in this release is the idea of an affiliate fee. This is an entirely new feature and allows a given address to earn a fee percentage from the NFT sales. I’m only aware of one other protocol that has this – Zora has a “finder’s fee” in their marketplace protocol, but it’s not part of the primary minting experience. So this could be an interesting way to gain developer adoption for third-party developers in a way that other protocols have struggled. Affiliate fees are not included in OpenSea’s Seaport contracts, Mirror’s Writing Editions, or in Foundation’s NFT contracts. I’m excited to see how this feature will be used.

General Thoughts and Conclusion

While there has been some debate in the crypto community on the sustainable value proposition of collecting music NFTs, the idea has clearly attracted the capital and talent required to launch an attractive product. There is currently an impressive list of artists using the platform (I’m enjoying listening to Sound’s listed songs while completing this review). They’ve also already paid out millions of dollars to artists. The new protocol’s efficiency around edition-minting for listening parties will give their product a powerful shot in the direction of mainstream adoption.

Regardless of what you think about the proposition of collecting music NFTs, I want to stress that the SoundXYZ team is hard-working and has built a product and protocol that looks professional and well-optimized. As a personal note, I’ve been in the a16z shared office for portfolio companies on Sunday mornings and seen the founders hard at work. They’re grinding hard on this idea, and have made several good decisions.

The Sound product doesn’t need mainstream adoption in order to start moving up the curve of viability. The web3 model differentiates itself precisely because it has high returns for low usage. Make fun of the NFT collector meme if you like, but it’s still true that artists only need 100s of collectors to do better than on web2 counterpart products. If this business model does start working for them, it’ll have network effects and attract more artists. That’s how new cultures are formed and consumer behaviors are developed.

In any case, the core features of Sound’s new protocol solve real problems for their product (efficiently minting multiple editions) and also introduce an affiliate fee that might create an ecosystem of music relayers. Affiliate integrations might radically change the proposition for Sound – for example, I think Spotify should be considering partnering with Sound to use their protocol to prototype collecting in their product. If something like this happens, Sound has the chance to move from a product to a protocol, and can start a decentralization process like we saw with DeFi counterparts. It would be interesting if Sound were to become the first major product to make this critical move successfully in the NFT space. I hope they keep up the grind in the face of naysayers.

Protocol Review is excited to continue publishing accessible reviews for decentralized protocols. We believe in using our deep technical knowledge to distill protocols and increase their mainstream understanding.

To stay up to date with the latest reviews, subscribe to our Mirror publication and follow us on Twitter. If you have suggestions for protocols you’d like to see reviewed or are interested in writing for the PR, fill out this form.