Skip to content

Commit 67fe13a

Browse files
authored
Reorg collators page (#6774)
* edits * added links - edited parachain blockl path paragraph * major edits - rewrite validator doc - reorg collator doc - better navigation and IA * minor content edits * Bhargav feedback
1 parent c785361 commit 67fe13a

4 files changed

Lines changed: 76 additions & 127 deletions

File tree

-16.3 KB
Binary file not shown.

docs/learn/learn-collator.md

Lines changed: 12 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4,74 +4,33 @@ description: Understand the role of collators in Polkadot, including block produ
44
---
55

66
!!!info
7-
This page provides a general overview of the role of collators' in the Polkadot ecosystem. For more detailed information you can read the [Parachain Protocol Overview](./learn-parachains-protocol.md).
7+
This page provides a general overview of the role of collators in the Polkadot ecosystem. For more detailed information, read the [Parachain Protocol Overview](./learn-parachains-protocol.md).
88

99
## Collators' Role
1010

11-
Collators maintain parachains by collecting parachain transactions from users and producing state
12-
transition proofs for relay chain validators. In other words, collators aggregate parachain transactions into parachain block candidates and produce state transition
13-
proofs (Proof-of-Validity, PoV) for validators.
14-
15-
Collators maintain a full node for the relay chain and a full node for their particular parachain;
16-
meaning they retain all necessary information to be able to author new blocks and execute
17-
transactions in much the same way as miners do on PoW blockchains. Under normal circumstances, they
18-
will collate and execute transactions to create an unsealed block and provide it, together with a
19-
PoV, to one or more validators responsible for proposing a parachain block.
20-
21-
Collators are similar to validators on any other blockchain but they do not need to provide security
22-
guarantees because the relay chain provides those. If a parachain block is invalid, it will get
23-
rejected by validators. The validators are required to check the validity of submitted candidates,
24-
followed by issuing and collecting statements about the validity of candidates to other validators.
25-
This process is known as **candidate backing**. Validators receive an arbitrary number of parachain
26-
candidates with associated PoV from untrusted collators. A candidate is considered _backable_ when
27-
at least 2/3 of all assigned validators have issued a valid statement about that candidate.
11+
### Rollup Maintainers
2812

29-
The validator must successfully verify the following conditions in the following order:
30-
31-
1. The candidate does not exceed any parameters in the persisted validation data.
13+
Collators maintain rollup chains (parachains) by collecting user transactions and producing state transition proofs for Polkadot's validators. In other words, collators aggregate transactions into parachain block candidates and produce state transition
14+
proofs (Proof-of-Validity, PoV) for validators.
3215

33-
2. The signature of the collator is valid.
16+
Collators maintain a full node for the relay chain and a full node for their particular parachain, meaning they retain all necessary information to author new parablocks and execute transactions like miners do on PoW blockchains. Under normal circumstances, they
17+
will collate and execute transactions to create an unsealed block and provide it with a PoV to one or more validators on a Polkadot core.
3418

35-
3. Validate the candidate by executing the parachain Runtime.
19+
Collators are similar to validators on any other blockchain. Still, they do not need to provide security guarantees because the relay chain provides those as a service via [the ELVES protocol](https://eprint.iacr.org/2024/961). If a parachain block is invalid, validators will reject it.
3620

37-
Once a candidate meets a specified criteria for inclusion, the selected relay chain block author
38-
then chooses any of the backable candidates for each parachain and includes those into the relay
39-
chain block. We say the candidate blocks are _backed_.
21+
### Rollup Liveness and Censorship
4022

41-
The assumption that having more collators is better or more secure is not correct. On the contrary,
42-
too many collators may slow down the network. The only nefarious power collators have is transaction
43-
censorship. To prevent censorship, a parachain only needs to ensure that there are some neutral
44-
collators - but not necessarily a majority. Theoretically, the censorship problem is solved by
45-
having just one honest collator.
23+
Rollup safety (i.e., the insurance that invalid transactions are not included on the rollup) is achieved through validators on the relay chain implementing the ELVES protocol. But the onus of liveness (i.e., new blocks are eventually produced) and censorship resistance on the rollup is the responsibility of the collators. Hence, a sufficiently [decentralised collator](../general/web3-and-polkadot.md#decentralization) set ensures liveness and mitigates censorship resistance. Theoretically, a single honest collator can ensure liveness but with reduced throughput.
4624

47-
## XCM
25+
### Cross-consensus Messaging
4826

4927
Collators are a key element of the [XCM (Cross-Consensus Message Passing Format)](learn-xcm.md). By
5028
being full nodes of the relay chain, they are all aware of each other as peers. This makes it
5129
possible for them to send messages from parachain A to parachain B.
5230

53-
## Taking the Case for One Parachain
54-
55-
A start of a new block candidate is initiated with a block creation time. The collator aggregates
56-
all new transactions at the end of the process. When doing so, the collator signs the _parachain
57-
block candidate_ and produces state transition proofs (Proof-of-Validity, PoV), which are a summary
58-
of the final account balances caused by the transactions in the candidate block. The collator sends
59-
the candidate block and PoV to the parachain validators, so-called para-validators. The
60-
para-validators verify the transactions within the parachain block candidate. Upon verification, and
61-
if all is well, the candidate becomes _backable_ and a para-validator shares the candidate block
62-
with the relay chain.
63-
64-
![parachain candidate block diagram](../assets/polkadot-consensus-example-1.png)
65-
66-
The validators on the relay chain will try to reach a consensus on the block candidate. Upon
67-
reaching consensus, the now validated block candidate is shared with the validators and collators,
68-
and the process repeats for new transactions. A collator cannot continue building blocks on a
69-
parachain until the block candidate they proposed to the relay chain validators have been validated.
70-
A block is produced every 6 seconds.
71-
7231
## Collators in the Wild
7332

74-
Blockchains that are built using Substrate are unable to hook onto the relay chain on their own. The
33+
Blockchains built using Substrate cannot hook onto the relay chain independently. The
7534
Parity team built the
7635
[Cumulus library](https://github.com/paritytech/polkadot-sdk/tree/master/cumulus/) to address this.
7736
Collators are being used on the [Paseo](https://docs.polkadot.com/develop/parachains/testing/) testnet,
@@ -83,6 +42,4 @@ Rust documentation. More information can be found under the
8342
## Guides and Tools
8443

8544
- [Tutorial covering Cumulus and Collators](https://docs.polkadot.com/develop/toolkit/parachains/spawn-chains/zombienet/get-started/)
86-
- [Paseo testnet guide](https://docs.polkadot.com/develop/parachains/testing/)
87-
- [polkadot-launch](https://github.com/shawntabrizi/polkadot-launch) - a tool to quickly spin up a
88-
local Polkadot testnet based on some parameters like number of parachains, collator setup, etc.
45+
- [Paseo testnet guide](https://docs.polkadot.com/develop/parachains/testing/)

0 commit comments

Comments
 (0)