Summary
In S19, we partnered with ENS and a developer shop to create a Discourse plugin that enables web3 organizations to Passport-protect their forums from Sybils and bots.
We would like to implement this functionality on the Gitcoin governance forum to take advantage of these protections, to promote the functionality, and to dogfood the plugin.
Abstract
As also stated in recent Metaforo proposals, the web3 forum is a critical piece of community infrastructure where members brainstorm ideas, draft proposals, give feedback on each other’s ideas, and generally coordinate to get things done. In many cases, these community forums are hosted using Discourse, a web2 tool that has some additional plugins that make it work well with web3 tools.
While there are fantastic web3 forum solutions out there (some of which have Passport built in), not all companies have the resources to or interest in migrating. Because of this, we’ve partnered with ENS and 3rd party developers to create a Gitcoin Passport plugin that allows you to protect your forum from Sybil attacks.
This proposal outlines the functionality made available using this plugin, and suggests how we should integrate it into the Gitcoin forums.
Motivations
Discourse is highly susceptible to Sybil attacks, where community proposals, feedback, and coordination can be manipulated. We would like to ensure that we are only allowing verified humans to contribute to the conversation and governance of our DAO.
Specification
All available protections
For this proposal, we are recommending using the following plugin: Dappy.Lol’s Gitcoin Passport Plugin
The following features are available:
- Require a score over a certain threshold to create an account
- Require a score over a certain threshold to reply to topics
- User-level – Score required to reply to any topics for specific user
- Category-level – Score required to reply to specific topic
- Forum-level – Score required to reply to any topic for all users
- Require a score over a certain threshold to create topic
- Scheduled date where score will be required
Recommended implementation
We would like to implement the new Discourse x Passport plugin to protect the following forum functionality:
- Topic protection: Require users to have a score of 20 to create a new topic in any category
- Reply protection: Require users to have a score of 20 to reply to any topic in any category
- Implementation date: Start to require these new score levels on November 1st, 2023
Every 3 months, we will collect feedback and review the integration to make sure it continues to have the desired effect.
Benefits
- The forum will be protected against sybil attacks.
- We will be able to prove out the sybil-protection that Gitcoin Passport provides, and use it as a use case to encourage others to take advantage of it.
Drawbacks
- Participants will need to create a Passport and generate a score of 20.
- There is some maintenance required to reverify your Passport’s credentials every 90 days, and the score can change as our scoring models adapt to changes in Sybil behavior.
Vote
A “Yes” vote means that you would like to add the Sybil protection to the governance forums for at least a period of 3 months. We will continue to monitor how effective this is every 3-6 months after that to ensure it is continuing to have the desired effect.
A “No” vote means that you do not approve of this proposal in its current form. This does not mean that you disapprove of the overall concept of adding Sybil protection. It might just mean that we need to adjust the integration details based on your feedback.
—
Alternative solutions considered
The team has also discussed the following solution for this same problem, but ultimately recommend we move forward with just the Passport protection at this time.
We are happy to review your feedback on this solution as well in the comments of this proposal.
Alternative solution
Require individuals wishing to participate to have at least 1 GTC staked.
Identified issues with this solution:
Regardless of the low token price, this may exclude some who cannot afford to stake 1 GTC
Potential Solution:
Establish a program to delegate the necessary 1 GTC to participate to those who need it
- New Steward onboarding call quarterly (we should do this anyway)
- To minimize gas fees, we’ll do a multi-batch transaction for all of those who have applied & been accepted
- Delegates must maintain a score of X (aka be active) over 180 day period to maintain their delegation
- Each quarter we will do a sweep of inactive stewards and revoke the delegation