SoulFrag is A DID-Based Reputation System. It aims to construct the cornerstone of human reputation in the future world. It's free, open and easy to use.
Bridging Human Reputation
What is reputation and why we crave it
Why pursue an eminent status after we have all we ever need? What’s the “distinguishment” we crave? We think what we crave is personal value capture and realization. Examples of this value realization can be, Alice helped Bob do something that Bob is grateful of; Charlie joined a community and proposed meaningful solutions for the community; Darcy participated in an event and gave keynote speech. Examples of value capture can be, Bob accepted Alice’s help and gave out his appreciation; Community that Charlie joined issued a badge confirming his effort; People Darcy met at the event gave out their token of appreciation for her speech.
Even though there are times that we do get the proper reimbursement, we do not receive a token of experience, or something we can trace back, something we can show the others “hey, I have done this for this community, which is cool”.
Reputation, as a social opinion, can be a tool that can be used to fulfill the needs of personal value realization and capture. Being noticed, cared, sympathized, supported by the others, these emotional reactions are part of the essential value that we want to extract from all the contributions to the community, or other deeds that we do. These values, can be represented by reputation.
What is SoulBound Token (SBT)?
SoulBound Token, or SBT, is a concept raised by Vitalik Buterin (et al.) in this paper. SBT serves the purpose as a fundamental part of DeSoc (Decentralized Society). SBT is a special version of NFT (Non-Transferable Token). NFT is the token representative of digital assets, it enables people to directly exchange digital assets, represent the ownership of a digital asset, and so on. However, contemporary NFT’s uses are limited to the confirmation of assets, still unable to confirm earnable things like personal experiences, abilities, or knowledge. POAP (proof of attendance protocol) is an example of NFT. It issues a digital badge for people who have attended an event. However, the POAP issued can be transferred, which makes it impossible to confirm that the holder of a POAP is the person that actually attended the event.
To solve the problem, SBT is invented. In the paper, Vitalik promoted the idea of a decentralized society, and soulbound token. The name of soulbound token originated from the game World of Warcraft. Having the name “Soul”, means that this thing is forever bound together with this person’s wallet address or identity, and can not be sold or transferred to another one. This makes SBT an ideal expression for displaying assets that can not be acquired through purchase, such as certificates of competency, reputation, medical records, etc. The use cases of SBT are very extensive, including the proof of education and work history, the display of credit history to improve the willingness to lend, etc.
Relationship between SBT and Reputation
SBT is the embodiment of reputation, which realizes the public verifiability of an individual’s desensitized on-chain and off-chain behaviors. It is not difficult to find that the concept of SBT has been a tool that is strongly related to reputation since it was proposed. We can simply understand SBT as a credential stored on a credible neutral network. This credential can be a proof of anything: it can prove that you participated in an event, it can prove that you helped someone, it can prove that you have some community scores, it can prove that you are a member of a community. Imagine our life in reality, our life, our reputation is accumulated by such certificates.
The only difference is that in real life, it is very difficult to record those non-quantifiable reputations, and it is even harder if we want to use these reputations for something later (such as verification). SBT can help us solve these two problems.
Reputation system could help us
A reputation system looks great. We believe that a DID-based reputation system can help us with reputation management even better.
What is DID (Decentralized Identity)? We believe that DID = Decentralized Identifier * Soulbound Token. The correspondent of decentralized identifier in our lives are, the names given to us by our parents, the nicknames we get in the company, our nicknames on social networks, etc. This identifier is essentially a mark which can uniquely point to us under a certain extent. There are many phenomena of name duplication in life, SBT is then needed to identify each other by distinguishing what each of us have done, the certifications we have obtained, and so on.
Another situation is, when we introduce someone, what we often say is “oh, he is so-and-so from such-and-such company/community”. Once there is a corresponding SBT as a distinction, you can immediately distinguish everyone. Our names (identifiers), complemented by our reputations (SBT), build us up as living individuals. Therefore, we urgently need a system based on personal identity (Decentralized Identifier) that can issue and manage reputation (SBT).
Anyone should be able to use such a system to issue SBT for others for free. Such SBTs can be issued by an individual or by an organization he created.
Real cases and Scenarios
An offline interest group needs to record reputation:
Many people in this group are interested in launching a campaign. Just because of the enjoyment of having events with other people, of connecting with other people. The problem they encountered was that the members who organized and participated in these activities had no way to record these experiences well, and had no way to bind them with their identities in the community, let alone creating more value because of participating in this activity afterward. The group could use such a reputation system to distribute badges to members in the form of organizations or events. During the process of introducing and interacting with each other, members can discover the historical activities they have participated in by referring to each other's personal profiles.
A DAO community needs a reputation-based governance system:
There is this Alice DAO community we have surveyed, they are currently considering designing their own identity and reputation systems. They need to distribute an identifiable identity to each member who meets the conditions to become a member of the community, so that everyone can feel more identified and seen within the community. At the same time, they can conveniently distribute SBTs that record contribution and community roles. They can use such a reputation management system to record member contribution in the form of scores, and members can consume points to redeem some community resources; they can also use this system to distribute SBT representing community roles. These SBTs can be read by the community's governance system and automatically converted into corresponding voting weights, assigning members to different working groups and performing other identity-based operations.
A fan community needs to use reputation and identity to develop a fan economy:
Fans in community need to seek a consensus based on the idol's identity, an identifiable mark to advertise “I am a fan of this singer”. At the same time, fans will want to prove their fan status everywhere, or show off their past contributions to idols. Fans want to meet friends with common interests. Fans are looking forward to the exclusive benefits released by the official; fans also hope to receive more scarce benefits according to their closeness with their idols. This community can determine who are real idol fans by distributing idol fan identities to community members, and distribute corresponding SBT badges to them. Such an SBT badge can be used for entry tickets for offline activities, or exchange for the right to purchase some idol products, and so on.
Why it has to be DID-basedIf such a reputation system is based on addresses instead of DIDs, there are mainly the following problems:
- Private key leakage problem:
- Poor readability of addresses
The current common practice for us when joining a Web3 community, is to create an EOA (Externally Owned Account) wallet. Such a wallet will give full ownership of the wallet to the user, and the user needs to take full responsibility for the security of the wallet. This type of wallet will prompt the user to manually record the mnemonic phrase (a form of private key) on paper. If SBT is bound to the address, once the user's private key is leaked, it means that all of reputation information that can represent this person will also be leaked, and anyone else can use these SBT information to impersonate this person. And the person whose identity information has been stolen has no possibility to make any remedy.
Imagine we are socializing with others in a community. When we introduce each other, we use a long list of address names generated by the wallet. At this time, it is difficult for us to associate such an address with the person we actually interact with. Only when we interact with the custom names of others, can we easily identify the objects we are interacting with. Here is where the Decentralized Identifier is at work in the DID equation we gave above. It allows us to identify each other.
Identifiers (understood to some extent as our real-life names) do more than just allow us to easily identify each other. We also bind our personal emotions to the name in the process of interacting with a person. When we see the name again later, we will automatically bind our emotions, trust in this person, and other psychological activities to the name. in addition. In real life, we also use forms such as "he is a so-and-so person from such-and-such organization" to introduce a person. DID's sub-account (SubDID) feature also supports us to do such things. For example, if an organization registers organization.bit / organization.eth, then he can distribute sub-accounts similar to arvin.organization to members of the organization, so that when members display their identities and reputation information outside, they will have a stronger sense of belonging, and it is easier for others to remember relevant information about this person.
Concerning Mass Adoption
For SBT to be bound to DI, this binding relationship must not only be publicly verifiable, but also permanent. If we want such a system to be used by users, or to be adopted on a large scale, we need to do some optimization.
- Single signature algorithm problem
- High gas fee
Most public chains currently only support a single signature. And if such a reputation system can only accept a single signature, it is as if each of us has an ID card of a single country instead of an ID card that can pass through the world, and some users on the chain will inevitably be excluded . This provides more room for the flexibility of SBT, allowing users to use a variety of different signature algorithms to create and verify SBT. Users can choose the signature algorithm that meets their needs and store the corresponding SBT data on the decentralized storage facility.
If SBT is to be distributed on the main network, it will inevitably face the need for the system itself, or users who use this reputation system, to pay the gas fee for on-chain transactions. A higher gas fee will be the threshold when using this reputation system. Therefore, such a reputation system can issue and store SBT on the Ethereum mainnet.
The Design of SoulFrag
We designed and developed such reputation management tool: SoulFrag - Soul Fragments that defines you.
Considering that SoulFrag is a DID-based reputation system public good, we support two DID infrastructures: .bit and ENS. Both DID systems support sub-account distribution (SubDID), and each has its own characteristics.
.bit is a barrier-free decentralized naming system that aims to provide accessible DID-based solutions for everyone and every community. At the same time, the sub-account distribution system supporting .bit is relatively complete, and the gas fee is almost zero when using it. It is the DID infrastructure that SoulFrag will first support. ENS is a classic DID service on blockchain, and currently has a large number of holders.
Regardless of whether the user is using a .bit identity or an ENS identity, all functions of SoulFrag can be used.
Various SBT categories
This is a stackable type of reputation. For example, the community needs to distribute points to record the contribution of members, or some gamified communities use it to record the experience of members; this kind of SBT can record some quantifiable behaviors with numerical values.
Build a "community activeness" reputation, and each time a member participates in a community event, 1 unit of community activeness is added. Members can use the reputation of "community activity" to exchange corresponding benefits, etc.
It is also the type of reputation that we use most often in our lives. This type of reputation is similar to a certificate, used to prove who someone is, what they have done, etc.
Build a "Core Contributor" reputation and distribute it to the most core contributors in the community. When these contributors vote on community proposals, they can obtain higher voting weight because of their corresponding reputation.
Different levels can be set for this type of reputation. Members who have been assigned this type of reputation can clearly see which level of reputation they are currently at. Some gamified communities can use this type of reputation to define a clear personal growth path for members.
In the process of including newcomers in the community, a "newcomer's path" reputation can be established, and each level introduces what needs to be done if you want to understand and be better embraced by the community. Members follow the guidance of the reputation level step by step, get to know the community better, and finally complete the process of the newcomer's path, and obtain the final level of "novice on the road" of the rookie path reputation.
When we designed these three different reputation types, we did not make too many preassumptions about how the community would use these three reputation types. What we hope to create is a foundation for an identity-based reputation system, and we will provide tools on top of this foundation for everyone to develop more complex tools and functions on top of it.
Building a Public Good
We hope to uphold the open source and open spirit of the Internet and the public goods spirit of the Ethereum ecosystem. Therefore, SoulFrag will always be
- Open source product; everyone can use it and make changes based on it.
- Decentralized product; not owned by any company or institution.
- Public goods; free for all to use and build more complex tools and functionality on top of it.
- Permissionless; no permission from the development team is required to use SoulFrag.
A Credible Neutral System
The credible neutrality of the system is one of the blockchain spirits we valued the most when designing SoulFrag. We hope that such a reputation system can make the reputation issued universally credible, and ensure that the process of issuing universal reputation is fair and neutral. Any user with a .bit or ENS account can quickly and freely introduce their own community on SoulFrag and design their own reputation system. These reputations can also be read and used by other applications (such as Voty).
One of the most considered and discussed issues in some community-related management tools in the past is the question of "social or code". For example, there are communities that deem only on-chain voting is effective. When designing SoulFrag, we hope to design a strata reputation suite. Anyone can simply map different reputation types to a piece of code on a decentralized storage facility, and contribute to the community in daily community activities Reputation distribution by members is no longer entangled in whether it should be on-chain or not, whether it is code-based or social-based.
In fact, we believe that among the many community tools, there are still too few tools that can be trusted and neutral. Few tools can implement the consensus and rules in the community to the code level. We hope to start from SoulFrag and start to code and trace personal reputation. When the reputation in SoulFrag is distributed, it can also be designed in the form of multi-signature distribution to ensure the decentralization of reputation distribution rights.
Based on the above considerations, all SoulFrag data will be stored on Arweave (a permanent decentralized storage network).
It is one of our core commitments to make our products open source and provide full API support. We are committed to building an open, transparent and customizable reputation ecosystem, providing developers with room for flexibility and creativity.
Completely open source
Anyone can view, modify and contribute the code, and customize and improve according to their own needs and ideas.
We encourage active participation and contributions from the developer community. Developers can submit suggestions, report problems, provide improvements and share solutions, and jointly promote the development and improvement of products.
We provide comprehensive API documentation and support, and provide rich functions and flexible configuration options to meet different development needs.
Scalability and customization
Developers can expand and customize our products according to their own needs. Whether it's adding new features, integrating third-party tools, or creating a custom theme, you can personalize it according to your ideas and business needs. For example, SoulFrag and Voty (a DID-based community governance tool) can be linked together, and the reputation distributed in SoulFrag can be converted into different voting weights of individuals in Voty.
We actively nurture and support an active developer ecosystem. We provide developer resources, technical support, sample code, and tutorials to help developers get started quickly and get the most out of our products.