You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3688: Block diffusion pipelining r=nfrisby a=nfrisby
This PR adds block diffusion pipelining, primarily by finally introducing the long-existing concept of _the tentative chain_ into the code.
Main changes:
- add the tentative chain header to the ChainDB state.
- have the `Follower`s for the Node-To-Node ChainSync server follow the tentative chain instead of only the selected chain, thus sending the tentative header before the underlying block has been validated
- this now means some honest nodes will send us an invalid block, when the block is tentative, so we adjust ChainSync and BlockFetch clients to allow that in limited number of scenarios necessary for the common pipelining scenarios
Co-authored-by: Nicolas Frisby <[email protected]>
Co-authored-by: Alexander Esgen <[email protected]>
0 commit comments