Consensus Rules Voting¶
This guide was last updated on September 23, 2017.
This page is intended to give a brief introduction to how consensus rule voting works and details the process for setting your tickets to cast your preferred vote for any agenda.
There is a two-phase process for voting to implement consensus changes that would create a hard forking scenario.
First, it’s important to note that the Decred blockchain has specifically designated two different block intervals for the voting process. There is a Stake Version Interval (SVI) of 2016 blocks (~1 week) and a Rule Change Interval (RCI) of 8064 blocks (~4 weeks). 4 Stake Version Intervals fit within 1 Rule Change Interval.
The first step of the voting process is to meet the upgrade threshold on the network. After the hard fork code is released (such as the sdiff algorithm change in v1.0.0), a majority of the nodes on the network participating in PoW/PoS need to first upgrade before the voting can be scheduled to begin. For Proof-of-Work, at least 95% of the 1000 most recent blocks must have the latest block version. For Proof-of-Stake, 75% of the votes cast within a single SVI must have the latest vote version. Once miner and voter upgrade thresholds are met, the voting is scheduled to begin on the first block of the next RCI (due to there being 4 SVIs per RCI, it can take up to 6048 blocks [3 SVIs] for the next RCI to begin).
The second step of this process is the actual voting. A single RCI transpires while a maximum of 40320 votes are cast. The votes are tallied at the final block of the RCI, and outcomes are determined prior to the next block being mined.
There are a few possible outcomes of a vote:
- If more than 90% of all votes within the RCI are “Abstain” votes, the agenda vote remains active for the next RCI.
- If all non-abstaining votes within the RCI fail to meet the 75% Yes or No majority threshold, the agenda vote remains active for next RCI.
- If 75% of all non-abstaining votes within the RCI are in support of the agenda (“Yes”), the agenda is considered locked in and the consensus changes will activate 8064 blocks after the vote passed.
- If 75% of all non-abstaining votes within the RCI are in opposition of the agenda (“No”), the agenda fails and the consensus changes will never activate.
- If an agenda reaches its expiration before ever reaching a 75% majority vote, the agenda expires and the consensus changes will never activate.
Below is a diagram of the entire cycle for a single agenda with consensus upgrades.
To participate in voting, you first need a wallet. If you don’t have one already, visit the Beginner Guide, choose a wallet, and follow the installation and setup guides.
Finally, you’ll need to learn how to set the
votechoice for your tickets in order to cast a “Yes”, “No”, or “Abstain” vote for an agenda. By default, your tickets will cast “Abstain” votes. To set your vote choice, see our quick How To Vote.
Verifying Your Vote¶
The easiest method to track your how your tickets actually voted is to use the block explorer to view each of your votes.
The block explorer has been updated to display “YES”, “NO”, and “ABSTAIN” votes for each agenda with each ticket. The first and second tickets in the following example image voted “ABSTAIN” for both agendas while the third ticket voted “YES” for both agendas. The image will be updated to reflect the v5 agenda when voting is live.
Tracking Vote Progress¶
voting.decred.org is an official website set up to track the progress of upgrading and voting.