Skip to content

Commit fc41fe3

Browse files
committed
Merge branch 'main' into revise_all_content
2 parents 4d3e68b + e4ade21 commit fc41fe3

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

docs/fundamentals/staking.md

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ Elements inside a staking process include:
1919

2020
In this staking process, there are two main actors: **pool operators** and **owner**. A pool operator can create, update, and destroy pools. An owner can deposit their [XPLL](../introduction.md#what-is-xpll) into a pool, top-up their deposit, withdraw their deposit, and set the amount they want to stake in the pool. However, they cannot stake more than the amount they have deposited.
2121

22-
If a pool has enough power (determined by the amount of stakes), it can join as a [validator](#validator) in the next epoch. In each [epoch](blocks.md#epoch-block), rewards are distributed to owners' deposits, and the validator set is updated according to the validators' power, which will determine the validators in consensus for the current epoch.
22+
If a pool has enough power (determined by the amount of stakes), it can join as a [validator](#validator) in the next epoch. In each [epoch](blocks.md#epoch-block), block rewards are distributed to owners' deposits, and the validator set is updated according to the validators' power, which will determine the validators in consensus for the current epoch.
2323

2424
An owner can withdraw their deposit from a pool, but the amount they withdraw cannot make their deposit less than the maximum stake amount in the current and previous epoch.
2525

2626
## Validator
27+
2728
In a delegated proof-of-stake (DPoS) blockchain network, a validator is a participant in the network who is responsible for validating [transactions](transactions.md) and creating new [blocks](blocks.md). To validate transactions, validators must check that the transaction is valid, for example, the sender has enough balance to complete the transaction.
2829

2930
Validators are selected based on the amount of tokens they hold and their stake in the network. This stake serves as collateral and incentivizes validators to act honestly and maintain the security of the network. The more stakes they have, the greater their chances of being selected to be one of the validators in the next epoch.
@@ -39,6 +40,60 @@ See also:
3940
- [Staking XPLL by Web Wallet](../for_users/web_wallet/staking.md)
4041
- [Staking XPLL by Xperience Browser Extension](../for_users/xperience_browser_extension/staking.md)
4142

43+
## Rewards
44+
45+
Rewards serve as an incentive for validators who actively contribute to the creation of new blocks within the blockchain network.
46+
47+
In DPoS blockchains, validators are selected to validate transactions and generate new blocks based on the quantity of XPLL they have staked within the network. As a reward for their contributions, validators receive two kinds of rewards:
48+
1. **Priority Fees**: an amount of *existing* XPLL that transaction signers *transfer* to block proposers to reward them for including their transaction.
49+
2. **Block Rewards**: an amount of *new* XPLL created ("issued") at the end of every epoch according to a function of the total amount of XPLL staked.
50+
51+
Block rewards play a crucial role in blockchain networks by serving multiple purposes. They incentivize miners and validators' participation in the network's consensus process, thereby upholding the security and integrity of the network. Additionally, block rewards facilitate the introduction of new XPLL into circulation, ensuring the long-term sustainability of the network.
52+
53+
This document provides a rough overview of the calculation of block rewards. The exact formulas that Fullnodes use to calculate rewards are specified near the end of the ["next epoch" section](https://github.com/parallelchain-io/parallelchain-protocol/blob/master/Runtime.md#next-epoch) of the Runtime chapter of the ParallelChain Protocol specification.
54+
55+
56+
### Reward Rate
57+
58+
The block reward amount gradually decreases as additional blocks are incorporated into the blockchain over time. This process, which is known as the **block reward reduction**, is a characteristic found in various blockchain networks, such as Bitcoin (where it is popularly called "halving"). By implementing the block reward reduction, the supply of cryptocurrency is regulated, effectively curbing inflationary pressures.
59+
60+
Block rewards in ParallelChain Mainnet gradually reduce according to the following formula:
61+
62+
- First year: 8% per annum
63+
- Reduce 15% per annum
64+
- After 10 year (3650 days): keep at 1.5% per annum
65+
66+
The **total amount of rewards (issuance)** introduced to the network is calculated as follows:
67+
68+
$$
69+
\text{Total amount of stake} \times \text{Issuance rate}
70+
$$
71+
72+
For example, if the *total amount of stake* of a validator is `100,000 XPLL` currently, and the *issuance rate* is `0.001`, then the *total amount of XPLL to be issued* to that validator in the next epoch will be `100,000 * 0.001 = 100 XPLL`.
73+
74+
75+
The **issuance rate** is calculated as follows:
76+
77+
$$
78+
\text{Issuance rate at n-th epoch} = 0.0835 \times \frac{0.85^{\frac{n}{365}}}{365}
79+
$$
80+
81+
after 10 years (or equivalently, after $n >= 3650$), the issuance rate will become a constant:
82+
83+
$$
84+
\text{Issuance rate per epoch after 10 years} = \frac{0.0150}{365}
85+
$$
86+
87+
### Delegator Reward
88+
89+
Delegators receive a portion of the newly issued rewards based on the amount they have staked with the validator. However, it's important to note that the delegator rewards will be reduced by a commission fee, which is determined by the validator and can be adjusted in their settings.
90+
91+
Let's assume that in the upcoming epoch, the validator `V` will receive a *total reward* of `100 XPLL`. `V` has set a *commission fee* of `1%`. Additionally, one of its delegators, `D`, has contributed `10%` of the total staked amount to `V`. Then in the next epoch, `D` will be rewarded:
92+
93+
$$
94+
\text{Reward} = 100 \text{ XPLL} \times 10\% \times (100\% - 1\%) = 9.99 \text{ XPLL}
95+
$$
96+
4297
## FAQ
4398

4499
#### Why am I not able to stake XPLL tokens?

mkdocs.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,10 @@ markdown_extensions:
107107
- pymdownx.snippets
108108
- pymdownx.tabbed:
109109
alternate_style: true
110+
- pymdownx.arithmatex:
111+
generic: true
112+
113+
extra_javascript:
114+
- javascripts/mathjax.js
115+
- https://polyfill.io/v3/polyfill.min.js?features=es6
116+
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js

0 commit comments

Comments
 (0)