celestiaorg / celestiaorg/go-header
Metric to track effectiveness of header recency estimation
- 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
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