Please note this is not a technical document, but mainly describes voting-related topics. Technical details will be introduced in the yellow paper.
The Definitions of Terms:
Vite uses a protocol-based voting mechanism for governance. There are two voting categories: global voting and delegated voting. Global voting is based on the VITE held by the user to calculate voting weight, mainly used for the super node election of the snapshot consensus group. The delegated voting is for smart contract. When the contract is deployed, a certain token is designated as the voting token, which can be used to elect the delegated node of the delegated consensus group that the contract belongs to.
In addition to the confirmation of transaction, the super node of the snapshot consensus group is able to choose whether to perform non-compatible upgrade on Vite system. Similarly, the delegated consensus group has the right to decide whether to upgrade an existing contract, so that avoiding the risk of contract upgrade failure. This helps improve the efficiency of decision-making and prevent decision failure from insufficient voting. These super nodes or delegated nodes are also subject to the consensus protocol. No upgrade will be implemented if the majority cannot reach agreement. Additionally, if they do not behave correctly as expected, users can vote them out.
For each consensus group, user can vote for a delegated node by sending a voting transaction to the built-in contract with specified consensus group ID and the delegated node address he votes for. After the corresponding response transaction is confirmed by snapshot chain, voting is successfully completed.
Votes are calculated every round. The delegated nodes for next round will be elected based on the voting result at the time being.
Voting can be cancelled at any time, by sending a cancel-voting transaction with a specified consensus group ID.
No. In the TestNet, an individual user can only vote for one super node at a time, however, you can still vote for delegated node in delegated consensus group in the meantime.
If the delegate node cancels the stake, the belonging consensus group will no longer count the votes of this node. All votes for this delegated node will become invalid. You should vote for another node instead.
Voting consumes quota, not VITE, so that you can vote even if you do not have VITE in the account. However, SBP(snapshot block producer) is elected based on voting weight, if your VITE balance is 0, your vote has 0 voting weight and will be regarded as invalid.