• General
  • RFC: Gitcoin Passport Integration for Enhanced Governance Integrity

Motivation
KLIMA holders influence the DAO most directly by voting through the designated governance platform (currently Snapshot), wherein their positions are signaled in two metrics:
1) Total vote count (v): This indicates the number of supporters for a particular option, and each voter adds one to this count.
2) Total voting power (p): This indicates the weighted support for a specific option, taking into account the voter's overall KLIMA balance (including sKLIMA, wsKLIMA, etc.) through a function called "p." The function "p" assigns voting power based on the KLIMA balance, and it increases as the balance increases.
It is currently possible for voters to vote using multiple wallets. This has downstream implications when trying to get a true representation of governance.

KlimaDAO currently operates a linear voting function. This protects from unequal voting power, but opens the DAO to the appearance of inequality as large holders have no barrier to splitting votes across multiple wallets, artificially creating the appearance of a higher vote count and fairer distribution.

For example:
KlimaDAO has a linear voting function where 1 KLIMA = 1 Vote, regardless of which wallet it comes from. Let’s imagine two cases: one where a user has 500,000 KLIMA held in 5 different wallets, and a second where that user has 500,000 KLIMA in a single wallet. Both scenarios result in 500,000 voting power, however the first scenario creates the false impression of a higher vote count and more distributed token supply. The first scenario resembles the situation today, whereas the second is more representative of the reality with a tool like Gitcoin Passports.

Demonstrated mathematically:

  1. When the function "p" is linear where p(v1 + v2) = p(v1) + p(v2):
    In the context of the governance platform, this means that if you combine the KLIMA balances of two voters (v1 and v2), the resulting voting power (p) will be the sum of their individual voting powers. In other words, the total voting power is directly proportional to the total KLIMA balance. When "p" is linear, the use of multiple wallets artificially inflates the total vote count without affecting the voting power, creating the appearance of a fairer distribution.

Proposal
To enhance governance integrity, this proposal suggests integrating Gitcoin Passport into the KlimaDAO governance platform. Gitcoin Passport is an identity verification system that allows a voter to attach data in the form of verified credentials to their wallet in order to identify themselves as a unique individual, without revealing their identity. The credentials themselves come from various third-party services such as social media logins and Web3 identity authentication platforms.
A Passport collects bundles of credentials, called stamps. Taken together, the collection of stamps enables protocols to verify that a user has an identity, without compromising that identity.
While one service can provide multiple stamps to multiple Passports, calls to the Gitcoin Scorer API already handle deduplication, meaning that users are prevented from using the same stamps across multiple Passports to influence some specific outcome.

Options
Snapshot enables multiple configurations for Gitcoin Passports to serve as a validation strategy. Basic options for potential configurations include combinations of the following:

  • Requiring individual, non-negotiable stamps
  • Requiring some number from a set list of stamps (e.g. at least one)
  • Assigning scores to each stamp from a set list, then requiring a Passport to meet a minimum score

Gitcoin Passport stamps currently include (full list here):

  • Coinbase
  • Discord
  • Facebook
  • Github
  • Google
  • Linkedin
  • Twitter

One ostensible configuration is as follows:

  • Equal weighting of stamps listed above
  • Required threshold: 2/7

What strategies and stamps the DAO is to employ, if at all, is up for discussion.

Implications
Enhanced governance integrity: The integration of Gitcoin Passport and identity verification processes provides an additional layer of security and helps mitigate the risk of Sybil attacks. By requiring participants to attach verified credentials to their wallets, the DAO can ensure that each voter represents a unique individual, reducing the potential for manipulation of voting metrics.
Potential reduction in participation: Although the implementation of Gitcoin Passport maintains voter privacy, the additional steps in governance going forward may be perceived as inconvenience and result in a reduction in governance participation. This trade-off between governance integrity and participation needs to be carefully considered by the community.

I'm a bit confused. KlimaDAO governance is purely linear on each voter's Klima balance, right? So in what way does the number of wallets per voter matter? I mean it's clear to everyone that the number of participating wallets need not equal the number of participating voters - and if not, then perhaps it should be communicated more clearly. IMO every token holder should be free to decide in which and how many wallets they hold their tokens. There exist many valid reasons for different strategies. And it absolutely doesn't matter for the governance, right? So when you're talking about "governance integrity" and "sybil attacks", what exactly do you mean by that?

To me, the gitcoin passport proposal seems to be a complication that attempts to solve a problem that just doesn't exist. Plus it requires holders to have an account in coinbase/discord/facebook etc.

