Explore how Ethereum-based attestations can enable more transparent, portable, and fair governance in decentralized communities. In this article, we discuss the limitations of centralized platforms and how attestations can be utilized to promote further decentralization of community governance and behaviors.
Join us on Alice's journey through a mock DAO as we explore the power of attestations in action.
Communities should not be shackled to the centralized platforms they choose to assemble on. They must seek decentralization and independence. When a community and its members are truly decentralized, it empowers individuals and collective innovation that transcends existing boundaries and systems.
By breaking free from centralized platforms and embracing decentralization, communities can take ownership of their governance and generate more honest and transparent opportunities. Through the use of attestations, the community can govern itself in a manner that is fair, secure, and free from the influence of centralized entities.
Centralized platforms pose significant challenges to the achievement of true decentralization for communities. While user-friendly platforms like Discord are popular, they don't provide the necessary flexibility and portability for decentralized community management.
Let's take a look at a common authorization journey in Discord:
User buys or receives the membership NFT (ERC721).
Collab.Land or other software authenticates access.
The user agrees to server community rules.
The user selects reaction roles for further access in the Discord.
The member ultimately leaves but membership is not revoked.
There are several issues with this process:
Anyone can buy, sell, or transfer the authorization token.
Centralized platforms control user data.
Community roles aren't easily extensible or portable to other systems.
Bad actors and spam can easily join and disrupt community progress.
Memberships are often lifetime and not based on engagement or contribution.
Reputation systems, if any, are centralized in the platform.
Voting systems are also disparate and not accessible to all members.
To truly embrace decentralized community management, it's essential to acknowledge the limitations of current centralized platforms and move towards more open, interoperable systems that prioritize portability and user autonomy. When a community is more portable, it opens up new possibilities for growth and collaboration with other communities and their partners.
Attestations are digital statements about anything that are signed by a wallet. Attestations have provable authenticity, the data they hold cannot be altered, they are composable, and they can be revoked by the attestor.
Ethereum Attestation Service (EAS) is a public good for easily making Ethereum-based attestations about any topic on or off-chain. Each attestation made with EAS has these critical features:
UUID - the autogenerated unique universal identifier that’s a hash of the attestation
Timestamp - when it was created
Attester - who made the attestation
Recipient - the address the attestation was about (if relevant)
Attestation data - the information of the attestation
Reference UUID - the UUID of the related attestation (if any)
Expiration time (optional) - the time the attestation expires
Revocation time (optional) - the status and date if attestation was revoked
Resolver - an optional contract that can be triggered from the schema once the attestation is made
You can customize the schema of the attestation data to be anything you want to fit your specific use case, as long as it follows Ethereum ABI types. Different people may find certain fields more valuable or effective, depending on their specific needs.
The value of an attestation comes from the credibility and trustworthiness of the person making the attestation, not from the schema itself.
Attestations can be used for much more than just community roles and authorizations. They can help us achieve new possibilities in digital identity, reputation systems, voting systems, supply chain provenance, prediction markets, moving important records on-chain, digital signatures, notaries, and more.
Let's explore the benefits of using attestations for better-decentralized community management. We’ll follow Alice on her journey from joining the mock DAO, gaining authorizations, voting, and ultimately leaving.
For the following Alice examples let’s assume:
Alice’s Wallet Address: 0xe7E05f1ea1Bed40e17a4E81D299bcCdfE908dB03
DAO Wallet Address: 0x3A10bd511Ee30e04B75F97529383d4C97C5bc7d1
Please Note - The schemas used in these examples are not meant to be the optimal types and fields for every use case. We have opted for simple string types in most use cases to allow for easy reading.
Depending on your use case, you may find certain fields more or less important, or may want to add or modify fields as necessary. You have complete flexibility to customize your own schemas according to your unique requirements using EAS.
Alice is a solidity engineer who wants to join the DAO. When Alice joins, the DAO creates an immutable but revocable attestation that permits Alice into the community. This attestation includes Alice's assigned "roleID" and the "teams" she is a part of.
Alice wants to contribute more to the community and earns a "Senior Developer" role after passing a coding challenge. The DAO attests to this additional role which authorizes Alice to review code commits from junior developers.
Alice continues to contribute significantly to the DAO. She regularly engages in community events, contributes to core projects, manages channels, and more. To recognize her efforts, the DAO attests to her contributions to a recent project.
The DAO can create a schema for voting on specific issues. Once a DAO member has the authorization to vote, the DAO can collect votes using attestations made by its members.
Note* - This is a one address one vote example, however, you could set up your voting strategy and fields any way you’d want. This vote was done off-chain and published to IPFS. *
The DAO can issue time-based memberships, like subscriptions to members. For example, they might give Alice a VIP community pass that grants her access to a specific section of the community for a set period of time. These passes can be made using attestations and then expire over a period of time.
Over time, Alice becomes less active in the DAO and finds another community she's more passionate about. The DAO revokes certain authorizations, such as her being a core developer, until her activity improves again.
Notice that this does NOT delete the record that she was a core developer, but adds a revocation status to it. This way Alice & the DAO can still prove her contributions.
By using attestations for community management, DAOs like the Mock DAO can build stronger and more efficient decentralized organizations.
By using attestations for community management, DAOs like the mock DAO can build stronger and more efficient decentralized organizations. And more importantly, we can move decentralized communities towards:
Enhanced Flexibility: Attestations allow for greater flexibility in defining community roles and responsibilities. With attestation-based management, community members can be authorized to perform specific tasks based on their unique skills, experience, and reputation within the community.
Extensibility and composability: Community roles and authorizations in centralized platforms are often not easily extensible or portable to other systems. In contrast, attestations can be customized to fit specific use cases and can be easily shared across different systems.
Composability: Attestations can be combined to form a comprehensive view of a member or community, creating a "lego-like" structure of trust. Attestations from outside the community can also be incorporated to enhance trust and reputation.
Decentralized trust: Attestations promote transparency and accountability in decentralized communities, allowing members to self-manage without the need for centralized authorities or intermediaries, while also reducing fraud and fostering trust.
Increased community engagement: Attestations can increase community engagement by enabling members to earn rewards and recognition for their contributions to the community. This can help to incentivize participation and increase collaboration, creativity, and innovation within the community.
While attestations offer significant advantages in decentralizing community management, there are limitations to consider. Not everyone in a community may have access to a wallet or be familiar with Ethereum, and not all community roles can be easily attested to, making centralized platforms or other methods necessary in some cases.
Attestations may not always be the most effective or cost-efficient solution depending on the DAO's smart contract implementation and use cases. If a DAO only needs to control voting on proposals, using smart contracts may be sufficient. However, if greater portability and extensibility of activities are required, or the DAO wants customization to permit specific attestations over time to vote, attestations are valuable.
The use of attestations requires technical expertise, and may not be accessible to everyone. However, as the technology develops and becomes more user-friendly, we can expect greater adoption of attestations and other decentralized tools for community governance.
If you're interested in using attestations to decentralize your own community management, there are a few steps you can take to get started.
Define your schema: First, you'll need to define the schema for your attestations. This will involve determining the data fields you want to include.
Use an attestation service: EAS offers an SDK for developers as well as a friendly UI for those not-as technical enabling people to easily make schemas and make attestations on or off-chain.
Test your schema: Before you start creating actual attestations, it's a good idea to test your schema. This will allow you to identify any issues or errors in your schema before you start creating attestations that will be used by real users.
Start creating attestations: Once you've defined your schema and tested it, you can start creating actual attestations for your community. This may involve using smart contracts to automate the attestation process, or manually creating attestations and adding them to the blockchain.
Ethereum Attestation Service (EAS) is a public good for making attestations on and off-chain about any topic. As a public good, EAS is completely open-source, permissionless, tokenless, and free to use.
Developers can get started with EAS using the SDK, while non-technical users can create schemas and attestations through EAS's intuitive no-code UI. With EAS, it's easy to establish trust in your community and create more equitable governance structures.
Decentralizing community memberships and authorizations is a key step toward creating more equitable and transparent community governance systems. By using attestations on Ethereum, communities can achieve greater decentralization, while also improving security and reducing the risk of bias and censorship. While there are some limitations to consider, the benefits of using attestations for community governance are significant, and will likely continue to be a focus of development and innovation in the blockchain space.