This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Integrate Prospective Parachains Subsystem into Backing: Part 2 #5618
Closed
rphmeier
wants to merge
60
commits into
rh-async-backing-feature
from
rh-async-backing-integration-2
Closed
Integrate Prospective Parachains Subsystem into Backing: Part 2 #5618
rphmeier
wants to merge
60
commits into
rh-async-backing-feature
from
rh-async-backing-integration-2
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 tasks
Posting some notes on a couple questions I was thinking about - large statements, spam, and topology. At the end there is a proposed solution to all the issues.
|
slumber
force-pushed
the
rh-async-backing-feature
branch
from
June 22, 2022 18:48
2983e53
to
36268ec
Compare
slumber
force-pushed
the
rh-async-backing-integration-2
branch
from
June 22, 2022 19:01
1300b20
to
5c8e048
Compare
18 tasks
Are |
They don't directly but do indirectly - we can achieve the same effect based on node network public keys + chain state, which is what we usually do. |
This was referenced Sep 9, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follows on to #5557 (currently based upon it, but I will rebase on the feature branch once that's merged)
Closes #5055 . More details about the intended changeset can be found in this issue.
The high-level of the goals of the networking changes for asynchronous backing. We are coordinating 2 upgrades: a runtime API upgrade (v2 -> v3) and a network message upgrade (v1 -> v2). The idea is to do the network protocol upgrade first and have it be compatible with the messages that are needed for both runtime v2 and v3. Peers which are both on net-v2 will send each other messages and continue operating even after the runtime API upgrade. Peers which are on net-v1 will be useless for statement distribution after the runtime API upgrade. Until the runtime API upgrade, nodes running net-v2 will continue circulating statements to peers on net-v1, because it's backwards compatible. We will do something similar in the collator-protocol as well. Nothing changes in bitfield distribution, availability distribution, availability recovery, approval-distribution, or dispute-distribution, so outdated nodes can still continue interoperating on those protocols.
The main changes that asynchronous backing makes to backing are that 1) validators can legally second more than one candidate per relay-parent and 2) candidates can stick around for longer than the relay-parent remains a leaf in the block-tree. This has numerous implications for spam prevention which are described in detail in #5055
Work in this PR: