docs(tip-1077): add expiring nonce time wheel#5582
Draft
legion2002 wants to merge 2 commits into
Draft
Conversation
| state transition rules. A block containing a replay, an expired expiring nonce transaction, or a | ||
| transaction whose probe path is exhausted is invalid. | ||
|
|
||
| Offchain cleanup services are not trusted for replay safety. This TIP does not rely on any MEV, |
Contributor
There was a problem hiding this comment.
nit: Not sure this is really relevant for this TIP
Comment on lines
+279
to
+280
| 5. Transaction pool replay tracking MUST switch to sender-scoped replay hashes and/or time-wheel | ||
| cell matches instead of detecting inclusion by `expiringNonceSeen[hash]` storage writes. |
Contributor
There was a problem hiding this comment.
MUST switch to sender-scoped replay hashes
Replay detection already uses sender-scoped replay hashes, doesn't it? Afaiu this TIP isn't changing how the replay hash is being calculated.
MUST switch to sender-scoped replay hashes and/or time-wheel cell matches
This feels ambiguous to me, especially the "and/or" part... replay hashes in the time-wheel cells become the only replay detection mechanism, I'm not sure why there's an "or" in here.
mediocregopher
approved these changes
Jun 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds TIP-1077 for replacing the expiring nonce ring with a time-wheel replay table sized at 131,072 cells per bucket.
Documents the 256 MiB slot+value footprint, parameter tradeoffs, hardfork migration from the ring layout, and alternatives considered for cleanup and fixed-table designs.