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
net_impl_block_download_logic
Implement the logic for which blocks to download given the chains, peers and policy
This is a critical component of the network and consensus design that continuously monitors the node's current chain length, the available candidate chains of headers, fetched blocks and decides if and when to download block bodies, and which peers to download them from. It is critical to the header/body split within the consensus layer.
The function of the component is to look at the chains of headers that are available from each peer and decide which blocks to download. Downloaded blocks are handed back to the consensus layer to consider in extending the chain (ie to validate and run ledger rules). The download logic must take into account the maximum desired level of network concurrency to keep network resource use within acceptable levels. When resource constraints force choices, it must try to choose which peers to download blocks from to maximise the chances of fetching blocks within the deadlines imposed by the consensus layer. The policies embedded in this component
This work package involves creating a first working version of this component, but not the final version. The completion criteria for this work package are
a first working PoC of the block download logic, using the block fetching protocol in simulation with test block providers
a test demonstrating that it can succesfully fetch all the blocks for a longest chain
document the design of this critical component and the policies it does or will need to embed and how these lead to the desired network level outcomes
specify further system level simulation tests that will need to be done later to demonstrate that the network level outcomes
specify further tests in simulation to exercise difficult cases in the block download logic, e.g. with slow or disconnecting peers, or peers that provide incorrect responses
The text was updated successfully, but these errors were encountered:
net_impl_block_download_logic
Implement the logic for which blocks to download given the chains, peers and policy
This is a critical component of the network and consensus design that continuously monitors the node's current chain length, the available candidate chains of headers, fetched blocks and decides if and when to download block bodies, and which peers to download them from. It is critical to the header/body split within the consensus layer.
The function of the component is to look at the chains of headers that are available from each peer and decide which blocks to download. Downloaded blocks are handed back to the consensus layer to consider in extending the chain (ie to validate and run ledger rules). The download logic must take into account the maximum desired level of network concurrency to keep network resource use within acceptable levels. When resource constraints force choices, it must try to choose which peers to download blocks from to maximise the chances of fetching blocks within the deadlines imposed by the consensus layer. The policies embedded in this component
This work package involves creating a first working version of this component, but not the final version. The completion criteria for this work package are
The text was updated successfully, but these errors were encountered: