Soulbound Tokens x Bisonai

BISONAI
5 min readNov 1, 2022

--

Co-founders of Ethereum Vitalik Buterin, Eric Glen Weyl, and Puja Ohlhaver wrote a paper titled “Decentralized Society: Finding Web3’s Soul” in May 2022. They argue in it for the creation of the so-called “Soulbound token (SBT),” a novel type of cryptocurrency. In a decentralized digital environment, these tokens are intended to represent a portion of an individual’s identity.

Soulbound tokens are non-transferable tokens that use blockchain technology to reflect a person’s identity. This could include any kind of data that makes up a person or business information, such as medical records, employment history, or other details. Souls are forever attached to a single wallet that store or distribute these records.

People might have souls on a wallet and each of which would reflect a different aspect of their lives. A person might, for instance, have a “Credentials Soul” for their professional background and a “Medical Soul” for their medical history. People would be able to create a verified, digital Web3 reputation based on their prior deeds and experiences thanks to thanks to souls implemented as SBTs.

SBTs can prove anything, including enrollment in school, voting rights in a DAO, membership in a local K-Pop dance group, credit history, or even a badge proving that you won a hot dog eating contest!

Soulbound’s reasoning is based on the well-known online game World of Warcraft. The transfer or sale of soulbound goods is prohibited. Items that are soulbound become inextricably “bound” to the player’s “soul” once picked up. — Binance Academy

SBTs give us the ability to validate our identities without identifying who we are or needing a centralized authority to vouch for us. They serve as evidence of the history or communities of the Souls. They can provide a legitimate and native decentralized Web3 identification for us. With the help of SBTs, people can even have numerous anonymous yet verified identities known as Souls.

NFTs are currently being widely used as both tickets and POAPs. POAP, or Proof of Attendance Protocol, is a type of NFT that is distributed to event attendees. NFT tickets have gained popularity since they are difficult to fake and the blockchain stores the proof of validity. Any resale of a ticket qualifies for royalties to be paid to NFT issuers. They are also regarded as mementos or souvenirs that can grant you entry to restricted material or access to upcoming events.

However, there are issues with NFTs that SBTs could address. Since the tokens cannot be transferred, this may put an end to ticket scalping and the exorbitant resale of tickets. Additionally, the possession of a POAP token or ticket alone does not indicate attendance at an event because they can be transferred. Individuals who purchase them can then claim they attended the event and received any advantages by selling them to other people. By making POAPs non-transferable, you could demonstrate that every token bearer took part in the occasion.

After that, every SBT holder can receive Souldrops for upcoming events or exclusive content. SBT holders from prior events may be eligible for discounts on upcoming events. SBTs might develop into a tool to locate and communicate with others who share your interests.

Bringing SBT to life

Since the publishing of the seminal work Decentralized Society: Finding Web3’s Soul earlier this year, there have been many attempts to define SBT token and their integration into the current blockchain ecosystem. At the time of writing, there are altogether six proposals at Ethereum Improvement Proposals that are related to SBT. Three of them are in the draft stage [1, 2, 3], two are currently being reviewed [4, 5], and only one has been finalized. The finalized proposal is called EIP-5192: Minimal Soulbound NFTs, and as its name suggests it is a very minimal update to a well-known NFT standard.

EIP-5192 introduces IERC5192 interface with one locked function and two event definitions Locked and Unlocked. According to the interface description locked function examines whether the SBT token with a specific tokenId was bound (lock status was returned as true) or not (lock status was returned as false). When a token was minted and the status is locked at that time, a Locked event will be emitted. Otherwise, the Unlocked event will be triggered when a token is minted and the status of the token is unlocked.

After reading about the reasons for the existence of SBT and their use cases, you might be now surprised by the EIP-5192 standard. The approved standard allows SBT not to be bounded all the time. The explanation is given by the author of standard Tim Daubenschütz at a discussion forum:

… it’ll still allow someone to inseparably bind a token to an account, but leave that choice to the user …

If the decision was the right choice, only time will tell, however, we expect a lot of confusion coming from the fact that the general audience will believe that the token can’t be transferred and must be bound because that is how the SBT is advertised. It might be similar to hosting NFT metadata on regular centralized servers, but claiming that by purchasing such NFT you will own, and be able to prove your ownership of some art. But, in fact, when the server goes down, you won’t have anything left, neither art nor proof.

At Bisonai, we were discussing how to help with the adoption of SBT that follows the aforementioned EIP-5192 standard, but at the same time, we wanted to make sure that its users will get what they expect. We decided to open-source our implementation of SBT which is built on top of the great OpenZeppelin smart contract library. Our implementation locks the token during the minting operation and does not allow us to unlock it. Accounts that receive their SBT cannot transfer them to anybody else. All changes follow the standard and are compatible with applications that decide to support the SBT based on EIP-5192.

You can find the implementation of smart contracts at https://github.com/bisonai/sbt-contracts and its typescript interface at https://github.com/bisonai/sbt-js. If you have any comments or suggestions, feel free to open an issue or let us know here through comments.

About Bisonai

We deliver blockchain infrastructure for Web3.

Website | Twitter | LinkedIn | GitHub | LinkTree

--

--

BISONAI

We deliver financial data analytics through AI and big data