The parachain core team has been working on some optimizations part of Network scalability: 500 parachain validators and 100 cores (async backing enabled) · Issue #26 · paritytech/roadmap · GitHub for increasing the number of validators doing consensus work, some changes had been required to the network validation protocol, so a new network validation protocol(v3) will be introduced starting with the upcoming polkadot-v1.6.0.
The implementation is backwards compatible, but the optimisations can not be be enabled until all the validator switched to polkadot version supporting the new protocol.
Describing the optimisations:
In a nutshell, checking the validity of all assignments and approvals for validating parachain blocks, takes a lot of time, so this optimisation reduce the amount of messages the nodes have to check and forward by merging all assignments from tranche0 in a single message and by opportunistically approving more than one candidate with a single signature.
Relevant pull requests:
- https://github.com/paritytech/polkadot-sdk/pull/1178
- Approve multiple candidates with a single signature by alexggh · Pull Request #1191 · paritytech/polkadot-sdk · GitHub
- https://github.com/paritytech/polkadot-sdk/pull/2444
Enablement path for the optimisations:
- Validators update to polkadot versions that support v3 network protocol, the upcoming polkadot-v1.6.0 or newer versions, kagome support ticket here: Support for new network validation protocol(v3) · Issue #1923 · qdrvm/kagome · GitHub
- Runtime is upgrade to a version supporting the extrinsics for enabling the optimisations.
- Using the newly introduce runtime extrinsics through a referendum we enable the optimizations one by one.
Let me know if you got questions or any more details are needed.