Please note this is not a technical document, but mainly describes SBP and SBP-related topics. Technical details will be introduced in the yellow paper.
The Definitions of Terms:
Vite invents Snapshot Chain technology and adopts DPoS consensus algorithm which is consistent with the DPoS algorithm of BTS in essence. However, compared with original DPoS, Vite has made some improvements.
The relevant modifications are as follows (For detailed rules, please read the article below):
In the traditional DPoS implementation, a certain amount of tokens are paid to register delegated node. But in Vite system, computing resources as well as SBP eligibility are obtained through staking. In Vite, you can stake to get Quota (transaction quota), or you can stake to register a SBP.
To register a SBP, you need to stake VITE tokens, which will be frozen until you cancel the SBP eligibility. In other words, if you want to stay as a SBP, you should have enough VITE being staked.
Once staked, the VITE tokens for SBP registration cannot be retrieved immediately. Actually, staked tokens must be retrieved by sending a transaction to cancel the SBP eligibility after at least 7776000 snapshot blocks (about 3 months).
The 3 months lock-time is to prevent frequent staking/canceling, which would significantly impact the stability of the entire network.
In the traditional DPoS algorithm, the address of the registered delegated node is the address to produce blocks and receive rewards. Once a node is registered as delegated node, it is qualified since the time being .
In Vite system, the address who registers the super node, the address of block producer, and the address to receive rewards can be 3 different addresses. If a registered super node sends a transaction to cancel stake, it will be removed from the super node list after confirmed.
In the registration process, the staker sends a SBP registration transaction to the built-in contract. After the corresponding response is confirmed by the snapshot chain, the registration is successfully completed.
SBP address: The address used to produce snapshot blocks. This can be the same address of the node who starts SBP Registration. However, it is recommended to generate a new SBP address on the SBP server, so that even if the server is hacked, the SBP staker address is secure. SBP address can be changed by sending a transaction to update registration information by the staker.
SBP name: 1-40 characters, including Chinese and English, numbers, underscores and dots. Duplicated names are not allowed. SBP name is used in voting.
In Vite system, the rate at which the snapshot chain generates new blocks is 1 block per second. In every 75 seconds (equivalent to a round) the voting result is calculated to select who are the SBPs in the next round. Each SBP generates 3 consecutive blocks in a round.
In Vite system, there are 25 SBP nodes that are selected in each round. The rules are as follows:
After Vite MainNet is launched, an inflation of at most 3% of VITE market cap will be permitted each year as SBP rewards. The current reward for a snapshot block in the TestNet is fixed at:
The reward for a block is allocated to 2 parties:
50% of reward will be given to the block producer, which we call Block Reward.
50% of reward will be given to the top 100 SBPs every 75 seconds in a round, which we call Voting Reward.
The voting reward rules are as follows:
total number of blocks that are actually produced / total number of blocks that should be produced. The higher the online rate, the more rewards.
A cycle: Refers to 1152 rounds, approximately one day.
l: The number of blocks actually produced by the node in one cycle
m: The number of blocks that should be produced by the node in a cycle
n: The number of rounds in which the node ranks in top 100 SBPs in one cycle, referred to as the number of rounds in which the node participates
Xn: The number of blocks that are actually generated by the node in Round n
Wn: The sum of total number of votes received by all top 100 SBPs and the total amount of stake of all top 100 SBPs in Round n in which the node participates
Vn: The sum of the number of votes and stake obtained in Round n in which the node participates
R: The reward for each block. In the TestNet this is a constant:
Q: The total reward for the node in a cycle
The rewards in Vite TestNet are not immediately sent to the SBP's address, but the staker who registered the SBP is required to manually send a reward retrieval transaction to get the rewards.
Reward retrieval rules:
238800quota each time.
staking from multiple accountssupported?
Currently, no. SBP registration is implemented based on built-in smart contract.
Staking from multiple accounts will be supported through inter-contract calls in the future, after the full functional smart contract is ready.
The inflation only happens when a SBP sends a request to ask for his rewards. If a node has 0 reward due to 0 online rate, no new VITE token will be issued, so that no additional reward will be given to other nodes.
No. Your reward is 0 due to 0 online rate if you do not run the node at all.
It is possible. If your node happens to be in a forked chain, or if you have high network latency for the moment, you may have zero online rate. In addition, if the number of blocks that your node should produce in a cycle is 0, the online rate is also 0.
Yes, you can.
In the current design (the first version of TestNet), staked VITE tokens in SBP registration can not be re-used during the stake period. In other words, you can not re-stake these VITEs for other purpose such as to obtain quota. However, an in-plan enhancement may be introduced in the future release.
Yes you can. In Vite system, SBP registration address(aka staker address) and the address of SBP node who produces blocks may be two different addresses. The staker can assign a different address to run the node each time he registers a super node.