Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: remove blockhash from the l1 contracts + circuit public inputs #9825

Open
Maddiaa0 opened this issue Nov 8, 2024 · 0 comments
Open
Labels
A-security Area: Relates to security. Something is insecure.

Comments

@Maddiaa0
Copy link
Member

Maddiaa0 commented Nov 8, 2024

Overview

At the moment, the nodes sign over and come to consensus over an archiveHash which is the root of all of the tree updates for the given block, including the values that are in the block header.

The blockHash that is floated around the place, is just a subset of the information stored about in the header. However, as it is provided separately, and not checked in L1, it is currently possible to use it to "dos" the system, as anything can be passed in, which will only be caught when the epoch proof lands.

For this reason, the value should be removed from the L1 contract and public inputs to the epoch proof. The reason that we can safely remove them from the public inputs is as mentioned, that it is already incorporated in other values provided.

tl;dr: The Poseidon blockhash passed around should be removed from L1 and public inputs.

Relevant discussions

#7727 (comment)

( this discussion argues that we need to infact keep the blockhash and remove the archive. However this observation is based on the sequencer potentially NOT having the archive ( which can only happen if it does not execute). Under the assumption that we will execute, we can remove the blockhash )

@Maddiaa0 Maddiaa0 self-assigned this Nov 8, 2024
@LHerskind LHerskind mentioned this issue Nov 8, 2024
@LHerskind LHerskind added the A-security Area: Relates to security. Something is insecure. label Nov 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-security Area: Relates to security. Something is insecure.
Projects
None yet
Development

No branches or pull requests

2 participants