Skip to content

eth/downloader: remove header rollback mechanism#80

Open
chiphamskymavis wants to merge 1 commit intomainfrom
non-rollback-header
Open

eth/downloader: remove header rollback mechanism#80
chiphamskymavis wants to merge 1 commit intomainfrom
non-rollback-header

Conversation

@chiphamskymavis
Copy link
Contributor

This is partially cherry-pick: ethereum/go-ethereum#28147

This pull request removes the rollback mechanism in downloader.

Originally, this mechanism is tailored for Proof-of-Work consensus engine, which does PoW verification randomly. Therefore, whenever sync process exits abnormally, a part of tip headers will be removed for safety consideration.

In terms of Proof-of-Stake(also for Proof-of-Authority), each header is verified one by one, there is no reason to rewind the written headers which are certainly valid.

And another big reason for removing this additional mechanism is: inside of Rollback, the genesis state may be committed. It results in a weird scenario that persistent state is both modified by the Rollback function and also the state syncer. The concurrent state write will result in a corrupted state eventually, should be avoided in the first place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments