Skip to content

Conversation

@mrain
Copy link
Contributor

@mrain mrain commented Sep 25, 2025

Closes #<ISSUE_NUMBER>

This PR:

This PR does not:

Key places to review:

- Verify that the `bmt_commitment` comes from a trusted source, e.g. the HotShot on-chain light client.
- Validate that the `vid_pp_hash` matches the public parameter of the Verifiable Information Dispersal (VID) scheme used by the Espresso sequencer.

> **Security Note:** Accepting a valid proof with invalid public inputs can lead to consensus failures, state corruption, or security vulnerabilities. Always perform strict checks on all public input fields.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use [!IMPORTANT] alert?

Comment on lines +78 to +82
2. **Check Public Input Validity**:
- Confirm that the `rollup_txs_commit` is well-formed and matches the expected rollup transactions.
- Ensure that the `ns_id` is the expected namespace ID.
- Verify that the `bmt_commitment` comes from a trusted source, e.g. the HotShot on-chain light client.
- Validate that the `vid_pp_hash` matches the public parameter of the Verifiable Information Dispersal (VID) scheme used by the Espresso sequencer.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think we should reorder. also be more explicit about "how to check" or "what to do"

  • check ns_id should probably be the logically first thing
  • should vid_pp and bmt_comm be fetched by some espresso RPC or public endpoint, if so, we should list them (@jbearer do you know?)
  • then explicitly says that rollup_tx_commit should match the field in the public inputs of the zkVM execution proof. The field that commits to the entire batch of tx being proven.

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.

2 participants