Who Said Governance Was Simple?
Who Said Governance Was Simple?
There’s a noticeable disconnect between the value the community receives from certain xGov proposals and the profits harvested by certain xGov participants. Whether its ambiguous deliverables, multiple low quality proposals, or half built products, the situation feels unfair and wasteful to the community. We should internalize that if the system is gameable and there’s money to be made, it will be gamed, money will be wasted, and the community will be unhappy.

The root of the issue lies in the design of xGov itself. Currently, funding amounts are determined by the projects, voting power is determined by stake, and the xGov members, as a collective, are proving to be uninformed. The system allows for the proposal of ideas before any tangible delivery. This means a project can wait to see if their idea is funded, then start building the lowest quality proof of concept possible, technically tick all of the boxes on their ‘deliverables’, receive payment, yet have 0 users or demand for their project, and immediately move on to request another grant. It’s no surprise that this design leads to suboptimal results for the ecosystem.
How do we improve xGov?
Issue: Uninformed / malicious voters
- Handpick or democratically elect an informed committee (I previously wrote about this idea here: Impact Oracle)
Handpick, or design a fair system to elect a committee. KYC all members to ensure 1 voter = 1 human. While this adds a ‘permission’, it’s worth the trade-off to get higher quality voters and to prevent sybil attacks, which will ultimately lead to higher quality results. The system can become decentralized through an on-chain election protocol where xGovs can be voted in or out.
Issue: Projects not meeting deliverables / dead on arrival / half built
- Only fund things retroactively. It’s far easier to judge something that has happened compared to something that maybe will happen.
The counterpoint always given to me is “A new app wouldn’t be able to pay for a security audit with only retroactive funding”. I would say since we’re judging impact, you could make an impact and prove yourself by only being on Testnet. If your app is live on Testnet and has a large userbase who is excited to use it and it’s testable by xGovs, the app could make a retroactive proposal for the impact they’ve already made, and use those funds to pay for their security audit or whatever they need. It’s not xGov’s role to cover every expense, and take on every risk, for every new app; you need to prove that you can build something impactful first and take some personal risk. xGov canhelp bridge a funding gap for something which the community values. xGov cannotfully fund every new idea that someone wants to build on Algorand.
Issue: Whales controlling the vote
- This is a very simple fix; Don’t base voting power on stake
Basing voting power solely on stake is dangerous as it creates a plutocracy where the rich rule and the minority holders are powerless. Don’t forget, most whales have a cost basis a lot lower than you. This is not a purely democratic, fair launched network where we all got the same entry. With most of the whales being VCs, their mandate is to make money for their LPs, not care for the best interest of Algorand. If an xGov proposal came up to enrich whales, they would all vote for it out of self interest and would be able to pass it based on their massively outsized voting power. The counterpoint always given to this is “It’s a proof of stake network, it is what it is”. That may be true for protocol changes, but that doesn’t need to be true for public goods funding, and shouldn’t be, as whales are not a good representation of the actual humans using the network everyday.
Issue: Determining fair allocations with limited resources
- Median voting
With only a limited amount of funds available per voting session, we need a voting mechanism that’s conducive to comparing multiple different proposals at the same time.
Median Voting
Here’s a simple example of median voting with 5 voters, 10 proposals, and 100k ALGO to allocate. Excuse the crude drawing.

How median voting works:
- Equal Votes: Each voter has an equal number of votes to distribute among all proposals.
- Voting: Voters distribute their votes among the proposals based on the perceived impact of the proposer. Each voter must allocate all 100,000 votes and vote on each proposal. 0 votes are allowed and act as a crucial way to counter low quality proposals from receiving funds.
- Median Calculation: For each proposal, the votes are collected and the median vote is determined.
- Funding Allocation: The funding for each proposal is based on the median vote.
This approach ensures that the final decision reflects the middle point of all voters’ preferences, minimizing the impact of extreme votes and providing a fair representation of the community’s sentiment. It gets us closer to the goal of **impact = profit.**This would completely remove the ability for a whale to influence the voting.

Not every public good is created equal, and there is only so much funding available per round. Median voting provides a formulaic way to determine funding amounts based on past impact as measured by xGovs, while comparing different proposals from different apps / services.
This is in contrast to the current model where a proposer specifies an amount they want, and a group of non-qualified xGovs pass or deny if they feelthe outcome mightprovide impact. This is a highly speculative way to determine funding, and the changes AF is proposing will not counter the issues.
What is the purpose of xGov anyway?
xGov, or public goods funding, is an essential component in the economic flywheel of the network. It serves as the mechanism through which value creators within the ecosystem are rewarded with profits. While not every app, service, or tool may directly generate profit, it can still contribute significant value to the ecosystem. Open source tooling is a great example of something which greatly benefits the ecosystem but is very difficult to substantially monetize. That’s where public goods funding can help balance that missing profit. xGov provides the necessary incentives for both current and prospective builders on Algorand. The message should be straightforward: create something impactful and receive profit. This cycle of funding impactful projects leads to increased value for both users and builders, boosting the demand for Algorand blockspace, and leading to more fee sink revenue.

The xGov mission statement should be — To help fund public goods, which provide value to the ecosystem, in an efficient and maximally decentralized manner, making profit for the builder equal to the impact received by the ecosystem.
Other Thoughts
xGovs should ideally be elected positions, but I would settle with handpicking them to begin, with certain controls to ensure they are:
- Incentivized to make good decisions (take the time to examine the proposals)
- Not acting maliciously
To incentivize xGovs, a small amount of ALGO per round could be set aside to reward them for voting (~100 ALGO each). If we want highly qualified xGovs we can assume their time is precious.
To stop malicious acts, xGovs should be able to be removed with a majority vote by other xGovs. All voting should be made public so if there is suspicious / malicious voting it can be spotted. There should be a code of conduct defined as to what qualifies as malicious (voting for oneself, corruption, etc.).
To prevent corruption, you could utilize the VRF to split the proposals and xGovs into multiple random groups. xGovs would still vote on all proposals, but only the votes for their group of randomized proposals would count. The voter wouldn’t know what group they’re in until after voting has concluded. This would make corruption or collusion much harder and likely lead to more honest voting. Utilizing the VRF was an idea first proposed by governorzen.algo which I adapted slightly. Thanks for the brilliant idea.
The power of the purse is very important and we cannot settle for decent controls that deliver suboptimal results. Public goods funding can make things possible that otherwise wouldn’t be. It’s really important we get this right. The AF governance team needs to have very thorough reasoning for the design decisions in the upcoming xGov. So far, I am not very hopeful, as basing voting power on stake (idea put forth by AF) is severely flawed, and I haven’t seen much support for it from the community. If we know the ‘improvement’ is still flawed, why don’t we just not do that and go back to the drawing board? We would save time and money by doing so.
Thank you all for reading! Please share, provide feedback, and come to the Algorand discord to discuss.
This piece originally appeared on Medium .