August 8th, 2022
Soulbound tokens are a theoretical token designed to be the basis for Web3 and Decentralized Society. While soulbound tokens are still in their early stages — described only in a whitepaper with no formal protocols — they could have significant security implications once they are formally defined and implemented.
Soulbound tokens are a special form of non-fungible token (NFT). Normally, NFTs are designed to be transferred between different blockchain wallets. Currently the main application of NFTs is to track the ownership of digital art.
Soulbound tokens are designed to be permanently held by a special type of blockchain address called a Soul. These soulbound tokens will represent certain information about the owner of the Soul account. For example, a user might have a Soul devoted to holding identity documents (driver’s license, passport, etc.), another one holding login credentials for professional accounts, and a third for other information.
By demonstrating ownership of a particular Soul, a user demonstrates that they have certain attributes. For example, during a job interview, a user may prove their credentials by proving ownership of soulbound tokens that encode diplomas, professional certifications, and other relevant credentials.
One of the biggest advantages and security challenges of blockchain technology is its pseudonymity. On the blockchain, anyone can create an account, which only requires generating a random private key and the associated public key and account address. With this account, a user can perform any action on the blockchain.
Since account keys are random, they are not linked to real-world identities, which provides pseudonymity. This pseudonymity is exploited by malicious actors on the blockchain, who use it to carry out exploits of DeFi contracts and other blockchain-based projects. With a pseudonymous account and coin mixing services like Tornado.cash, it can be very difficult to attribute attacks for prosecution.
One of the primary purposes of soulbound tokens is to provide a level of identification for the person behind a Soul address. If a user can perform actions with a Soul address, then they are presumably the owner of that address, and all of the identifying information associated with that account belongs to them.
This identification can be invaluable for access management on the blockchain. For high-risk actions, a user may be required to prove their identity or demonstrate a good reputation, making it much more difficult to attack blockchain smart contracts without being caught.
Soulbound tokens are designed to encode the identity and other attributes of an entity on the blockchain. According to Vitalik Buterin’s original proposal, this would be accomplished by tying a Soul address to a proof-of-humanity profile, ENS name, or other attribute that a user cannot or is unlikely to sell.
However, Soul addresses boil down to an extremely powerful account, and account security is already a major challenge on the blockchain. Numerous high-profile DeFi hacks have been enabled by account takeover attacks, and the loss of cryptocurrency due to lost/stolen private keys is commonplace.
To be effective, soulbound tokens need to be difficult to transfer or replace.
However, this also raises the complexity of remediating a compromised account. While a dispute may be remediated via a Kleros court, this can take time and be vulnerable to exploitation via new technologies such as deepfakes. In the meantime, an attacker can exploit the identity, attributes, and credentials associated with a compromised account in their attacks.
Identity management is a complex problem on the blockchain. Blockchain’s pseudonymity is an intentional feature and provides privacy protections that may enable the development and use of projects that may not exist on other platforms.
On the other hand, perceived anonymity also can encourage malicious activity on the blockchain, such as the exploitation of vulnerable DeFi projects.
Soulbound tokens have the potential to provide a mechanism for proving the identity or other attributes of an entity on the blockchain. While this is good for blockchain security and access management, it also creates challenges around securing these identities and managing the fallout of compromised Souls.