Skip to content

Commit 2ec0ff0

Browse files
committed
Update PoS - reorg
1 parent 7a981da commit 2ec0ff0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+329
-5502
lines changed

docs/pos/operate-node/validator/responsibilities.md renamed to docs/pos/get-started/becoming-a-validator.md

Lines changed: 97 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,72 @@
1+
Validators are the key actor in maintaining the Polygon network. Validators run a full node, secure the network by staking MATIC to produce blocks, validate and participate in PoS consensus.
12

2-
!!!tip
3-
Stay in the know
3+
!!!info
4+
5+
There is limited space for accepting new validators. New validators can only join the active set when a currently active validator unbonds/is removed due to low performance.
6+
If you are interested in becoming a validator on the PoS network, you can submit an application here: https://polygoncommunity.typeform.com/validatorshub
47

5-
Keep up with the latest node and validator updates from the Polygon team and the community by subscribing to the [Polygon notification groups](https://polygon.technology/notifications/).
8+
* Submitting an application does not guarantee you a validator slot.
69

710

8-
A blockchain validator is someone who is responsible for validating transactions within a blockchain. On the Polygon Network, any participant can be qualified to become a Polygon's validator by running a **Validator Node (Sentry + Validator)** to earn rewards and collect transaction fees. To ensure the good participation by validators, they lock up at least 1 MATIC token as a stake in the ecosystem.
11+
## Overview
12+
13+
Polygon consists of the three following layers:
14+
15+
* Ethereum layer — a set of contracts on the Ethereum mainnet.
16+
* Heimdall layer — a set of proof-of-stake Heimdall nodes running in parallel to the Ethereum mainnet, monitoring the set of staking contracts deployed on the Ethereum mainnet, and committing the Polygon Network checkpoints to the Ethereum mainnet. Heimdall is based on Tendermint.
17+
* Bor layer — a set of block-producing Bor nodes shuffled by Heimdall nodes. Bor is based on Go Ethereum.
18+
19+
To be a validator on the Polygon Network, you must run:
20+
21+
* Sentry node — a separate machine running a Heimdall node and a Bor node. A sentry node is open to all nodes on the Polygon Network.
22+
* Validator node — a separate machine running a Heimdall node and a Bor node. A validator node is only open to its sentry node and closed to the rest of the network.
23+
* Stake the MATIC tokens in the staking contracts deployed on the Ethereum mainnet.
24+
25+
## Components
26+
27+
### Heimdall
28+
29+
Heimdall does the following:
30+
31+
* Monitors the staking contracts on the Ethereum mainnet.
32+
* Verifies all state transitions on the Bor chain.
33+
* Commits the Bor chain state checkpoints to the Ethereum mainnet.
34+
35+
Heimdall is based on Tendermint.
36+
37+
!!!info
38+
See Also
39+
40+
* GitHub repository: [Heimdall](https://github.com/maticnetwork/heimdall)
41+
* GitHub repository: [Staking contracts](https://github.com/maticnetwork/contracts/tree/master/contracts/staking)
42+
* Blog post: [Heimdall](https://polygon.technology/blog/heimdall-vaibhav-chellani-the-all-seeing-all-hearing-protector-of-matic)
43+
44+
45+
### Bor
46+
47+
Bor does the following:
48+
49+
* Produces blocks on the Polygon Network.
50+
51+
Bor is the Block producer node and layer for the Polygon Network. It is based on Go Ethereum. Blocks produced on Bor are validated by Heimdall nodes.
952

1053
!!!info
54+
See Also
55+
56+
* GitHub repository: [Bor](https://github.com/maticnetwork/bor)
57+
* Blog post: [Heimdall and Bor](https://blog.polygon.technology/heimdall-and-bor/)
58+
59+
60+
## Validator responsiblities
61+
62+
!!!tip "Stay in the know"
63+
64+
Keep up with the latest node and validator updates from the Polygon team and the community by keeping an eye on the [announcements posed to Polygon forums](https://forum.polygon.technology/c/announcement/6).
65+
66+
67+
A blockchain validator is someone who is responsible for validating transactions within a blockchain. On the Polygon Network, any participant can be qualified to become a Polygon's validator by running a **Validator Node (Sentry + Validator)** to earn rewards and collect transaction fees. To ensure the good participation by validators, they lock up at least 1 MATIC token as a stake in the ecosystem.
68+
69+
!!!info "Active validator limit"
1170

1271
Currently, there is a limit of 100 active validators at a time. For a detailed description on what a validator is, see [<ins>Validator</ins>](./getting-started.md).
1372

@@ -29,7 +88,7 @@ Any validator on the Polygon Network has the following responsibilities:
2988
* Provide feedback and suggestions
3089
* Earn staking rewards for validate blocks on the blockchain
3190

32-
## Technical node operations
91+
### Technical node operations
3392

3493
The following technical node operations are **done automatically by the nodes:**
3594

@@ -43,37 +102,37 @@ The following technical node operations are **done automatically by the nodes:**
43102
* If more than 2/3 of the active validators reach consensus on the checkpoint, the checkpoint is submitted to the Ethereum mainnet.
44103
* Sync changes to Polygon staking contracts on Ethereum:
45104
* Continuing from the checkpoint submission step, since this is an external network call, the checkpoint transaction on Ethereum may or may not be confirmed, or may be pending due to Ethereum congestion issues.
46-
* In this case, there is an `ack/no-ack` process that is followed to ensure that the next checkpoint contains a snapshot of the previous Bor blocks as well. For example, if checkpoint 1 is for Bor blocks 1-256, and it failed for some reason, the next checkpoint 2 will be for Bor blocks 1-512. See also [Heimdall architecture: Checkpoint](/pos/design/heimdall/checkpoint.md).
105+
* In this case, there is an `ack/no-ack` process that is followed to ensure that the next checkpoint contains a snapshot of the previous Bor blocks as well. For example, if checkpoint 1 is for Bor blocks 1-256, and it failed for some reason, the next checkpoint 2 will be for Bor blocks 1-512. See also [Heimdall architecture: Checkpoint](/pos/architecture/heimdall/checkpoints).
47106
* State sync from the Ethereum mainnet to Bor:
48107
* Contract state can be moved between Ethereum and Polygon, specifically through Bor:
49108
* A DApp contract on Ethereum calls a function on a special Polygon contract on Ethereum.
50109
* The corresponding event is relayed to Heimdall and then Bor.
51110
* A state-sync transaction gets called on a Polygon smart contract and the DApp can get the value on Bor via a function call on Bor itself.
52-
* A similar mechanism is in place for sending state from Polygon to Ethereum. See also [State Sync Mechanism](/docs/pos/state-sync/state-sync).
111+
* A similar mechanism is in place for sending state from Polygon to Ethereum. See also [State Sync Mechanism](/pos/how-to/bridging/l1-l2-communication/state-transfer).
53112

54-
## Operations
113+
### Operations
55114

56-
### Maintain high uptime
115+
#### Maintain high uptime
57116

58117
The node uptime on the Polygon Network is based on the number of checkpoint transactions that the validator node has signed.
59118

60119
Approximately every 34 minutes a proposer submits a checkpoint transaction to the Ethereum mainnet. The checkpoint transaction must be signed by every validator on the Polygon Network. **Failure to sign a checkpoint transaction results in the decrease of your validator node performance**.
61120

62121
The process of signing the checkpoint transactions is automated. To ensure your validator node is signing all valid checkpoint transactions, you must maintain and monitor your node health.
63122

64-
### Check node services and processes daily
123+
#### Check node services and processes daily
65124

66125
You must check daily the services and processes associated with Heimdall and Bor. Also, pruning of the nodes should be done regularly to reduce disk usage.
67126

68-
### Run node monitoring
127+
#### Run node monitoring
69128

70129
You must run either:
71130

72131
* Grafana Dashboards provided by Polygon. See GitHub repository: [Matic-Jagar setup](https://github.com/vitwit/matic-jagar)
73132
* Or, use your own monitoring tools for the validator and sentry nodes
74133
* Ethereum endpoint used on nodes should be monitored to ensure the node is within the request limits
75134

76-
### Keep an ETH balance
135+
#### Maintain ETH balance
77136

78137
You must maintain an adequate amount of ETH (should be always around the threshold value i.e., 0.5 to 1) on your validator signer address on the Ethereum Mainnet.
79138

@@ -88,29 +147,49 @@ Not maintaining an adequate amount of ETH on the signer address will result in:
88147
* Delays in the finality of transactions included in the checkpoints.
89148
* Delays in subsequent checkpoint transactions.
90149

91-
## Delegation
150+
### Delegation
92151

93-
### Be open for delegation
152+
#### Be open for delegation
94153

95154
All validators must be open for delegation from the community. Each validator has the choice of setting their own commission rate. There is no upper limit to the commission rate.
96155

97-
### Communicate commission rates
156+
#### Communicate commission rates
98157

99158
It is the moral duty of the validators to communicate the commission rates and the commission rate changes to the community. The preferred platforms to communicate the commission rates are:
100159

101160
* [Discord](https://discord.com/invite/0xPolygon)
102161
* [Forum](https://forum.polygon.technology/)
103162

104-
## Communication
163+
### Communication
105164

106-
### Communicate issues
165+
#### Communicate issues
107166

108167
Communicating issues as early as possible ensures that the community and the Polygon team can rectify the problems as soon as possible. The preferred platforms to communicate the commission rates are:
109168

110169
* [Discord](https://discord.com/invite/0xPolygon)
111170
* [Forum](https://forum.polygon.technology/)
112171
* [GitHub](https://github.com/maticnetwork)
113172

114-
### Provide feedback and suggestions
173+
#### Provide feedback and suggestions
115174

116175
At Polygon, we value your feedback and suggestions on any aspect of the validator ecosystem. [Forum](https://forum.polygon.technology/) is the preferred platform to provide feedback and suggestions.
176+
177+
## Run and maintain a node
178+
179+
The following step-by-step guides will take you through the process of running a new validator node, or performing necessary maintenance actions for an existing node you've deployed.
180+
181+
### Join the network as a validator
182+
183+
* [Start and run the nodes with Ansible](/pos/how-to/validator/validator-ansible)
184+
* [Start and run the nodes with binaries](/pos/how-to/validator/validator-binaries)
185+
* [Stake as a validator](/pos/how-to/operate-maintain-node/validator-staking-operations)
186+
187+
### Maintain your validator nodes
188+
189+
* [Change the signer address](/pos/how-to/operate-maintain-node/change-signer-address)
190+
* [Change the commission](/pos/how-to/operate-maintain-node/validator-commission-operations)
191+
192+
### Community assistance
193+
194+
* [Discord](https://discord.com/invite/0xPolygon)
195+
* [Forum](https://forum.polygon.technology/)

docs/pos/get-started/building-on-polygon.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Ethereum developers are by default Polygon developers. Welcome. Simply switch to the [Polygon RPC](https://polygon-rpc.com/) and get started. All familiar tools used on Ethereum are supported on Polygon. Whether it is Truffle, Remix or Web3js, Polygon offers the same UX as Ethereum.
1+
Ethereum developers are by default Polygon developers. Welcome. Simply switch to the [Polygon RPC](https://polygon-rpc.com/) and get started. All familiar tools used on Ethereum are supported on Polygon. Whether it is Truffle, Remix or Web3.js, Polygon offers the same UX as Ethereum.
22

33
Connect your wallet and deploy any decentralized application to either Polygon Mainnet or Polygon Mumbai Testnet.
44

@@ -11,7 +11,7 @@ Find all the network-related details in the [network documentation](../referenc
1111
Polygon is a layer 2 (L2) network to Ethereum, employing a proof-of-stake (PoS) consensus mechanism, and thus composed of the following two layers:
1212

1313
- Heimdall layer, a consensus layer consisting of a set of proof-of-stake Heimdall nodes for monitoring staking contracts deployed on the Ethereum mainnet, and committing the Polygon Network checkpoints to the Ethereum mainnet. Heimdall is based on Tendermint.
14-
- Bor layer, an execution layer which is made up of a set of block-producing Bor nodes shuffled by Heimdall nodes. Bor is based on Go Ethereum (Geth).
14+
- Bor layer, an execution layer which is made up of a set of block-producing Bor nodes shuffled by Heimdall nodes. Bor is based on Go Ethereum (Geth).
1515

1616
In order to be a validator on the Polygon Network, you need to:
1717

File renamed without changes.

docs/pos/run-node/delegate/delegator-faq.md renamed to docs/pos/how-to/delegate.md

Lines changed: 129 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,133 @@
11

2+
# How to delegate
3+
4+
This is a step-by-step guide to help you become a delegator on the Polygon Network.
5+
6+
The only prerequisite is to have your MATIC tokens and ETH on the Ethereum mainnet address.
7+
8+
## Access the dashboard
9+
10+
1. In your wallet (e.g. MetaMask), choose the Ethereum mainnet.
11+
12+
![Figure: Choose ERTHh mainnet ](../../../img/pos/choose-eth-mainnet.png)
13+
14+
2. Log in to [Polygon Staking](https://staking.polygon.technology/).
15+
16+
3. Once you log in, you will see overall statistics along with the list of validators.
17+
18+
![img](../../../img/pos/home.png)
19+
20+
21+
22+
23+
!!!note
24+
If you are a validator, use a different non-validating address to log in as delegator.
25+
26+
27+
## Delegate to a validator
28+
29+
1. Click "Become a Delegator" or scroll down to a specific validator and click "Delegate".
30+
31+
![img](../../../img/pos/home.png)
32+
33+
2. Provide the amount of MATIC to delegate.
34+
35+
![img](../../../img/pos/delegateB.png)
36+
37+
38+
3. Approve the delegation transaction and click "Delegate".
39+
40+
![img](../../../img/pos/delegate2.png)
41+
42+
43+
After the delegation transaction completes, you will see the `Delegation Completed` message.
44+
45+
![img](../../../img/pos/delegate3.png)
46+
47+
48+
## View your delegations
49+
50+
To view your delegations, click "My Account".
51+
52+
![img](../../../img/pos/myAccount.png)
53+
54+
## Withdraw rewards
55+
56+
1. Click "My Account".
57+
58+
![img](../../../img/pos/click-my-account.png)
59+
60+
61+
2. Under your delegated validator, click "Withdraw Rewards".
62+
63+
![img](../../../img/pos/withdraw-reward.png)
64+
65+
66+
This will withdraw the MATIC token rewards to your Ethereum address.
67+
68+
## Restake rewards
69+
70+
1. Click "My Account".
71+
72+
![img](../../../img/pos/click-my-account.png)
73+
74+
75+
2. Under your delegated validator, click "Restake Reward".
76+
77+
![img](../../../img/pos/restake-rewards.png)
78+
79+
80+
81+
This will restake the MATIC token rewards to the validator and increase your delegation stake.
82+
83+
## Unbond from a validator
84+
85+
1. Click "My Account".
86+
87+
![img](../../../img/pos/click-my-account.png)
88+
89+
90+
2. Under your delegated validator, click "Unbond".
91+
92+
![img](../../../img/pos/unbond-from-validator.png)
93+
94+
95+
This will withdraw your rewards from the validator and your entire stake from the validator.
96+
97+
Your withdrawn rewards will show up immediately on your Ethereum account.
98+
99+
Your withdrawn stake funds will be locked for 80 checkpoints.
100+
101+
![img](../../../img/pos/unbond.png)
102+
103+
104+
!!!note
105+
106+
The fund locking for the unbonding period is in place to ensure there is no malicious behaviour on the network.
107+
108+
109+
## Move stake from one node to another node
110+
111+
Moving stake from one node to another node is a single transaction. There are no delays or unbonding periods during this event.
112+
113+
1. Log in to the "My Account" on the Staking dashboard.
114+
115+
2. Click "Move Stake" under your delegated validator.
116+
117+
3. Select an external validator and click "Stake here".
118+
119+
![img](../../../img/pos/move.png)
120+
121+
122+
4. Provide the stake amount and click "Move Stake".
123+
124+
![img](../../../img/pos/move2.png)
125+
126+
127+
This will move the stake. The dashboard will update after 12 block confirmations.
128+
129+
# Common queries and solutions
130+
2131
### What is the staking dashboard URL?
3132

4133
The staking dashboard URL is https://staking.polygon.technology/.
@@ -8,7 +137,6 @@ The staking dashboard URL is https://staking.polygon.technology/.
8137
There is no minimum stake amount to delegate. However, you can always start with 1 MATIC token.
9138

10139

11-
12140
### How to stake tokens on Polygon?
13141

14142
For Staking you would need to have funds on the Ethereum Mainnet (more information [here](https://etherscan.io/gastracker)). Log into your wallet on the Ethereum network using the Staking Dashboard. https://staking.polygon.technology/
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)