Coinholder voting is currently not production ready and a whale oligarchy

There is currently some pushback against the ZCG election process in various places. Some examples:

https://x.com/naval/status/1994519212669505952

I totally understand the concerns with the ZCG election process. As I’m currently running myself for the ZCG committee I’m wondering who I actually have to convince to vote for me. Namely, who exactly are people on the Zcash Community Advisory Panel (ZCAP) that I have to convince and where are they are mostly active (I assume it’s mostly OGs active on this forum, so here we go).

However, I consider the coinholder voting, as it is currently implemented, not ready for making it effectively the main governance mechanism in Zcash.

Following are some problems, most of which could be alleviated with a better implementation. I’m only taking about voting with shielded ZEC here, as I have no experience with the transparent voting process.

Coinholder voting is not production ready

Shielded voting currently involves installing a separate voting tool which requires you to input your seed phrase, thereby effectively burning it. So one has to move the coins first and then vote with the old seed phrase, otherwise security would be compromised. I participated in the last two votes and this is very time consuming. Also the voting software is slow, has some bugs, and requires you sometimes to vote twice (for “internal” and “external” wallets). Voting on all questions in the following poll with all my ZEC required real dedication.

Before it’s not possible to vote from Zashi without compromising a Keystone seed phrase coinholder voting is only accessible to the most motivated power users and whales.

Whales totally dominate coinholder voting

This might partially be caused by the previous point and we won’t know until we fix that and run more elections, but if you look at the number of shielded ballots:

And the number of shielded ZEC that voted:

If you divide the of amount shielded ZEC that voted by the number of ballots you get a rough average between 23k and 67k ZEC per vote, depending on the question. At the current ZEC price of $460 that’s between $10M and $30M per vote.

To put that into perspective, having $30M liquid makes you a ultra-high-net-worth individual (UHNWI). UHNWIs constitute only 0.003% of the world’s population (see Wikipedia). Of course the numbers most likely also include “institutions” (like the Zcash Foundation) voting.

And ballots do not equal voters. Sometimes a single voter will vote with multiple ballots, so these averages are lower bounds.

A usual problem this will cause, especially if there is a lot of friction in the voting process, is voter fatique. It simply makes no sense for non-whales to vote.

Running voting authorities is very time consuming and brittle

I myself participated by running a voting authority in this election:

I didn’t take notes, so this is is a guestimate: It involved one long day (10-12 hours) where all the people running a voting authority (with me @artkor, @dismad, and @james_katz) had to sync in a Signal group (with the help of @aquietinvestor) to get the infrastructure up and running. Plus another 6-8 hours of ordering the server, setting it up, software installation, etc. So in total roughly 2 working days.

In the last election I didn’t participate myself in the end, because the coordination overhead would have been too large. However, from what I could see from the frequency and sheer number of messages in the corresponding Signal group the coordination effort was even higher.

I totally agree with @outgoing.doze that the process to run a voting authority should be simpler. But currently it’s neither simple nor robust.

The voting infrastructure is run by unpaid volunteers

In the last election the coinholders rejected the proposal to compensate the voting authorities, as proposed here:

For my effort the number of days in the proposal was too high and I usually charge a significantly higher day rate, but the proposed compensation number would have worked out as a decent day rate.

If the proposal was rejected because it was rather short, the number of days was too high, or due to significant pushback from @outgoing.doze I can only speculate.

If you look at the election result only 12,747 ZEC voted for this proposal. If you assume as a rough approximation that most people who ran voting authorities voted for this proposal (except for @outgoing.doze) you can clearly see that the unpaid volunteers running this infrastructure are not whales.

I’m as capitalist as they come, but a marxist would have fun with this situation. If the workers go on strike there will be no next election :sweat_smile:

Inherent problems of coinholder voting

This is all in addition to the fact that coinholder voting is not a market, if you already hold ZEC there is no monetary cost attached to decision making.

