We Need To Talk About Governance

I’m really heartened that we are having this conversation here. While there are clearly plenty of things that need to be improved, the fact that we are having this dialog is a step in the right direction. There were many great points and good suggestions in this thread :raised_hands:

I wanted to chime in on just a few of them for now as I have some concrete thoughts on what we can immediately do about improving signaling and decreasing erroneous duplicates, like the 3 gas increase proposals that are currently in flight.

On the topic of deposits, the deposit amount is easily governable. We just need to create a proposal that calls the setMinDeposit() function on the Governance contract. I agree with @Thylacine that increasing it to 1000 CELO could make senes, but I would keep the current refund mechanics and see what effect just the increase would have. I suspect an increased deposit would result in people double checking everything in their proposal before submitting, which might help with erroneous and duplicate proposals.

Secondly, the current governance process includes having proposals go through an upvote stage. Right now, upvoting feels somewhat superfluous because all proposals reach the referendum stage so long as someone upvotes them with any amount (assuming there aren’t too many proposals in flight which hasn’t been the case). I suggest modifying this slightly and requiring a threshold of upvotes (e.g. 100K CELO) within a time period for the proposal to make it to the referendum stage. This would bring us closer to other governance protocols where proposers are required to have a significant stake, but would allow that stake to come from others backing the proposal via upvotes.

Currently, if a proposal does not make it to the referendum stage, the deposit is not returned, so this will also mean that deposits will only be returned for proposals that have a certain amount of support. We could set this threshold to 100K CELO to start, so proposals can proceed to the referendum stage if they can get 5 validators on board.

Making this change would require upgrading the Governance contract code, but the change would be quite minimal. This is also not to say I’m not curious to research and learn more about alternatives like Allo (Welcome @0xZakk :wave:), I’m just thinking about what are some very small and concrete changes we can make asap. Curious what people think.

5 Likes

TL;DR
Clear, accurate information generates trust in the consensus, facilitates onboarding, better informs funding allocation and votes.
Less barriers to entry and inclusive design induce greater community participation and minimizes error.
Without a proper assessment of the dependence on whales, technical adjustments and better docs will probably fall short.
Adjusting the quorum, increasing voting power distribution, as well as a transparent, accountable delegated system mandated by the community with clear guidelines could be convincing solutions.

Thank you @Thylacine for creating this thread and taking the responsibility to ask the right questions and come up with a first set of suggestions.
I am a complete newcomer to the Celo ecosystem and my input is mostly based on my participation as a team member in CGP 122 and 128, as well as my previous experiences with other blockchain networks implementations of decentralized governance (I have been working in the blockchain ecosystem since 2017 and as a decentralized governance researcher since 2020).
It was important for me to let the dust settle after the rejection of the proposals, while I could also lurk more on the forum and explore the technical documentation to get a better sense of the current state of Celo’s governance.
My opinion is necessarily less informed than the ones of all the previous contributors to this conversation. I am very inspired by the posts of @tim, @LuukDAO, @Xochitl, @0xGoldo, and @0xZakk.
Please forgive me if I am being inaccurate and do correct me if any of the points I try to make here does not make sense.

Regarding @Thylacine suggestions :

  1. I agree with this, but I would add the technical complexity of the process and the lack of clear, unambiguous, qualitative and authoritative documentation as one of the root causes of the faulty submissions. I come back to this in the last section of this post.

  2. Increasing the bond for an application could be a good idea, with the possibility for established Celo stakeholders such as the Foundation or validators to sponsor a proposal by lending the necessary amount if small project leaders with insufficient funds come up with qualitative proposals on the forum. Gathering 1000 Celo (roughly 400 USD at this time) can prove very difficult for teams with little resources (e.g. Global South) whose ideas might completely align with Celo’s values and missions. It would be unfortunate to make it even harder for them to participate
    Using a small fraction of the bond to compensate the governance support team is reasonable. But making the bond fully non-refundable poses a clear risk to limit proposals to only very consensual suggestions or submissions by wealthy stakeholders. In general, a governance system that can punish active, well-intentioned community members for not winning their vote does not sound fair, equitable nor particularly efficient if your goal is to build a functional decentralized decision-making mechanism.

  3. Yes. An alternative would be to extend the voting or validation periods, to add a signaling check as suggested by @Thylacine himself and many others since. Another upside would be that proposers who failed to win their vote would be more likely to accept the referendum outcome and would not instantly try to resubmit.

