Original Author: Vitalik Buterin
Original translation: Block unicorn
Original Author: Vitalik Buterin
Original translation: Block unicorn
One feature of World of Warcraft that is second nature to players but mostly not discussed outside of gaming circles is the concept of soulbound items, which cannot be transferred or sold to other players once picked up.
Most very powerful items in the game are soulbound, often requiring the completion of complex quests or slaying very powerful monsters, usually with the help of four to thirty-nine other players. So, in order for your character to come close to having the best weapons and armor, you have no choice but to participate in killing these extremely difficult monsters yourself.
The purpose of the mechanic is fairly clear: it keeps the game challenging and fun by making sure you get the best items, and you have to actually do the hard stuff and figure out how to slay dragons. You cant just kill pigs for ten hours a year, get a few thousand gold coins, and buy epic magical armor from other players who kill dragons for you.
Of course, the system is far from perfect: you can pay a team of professionals to accompany you to slay dragons, then let you collect loot, or even buy a character directly on the secondary market, and none of this - the game $, so you dont even have to kill a wild boar. But even so, its still much better than every item that always has a price.
NFTs in their current form share many of the same properties as rare and epic items in massively multiplayer online games. They have social signal value: those who own them can show them off, and there are a growing number of tools to help users do just that. Recently, Twitter started rolling out an integration that allows users to feature their NFTs in their image profiles.
But what exactly are these NFT signals? Part of the answer, of course, is some skill to acquire NFTs and know which ones to acquire. But since NFTs are tradable items, another big part of the answer inevitably becomes that NFTs are about signaling wealth.
image description
If someone shows you that they have an NFT that you can get by doing X, you cant tell if they did X themselves or if they just paid someone else to do X. Sometimes this is not a problem: for an NFT to support a charity, people who buy it from the secondary market are sacrificing their own funds for the cause, they are helping the charity by contributing to the motivation of others buying the NFT, so there is no reason to discriminate them. In fact, charitable NFTs alone can do a lot of good. But what if we want to create NFTs that arent just about who has the most money, but actually try to signal something else?
Probably the best example of a project trying to do this is POAP, or Proof of Attendance Protocol. POAP is a standard by which projects can send NFTs representing the idea that the recipient has personally participated in certain events.
image description
Part of my own POAP collection, mostly from events Ive attended over the years.
A POAP is a great example of an NFT, and would work even better if it could be soulbound. If someone is looking at your POAP, theyre not interested in whether you paid someone to attend something. Theyre interested in whether youll be there in person for the event. Proposals to put certificates (e.g. drivers license, college degree, proof of age) on-chain face a similar problem: if people who dont qualify themselves can buy certificates directly from people who qualify, they are much less valuable.
While transferable NFTs have their place and are extremely valuable for supporting artists and charities, there is a large and untapped design space for what non-transferable NFTs might become.
What if governance is soul bound?
Here are 5 more articles I wrote on the disgusting topic Nathan Schneider on the Limits of Cryptoeconomics Beyond Token Voting Governance Coordination, the Good and the Bad On Collusion Governance, Part 2: Plutocracy still sucks but it still bears repeating: if governance mechanisms are prone to very bad things, if governance power is easily shifted. This is so for two main reasons:
If the goal is to distribute governance rights widely, then transferability is counterproductive, as centralized interests are more likely to buy governance rights from others.
If the goal is to put governance in the hands of capable people, then transferability is counterproductive because there is nothing preventing governance from being acquired by determined but incompetent people.
If you take the adage he who most wants to rule is the least fit to do so seriously, then you should be skeptical of transferability precisely because it takes governance away from the power most likely to provide value. The docile people who put in the governance and the power-hungry people who are most likely to cause problems.
So what if we try to make governance non-transferable? What if we tried to create a CityDAO where people who actually live in the city have more voting power, or at least a reliable democracy and avoid the undue influence of whales hoarding large numbers of citizen NFTs? What if the DAO governance of a blockchain protocol could somehow make governance power conditional on participation? Once again, a large and fruitful design space opens up that is difficult to access today.
POAP has made a technical decision not to prevent the transferability of POAP itself. There are good reasons for this: users may have good reasons for wanting to migrate all their assets from one wallet to another (for example, for security reasons), and the security of naively implemented non-transferability is not anyway Strong because a user can create a wrapper account containing an NFT and then sell ownership of it.
In fact, there are quite a few cases where POAPs are often bought and sold when there is an economic justification. Adidas recently released a free POAP to their fans that gives users priority access to merchandise sales. what happened? Well, of course, many POAPs were quickly passed to the highest bidder.
image description
There are more transfers than items, and not the only time.
To address this, the POAP team recommends that developers concerned with non-transferability implement checks themselves: they can check on-chain if the current owner has the same address as the original owner, and they can add more complex checks if deemed necessary ,over time. As it stands, this is a more forward-looking approach.
Perhaps the most powerful non-transferable NFT today is Proof of Humanity. In theory, anyone could create a human proof profile using a smart contract account with transferable ownership and then sell that account. But the Proof of Humanity agreement has a revocation feature that allows the original owner to make the video, request that the profile be removed, and a Kleros court decide whether the video is from the same person as the original creator. After successfully deleting their profile, they can reapply to make a new profile. Therefore, if you buy someone elses documentation, your property could be taken from you very quickly, making transfer of title infeasible. Human Proof Profiles are in fact soul-bound, and the infrastructure built on top of them can allow on-chain items to often be bound to a specific human.
Can we limit transferability instead of going all the way and building everything on proof of humanity? It gets harder, but for some use cases there are some moderate strength methods that might be good enough. Binding NFTs to ENS names is an easy option, if we assume users care enough about their ENS names that they are not willing to transfer them. Currently, we may see a range of approaches to limit transferability, with different projects choosing different tradeoffs between security and convenience.
Non-Transferability and Privacy
Cryptographically strong privacy for transferable assets is fairly easy to understand: you take your coins, put them into tornado.cash or a similar platform, and withdraw them to a new account. But how do we add privacy to soulbound items if you cant transfer them to a new account or even a smart contract? If Proof of Humanity starts to gain more adoption, privacy becomes even more important as the alternative is for all of our activities to be mapped directly on-chain to human faces.
Fortunately, some fairly simple technical options are possible:
Store items at an address that is a hash of (i) the index, (ii) the recipient address, and (iii) the secret belonging to the recipient. You can reveal your secret to an interface, which will then scan for all items that might be yours, but people without your secret cant see which items are yours.
Publish a bunch of project hashes and give each recipient their Merkle (Merkle tree) branch.
If a smart contract needs to check whether you own an item of a certain type, you can provide a ZK-SNARK.
Transfers can be made on-chain; the simplest technique might just be a transaction that calls the factory contract to invalidate the old item and validate the new item, using a ZK-SNARK to prove the operation is valid.
Privacy is an important part of making this ecosystem work well. In some cases, the underlying things that the project represents are already public, so it doesnt make sense to try to add privacy. But in many other cases, users dont want to reveal everything they have. If at some point in the future, vaccinations become POAPs, one of the worst things we can do is create a system where POAPs are automatically posted for everyone to see and everyone has no choice but to Only to have their medical decisions influenced by what seems cool in their particular social circle. Privacy as a core part of design can avoid these bad outcomes and increase our chances of creating great things.
from here to there