Bitcoin-ABC / Bitcoin-ABC/bitcoin-abc

Please unmark invalid blocks upon restart

Open
#327 3 comments 3 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
C++
Stars
1.3k
Forks
788
PR merge metrics
No merged PRs in 30d

Description

It happens very often that people forget to update their nodes in time for a hard fork, and they update after the fork is done.

Unfortunately this does not solve the problem for them because the previous (old) node marked as invalid all new blocks and the release will not process them, staying stuck.

The node operators must manually find invalid blocks by hand and do a "reconsiderblock" on them, to allow the node to follow the right chain.

To solve this problem I suggest to unmark or delete bad blocks upon restart in order to let them validate against a newer release of the client, so that an upgrade of the node software after a fork will let node operators to get on the new chain in an automated manner.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating restart handling and the storage of blocks marked invalid, then determine how reconsiderblock currently clears that state. Done means an upgraded node can automatically validate and follow the post-fork chain without manually reconsidering old blocks.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
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.