fix(p2p): validate BLOCK_TXS in BatchTxRequester#23371
Merged
Merged
Conversation
Contributor
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
fcarreiro
commented
May 18, 2026
| } | ||
| } | ||
|
|
||
| /** |
0138e81 to
4210082
Compare
fcarreiro
commented
May 18, 2026
| return; | ||
| } | ||
|
|
||
| await this.handleSuccessResponseFromPeer(peerId, blockResponse); |
Contributor
Author
There was a problem hiding this comment.
The TXs themselves are validated inside here.
This was referenced May 18, 2026
4210082 to
a28872a
Compare
Collaborator
Flakey Tests🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry. |
spalladino
approved these changes
May 20, 2026
Comment on lines
1558
to
1559
| // Given proposal (should have locally), ensure returned txs are valid subset and match request indices | ||
| const proposal = await this.mempools.attestationPool.getBlockProposalByArchive(request.archiveRoot.toString()); |
Contributor
There was a problem hiding this comment.
We need to tweak this validation: a malicious proposer who sends two different proposals with a different set of txs but same archive root, will cause two honest nodes to fail at this exchange, since the responder will return a tx that's not in the proposal from the requester's perspective. Fix is to request the txs by proposal hash vs proposal archive.
But that's not concern of this PR.
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.

This PR modifies and clarifies what is validated where:
sendRequestToPeer(from reqresp) is considered a low level method. It does not validate transactions and does only very minimal checks on the request and response objects. It does penalize peers under some circumstances.BatchTxRequesternow (1) validates the req and response objects; (2) validates the TXs when the response is valid.validateRequestedTxis dropped in this PR.Closes https://linear.app/aztec-labs/issue/A-1014/block-txs-reqresp-validator-validaterequestedblocktxs-is-never-invoked .