Skip to content

Commit e4ade21

Browse files
authored
Merge pull request #14 from parallelchain-io/block_reward
Add documentation about block rewards/issuance.
2 parents d7ef207 + 3120a6f commit e4ade21

File tree

2 files changed

+61
-6
lines changed

2 files changed

+61
-6
lines changed
Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,69 @@
11
---
22
tags:
3+
- block reward
34
- Staking
45
---
56

67

78
# Staking
89

10+
## Block Reward
911

10-
## Block reward
12+
Block rewards in a blockchain serve as an incentive for validators who actively contribute to the creation of new blocks within the blockchain network.
1113

12-
Block rewards in blockchain are a form of incentive that is given to validators who participate in the process of adding new blocks to a blockchain network. The process of adding new blocks to a blockchain is known as validating in delegated proof-of-stake (DPoS) blockchains.
14+
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:
15+
1. **Priority Fees**: an amount of *existing* XPLL that transaction signers *transfer* to block proposers to reward them for including their transaction.
16+
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.
1317

18+
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.
1419

15-
In DPoS blockchains, validators are chosen to validate transactions and create new blocks based on the amount of XPLL they have staked in the network. Validators are rewarded with a portion of the transaction fees and a portion of the block rewards for creating new blocks.
20+
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.
1621

1722

18-
Block rewards serve several purposes in blockchain networks. They incentivize miners and validators to participate in the network's consensus process, which helps to maintain the security and integrity of the network. Block rewards also provide a way to introduce new XPLL into circulation, which helps to ensure that the network is sustainable in the long term.
23+
### Reward Rate
1924

25+
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.
2026

21-
Over time, the block reward amount decreases as more blocks are added to the blockchain. This is known as the block reward halving, and it is a feature of many blockchain networks, including Bitcoin. The block reward halving helps to control the supply of cryptocurrency and prevent inflation.
27+
Block rewards in ParallelChain Mainnet gradually reduce according to the following formula:
28+
29+
- First year: 8% per annum
30+
- Reduce 15% per annum
31+
- After 10 year (3650 days): keep at 1.5% per annum
32+
33+
The **total amount of rewards (issuance)** introduced to the network is calculated as follows:
34+
35+
$$
36+
\text{Total amount of stake} \times \text{Issuance rate}
37+
$$
38+
39+
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`.
40+
41+
42+
The **issuance rate** is calculated as follows:
43+
44+
$$
45+
\text{Issuance rate at n-th epoch} = 0.0835 \times \frac{0.85^{\frac{n}{365}}}{365}
46+
$$
47+
48+
after 10 years (or equivalently, after $n >= 3650$), the issuance rate will become a constant:
49+
50+
$$
51+
\text{Issuance rate per epoch after 10 years} = \frac{0.0150}{365}
52+
$$
53+
54+
### Delegator Reward
55+
56+
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.
57+
58+
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:
59+
60+
$$
61+
\text{Reward} = 100 \text{ XPLL} \times 10\% \times (100\% - 1\%) = 9.99 \text{ XPLL}
62+
$$
63+
64+
---
65+
66+
Note:
67+
68+
- The values provided in the examples are approximate estimates and may not be exact. The accuracy of calculated values can be influenced by factors such as decimal truncation in integer division and the order of arithmetic operations.
69+
- The above formulas are valid as of protocol version v0.4 but are subject to change in future protocol versions.

mkdocs.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ nav:
2626
- How does staking work?: concepts/staking/how_does_staking_work.md
2727
- Validators: concepts/staking/validator.md
2828
- Delegators: concepts/staking/delegator.md
29-
# - Block reward: concepts/staking/block_reward.md
29+
- Block reward: concepts/staking/block_reward.md
3030
- FAQ: concepts/staking/faq.md
3131
- Storage: concepts/storage.md
3232
- Explorer: concepts/explorer.md
@@ -149,3 +149,10 @@ markdown_extensions:
149149
- pymdownx.snippets
150150
- pymdownx.tabbed:
151151
alternate_style: true
152+
- pymdownx.arithmatex:
153+
generic: true
154+
155+
extra_javascript:
156+
- javascripts/mathjax.js
157+
- https://polyfill.io/v3/polyfill.min.js?features=es6
158+
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js

0 commit comments

Comments
 (0)