Coin Voting 2.0 – Participate in a Test Poll!

The Coinholder Test Poll Is Now Open

Zcash coinholders can now cast their vote for their favorite mobile wallet. The poll will remain open until Block 2,878,135, which is expected around 7:00 AM UTC on Saturday, April 5. Results will be shared once the poll closes.

Election URL:

https://zecvote.zone/election/92b989a39c0e679299872c619faf9bdb5a031204d4508b50bc7bbf0217829703

If you’re using the desktop app, follow these steps to cast your vote:

  1. Open the voting app.
  2. Click “New” to start voting in a new election.
  3. Enter the election URL and your seed phrase.
  4. Save the election file when prompted.
  5. Click “Download Blockchain Data.” Once it finishes processing, your voting power should appear.
  6. Go to the “Vote” tab, select your choice, and enter the number of votes you want to cast.
  7. You should see a confirmation message once your vote has been successfully submitted.

If you’d prefer to delegate your vote to ZecHub or Shielded Labs, you can use the following addresses:

ZecHub: zvote1um3uu4xg6f84s0gvxqkk2p9nrsqj6r9mh48jt0fnzfmvwr40k6dvwwmm6nw5jkhsvz4jw7majux

Shielded Labs:
zvote1tm7scqt9n3n3avngdpeu6pajecv9kwunytu40wrv5rh4k65spk77k526q5dlsdspppy2cyeds42

A list of Frequently Asked Questions (FAQ) is available below and will be updated as new questions come in.


Frequently Asked Questions (FAQ)

What is the Coin Voting 2.0 Test Vote?

The Coin Voting 2.0 test vote is a trial run of a new coinholder voting system developed by @hanh that allows users to participate using shielded ZEC held in the Orchard pool. It gives Zcash holders a chance to try out the voting process and get familiar with how it works before it’s used for real governance decisions. This test vote is just for fun and asks participants to choose their favorite mobile wallet.

Am I eligible to participate?

To be eligible to participate, you must have moved ZEC into the Orchard pool or refreshed your notes during the registration period that ran from Block 2,663,885, which occurred around September 30, 2024, to Block 2,870,670, which occurred on Saturday, March 29.

Why is there a registration period?

The registration period exists because it would be too computationally intensive to scan every Orchard note ever created. “Proof of balance” relies on the halo2 circuit, which, like Orchard itself, requires the wallet to compute witness data. Allowing participation from all Orchard notes since inception would mean downloading and processing the entire chain, which involves several gigabytes of data and would be impractical for most users. Limiting it to a registration window keeps the process efficient and accessible.

Is there a minimum amount of ZEC needed to vote?

Yes, you’ll need at least 0.01 ZEC to vote.

Can you provide an overview of the election process?

The Coin Voting 2.0 application differs from the previous voting system that was integrated into YWallet. This is a standalone application that is not currently integrated into any wallet, meaning users will need to download it separately. Each election consists of four steps: creation, hosting, voting, and auditing. The creator defines the vote parameters, including the question, answers, and eligible block range. The host runs the election logistics, providing a trustless online service for voters to submit ballots. Voters participate using their Orchard funds, with the option to delegate votes. Finally, auditors verify the results once the election concludes by using a revealed seed phrase to validate the ballots and report the final counts.

Where can I download the Coin Voting 2.0 app?

Is there a demo or walkthrough that explains how the voting process works?

Yes, check out this video explainer from @dismad of ZecHub:

Is there a mobile version of the app?

Yes, Hanh recently released a beta mobile version of the voting app through YWallet. It’s available now on iOS via TestFlight and on the Android Beta store. While we haven’t tested it yet ourselves, our understanding is that it’s functional and can be used for this test poll. It’s expected to be fully available in production by the next poll in mid-April.

iOS

Android: Be sure to download the beta version

Here’s a demo on how to use the mobile version

Are there any technical resources available for those who want to understand how the application works under the hood?

Here are a couple resources that explains how the mechanism works:

Why does the app show more votes than the amount of ZEC I hold?

In the Coin Voting 2.0 system, the number of votes you receive corresponds directly to the amount of ZEC you hold. The system is designed to assign votes in whole numbers by multiplying your ZEC balance by 1,000. So, if you have 10 ZEC, you receive 10,000 votes. This approach makes vote counting and display simpler, while still preserving the proportional relationship between holdings and voting power.

Is it possible for the voting authority to manipulate votes?

The Coin Voting 2.0 system is designed to be secure and tamper-resistant, but like any system, it depends on how it’s deployed. Votes are submitted to a dedicated voting blockchain that runs using the CometBFT consensus engine. This blockchain is maintained by a set of validators, which are called voting authorities.

If there’s only one validator, a malicious operator could suppress or selectively include votes. However, when deployed with at least four independent validators, the system becomes resistant to manipulation—as long as two-thirds of them are honest, no single party can control the outcome. This approach ensures that votes are collected and finalized through a consensus mechanism, rather than relying on a centralized server.

How many voting authorities are there for the test vote?