I agree with 4 and 5.

A brief feedback on CGP122 & 128 successive votes

For context:

  • CGP 122 did not reach the quorum, in part because “an issue with the dates” might have prevented some key voters to submit their votes and help reach the quorum.
  • CGP 128, an updated version of CGP 122 reached the quorum but was rejected, in spite of having more “yes” votes than “no”, because it failed to reach its “constitution threshold” aka the minimal proportion of supporting votes over the total number of votes.

Once again, I am very new to the Celo ecosystem, but I think this highlights several issues that can be generalized beyond our rocky adventure (I leave the clock issue out of this since it is just a bug, although a concerning one).

  1. The first one is that there is a clear problem of transparency and access to qualitative, governance-related documentation and information.
  • While the quorum is an essential metric to the vote, it is very difficult to find and can only be queried through celo CLI. In my opinion, it should be integrated in the explorer and/or celo.stake and clearly visible for every vote and to everyone, at all times.
  • The hidden threshold -in constitutional law a “qualified majority”- that led to the failure of the second vote is hardly mentioned in official Celo documentation: it is absent of the Github doc, Celo Academy and Celo Doc are unclear, only this page in the Celo Docs refers to the “constitutionThreshold” which, once again, can only be queried through celo CLI. Apart this last source, this threshold is never eexplicitely defined as being different from a relative majority.
  • As previously mentioned by many others here, simple tools to efficiently explore data on allocation and performance of past grants would greatly enhance trust in the community governance while giving examples of best practices to proposers and giving voters useful information to help pilot the Fund.
  1. The second one is that the current system presents considerable technical barriers to entry.

Those barriers do not deter the submission of bad proposals but can certainly scare insufficiently tech-savvy members to even think of applying. This might be very detrimental to the inclusiveness and accessibility of the governance system, especially when it comes to promoting participation of underrepresented groups.

The main thing these technical barriers actually achieve is to repeatedly cause the submission of faulty proposals, wasting everybody’s time, both proposers, approvers, voters and governance volunteers. Creating a user-friendly streamlined process with clear guidelines at every step is the best way to ensure community growth and the submission of qualitative proposals that are relevant to Celo Community Fund.
Not having such an inclusive and accessible submission process for everyone would make any adjustments of others conditions to participation, arguably, even more unfair (e.g. increasing the bond or making it non-refundable).

  1. In my opinion, they seem to be linked to a third, much greater underlying issue: how decentralized is Celo’s decentralized governance system?

Quick note I want to add here: the difficulty of building a functional decentralized governance system is extremely underestimated. This post is by no mean a way to diminish the merit of what has been achieved so far by the community, cLabs, the Celo Foundation or anyone who dedicated time and effort to get this ecosystem where it is today. I find this community admirable, welcoming and very much aligned with my personal values. I want it to succeed and I deeply believe that this conversation is a healthy one to have.

Overall, it seems like the votes, at least the non-technical, very consensual ones, are always struggling to meet the quorum until whales come in, as @0xGoldo pointed out. A small subset of address seems to systematically be:

  • Necessary for most votes to reach the quorum
  • In a position in which they can easily sway the majority (although they seem to adopt a willingly conservative approach of voting with the majority or abstaining, which is commendable but fragile).

At some point, we need to question the level of effective decentralization achieved by this governance model. This is the key to make the right decisions about the vote parameters (quorum and constitution threshold) and the right amount of delegation.
Some metrics exist to help us measure this. You can check out, for a simple yet already efficient methodology, this comparative analysis by Feichtinger, Fritsch, Vonlanthen & Wattenhofer.

  • What is Celo’s governance Nakamoto coefficient?
    What is the minimum number of whales that need to collude before they achieved a guaranteed control over the decentralized governance mechanism?
    And in Celo’s specific case, what is the distribution of locked Celo? What is the impact of the possibility to vote with stCelo on this coefficient? Do validators actually use that feature?

  • On the flipside, what does the quorum generally translates to?
    Can the community realistically pass a vote without the direct intervention of one of the whales? How many of the top voters can refrain from voting before it becomes strictly impossible to reach the quorum?
    E.g. if none of the 50 top holders of locked Celo participate in the vote, is it still mathematically possible to reach the quorum, even if all the smaller holders commit a vote? What about 100? 1000?..

