AggLayer tampering with CDK submissions #72
Replies: 3 comments 8 replies
-
I think another option here is to assume the chain (or a party designated trusted by the chain) actually generate the proof and submit it to the agglayer, thus allowing them to check that the output LER is correct. In the current zkevm this is asserted through the final state root of the chain. It's a bummer to require chains to commit that LER state to the L1 and really sorta breaks the flow... |
Beta Was this translation helpful? Give feedback.
-
I think there are two different scenarios:
The issue here is that if the PP is done by all the chains, you somehow need a |
Beta Was this translation helpful? Give feedback.
-
Closing this discussion as we are verifying the signature in the PP. |
Beta Was this translation helpful? Give feedback.
-
In the current construction, the
certificates
from the current epoch, along with theglobal_balance_tree
andglobal_exit_tree
from the previous epoch, serve as inputs to the pessimistic proof. This setup allows the AggLayer to potentially tamper with thewithdrawals
by simply altering the values. Consequently, SP1 would generatenew_global_balance_root
andnew_global_exit_root
based on the modifiedwithdrawals
list, resulting in "emulated" states being settled on L1.A solution could be to require chains to commit their LER (post-application of the
withdrawals
) to L1 before submitting theircertificates
to the AggLayer. The bridge contract would then verify the consistency between the posted LERs and the new GET to accept the pessimistic proof from the AggLayer before updating the GET. This approach should be generic (i.e., work for validiums and DACs as well).Beta Was this translation helpful? Give feedback.
All reactions