It might be interesting to create a stastistic about the number of participating people per vote. But that would be purely informative without any influence on governance, right? Perhaps there are simpler ways to achieve this?

    rrrmmmmm Governance should be viewed as some combination of "hard" power and "soft" power.

    Hard power is easier to understand: it's just the codified processes that lead to a decision being made, beginning at the RFC/KIP level to a finalized Snapshot vote. In terms of voting, hard power is voting power, which for us at the moment is the sum of a voter's balance across KLIMA, sKLIMA, wsKLIMA, C3-wsKLIMA, and CO2-COMPOUND.

    Soft power is everything else: it's the explicit and implicit cues around a potential decision that impact whether or not it becomes an RFC/KIP at all, and from then on whether or not it passes, through the swaying of opinion. For example, signalling on Discord or Twitter or any other medium that reaches an audience of voters one's position is an exercise of soft power. The perceived amount of support for a position is too an example of soft power.

    With that final example, at the extreme there is an obvious difference on Snapshot between a vote of 100,000 KLIMA by 1 voter versus 100,000 votes of 1 KLIMA by 100,000 distinct voters. It's quite difficult to quantify how much of an effect soft power has on the outcome of a vote, but it's very clear that it has an effect (think to political campaigns in the "real world"), which is why it's important to make sure the avenues through which it can be manipulated are shut down.

      Azure What exact avenues of manipulation are aimed to be shut down by the proposal?

      Snapshot votes are based on amount of KLIMA. The number of wallets does not matter. IMO this is good. And yes, it's wrong to make assumptions on the number of participants based on the number of wallets.

      The earlier stage of governance, e.g. polls on forwarding RFCs to KIPs, is based on forum accounts. And sentiments are formed on social media with the related accounts there. However, the proposal does not talk about changing anything here.

      If the goal is to change the governance process itself, then this should be proposed accordingly. With a description on what exact problem such a change would aim to solve.

      Simply adding a gitcoin passport requirement to our existing snapshot voting model does not seem to solve any problem. The voting model is linear in KLIMA and in this model there are no such things as governance integrity or sybil attacks. The proposal is therefore just a complication that will (potentially significantly) reduce participation.

        rrrmmmmm The proposal prevents one voter from pretending to be many voters.

        Whether or not it is wrong to make assumptions on publicly available data is independent from whether or not modifying that data affects the outcome of a vote.

          Azure I'm sorry, but I can only reiterate for the third time: In our snapshot voting system, the number of participating wallets does not equal the number of participating people and the number of wallets has no influence on the voting outcome. Right?

          So knowing this, there is no way that someone can pretend to be many voters. And there's no way of manipulating a vote by splitting KLIMA over several wallets.

          Therefore, again, what exact problem is the proposal supposed to solve?

          So far, I can only imagine two motivations for this RFC:
          a) We want to get an idea about how many people really participate OR
          b) We want to change the voting mechanism itself.

          For (a) a possible solution might be a separate survey or only optional gitcoin passport verification without influence on a vote. Then we could say something like "KIP X was voted by 100k wallets from which we know that it's at least Y people." This can be a good informative estimate.

          For (b) the whole RFC should be phrased differently, because this would create a fundamental change of how the DAO makes decisions.

          IMO this RFC could greatly benefit from stating the actual problem or intent much more precisely. So far, this RFC only proposes a solution for a non-existing problem regarding the snapshot voting mechanism, which only leads to drawbacks.

            rrrmmmmm You're correct that in our current snapshot voting system, the number of wallets doesn't influence the outcome of the vote directly. However, the main intention behind the proposal isn't to directly affect the governance outcome, but rather to enhance transparency and encourage better decision-making through a clearer understanding of voter distributions.

            The two motivations you have identified (understanding actual participation and contemplating changes to voting mechanism) are indeed relevant. We're not trying to fundamentally alter how decisions are made in the DAO but are trying to build a clearer picture of our community and its voting patterns.

            Your suggestion of a separate survey or optional verification could indeed be a viable approach for achieving the former. Regarding the current proposal, the feedback you've provided is very valuable, and we can always try to more clearly state the problem we're trying to address, which is around improving transparency and understanding of our voting community.

            We put this on as an RFC for conversations exactly like this, appreciate this discussion and temp-check on community sentiment while we flesh out this idea.

              I think the RFC is quite clear. Maybe it could be stated more explicitly that the "impression of a higher vote count" can have a direct influence on subsequent voters due to the transparency of the on-chain voting process. Potential drawbacks of this are reduced voter participation because some might not want to create a Gitcoin passport and others might have their tokens on multiple wallets. Maybe this function could be added as an option first, so that one can see which voters have verified their identities with a passport and which haven't? A high number of unverified voters would then ring some alarm bells.

                optima Thanks for the positive feedback. My criticism for the proposal is mainly from the perspective of token holders that hold KLIMA in different wallets. There are valid reasons to do so, unrelated to voting. My personal feeling is that these might be indeed quite many users. For those, the passport requirement could be a complication that would lead to lower governance participation overall.

                sodiumstar 's comment made it clear to me that indeed some people might be influenced by the voter list on the snapshot website when placing their own votes. From this perspective, I do understand Azure 's objection that this can indeed be an avenue for manipulation.

                I believe that introducing the proposed solution as an optional feature would be a good step to test the willingness of voters to adopt the mechanism and how this would influence the voting mechanism overall.

                Write a Reply...