This second metric has, to my knowledge, no defined name. It is indirectly correlated to the Gini coefficient but it is derived from the quorum ratio. Since it works as a reverse Nakamato coefficient (i.e. what is the nth holder, in descending order, after which the sum of all the locked Celo is inferior to the quorum) let’s call it the Nakamoto threshold -if someone knows it under another name, please let me know.

There are obviously no predefined levels that could be agreed as universally acceptable.
And of course, those metrics would not be perfect. It is virtually free to create addresses and split the locked Celo between them, or at the contrary combine the holdings of many addresses into one (only the voting fees would change). This is also the reason why any implementation of Quadratic Funding without any form of identity or reputation verification could lead to fraud.

Nonetheless, finding out through actionable metrics how “whales-dependent” the decentralized governance of the Community Fund is might be extremely useful to the current conversation.

If there is a way to explore the distribution of the locked Celo and if you find this to be pertinent, I would gladly help doing that work.

It might just be the case that, considering Celo’s history, its initial token distribution, tokenomics and various market dynamics, the quorum would need to be amended or the voting power would need to be redistributed-which is, to my understanding, part of the objective of the Delegated Voting Program- to ensure effective decentralization, but perhaps at the cost of stability and foreseeability.

Another option would be a truly transparent, auditable, and accountable delegated system mandated by the community, with clear goals, guidelines and a decentralized control/remediation mechanisms in case of conflict. This would be more effective and acceptable, although more explicitly centralized. It is in line with the suggestion of having Prezenti managing the allocation of small grants. It could as a trusted-third party complying with objectives discussed -and if possible set- by the community.

These measures are non-exclusive and complementary.
Ideally, they should be discussed and ultimately taken by the community as part of long-term progressive decentralization roadmap with clear actions and milestones that will ensure that Celo keeps steadily progressing towards more decentralization and better governance.

A brief feedback on CFP122 & 128 successive votes ← Sorry I lied. This is definitely not brief.

1 Like

Thanks everyone for these great comments, I’m very motivated by the authenticity and thoughtfulness of responses here. It’s clear there’s still a very engaged and aligned core in the ecosystem.

Keep it coming, and when I have a bit more time later in the week I might try to progress some of the suggestions into possible actions.

6 Likes