Currently coinholder voting is definitely a whale oligarchy. If this will change with better voting UX remains to be seen.

Until then I wouldn’t make it the main governance mechanism in Zcash and I would like to experiment with other governance ideas, like futarchy, because coinholder voting doesn’t seem to be the market-based solution it’s advertised as.

My intuition says there is a better governance mechanism somewhere in the possible design space and we haven’t found it yet.

30 Likes

Well said frank, on all points.

5 Likes

That may be concerning if that coinholder voting would be about the protocol, but it’s not the case at all.

Here it’s only about the spending of our tokens / inflation. Who else would have the legitimacy to do that? Whale oligarchy, or capitalism 101?

What’s capitalism 101?

I meant basics of capitalism. Owners of capital decide what is to be done with said capital.

1 Like

Shielded voting requires the computation of ZKP just like making a regular tx does. Your seed phrase isn’t burned. In fact, I have never moved my coins. Elections use a window because the calculation of the non-inclusion proof would need more than 200 million hash calculations due to the spam period.

1 Like

Like I wrote, I’m as capitalist as they come. For me that mostly means “free markets”. But Zcash is not a business with shareholders and the coinholder voting is not a market process. Looking at the current numbers it looks like it’s at most 40 people deciding where the all the inflation will go.

My main point is that I’m not sure that will lead to the best spending decisions which benefit the protocol and the token price long-term. ZCG elected by ZCAP most likely will also not.

If I could I would experiment with a Futarchy based market mechanism for spending decisions, similar to what’s implemented in MetaDAO.

In short, spending decision would pose the question: If this grant is approved, will it benefit or hurt the ZEC token price long-term?

And then people “bet” on the result on two conditional markets. For every decision real capital has to be put at risk.

If you are directionally right over time you get compensated, if you are wrong you get punished. In proportion to the capital you put at risk. And it’s open for information from outsiders, because they can participate by buying ZEC conditionally in the “pass market”.

I’m aware that this is currently not easily implementable and it wouldn’t be smart to do to this on Solana with bridged ZEC and USDC as the main governance mechanism.

But it’s definitely more capitalism and free market than coinholder voting.

3 Likes

I’m sorry if I wasn’t clear. I meant “effectively burning it” as a metaphor. If I have my shielded ZEC on a hardware wallet (like I do) I cannot, under any circumstance, put the seed phrase into another physical device, it would break the security model.

That’s why you have to move the coins first and then vote with the seed phrase.

I’m aware of computational complexity and it’s not a critique of your software at all. But putting the seed phrase of a hardware wallet into another piece of software breaks the security model of hardware wallets.

4 Likes

What we have is the beginning of proper governance. It’s extremely exciting imho.

I think all stakeholders are open to improvements, we just need something tangible, compatible with Zcash protocol and exciting enough to make it worth the exploration.

But for now we’re just getting started exploring the current model, so let’s give ourselves a year or three before we reach conclusions too early. Some people have spent and keep spending a lot of time to make this happen.

4 Likes

We are in agreement here. Just to be clear, I’m totally pro improving the coinholder voting mechanism and bring it to a point where coinholders of all sizes can easily vote (ideally directly in Zashi with hardware wallet support).

Only that will show how the participation rates, average voter size, etc. will develop. Right now it’s very cumbersome so naturally whales are the most motivated to actually do it.

I’m against switching over to coinholder voting now as the main governance mechanism, because it’s simply not production ready enough.

Long-term I hope we will get one unified solution that is as free market as possible, because I believe that will lead to the best decisions.

To reach that goal I would like to keep experimenting on the side, without rocking the boat too much.

7 Likes

The discussion on governance is both exciting and absolutely decisive for Zcash’s future.

It’s not only about who votes and how; it’s about the whole design of power, incentives, and decision-making.

A few days ago I posted a short note on this topic under my candidacy thread:

