Skip to content

fix(discv5): seed ENR seq from UNIX time#24817

Open
nktaushanov wants to merge 2 commits into
paradigmxyz:mainfrom
nktaushanov:fix/discv5-enr-seq-restart
Open

fix(discv5): seed ENR seq from UNIX time#24817
nktaushanov wants to merge 2 commits into
paradigmxyz:mainfrom
nktaushanov:fix/discv5-enr-seq-restart

Conversation

@nktaushanov

Copy link
Copy Markdown

The local ENR was always rebuilt with the default seq of 1 on startup. Since the node key (and thus peer id) is persisted but the record is not, a node restarting with a new IP (e.g. a changed k8s POD_IP) but the same key never out-sequenced the record peers already hold, so they kept the stale address. Seeding seq from the current UNIX time makes it strictly increase across restarts without persisting the ENR.

The local ENR was always rebuilt with the default seq of 1 on startup.
Since the node key (and thus peer id) is persisted but the record is not,
a node restarting with a new IP (e.g. a changed k8s POD_IP) but the same
key never out-sequenced the record peers already hold, so they kept the
stale address. Seeding seq from the current UNIX time makes it strictly
increase across restarts without persisting the ENR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant