lighthouse icon indicating copy to clipboard operation
lighthouse copied to clipboard

Add BlocksBy* protocols with specific block_root

Open dapplion opened this issue 8 months ago • 2 comments

Issue Addressed

@AgeManning pointed to me that we can have experimental ReqResp protocols in Lighthouse :) so here we go

Implements

  • https://github.com/ethereum/consensus-specs/pull/3845

a new ReqResp protocol to make have better attributability of malicious sync peers when range syncing. See the spec PR for more details

Proposed Changes

Since the spec is not agreed upon yet, this PR implements a new namespaces "feature" protocol suffixed by the spec PR number: BlocksByRangeV2_3845, BlobsByRangeV1_3845, DataColumnsByRangeV1_3845. Note that we may have a new BlocksByRangeV3 protocol in the future before the 3845 feature is merged, thus having BlocksByRangeV2_3845 and BlocksByRangeV3_3845.

These new protocol can exist in Lighthouse nodes only who will use them between themselves. They can also be deprecated in the future without coordination if the feature is merged or abandoned.

Requester changes

On a syncing chain of type Head that with peers with a Status message (head_root, head_slot), include head_root in the request.

Server changes

  • I cherry-picked https://github.com/sigp/lighthouse/pull/7058 + https://github.com/sigp/lighthouse/pull/7066 to have fork-choice access

Then instead of querying the fork-choice for blocks with the head root, query by the request block_root.

dapplion avatar Mar 10 '25 05:03 dapplion

Some required checks have failed. Could you please take a look @dapplion? 🙏

mergify[bot] avatar May 19 '25 05:05 mergify[bot]

This pull request has merge conflicts. Could you please resolve them @dapplion? 🙏

mergify[bot] avatar May 19 '25 05:05 mergify[bot]

Hi @dapplion, this pull request has been closed automatically due to 30 days of inactivity. If you’d like to continue working on it, feel free to reopen at any time.

mergify[bot] avatar Jun 18 '25 05:06 mergify[bot]

@dapplion I'm reopening this - i assume you still want this?

jimmygchen avatar Jul 02 '25 02:07 jimmygchen

  • I'll close as stale and track this idea in https://github.com/sigp/lighthouse/issues/7678 depending on testing this modification may not be necessary

dapplion avatar Jul 02 '25 11:07 dapplion