celestiaorg / celestiaorg/go-header

Metric to track effectiveness of header recency estimation

Open
#94 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
21
Forks
33
Avg merge
5d 20h
Merged PRs (30d)
7

Description

We introduced the notion of header recency, which just checks if the header is recent via [isRecent](https://github.com/celestiaorg/go-header/blob/e50090545cc7e049d2f965d2b5c773eaa4a2c0b2/sync/sync_head.go#L192-L195) func. In case of the current subjective header is not recent, we forcefully re-request a new head. We need to know its effectiveness by checking if `blockTime+blocktime/2` is big enough not to cause unnecessary requests for the actual real head.

Contributor guide

Open the contributing guide

Research direction

Start by reading sync/sync_head.go around the linked isRecent function and trace where a non-recent subjective header triggers a new head request. Define how effectiveness and unnecessary requests should be measured, then verify that the resulting metric supports evaluating the blockTime+blocktime/2 threshold.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.