I’d like to add some ideas about A/ Gouvernance and B/ a UX perspective based on my experiences after putting proposals for funding events for Climate week + COP28 (#122, #128).

As @Xochitl mentioned, I have been working with major corporations (including tech companies) and international institutions as a Sustainability strategist, researcher and builder for the last 20 years. I am not an event planner by profession and our past events successes along with Blockchain for Good (a research organization since 2018) lies in the fact that precisely we took proactive initiatives like anti-swags and have designed events to create qualitative content and connections with web2 sustainability leaders. I came to ReFi because I considered decentralization and redefining monetary value as strong opportunities for Climate Sustainability.

I agree with @rene_celo about the new era web3 communities are entering into and, I’d like to emphasize the importance for a healthy Governance of working first on what are the values that we want to embed into the tech infrastructures:

A/ Building first a consensus about Governance itself

What a fair Governance looks like? How to set up a fair consensus? To answer these questions we need multidisciplinary and historical references such as political sciences and philosophy.

I would suggest that these questions would inspire an additional layer that could be built on top of Allo.

Ethelo (they worked with Gitcoin) and Kernel Community are great resources to explore Consensus and Governance in web 3:

Here are a few takes/excerpts from the above resources:

  1. Consensus is a tool to ensure we get to the best technical outcomes.
  2. We must build principled systems which cultivate our ability to make optimal collective choices.
  3. “Humming” not voting:
  • We don’t vote because we can’t vote. The IETF is not a membership organization, it’s nearly impossible to figure out who would get a vote for any given question. There are only “participants”, not “members”.
  • Closure is more likely to be achieved quickly by asking for objections rather than agreement.
  • Majority rule sucks (https://abahlali.org/files/Graeber.pdf)
  1. Decentralized decision-making – not just simple voting, but complex, multivariable problem solving where crowd intelligence is maximized.
  2. We should compromise between engineering choices, but not between people.
  • Use economic code which establishes consensus to fund as many different approaches as is appropriate, without treating humans as exceptions to be handled.
  1. Trusting the process help accept the decision
  2. Polarization creates low quality decisions
  3. Lessons from political history–like defensive democracy–are fertile starting points for thinking about how to encode principles as a means of establishing credibly neutral incentive structures
  4. It is from decentralized decision-making in DAO communities that the technology infrastructure for a global digital democracy will emerge.

B/ From a personal “user” experience:

The experience of applying to the community fund felt like I was playing a game with hidden rules. This would work in a “safe space” (it could be a way to foster creativity) but in that case, there was no “safety net” for newcomers like us. And with no recourse against the algorithmic decision.

Last year I was presenting the concept of “Decentralized Care” to balance the ethical risks of decentralization. I am convinced we need multidisciplinary teams to design the rules of our Governance infrastructures.

Let’s open the floor to more human / ethical /e-democratic experiments and I’ll be happy to contribute to it if this is of interest to you.

5 Likes

Hi folks, i see Ethelo mentioned above, so i thought id jump in and introduce myself!

My name is John Richardson and I’m the founder of Ethelo. We’ve been working with various DAOs (Gitcoin, Big Green, Arbitrum etc) on granting and governance processes, we have a decentralized decision platform that is good for complex decision processes.

Weve been around for about a decade working with various kinds of web2 and web3 communities using eDemocracy tech to build consensus in large groups around tricky problems. I’d be happy to answer any questions you may have! It would be a pleasure to support the Celo community in any way we could :+1:

I’m putting together a draft CGP and a governance proposal temperature check for the changes to the Governance Approvers multisig that are described above. Please send over comments and suggestions (or consider volunteering!)

I’ll also be there at the governance call on Friday to discuss!

3 Likes

Hi all - I’m a bit late to the party, have been mulling over this since it was posted in August. @Thylacine I have great respect for your candor and confidence to get the ball rolling here.

I understand certain changes have already taken place driven by @tim on the last governance call, but expect it will be an iterative process to evolve Celo governance to keep up with the rapidly growing community, as @rene_celo @Xochitl and @0xZakk highlighted. I will try to not repeat points that have already been discussed at length, but rather provide my perspective from the operational side of administering allocations from the community fund.

Views expressed below are entirely my own and not reflective of organizations with which I am associated.

TLDR (my suggestions):

  • Formalize framework for Permanent vs. Temporary use of funds (as @rene_celo outlined here); require CELO monetization schedule for grants and other permanent uses of funds / provide clear guidance for temporary uses of funds
  • Document standard operating procedures for treasury management & administrators
  • Prepare for Allo Protocol launch on Celo by establishing “Prezenti for Infrastructure” (as @tim outlined here)
  • Distill this excellent thread into quantitative assessment of governance, and set tangible targets for improvement

About me:

I’ve been following Celo from inception, since a close family member worked at Celo Foundation. I initially entered the ecosystem as a developer in fall 2021 around the “DeFi for the People” hackathon, but stumbled upon @sep’s “Celo and Regenerative Finance” thread and, well, haven’t looked back since.

As employee #1 at Climate Collective - with tremendous support from @edward - I helped build CC from a loose coalition with a landing page, into a collaborative impact network dedicated to building out ReFi on Celo. I drove two CGPs for Climate Collective to establish & sustain a grants program for robust climate projects on Celo. With guidance from the multisig advisory team, I then selected and administered 40+ grants between Q1 2022 - Q3 2023. However, I have transitioned into an advisory role at Climate Collective and am no longer actively involved in new grant decisions; I am now working full-time at Flowcarbon.

Governance CV

  1. Uniswap on Celo: Tally | Uniswap Proposal
  2. Climate Collective 2022 Treasury: Celo Governance by Staking Fund
  3. Chainlink on Celo: Celo Governance by Staking Fund
  4. On-chain Offsetting: Celo Governance by Staking Fund
  5. Credit Collective: Celo Governance by Staking Fund
  6. Climate Collective 2023 Treasury: Celo Governance by Staking Fund
  7. Centrifuge on Celo: Celo Governance by Staking Fund

What I want to talk about for Governance:

  1. Nature of community fund - CELO monetized for dollars

I echo @LuukDAO’s concerns: the community fund by nature adds considerable sell pressure on CELO token. A lower token price means that more CELO tokens are requested in proposals, which causes a vicious cycle. I see a few possible paths forward:

  • Formalize rules around “Temporary” usage of funds, to encourage CELO tokens and TVL to remain on-chain (building on Rene’s comment linked in the TLDR). From what I’ve heard, the main rule is that the celo community fund cannot receive profits, but this isn’t documented and I am far from certain. If questions around temporary usage of funds are still unanswered, it will be difficult for the community to level up governance without guidance of what’s possible.
  • Recipients should clearly include in proposals if/how they plan to monetize CELO tokens (“CELO Monetization Schedule” - preference for small clips over extended duration rather than large sell orders)
  • [thinking out loud here] is it possible/feasible for the community vote for an OTC swap with Mento (ie. X amount of CELO for Y amount of cUSD/USDC)? this would help diversify the community fund holdings and reduce some sell pressure from the token. cc @roman for viz
  1. Standard operating procedure for fund administrators

Treasury management is tough - particularly when grant agreements are denominated in cUSD while budget is denominated in CELO. Further, the convention with community fund disbursements is similar to “capital calls” (‘just-in-time monetization’) where fund administrators only withdraw & sell CELO when required (ie. after grantee milestone completion).

During periods of volatility, which characterized much of 2022, this leads to situations where the same cUSD-denominated grant commitment requires considerably more CELO tokens to cover. I gained a lot of experience last year gracefully renegotiating grant agreements while preserving relationships, but I don’t wish anybody to repeat this painful process.

This is why I think it’s reasonable to request a dollar-denominated amount of funding with a maximum CELO cap based on conservative but reasonable price assumptions. However I fully agree that no proposal should have 100% upfront disbursement, come what may.


Beyond budgeting, from my experience it is virtually impossible to withdraw from the community fund without guidance from a human who has done it before, as there is no documentation. Building the transaction on Safe - specifically, manually copy-paste the correct GoldToken ABI to access the “transferFrom” method - is unintuitive and scary. I also think security guidelines should be on the Github repo or verified by approvers for eg. a multisig wallet with spend permit on the community fund should not be connected to Defi or the outside world.

Lastly, governance documentation should be kept up to date. For eg. after Celo Core Contracts Release 9 where the Upvoting phase is now concurrent with Referendum, this page should have been updated. Without it there is no indication of the governance timeline, and I don’t think these are adequate release notes for Core Contracts Release 9: Release core-contracts.v9 · celo-org/celo-monorepo · GitHub)

  1. Roadmap with Allo Protocol

I had the pleasure of speaking with @0xZakk about all things grants and governance, and find it tremendously encouraging that Gitcoin & Allo Protocol have prioritized Celo to this extent. I only wish Allo were on Celo last summer which would have made my life considerably less stressful!

I think it behooves us to establish the “Prezenti for Infrastructure” ASAP (building on Tim’s comment linked in the TLDR) ahead of Allo Protocol launch - possibly with a few tech folks you’re proposing to add to the governance approvers list?

I’m expecting Allo to solve for:

  1. Domain-specific vs. Protocol level decisions
  2. Auditability (at least until grantee receipt; impossible if off-ramped)

I don’t think Allo can reasonably solve for:

Context is everything, and it’s impractical to expect consistently good decisions from folks who have limited day-to-day exposure to organizational priorities. We’ve experience this at Climate Collective and I imagine other ecosystem funds have as well.

Ahead of the Allo launch, I think we should have a clear sense of which projects/individuals will be on this registry - which could very well be in the works and I may have missed it.

  1. Quantitative Assessment of Governance Process

Overall I feel there are a plethora of excellent suggestions in this thread, and think it’s worth distilling this into cold hard numbers we can strive for in order to measurably improve Celo’s governance process.

@PierreN mentioned the Nakamoto coefficient, which I too am very curious about, and I think we would be well served by broader governance analytics (eg. historical funding sizes for different types of grants to anchor future proposals; graph with community fund balance & CELO price over time to understand withdrawal patterns, etc.)


I hope this post provides some useful perspectives and suggestions that can help us collectively grow Celo governance to keep up with the rapidly growing ecosystem!

5 Likes

CGP-101 is proposed on chain as Proposal 140 – thanks for everyone’s contributions so far.

Please vote!

8 Likes

For those following along, @LuukDAO has kindly spearheaded a governance working group seeking to address some of the issues raised

As befitting me throwing bombs into the state of the current governance processes my reward is to put my money where my mouth is and propose some actionable upgrades. :upside_down_face:

2 Likes

Happy to have some folks in here:

  • Next Governance Planning Call
    • Date: Tuesday, Oct 31, 2023
    • Time: 8:30 AM PDT / 11:30 AM EDT / 3:30 PM UTC
    • Tune in here