Back in January of 2022, Vitalik introduced “Soulbound” tokens - essentially, badges you cannot transfer out of an account.
These can be used for attendance, reputation, blacklisting and whitelisting, and more.
It just so happened that another team introduced Soulbound 2.0 quite a bit before that, just didn’t call it Soulbound yet. RMRK’s modular NFTs had the ability to not only lock NFTs to certain accounts, but since NFTs could own other NFTs, these Soulbound 2.0 NFTs could be locked inside of other NFTs! These parent NFTs can be otherwise normally transferable or also be non-transferable!
This opened up a variety of nice on-chain doors related to gaming with character progression systems, or even meritocratic / reputational avatars, among other things like digital passports with custom covers, concert ticket books, and more.
In today’s short post, let’s assume the world woke up to the wonders of modular NFTs and is using Soulbound 2.0 going forward. Let’s assume that within a protocol, dapp, or any other product, there are non-transferable avatars given to users and bound to their addresses, and these avatars can collect merit and transferable equippables based on that merit to visually indicate their activity through digital swag and foster a global item economy.
How can we handle the loss of access to an account? If you spend time growing your non-transferable avatar and then lose access to the account holding it, has all the effort been wasted?
Enter Soulbound 3.0: Semibound tokens.
It’s all relative
Why does Bitcoin have value?
It is inherently centralized in development, funding, and mining (there are 6 block producers, 2 of which have more than 50% of the hash rate). It is non programmable, and the best you can do on it is transaction graffiti, now known as Ordinals, but attempted in the past in the form of Colored Coins back in 2012, and taken further by the RMRK team in 2020 on the Kusama Blockchain.
These approaches take separate infra to maintain and do not scale with time - the databases become unmaintainable, which is a truth that is yet to hit the Bitcoin community. So, what is it good for? It is quite literally just fuel that you can only use to transport that same fuel somewhere else, nothing more.
Well, Bitcoin has value because we all say it does.
The saying “Until women noticed them, diamonds were just shiny rocks” applies to Bitcoin as well. Until we all agreed that it has value, it had no value. The more people agree it has value, the more value it “has”.
Bitcoin is valuable relative to public opinion.
We can apply the same view to transferability.
Why is an NFT non-transferable? Well, that’s easy. Because we said, in the code, when a transfer is attempted, reject it. In theory, we could subjectively override this with a hard fork of the chain - if many thousands of nodes producing Ethereum blocks agree that some state should change and they hold the majority, this state change will become legit (see the DAO incident and hard fork).
Barring such drastic methods, is there perhaps a more nuanced way to do this, one respecting the “code is law” mantra?
We think so, therefore, it is so
The idea behind Semibound tokens, or “Soulbound 3.0” (🫠) is:
- the transfer function is not blocked, but conditional
- the condition is:
- if there is a request to move the avatar to a new address
- and this request is vouched for by a token deposit
- and the majority (ratio configured at launch and adjustable later via governance) of other avatar holders agree with this request, adjusted for level during voting
- then allow the transfer
- otherwise burn the deposit
In simple terms: if the majority of avatar holders agree an avatar should be moved, they will collectively “will” the transferability into existence, one time only. This will allow a full community-supported account recovery, while minimizing account hijack risk with financial disincentives (token deposit).
As discussed in the DCM post, the process would go as follows:
Alice requests the transfer of account 0xAlice to 0xAliceNew from an unknown and uninitialized 0xAliceNew account. She puts down a deposit of 100 $TOKEN.
Bob has been using the platform for 2 months and in that time has accumulated 20 Treasury Merit, 10 Runtime Merit, and 0 Staking Merit. Bob has 10000 $TOKENs.
Charlie has been using the platform for 2 years and has 2000 Treasury Merit, 5893 Runtime Merit, and 3 Staking Merit. Charlie has 348 $TOKENs.
Suppose we generalize the formula to
Here w1, w2, w3, w4 are weights that correspond to each type of Merit / $TOKEN Balance.
Charlie and Bob vote on Alice’s proposal.
Charlie thinks Alice’s proposal is suspicious and votes NO. Bob thinks it all looks good, and votes YES.
Because Charlie has much more merit, his merit amplifies his voting power far beyond that of the speculating Bob, who only recently bought in. Purchasing power should not easily let someone “take over” an account, and that is what is happening in this scenario. Charlie, an ecosystem veteran, protects it.
How applicable is this approach? How hard would it be to extend current DAOs to use this?
Existing frameworks like Aragon would need a massive overhaul of their tech stack to support semi-transferables, because they would also need to move from plutocracy to meritocracy, and that’s another system entirely. It is possible, but hard, and this ecosystem’s NIH is strong.
Existing voting platforms like Snapshot, maybe. They are fully off chain so more like “trust me bro” governance, but they could develop an on-chain component which respects merit avatars, and in that case it would be easy to slap this on. They are more a governance platform for existing “DAOs” than a DAO framework itself, so hard to tell.
The best candidate, really, is Substrate, or as it’s now known - Polkadot SDK. Substrate comes out of the box with the ability to do a LOT on chain, and is why it’s powering two of the world’s biggest DAOs: Polkadot itself, and Kusama, it’s canary network.
Millions of USD in tokens are paid out every month via the treasury of those DAOs, runtime upgrades are proposed, voted on, and executed every month, staking and nomination is in constant flux, governance delegation is on fire… there is a lot of on-chain activity to track and reward there.
As I mentioned in my DCM post, there are technical barriers here too - notably, the merit scoring needs to be built with Rust code as a pallet (plugin) for the Substrate framework, allowing the chain to natively understand these terms and concepts. Then, the Democracy pallet needs to be forked into a Meritocracy pallet, taking these new primitives into account.
Until that’s done, though, we can experiment with an MVP of the concept, encapsulated and boxed off into a microverse focusing on on-chain social network interactions: Mosaic One. If that works out, we will abstract the DAO-creation part of Mosaic and open source it for anyone to use. Stay tuned.