From 2e2485738f4630b9fddd2d3a161ee6e2c64dfd47 Mon Sep 17 00:00:00 2001 From: Zain Bacchus Date: Wed, 13 Nov 2024 14:56:34 +0700 Subject: [PATCH 1/9] Clean up explainer Add context of mesh cluster --- pages/stack/interop/explainer.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index 09611d7e5..c83be6aa2 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -14,12 +14,11 @@ import { InteropCallout } from '@/components/WipCallout' # Interoperability explainer Interoperability is the ability for a blockchain to securely read the state of another blockchain. -Native OP Stack interoperability provides the ability to read messages and transfer assets across the Superchain (without having to go through L1) via secure message passing. This results in the following benefits: -* fungible and portable assets and liquidity -* lower fees and lower latency -* less fragmentation across the Superchain +Native OP Stack interoperability provides the ability to read messages and transfer assets across the Superchain (without having to go through L1) via low-latency, secure message passing. This results in the following benefits: +* 1-block latency asset movement movement that is both maximally capital efficient and non-fragmenting * improved user experience for developers on the Superchain * secure transfer of ETH and ERC-20s across L2s +* horizontally scalable applications ## Secure message passing Superchain interop includes both the protocol layer message passing and the Superchain ERC20 token specification. @@ -30,15 +29,18 @@ Superchain interop includes both the protocol layer message passing and the Supe This means ETH and ERC-20s can seamlessly and securely move across L2s, and intent-based protocols (i.e., bridges) can build better experiences on top of the message passing protocol. ## Low latency -Interoperability allows for horizontally scalable blockchains, a key feature of the Superchain. With Superchain interop, latency can be low (~2 seconds) by optimistically accepting cross-chain messages. -The fork choice rule enforces eventual consistency, meaning that if an invalid cross-chain message is accepted, it will be reorganized out eventually. -The fault proof guarantees that all of the cross-chain messages are accounted for from the perspective of handling withdrawals through the bridge to L1. +Interoperability allows for horizontally scalable blockchains, a key feature of the Superchain. With Superchain interop, latency can be 1-block (~2 seconds) by optimistically accepting cross-chain messages. -## Permissionless chain set -It is permissionless to define a dependency on a chain, so chain operators will be able to choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. -Chain operators can add or remove chains from the dependency set through the `SystemConfig`. For example, the dependency set for OP Mainnet is managed by Optimism Governance. +## Permisonless dependency set +The interop protocol works via a dependency set which is configured on a per chain basis and is a unidirectional relationship that defines the set of chains that a chain will accept incoming messages from. + +This gives the OP Stack an unopinionated and flexible foundation so chain operators are able to choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. + +## Superchain interop cluster +The Superchain builds ontop of the interop protocol and implements a single mesh network with complete dependencies. In this model, each blockchain in the Superchain interop cluster would have direct connections to every other blockchain, creating a fully connected mesh network. This provides the highest level of interoperability, as any blockchain can transact directly with any other. + +Each blockchain that is part of the Superchain interop cluster will have the same security model to mitigate the weakest-link scenario and will be managed by Optimism Governance. -However, since the nature of defining a dependency is one way, it is impossible for a chain to know of all of the other chains that depend on it. ## New predeploys @@ -108,6 +110,9 @@ See this [dune dashboard](https://dune.com/oplabspbc/op-stack-chains-l1-activity ### What is stopping a sequencer from censoring a cross-chain message? There is nothing stopping a sequencer from censoring a transaction when it is sent directly to the sequencer. This does not mean the network has no censorship resistance, users can always send a deposit transaction for censorship resistance as strong as L1 guarantees. The tradeoff here is the latency, instead of being confirmed in ~2 seconds, the transaction can be confirmed at the rate of L1 block production. It may be possible to adopt something like [EIP-7547](https://eips.ethereum.org/EIPS/eip-7547) in the future to enable low latency censorship resistance. +### What is the weakest link scenario? +Without shared security the concern is that interoperating chains both change their state due to some cross-chain interaction, but a weak chain is attacked / reorged, and that would leave the interop cluster in a conflicting state. This means the security around interactions between two or more chains is as weak as the weakest chain. + ### Are callback style transactions possible? If two blocks are being built at the same time with shared knowledge of their contents, it is possible to build blocks where a transaction calls to another chain, does compute and then a transaction calls back with the results. This requires no protocol level changes, it just requires more sophisticated block builder infrastructure. @@ -121,3 +126,4 @@ Sequencers only have to trust each other, if they are accepting executing messag Chains that have non-fungible blockspace are chains that have different features - it could be that they use Plasma for data availability, a custom gas paying token or have a large execution gas limit. As long as the chain can be fault proven, it can work with Superchain interoperability. At the application layer, it is important for chains to have legibility into the type of chain that the message originated from. This ensures that applications do not accept messages from chains they consider not secure enough. See this [discussion](https://github.com/ethereum-optimism/specs/issues/121) for additional thoughts. When it comes to chains that have different gas limits that are interoperable, it creates a set of transactions that can execute on one chain but not the other. This happens when the transaction consumes more than the gas limit of the smaller chain but less than of the bigger chain. At 2024 usages levels, these sorts of transactions are very rare. In the future, it may be the case that these transactions become more common, it will be up to the chain operators to ensure quality of service for their users. + From 9760ff695b5099b56496f7b60b0df08d07aaf5ef Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Wed, 13 Nov 2024 09:09:38 +0100 Subject: [PATCH 2/9] remove duplicate Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- pages/stack/interop/explainer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index c83be6aa2..1bd8b598c 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -15,7 +15,7 @@ import { InteropCallout } from '@/components/WipCallout' Interoperability is the ability for a blockchain to securely read the state of another blockchain. Native OP Stack interoperability provides the ability to read messages and transfer assets across the Superchain (without having to go through L1) via low-latency, secure message passing. This results in the following benefits: -* 1-block latency asset movement movement that is both maximally capital efficient and non-fragmenting +* 1-block latency asset movement that is both maximally capital efficient and non-fragmenting * improved user experience for developers on the Superchain * secure transfer of ETH and ERC-20s across L2s * horizontally scalable applications From da26f0604d9884d382fdbe427cd265d2ead838da Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Wed, 13 Nov 2024 09:10:01 +0100 Subject: [PATCH 3/9] correct spelling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- pages/stack/interop/explainer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index 1bd8b598c..22a523034 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -31,7 +31,7 @@ This means ETH and ERC-20s can seamlessly and securely move across L2s, and inte ## Low latency Interoperability allows for horizontally scalable blockchains, a key feature of the Superchain. With Superchain interop, latency can be 1-block (~2 seconds) by optimistically accepting cross-chain messages. -## Permisonless dependency set +## Permissionless dependency set The interop protocol works via a dependency set which is configured on a per chain basis and is a unidirectional relationship that defines the set of chains that a chain will accept incoming messages from. This gives the OP Stack an unopinionated and flexible foundation so chain operators are able to choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. From 0f493381ad4e45efc8deaac3de04b5a84a6ac178 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Wed, 13 Nov 2024 09:10:55 +0100 Subject: [PATCH 4/9] fix spacing Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- pages/stack/interop/explainer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index 22a523034..38e1aec5e 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -37,7 +37,7 @@ The interop protocol works via a dependency set which is configured on a per cha This gives the OP Stack an unopinionated and flexible foundation so chain operators are able to choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. ## Superchain interop cluster -The Superchain builds ontop of the interop protocol and implements a single mesh network with complete dependencies. In this model, each blockchain in the Superchain interop cluster would have direct connections to every other blockchain, creating a fully connected mesh network. This provides the highest level of interoperability, as any blockchain can transact directly with any other. +The Superchain builds on top of the interop protocol and implements a single mesh network with complete dependencies. In this model, each blockchain in the Superchain interop cluster would have direct connections to every other blockchain, creating a fully connected mesh network. This provides the highest level of interoperability, as any blockchain can transact directly with any other. Each blockchain that is part of the Superchain interop cluster will have the same security model to mitigate the weakest-link scenario and will be managed by Optimism Governance. From 47d403d35c1f976a0a63f29fa043f29d1d1b527d Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Wed, 13 Nov 2024 09:11:54 +0100 Subject: [PATCH 5/9] improve text Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- pages/stack/interop/explainer.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index 38e1aec5e..4d024f1b8 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -32,9 +32,9 @@ This means ETH and ERC-20s can seamlessly and securely move across L2s, and inte Interoperability allows for horizontally scalable blockchains, a key feature of the Superchain. With Superchain interop, latency can be 1-block (~2 seconds) by optimistically accepting cross-chain messages. ## Permissionless dependency set -The interop protocol works via a dependency set which is configured on a per chain basis and is a unidirectional relationship that defines the set of chains that a chain will accept incoming messages from. +The interop protocol works via a dependency set which is configured on a per-chain basis and is a unidirectional relationship that defines the set of chains that a chain will accept incoming messages from. -This gives the OP Stack an unopinionated and flexible foundation so chain operators are able to choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. +This gives the OP Stack an unopinionated and flexible foundation, so chain operators can choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. ## Superchain interop cluster The Superchain builds on top of the interop protocol and implements a single mesh network with complete dependencies. In this model, each blockchain in the Superchain interop cluster would have direct connections to every other blockchain, creating a fully connected mesh network. This provides the highest level of interoperability, as any blockchain can transact directly with any other. From d031336b67febc4619f52f8c07869470dfce02ab Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Wed, 13 Nov 2024 09:12:35 +0100 Subject: [PATCH 6/9] improve text --- pages/stack/interop/explainer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index 4d024f1b8..b9670c875 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -32,7 +32,7 @@ This means ETH and ERC-20s can seamlessly and securely move across L2s, and inte Interoperability allows for horizontally scalable blockchains, a key feature of the Superchain. With Superchain interop, latency can be 1-block (~2 seconds) by optimistically accepting cross-chain messages. ## Permissionless dependency set -The interop protocol works via a dependency set which is configured on a per-chain basis and is a unidirectional relationship that defines the set of chains that a chain will accept incoming messages from. +The interop protocol works via a dependency set which is configured on a per chain basis and is a unidirectional relationship that defines the set of chains that a chain will accept incoming messages from. This gives the OP Stack an unopinionated and flexible foundation, so chain operators can choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. From e13361f30019ae5a8acf9ae590d75b195b06c0d9 Mon Sep 17 00:00:00 2001 From: Zain Bacchus Date: Wed, 13 Nov 2024 15:20:31 +0700 Subject: [PATCH 7/9] Update explainer.mdx --- pages/stack/interop/explainer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index b9670c875..e2972f0e0 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -37,7 +37,7 @@ The interop protocol works via a dependency set which is configured on a per cha This gives the OP Stack an unopinionated and flexible foundation, so chain operators can choose which chains their chains depend on, and it is not a requirement that chains are in each other's dependency set. ## Superchain interop cluster -The Superchain builds on top of the interop protocol and implements a single mesh network with complete dependencies. In this model, each blockchain in the Superchain interop cluster would have direct connections to every other blockchain, creating a fully connected mesh network. This provides the highest level of interoperability, as any blockchain can transact directly with any other. +The Superchain builds on top of the interop protocol and implements a single mesh network with complete dependencies. In this model, each blockchain in the Superchain interop cluster would have direct connections to every other blockchain, creating a fully connected mesh network. Compared to a hub and spoke model, this provides the highest level of interoperability, as any blockchain can transact directly with any other. Each blockchain that is part of the Superchain interop cluster will have the same security model to mitigate the weakest-link scenario and will be managed by Optimism Governance. From ccf8a52a62a385d7c2485745c57f38b00756f9c6 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Wed, 13 Nov 2024 10:05:54 +0100 Subject: [PATCH 8/9] reworded for clarity --- pages/stack/interop/explainer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index e2972f0e0..26bec6db5 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -111,7 +111,7 @@ See this [dune dashboard](https://dune.com/oplabspbc/op-stack-chains-l1-activity There is nothing stopping a sequencer from censoring a transaction when it is sent directly to the sequencer. This does not mean the network has no censorship resistance, users can always send a deposit transaction for censorship resistance as strong as L1 guarantees. The tradeoff here is the latency, instead of being confirmed in ~2 seconds, the transaction can be confirmed at the rate of L1 block production. It may be possible to adopt something like [EIP-7547](https://eips.ethereum.org/EIPS/eip-7547) in the future to enable low latency censorship resistance. ### What is the weakest link scenario? -Without shared security the concern is that interoperating chains both change their state due to some cross-chain interaction, but a weak chain is attacked / reorged, and that would leave the interop cluster in a conflicting state. This means the security around interactions between two or more chains is as weak as the weakest chain. +Without shared security, there’s a risk that interacting chains could enter a conflicting state due to cross-chain interactions. If a weaker chain in the network is attacked or experiences a reorganization, it could change its state independently. This would leave the entire interop cluster in an inconsistent state, as the security of interactions across chains is only as strong as the weakest chain. ### Are callback style transactions possible? If two blocks are being built at the same time with shared knowledge of their contents, it is possible to build blocks where a transaction calls to another chain, does compute and then a transaction calls back with the results. This requires no protocol level changes, it just requires more sophisticated block builder infrastructure. From 6f750e30e63fa6c0ec3e8fbb1e5a99c874dacbbf Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Wed, 13 Nov 2024 10:28:19 +0100 Subject: [PATCH 9/9] improve text --- pages/stack/interop/explainer.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index 26bec6db5..b52b28800 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -111,7 +111,7 @@ See this [dune dashboard](https://dune.com/oplabspbc/op-stack-chains-l1-activity There is nothing stopping a sequencer from censoring a transaction when it is sent directly to the sequencer. This does not mean the network has no censorship resistance, users can always send a deposit transaction for censorship resistance as strong as L1 guarantees. The tradeoff here is the latency, instead of being confirmed in ~2 seconds, the transaction can be confirmed at the rate of L1 block production. It may be possible to adopt something like [EIP-7547](https://eips.ethereum.org/EIPS/eip-7547) in the future to enable low latency censorship resistance. ### What is the weakest link scenario? -Without shared security, there’s a risk that interacting chains could enter a conflicting state due to cross-chain interactions. If a weaker chain in the network is attacked or experiences a reorganization, it could change its state independently. This would leave the entire interop cluster in an inconsistent state, as the security of interactions across chains is only as strong as the weakest chain. +Without shared security, there is a risk that interacting chains could enter a conflicting state due to cross-chain interactions. If a weaker chain in the network is attacked or experiences a reorganization, it could change its state independently. This would leave the entire interop cluster in an inconsistent state, as the security of interactions across chains is only as strong as the weakest chain. ### Are callback style transactions possible? If two blocks are being built at the same time with shared knowledge of their contents, it is possible to build blocks where a transaction calls to another chain, does compute and then a transaction calls back with the results. This requires no protocol level changes, it just requires more sophisticated block builder infrastructure.