There is only one voting authority for the test vote, but that’s intentional—this is a trial run where the results don’t matter. The purpose is simply to test whether people can use the system as designed. For this vote, we’re using a single-server, single-node setup, which is the simplest possible configuration. For the next poll in mid-April, which will focus on governance issues, there will be four designated voting authorities.

5 Likes

I have voted. :sweat_smile:

5 Likes

I voted as well and I think the process went smooth.

I delegated a share of my voting power to Shielded Labs. With the other part of my voting power I voted for two of my favorite wallets. Cool feature that you can split your voting power that way.

Thanks again for organizing that test run!

4 Likes

Have also voted! :ballot_box: :student: :+1:

3 Likes

worked fine here!

4 Likes

voted with the new Ywallet.
at first it showed me i had 0 available votes. then went back 1 step and tried again then the vote available showed up correctly.

this is already way better and clearer than the coin voting v1 was :+1:

2 Likes

We’ve received reports from some users whose voting power does not reflect their full ZEC balance, even though their coins were transferred to the Orchard pool before the registration deadline. In one example, a user withdrew ZEC from a centralized exchange to a transparent address in Zashi, then shielded the funds into the Orchard pool.

The root cause is related to how internal keys are derived. For example, Zashi creates separate internal accounts when handling actions like shielding. The current version of the Coin Voting 2.0 app does not yet support scanning multiple internal key paths, so it may miss balances stored in these internal accounts.

Hanh is working on a fix that will allow the user to create multiple election files to support Zashi’s internal wallet structure. Once released, Zashi users will be able to select a “Zashi Internal Wallet” option. If you’re using multiple accounts, you may need to vote more than once to capture your full balance.

We’ll share an update as soon as the new version is available. There may still be other edge cases not addressed by this fix, so please continue to report any issues you encounter so we can investigate and improve the system.

1 Like

To be clear, it will NOT support multiple keys so you will have to create two election files: 1 for the external scope, and 1 for the internal scope.

1 Like

Hey Jason and Zcash folks! That is my case. I hope Hanh can resolve this issue for the next voting election.

BTW, I tried voting with my voting power (first try) and also delegating to Zechub (second try). Both attempts were successful!

Curiously, I didn’t need to follow all the steps @dismad indicated in his video tutorial to delegate my vote. Once the first vote was completed, I just went to the delegate tab, copied and pasted the ZecHub voting address, added my number of votes and hit the Vote button. The result was successful! I just mentioned it in case anyone wants to try it.

Thank you, Jason and Dismad for organizing this test voting process and the fantastic experience! It’s really easy to participate! I would also like to thank @hanh for his hard work in creating this voting application. It will help with the decentralized governance of Zcash.

3 Likes

This is not a Zashi-specific behaviour. The concept of shielded key scoping / internal keys was added to ZIP 316 in early 2022, and to the zcash_primitives crate in mid-2022. Any shielded wallet using those crates in the past few years might have this same behaviour, and in particular any wallet using the mobile SDKs (e.g. Edge, Unstoppable, and Nighthawk, in addition to Zashi) will definitely have this behaviour.

6 Likes

EZcash follows ZIP 316 as well.

3 Likes

The updated app is now available. When you create a new election, you’ll see a switch for “Internal Wallet” that allows the app to scan for funds stored in internal accounts, like those used by Zashi, Edge, eZcash, and other wallets that follow ZIP 316.

If you hold ZEC in both internal and external accounts, you’ll need to cast your vote twice: once with the switch turned on, and once with it turned off.

3 Likes

Still have votes coming in, great to see! :magnifying_glass_tilted_right:

4 Likes

Reminder: There are less than 24 hours remaining to vote. Don’t forget to cast your ballot! Dismad and I have decided to extend the voting period by a few hours, until tomorrow morning at 9am PDT / noon EDT / 4pm UTC, to allow users who experienced issues more time to participate.

4 Likes

The results are in!

11 Likes

Great test. Just want to put it out there for Zcash users. Zashi and Ywallet, the 2 most popular wallet, have compatibility issues. In my experience, if you generate a wallet on Zashi and use it to receive and send ZEC, you might not recover all your ZEC if you import your recovery seed phrase to Ywallet (vice versa?). I believe this is due to the difference between how Zashi and Ywallet handle changes made during transaction.

2 Likes

To be clear this is not a “compatibility” issue, this is caused by Ywallet opting for not following the Zcash spec fully. Ywallet to Zashi should always work.

4 Likes

You might be interested in the ZeWIF work that the Zingo team is doing with the Blockchain Commons.

Per those wallets being the “most popular”, some Zingoistas specifically didn’t participate because we don’t want to propagate the “competing wallets” narrative.

So the poll represents a biased sample, particularly of the opinions of coin holders who are invested in that narrative, both at the level of poll construction.. and participation.

To check out an alternative perspective that aims to leverage the value being generated by the whole community you can check out one of my posts on the subject.

2 Likes

Couldn’t they use the zcash-vote-app that was tested for

  • ywallet
  • zashi
  • zingo
  • ezcash

seeds independently?

Where is the actualy friction because Im not sure which wallet is the main source.