Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for new network validation protocol(v3) #1923

Closed
alexggh opened this issue Jan 12, 2024 · 1 comment · Fixed by #2130
Closed

Support for new network validation protocol(v3) #1923

alexggh opened this issue Jan 12, 2024 · 1 comment · Fixed by #2130
Assignees

Comments

@alexggh
Copy link

alexggh commented Jan 12, 2024

The parachain core team has been working on some optimizations part of paritytech/roadmap#26 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 untill all the validator switched to polkadot version supporting the new protocol.

Relevant pull requests:

High level description of the changes.

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.

Polkadot-sdk changes:

  • A new validation network protocol, to be able
    to transmit that more than one candidate was included in the assignment(ApprovalDistributionMessage::Assignments, ApprovalDistributionMessage::Approvals)
  • Plumbing in approval-distribution, approval-voting, dispute-coordination, so that the new messages are correctly processed and accepted as valid.
  • Support to translate between v3 and v1/v2 network protocols, so that we can still gossip to nodes with only v1/v2.
  • Update the approval-voting to produce AssignmentCertKindV2::RelayVRFModuloCompact assignments for tranche0, if the runtime features tells us it is enable.
  • Update the approval-voting to coalesce opportunistically more than one approval vote, up to the maximum specified in the runtime configuration max_approval_coalesce_count

Let me know if you got questions or any more details are needed.

@sandreim
Copy link

sandreim commented May 9, 2024

Heads up, we have initiated the governance process to enable the changes described here on Kusama: https://kusama.polkassembly.io/referenda/392

CC @kamilsa @iceseer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants