Skip to content

Commit d2b23a7

Browse files
committed
@zainbacchus comments
1 parent e457d42 commit d2b23a7

File tree

1 file changed

+10
-45
lines changed

1 file changed

+10
-45
lines changed

pages/stack/interop/reorg.mdx

Lines changed: 10 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Interop reorg awareness
33
lang: en-US
4-
description: How the OP Stack enables low-latency interop and avoids the double-spend problem.
4+
description: How Superchain interop enables low-latency interop and avoids the double-spend problem.
55
---
66

77
import { Callout } from 'nextra/components'
@@ -54,54 +54,13 @@ When that happens, the tokens are still on the source chain, but they also on th
5454

5555
</details>
5656

57-
In Ethereum, incorrect state is usually a transient phenomenon.
58-
On L2, a sequencer can share one block through gossip and then post a different block to L1 (equivocation).
59-
If a sequencer equivocates, the dependent cross chain messages are reorged out once the block is posted by the sequencer to L1.
60-
On L1, new block can be replaced through a reorg, but after sufficient time has passed the block is finalized, and is nearly impossible to remove from the blockchain.
57+
Most solutions to mitigate the double-spend problem rely on [L1 finality](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/#finality). However, that solution results in high latency and poor user experience.
6158

62-
The most frequent solution to mitigate the double-spend problem is to wait for L1 finality; however, that solution results in high latency and poor user experience.
63-
64-
## Block safety levels
65-
66-
To mitigate the double-spend problem while delivering a low-latency cross-chain experience, OP Stack interop uses [block safety levels](./explainer#block-safety-levels).
59+
To mitigate the double-spend problem while delivering a low-latency cross-chain experience, Superchain interop uses [block safety levels](./explainer#block-safety-levels).
6760
This means users can transfer assets across chains in the Superchain with 1-block latency, and should a reorg happen, either both the source and destination transactions would remain, or both of them would revert.
6861
In every case, there is no window of opportunity to double spend.
6962

70-
{/*
71-
```mermaid
72-
73-
graph LR
74-
classDef finalized fill:#CCC
75-
classDef safe fill:#8F8
76-
classDef unsafe fill:#F89
77-
78-
subgraph A ["Chain A"]
79-
A100["A<sub>100</sub>"]-->A101["A<sub>101</sub>"]-->A102["A<sub>102</sub>"]-->A103["A<sub>103</sub>"]
80-
end
81-
subgraph B ["Chain B"]
82-
B300["B<sub>300</sub>"]-->B301["B<sub>301</sub>"]-->B302["B<sub>302</sub>"]-->B303["B<sub>303</sub>"]
83-
end
84-
subgraph C ["Chain C"]
85-
C200["C<sub>200</sub>"]-->C201["C<sub>201</sub>"]-->C202["C<sub>202</sub>"]-->C203["C<sub>203</sub>"]
86-
end
87-
A101-.->B302
88-
A101-.->B301
89-
B300-.->A100
90-
B302-.->C203
91-
C200-.->B301
92-
class C200 finalized
93-
class A100,B300,C201,C202 safe
94-
class A101,A102,A103,B301,B302,B303,C203 unsafe
95-
```
96-
97-
In the diagram above, solid arrows are the derivation of a block from the previous block in the chain.
98-
Dotted arrows go from the block with the initiating message (the source) to the block with the executing message (the destination).
99-
Blocks can either be finalized (grey), cross-safe (green), or unsafe (red).
100-
Blockchains B and C are high traffic, so they write their blocks to L1 quickly, and they are all *local-safe* (written to L1).
101-
However, blockchain A has only written block A<sub>100</sub> to the blockchain.
102-
As a result, block A<sub>101</sub> is unsafe, and so are all the blocks that depend on it, directly (A<sub>102</sub>, B<sub>301</sub>, and B<sub>302</sub>) or indirectly (A<sub>103</sub>, B<sub>303</sub>, and C<sub>203</sub>).
103-
Some of these blocks may be *local-safe* because they are written to L1, but none of them are *cross-safe* because they depend on a block that isn't.
104-
*/}
63+
## Block safety levels
10564

10665
```mermaid
10766
@@ -215,3 +174,9 @@ An L2 reorg could happen after the sequencer is decentralized.
215174
In that case, there is a deterministic FCU (fork choice update), just as there is on L1.
216175
At worst, some unsafe blocks need to be recalculated (if one fork is chosen over another).
217176
*/}
177+
178+
## Next steps
179+
180+
- Build a [revolutionary app](/app-developers/get-started) that uses multiple blockchains within the Superchain.
181+
- Deploy a [SuperchainERC20](./tutorials/deploy-superchain-erc20) to the Superchain.
182+
- View more [interop tutorials](./tutorials).

0 commit comments

Comments
 (0)