You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
( 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 )
The text was updated successfully, but these errors were encountered:
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 )
The text was updated successfully, but these errors were encountered: