[Core Protocol] When L2 reorgs happen and where can we find the reorg data? #450
Replies: 6 comments 4 replies
-
https://specs.optimism.io/protocol/derivation.html?highlight=reorg#resetting-the-pipeline |
Beta Was this translation helpful? Give feedback.
-
Hello! |
Beta Was this translation helpful? Give feedback.
-
First, let's clarify the concept of "blocks_forked." I believe the "l1 reorg" you mentioned doesn't refer to uncle-blocks or forked-blocks. Instead, it refers to hard forks from L1, like the one that occurred during The DAO incident. Currently, all L2 data that comes from L1, such as deposits, are processed only after being confirmed in an L1 block. Therefore, there haven't been any reorganizations caused by L1 reorgs or hard forks yet. Since there is currently a single sequencer, uncle blocks or forked blocks do not exist either. |
Beta Was this translation helpful? Give feedback.
-
In my test, when the batcher of our own L2 chain missed a submission in a sequence window and submitted in the next sequencing window, the L2 chain experienced a lengthy reorganization. |
Beta Was this translation helpful? Give feedback.
-
There's a lot of good pieces here so I'm going to tie them all together. A transaction can be:
The derivation pipeline is what all L2 nodes use to derive the L2 state from Ethereum. If the sequencer window is passed and no batches are posted, which means also no new safe or finalized blocks are marked, all the unsafe blocks in that window are thrown out. This causes a large reorg and the nodes just start deriving state from only L1 blocks. You could also get an unsafe reorg if there was some sort of offchain infrastructure issue with your sequencer. Lets say there were two active sequencers and they both were putting out unsafe blocks. This could cause race conditions and fork the blockchain too. If you're following sound practices, this doesn't happen. |
Beta Was this translation helpful? Give feedback.
-
https://docs.optimism.io/builders/node-operators/management/metrics#important-metrics But all in all, I don't know all the details of the observational reorganization |
Beta Was this translation helpful? Give feedback.
-
Did you check the documentation?
Did you read the specs?
Did you check for duplicate questions?
Issue Description
I want to figure out all the possible cases when a L2
unsafe
orsafe
block can get reorged, apart from the one caused by L1 reorgsI also want want to find sth similar to https://etherscan.io/blocks_forked because we want to 1) know the frequency of L2 reorgs; 2) find a way to get such data (we need to monitor those L2 reorgs) in our system
Additional Information
we are working on ethereum-optimism/specs#218 and need to understand reorgs better since it's fundamental to our system
For
safe
block, the spec says "The safe L2 head may only be reorged out due to L1 reorgs.". So I am more interested in learning how can aunsafe
block gets reorged.Feedback
No response
Beta Was this translation helpful? Give feedback.
All reactions