During the December 4 community call (or in a follow-up note) I will share a proposal on how we could approach governance evolution deliberately, carefully, and together.

5 Likes

To be clear, I’m not completely sold on futarchy, but I am down to experiment and learn. Same model Ive used for coin voting, I want to be IN the mix, so I can see see first hand how it works.

2 Likes

Agreed. Looks like what everybody can agree on is that the coinholder voting UX needs improving and I’m glad to hear that’s a high priority for next year.

2 Likes

I specifically bought Zcash after I knew THV would exist - because of THV.

#1 - The ecosystem would push itself forward if funding was accountable to coin holders instead of insiders.

#2 - The moral robustness to bitcoiner OGs is 1,000X easier with THV than committee / insider forum badges.

Insiders in the community forums are rarely the effective people on X (IE Naval, Mert - but they are why Bitcoiners now care about Zcash)

I’m not a whale, but I’m thrilled they care enough to vote. It is more skin in the game than forum badges. This old obscure governance to mask everything going to insiders needs to go.

We can 10X from here and take on Bitcoiners but it requires THV. Having it for ZCG would be the single most bullish thing that could happen right now.

Once we make it easy, people who have less to lose will get on board (just like Zashi did for shielded addresses) but until then we HAVE to move past the perception of insiders allocating money.

It is the only credible way to carry the “encrypt your bitcoin / bitcoin hedge” forward in a serious way. Think about what changed in Zcash to carry it from $50 to $500 and get it back in the conversation. We need to run towards that, not back to old systems.

P.S. This post has more of my thoughts https://forum.zcashcommunity.com/t/proposal-to-switch-zcg-elections-to-token-holder-voting/53533/20

3 Likes

I like Murt and his shit… ehhh I mean bull posting on X. He got traction and reaches a lot of people. But saying the people on this forum are not effective, the ones who are actually building and participating in important discussions, is delusional. I guess part of the reason is that you barely spent time here since 5 years, as you said yourself. Maybe try to participate here more consistently? CT/X is just another bubble and not the holy grail of information.

3 Likes

Yes and any centralized social media will become even less relevant as we move on. A silent and stealth take down is under way.

As the Everything Fugazi is about to be revealed in 2026 causing large outcry, every dissents or alternative narratives has to be fully controlled.

2 Likes

Just because there are a few threads going on this subject, here’s a link to what I wrote up earlier today. And I’ll just add this. Many seem to like these idealized “fair” and “pure” systems like coinholder voting, and these are important features of blockchains. However, having been in this space since 2016, I have yet to see any community build their ecosystem using these fair and pure protocols exclusively–or even primarily. We are human. Alliances matter. How we choose to spend our time matters. Market forces do not always win. Yes, Zcash governance is a bit messy. But to its credit, it integrates the human side of things in a democratic way better than any other blockchain that I know. Parties who didn’t give Zcash a second thought a year ago want to rip that down. We weren’t just twiddling our thumbs during the down-only years. We were adjusting systems in anticipation of this boom. Let’s see how robust our design is as it is stress-tested.

5 Likes

:sparkles:The consensus leans toward improving coinholder voting—but not yet elevating it as the main governance pillar—while exploring complementary models.:sparkles:

1 Like

The main issue has always been voter registration. Maybe one day with like ZK-ID, or something, we’ll be able to do that. Maybe we’ll be able to issue zsa voting tokens too :shrug: and then there might be a reasonable expectation of practical and meaningful participation, as opposed to this, which certainly has been a learning expeience.

1 Like

I think this issue can and will be fixed the same way the infinite growth of the nullifier set is fixed: Tachyons. The voter registration is a by product of an equivalent problem.

In regular zcash txs, how do you prevent double spending? In coin voting, how do you prevent double voting?

Solve one problem efficiently, and you will solve the other one.

Until then, we do voter registration because we can’t ask people to download and process dozens of millions of hashes.

4 Likes