From c1d71be488b7f67401f7b700bb25ac9a08e2e943 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Fri, 30 Aug 2024 11:46:28 +0100 Subject: [PATCH 01/14] added force withdrawal guide --- pages/stack/protocol/rollup/_meta.json | 3 +- .../protocol/rollup/forced-withdrawal.mdx | 70 +++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 pages/stack/protocol/rollup/forced-withdrawal.mdx diff --git a/pages/stack/protocol/rollup/_meta.json b/pages/stack/protocol/rollup/_meta.json index 0e5361de9..6eb5f0c4c 100644 --- a/pages/stack/protocol/rollup/_meta.json +++ b/pages/stack/protocol/rollup/_meta.json @@ -2,5 +2,6 @@ "overview": "Rollup Overview", "deposit-flow": "Deposit Flow", "transaction-flow": "Transaction Flow", - "withdrawal-flow": "Withdrawal Flow" + "withdrawal-flow": "Withdrawal Flow", + "forced-withdrawal": "Forced Withdrawal" } \ No newline at end of file diff --git a/pages/stack/protocol/rollup/forced-withdrawal.mdx b/pages/stack/protocol/rollup/forced-withdrawal.mdx new file mode 100644 index 000000000..bf46859ac --- /dev/null +++ b/pages/stack/protocol/rollup/forced-withdrawal.mdx @@ -0,0 +1,70 @@ +--- +title: Forced Withdrawal +description: Learn the forced withdrawals and deposits flow during sequencer downtime. +--- + +import { Callout } from 'nextra/components' + +## Overview + +This guide explains the nuances of forced withdrawals and deposits transactions and their implications during sequencer downtime. + +Users are allowed to force-include deposit transactions, which can initiate withdrawals, at any time. +However, there are important nuances to understand about the chain derivation pipeline and sequencer behavior. + +## Key Concepts + +* **Sequencing Window**: A 12-hour rolling window to include L2 transactions based on L1 data. +* **Max Time Drift**: 15 minutes, the maximum delay for including a deposit transaction. +* **Sequencer Downtime**: Period when the sequencer is offline or not producing blocks. + +## Normal Operation + +Under normal circumstances: + +1. Deposit transactions are included within 15 minutes. +2. The sequencer processes transactions and produces blocks regularly. + +## Sequencer Downtime Scenarios + +### Short Downtime (< 15 minutes) + +* Deposits are still included within the 15-minute max time drift. +* Regular L2 transactions may be delayed. + +### Extended Downtime (15 minutes to 12 hours) + +1. Deposits are force-included within 15 minutes. +2. The L2 chain state remains uncertain until: + * The sequencer comes back online, or + * The 12-hour sequencing window expires. + +### Prolonged Downtime (> 12 hours) + +1. After 12 hours, nodes start generating blocks deterministically. +2. These blocks only include deposit transactions. +3. When the sequencer returns: + * All deposit transactions are included first. + * Regular L2 transactions resume afterwards. + +## Important Considerations + +* Forced deposits ensure timely execution of actions, mitigating risks like DEX price divergence during sequencer downtime. +* Actions remain speculative for up to 12 hours due to the sequencing window. +* The 12-hour window is a balance between operational reliability and minimizing potential L2 reorganizations. + +## Example Scenario + +If a deposit is initiated after the 15-minute mark but before the sequencing window expires: + +1. The deposit will be effective when the sequencing window expires (up to \~11 hours later). +2. Nodes reading data from L1 will produce a block with the deposit after the sequencing window expires. +3. The eventual L2 chain will include the deposit in a block with an onchain timestamp close to the L1 block where the deposit originated. + + + The sequencing window is a rolling 12-hour delay from when an L1 block is first known. This design allows the sequencer a grace period to come back online without causing L2 chain reorganizations. + + +## Conclusion + +The forced withdrawal/deposit mechanism on OP chains provides a robust way to handle sequencer downtime, ensuring that critical transactions like deposits are included in a timely manner. While the 12-hour sequencer window introduces a degree of uncertainty during downtime, the system is designed to guarantee eventual consistency and transaction inclusion. From dab703edf2da4c37fcfb85415857ab384434c36a Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Fri, 30 Aug 2024 11:58:56 +0100 Subject: [PATCH 02/14] Update pages/stack/protocol/rollup/forced-withdrawal.mdx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../protocol/rollup/forced-withdrawal.mdx | 64 +------------------ 1 file changed, 1 insertion(+), 63 deletions(-) diff --git a/pages/stack/protocol/rollup/forced-withdrawal.mdx b/pages/stack/protocol/rollup/forced-withdrawal.mdx index bf46859ac..499b1b3c4 100644 --- a/pages/stack/protocol/rollup/forced-withdrawal.mdx +++ b/pages/stack/protocol/rollup/forced-withdrawal.mdx @@ -5,66 +5,4 @@ description: Learn the forced withdrawals and deposits flow during sequencer dow import { Callout } from 'nextra/components' -## Overview - -This guide explains the nuances of forced withdrawals and deposits transactions and their implications during sequencer downtime. - -Users are allowed to force-include deposit transactions, which can initiate withdrawals, at any time. -However, there are important nuances to understand about the chain derivation pipeline and sequencer behavior. - -## Key Concepts - -* **Sequencing Window**: A 12-hour rolling window to include L2 transactions based on L1 data. -* **Max Time Drift**: 15 minutes, the maximum delay for including a deposit transaction. -* **Sequencer Downtime**: Period when the sequencer is offline or not producing blocks. - -## Normal Operation - -Under normal circumstances: - -1. Deposit transactions are included within 15 minutes. -2. The sequencer processes transactions and produces blocks regularly. - -## Sequencer Downtime Scenarios - -### Short Downtime (< 15 minutes) - -* Deposits are still included within the 15-minute max time drift. -* Regular L2 transactions may be delayed. - -### Extended Downtime (15 minutes to 12 hours) - -1. Deposits are force-included within 15 minutes. -2. The L2 chain state remains uncertain until: - * The sequencer comes back online, or - * The 12-hour sequencing window expires. - -### Prolonged Downtime (> 12 hours) - -1. After 12 hours, nodes start generating blocks deterministically. -2. These blocks only include deposit transactions. -3. When the sequencer returns: - * All deposit transactions are included first. - * Regular L2 transactions resume afterwards. - -## Important Considerations - -* Forced deposits ensure timely execution of actions, mitigating risks like DEX price divergence during sequencer downtime. -* Actions remain speculative for up to 12 hours due to the sequencing window. -* The 12-hour window is a balance between operational reliability and minimizing potential L2 reorganizations. - -## Example Scenario - -If a deposit is initiated after the 15-minute mark but before the sequencing window expires: - -1. The deposit will be effective when the sequencing window expires (up to \~11 hours later). -2. Nodes reading data from L1 will produce a block with the deposit after the sequencing window expires. -3. The eventual L2 chain will include the deposit in a block with an onchain timestamp close to the L1 block where the deposit originated. - - - The sequencing window is a rolling 12-hour delay from when an L1 block is first known. This design allows the sequencer a grace period to come back online without causing L2 chain reorganizations. - - -## Conclusion - -The forced withdrawal/deposit mechanism on OP chains provides a robust way to handle sequencer downtime, ensuring that critical transactions like deposits are included in a timely manner. While the 12-hour sequencer window introduces a degree of uncertainty during downtime, the system is designed to guarantee eventual consistency and transaction inclusion. + * Regular L2 transactions resume afterward. From 6ad80740d18560e47c32f7e3cee2afd1e289eb4a Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Fri, 30 Aug 2024 11:59:22 +0100 Subject: [PATCH 03/14] add lang attribute --- pages/stack/protocol/rollup/forced-withdrawal.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/stack/protocol/rollup/forced-withdrawal.mdx b/pages/stack/protocol/rollup/forced-withdrawal.mdx index bf46859ac..5f2efb729 100644 --- a/pages/stack/protocol/rollup/forced-withdrawal.mdx +++ b/pages/stack/protocol/rollup/forced-withdrawal.mdx @@ -1,5 +1,6 @@ --- title: Forced Withdrawal +lang: en-US description: Learn the forced withdrawals and deposits flow during sequencer downtime. --- From d10df7ca796ff528e324d361f5a01f8b8f756d09 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Fri, 30 Aug 2024 12:02:26 +0100 Subject: [PATCH 04/14] undo changes --- .../protocol/rollup/forced-withdrawal.mdx | 64 ++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-withdrawal.mdx b/pages/stack/protocol/rollup/forced-withdrawal.mdx index a4863a45b..5f2efb729 100644 --- a/pages/stack/protocol/rollup/forced-withdrawal.mdx +++ b/pages/stack/protocol/rollup/forced-withdrawal.mdx @@ -6,4 +6,66 @@ description: Learn the forced withdrawals and deposits flow during sequencer dow import { Callout } from 'nextra/components' - * Regular L2 transactions resume afterward. +## Overview + +This guide explains the nuances of forced withdrawals and deposits transactions and their implications during sequencer downtime. + +Users are allowed to force-include deposit transactions, which can initiate withdrawals, at any time. +However, there are important nuances to understand about the chain derivation pipeline and sequencer behavior. + +## Key Concepts + +* **Sequencing Window**: A 12-hour rolling window to include L2 transactions based on L1 data. +* **Max Time Drift**: 15 minutes, the maximum delay for including a deposit transaction. +* **Sequencer Downtime**: Period when the sequencer is offline or not producing blocks. + +## Normal Operation + +Under normal circumstances: + +1. Deposit transactions are included within 15 minutes. +2. The sequencer processes transactions and produces blocks regularly. + +## Sequencer Downtime Scenarios + +### Short Downtime (< 15 minutes) + +* Deposits are still included within the 15-minute max time drift. +* Regular L2 transactions may be delayed. + +### Extended Downtime (15 minutes to 12 hours) + +1. Deposits are force-included within 15 minutes. +2. The L2 chain state remains uncertain until: + * The sequencer comes back online, or + * The 12-hour sequencing window expires. + +### Prolonged Downtime (> 12 hours) + +1. After 12 hours, nodes start generating blocks deterministically. +2. These blocks only include deposit transactions. +3. When the sequencer returns: + * All deposit transactions are included first. + * Regular L2 transactions resume afterwards. + +## Important Considerations + +* Forced deposits ensure timely execution of actions, mitigating risks like DEX price divergence during sequencer downtime. +* Actions remain speculative for up to 12 hours due to the sequencing window. +* The 12-hour window is a balance between operational reliability and minimizing potential L2 reorganizations. + +## Example Scenario + +If a deposit is initiated after the 15-minute mark but before the sequencing window expires: + +1. The deposit will be effective when the sequencing window expires (up to \~11 hours later). +2. Nodes reading data from L1 will produce a block with the deposit after the sequencing window expires. +3. The eventual L2 chain will include the deposit in a block with an onchain timestamp close to the L1 block where the deposit originated. + + + The sequencing window is a rolling 12-hour delay from when an L1 block is first known. This design allows the sequencer a grace period to come back online without causing L2 chain reorganizations. + + +## Conclusion + +The forced withdrawal/deposit mechanism on OP chains provides a robust way to handle sequencer downtime, ensuring that critical transactions like deposits are included in a timely manner. While the 12-hour sequencer window introduces a degree of uncertainty during downtime, the system is designed to guarantee eventual consistency and transaction inclusion. From dd81589e38c9b64081950d3a088b88ed391431e0 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Fri, 30 Aug 2024 12:06:55 +0100 Subject: [PATCH 05/14] updated a content --- pages/stack/protocol/rollup/forced-withdrawal.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-withdrawal.mdx b/pages/stack/protocol/rollup/forced-withdrawal.mdx index 5f2efb729..f56aeb841 100644 --- a/pages/stack/protocol/rollup/forced-withdrawal.mdx +++ b/pages/stack/protocol/rollup/forced-withdrawal.mdx @@ -8,7 +8,7 @@ import { Callout } from 'nextra/components' ## Overview -This guide explains the nuances of forced withdrawals and deposits transactions and their implications during sequencer downtime. +This guide explains the nuances of forced withdrawals and deposits transactions during sequencer downtime. Users are allowed to force-include deposit transactions, which can initiate withdrawals, at any time. However, there are important nuances to understand about the chain derivation pipeline and sequencer behavior. From 8db955f1fea4db397732ce220c737e086d7ff580 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Fri, 30 Aug 2024 12:19:38 +0100 Subject: [PATCH 06/14] remove a sign --- pages/stack/protocol/rollup/forced-withdrawal.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-withdrawal.mdx b/pages/stack/protocol/rollup/forced-withdrawal.mdx index f56aeb841..ba3b25852 100644 --- a/pages/stack/protocol/rollup/forced-withdrawal.mdx +++ b/pages/stack/protocol/rollup/forced-withdrawal.mdx @@ -58,7 +58,7 @@ Under normal circumstances: If a deposit is initiated after the 15-minute mark but before the sequencing window expires: -1. The deposit will be effective when the sequencing window expires (up to \~11 hours later). +1. The deposit will be effective when the sequencing window expires (up to ~11 hours later). 2. Nodes reading data from L1 will produce a block with the deposit after the sequencing window expires. 3. The eventual L2 chain will include the deposit in a block with an onchain timestamp close to the L1 block where the deposit originated. From 808889dc980d5147b02158bdb2da8665ee420f36 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Fri, 30 Aug 2024 12:23:45 +0100 Subject: [PATCH 07/14] updated the title --- pages/stack/protocol/rollup/_meta.json | 2 +- .../rollup/{forced-withdrawal.mdx => forced-deposit.mdx} | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) rename pages/stack/protocol/rollup/{forced-withdrawal.mdx => forced-deposit.mdx} (92%) diff --git a/pages/stack/protocol/rollup/_meta.json b/pages/stack/protocol/rollup/_meta.json index 6eb5f0c4c..c8733ef91 100644 --- a/pages/stack/protocol/rollup/_meta.json +++ b/pages/stack/protocol/rollup/_meta.json @@ -3,5 +3,5 @@ "deposit-flow": "Deposit Flow", "transaction-flow": "Transaction Flow", "withdrawal-flow": "Withdrawal Flow", - "forced-withdrawal": "Forced Withdrawal" + "forced-deposit": "Forced Deposit" } \ No newline at end of file diff --git a/pages/stack/protocol/rollup/forced-withdrawal.mdx b/pages/stack/protocol/rollup/forced-deposit.mdx similarity index 92% rename from pages/stack/protocol/rollup/forced-withdrawal.mdx rename to pages/stack/protocol/rollup/forced-deposit.mdx index ba3b25852..eaaa3d5fa 100644 --- a/pages/stack/protocol/rollup/forced-withdrawal.mdx +++ b/pages/stack/protocol/rollup/forced-deposit.mdx @@ -1,14 +1,14 @@ --- -title: Forced Withdrawal +title: Forced Deposit lang: en-US -description: Learn the forced withdrawals and deposits flow during sequencer downtime. +description: Learn the forced deposit flow during sequencer downtime. --- import { Callout } from 'nextra/components' -## Overview +## Forced Deposit Flow -This guide explains the nuances of forced withdrawals and deposits transactions during sequencer downtime. +This guide explains the nuances of forced deposits transactions during sequencer downtime. Users are allowed to force-include deposit transactions, which can initiate withdrawals, at any time. However, there are important nuances to understand about the chain derivation pipeline and sequencer behavior. From c341ffd69be1968d02006182a9949044d2dc5ef9 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Tue, 3 Sep 2024 11:36:07 +0100 Subject: [PATCH 08/14] Update pages/stack/protocol/rollup/forced-deposit.mdx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- pages/stack/protocol/rollup/forced-deposit.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-deposit.mdx b/pages/stack/protocol/rollup/forced-deposit.mdx index eaaa3d5fa..7f4548308 100644 --- a/pages/stack/protocol/rollup/forced-deposit.mdx +++ b/pages/stack/protocol/rollup/forced-deposit.mdx @@ -46,7 +46,7 @@ Under normal circumstances: 2. These blocks only include deposit transactions. 3. When the sequencer returns: * All deposit transactions are included first. - * Regular L2 transactions resume afterwards. + * Regular L2 transactions resume afterward. ## Important Considerations From 710743b7c515c2abe20da9047ea63f13feb9c43a Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Tue, 3 Sep 2024 11:37:03 +0100 Subject: [PATCH 09/14] Update pages/stack/protocol/rollup/forced-deposit.mdx Co-authored-by: Matt Solomon --- pages/stack/protocol/rollup/forced-deposit.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-deposit.mdx b/pages/stack/protocol/rollup/forced-deposit.mdx index 7f4548308..a9ecf5e87 100644 --- a/pages/stack/protocol/rollup/forced-deposit.mdx +++ b/pages/stack/protocol/rollup/forced-deposit.mdx @@ -10,7 +10,7 @@ import { Callout } from 'nextra/components' This guide explains the nuances of forced deposits transactions during sequencer downtime. -Users are allowed to force-include deposit transactions, which can initiate withdrawals, at any time. +Users are able to force-include deposit transactions, which can initiate withdrawals, at any time. However, there are important nuances to understand about the chain derivation pipeline and sequencer behavior. ## Key Concepts From a3f994f06e934fb007fa8c9f28ab30d9624b6c88 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 16 Sep 2024 12:55:03 +0100 Subject: [PATCH 10/14] Update pages/stack/protocol/rollup/forced-deposit.mdx Co-authored-by: Matt Solomon --- pages/stack/protocol/rollup/forced-deposit.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-deposit.mdx b/pages/stack/protocol/rollup/forced-deposit.mdx index a9ecf5e87..b02b869a3 100644 --- a/pages/stack/protocol/rollup/forced-deposit.mdx +++ b/pages/stack/protocol/rollup/forced-deposit.mdx @@ -15,7 +15,7 @@ However, there are important nuances to understand about the chain derivation pi ## Key Concepts -* **Sequencing Window**: A 12-hour rolling window to include L2 transactions based on L1 data. +* **Sequencing Window**: A 12-hour rolling window to include L2 transactions, including native L2 transactions and deposit transactions. * **Max Time Drift**: 15 minutes, the maximum delay for including a deposit transaction. * **Sequencer Downtime**: Period when the sequencer is offline or not producing blocks. From d5bf9c9a1ab1683e8f9ec923bfaf03d644783b40 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 16 Sep 2024 12:56:03 +0100 Subject: [PATCH 11/14] Update pages/stack/protocol/rollup/forced-deposit.mdx Co-authored-by: protolambda --- pages/stack/protocol/rollup/forced-deposit.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-deposit.mdx b/pages/stack/protocol/rollup/forced-deposit.mdx index b02b869a3..2915008a3 100644 --- a/pages/stack/protocol/rollup/forced-deposit.mdx +++ b/pages/stack/protocol/rollup/forced-deposit.mdx @@ -16,7 +16,7 @@ However, there are important nuances to understand about the chain derivation pi ## Key Concepts * **Sequencing Window**: A 12-hour rolling window to include L2 transactions, including native L2 transactions and deposit transactions. -* **Max Time Drift**: 15 minutes, the maximum delay for including a deposit transaction. +* **Max Time Drift**: 15 minutes, the maximum delay for including a deposit transaction, relative to the L2 chain. * **Sequencer Downtime**: Period when the sequencer is offline or not producing blocks. ## Normal Operation From 07c9d62acaf5e5e4f761d152635d09f4b6c76641 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 16 Sep 2024 12:56:27 +0100 Subject: [PATCH 12/14] Update pages/stack/protocol/rollup/forced-deposit.mdx Co-authored-by: protolambda --- pages/stack/protocol/rollup/forced-deposit.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-deposit.mdx b/pages/stack/protocol/rollup/forced-deposit.mdx index 2915008a3..835b877c1 100644 --- a/pages/stack/protocol/rollup/forced-deposit.mdx +++ b/pages/stack/protocol/rollup/forced-deposit.mdx @@ -50,7 +50,7 @@ Under normal circumstances: ## Important Considerations -* Forced deposits ensure timely execution of actions, mitigating risks like DEX price divergence during sequencer downtime. +* Forced transactions, through deposits (no need for deposited value), ensure timely execution of actions, mitigating risks like DEX price divergence during sequencer downtime. * Actions remain speculative for up to 12 hours due to the sequencing window. * The 12-hour window is a balance between operational reliability and minimizing potential L2 reorganizations. From 87b56aeb0a553ae0a52ae5cef29e846e80001659 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 16 Sep 2024 12:57:27 +0100 Subject: [PATCH 13/14] Update pages/stack/protocol/rollup/forced-deposit.mdx Co-authored-by: protolambda --- pages/stack/protocol/rollup/forced-deposit.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stack/protocol/rollup/forced-deposit.mdx b/pages/stack/protocol/rollup/forced-deposit.mdx index 835b877c1..75d1658f7 100644 --- a/pages/stack/protocol/rollup/forced-deposit.mdx +++ b/pages/stack/protocol/rollup/forced-deposit.mdx @@ -68,4 +68,4 @@ If a deposit is initiated after the 15-minute mark but before the sequencing win ## Conclusion -The forced withdrawal/deposit mechanism on OP chains provides a robust way to handle sequencer downtime, ensuring that critical transactions like deposits are included in a timely manner. While the 12-hour sequencer window introduces a degree of uncertainty during downtime, the system is designed to guarantee eventual consistency and transaction inclusion. +The forced transaction mechanism on OP Stack chains provides a robust way to handle sequencer downtime, ensuring that critical transactions are included in a timely manner. While the 12-hour sequencer window introduces a degree of uncertainty during downtime, the system is designed to guarantee eventual consistency and transaction inclusion. From 45affb8e7f1243e88a01e67dad580d2c003dd542 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 16 Sep 2024 15:32:54 +0300 Subject: [PATCH 14/14] updated the contents and changed file name --- pages/stack/protocol/rollup/_meta.json | 2 +- ...ced-deposit.mdx => forced-transaction.mdx} | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) rename pages/stack/protocol/rollup/{forced-deposit.mdx => forced-transaction.mdx} (78%) diff --git a/pages/stack/protocol/rollup/_meta.json b/pages/stack/protocol/rollup/_meta.json index c8733ef91..bf5f987a5 100644 --- a/pages/stack/protocol/rollup/_meta.json +++ b/pages/stack/protocol/rollup/_meta.json @@ -3,5 +3,5 @@ "deposit-flow": "Deposit Flow", "transaction-flow": "Transaction Flow", "withdrawal-flow": "Withdrawal Flow", - "forced-deposit": "Forced Deposit" + "forced-transaction": "Forced Transaction" } \ No newline at end of file diff --git a/pages/stack/protocol/rollup/forced-deposit.mdx b/pages/stack/protocol/rollup/forced-transaction.mdx similarity index 78% rename from pages/stack/protocol/rollup/forced-deposit.mdx rename to pages/stack/protocol/rollup/forced-transaction.mdx index 75d1658f7..a3b9694d9 100644 --- a/pages/stack/protocol/rollup/forced-deposit.mdx +++ b/pages/stack/protocol/rollup/forced-transaction.mdx @@ -1,14 +1,14 @@ --- -title: Forced Deposit +title: Forced Transaction lang: en-US -description: Learn the forced deposit flow during sequencer downtime. +description: Learn the forced transaction flow during sequencer downtime. --- import { Callout } from 'nextra/components' -## Forced Deposit Flow +## Forced Transaction Flow -This guide explains the nuances of forced deposits transactions during sequencer downtime. +This guide explains the nuances of forced transactions during sequencer downtime. Users are able to force-include deposit transactions, which can initiate withdrawals, at any time. However, there are important nuances to understand about the chain derivation pipeline and sequencer behavior. @@ -16,26 +16,26 @@ However, there are important nuances to understand about the chain derivation pi ## Key Concepts * **Sequencing Window**: A 12-hour rolling window to include L2 transactions, including native L2 transactions and deposit transactions. -* **Max Time Drift**: 15 minutes, the maximum delay for including a deposit transaction, relative to the L2 chain. +* **Max Time Drift**: 30 minutes, the maximum delay for including a deposit transaction, relative to the L2 chain. * **Sequencer Downtime**: Period when the sequencer is offline or not producing blocks. ## Normal Operation Under normal circumstances: -1. Deposit transactions are included within 15 minutes. +1. Deposit transactions are included within 30 minutes. 2. The sequencer processes transactions and produces blocks regularly. ## Sequencer Downtime Scenarios -### Short Downtime (< 15 minutes) +### Short Downtime (< 30 minutes) -* Deposits are still included within the 15-minute max time drift. +* Deposits are still included within the 30-minute max time drift. * Regular L2 transactions may be delayed. -### Extended Downtime (15 minutes to 12 hours) +### Extended Downtime (30 minutes to 12 hours) -1. Deposits are force-included within 15 minutes. +1. Deposits are force-included within 30 minutes. 2. The L2 chain state remains uncertain until: * The sequencer comes back online, or * The 12-hour sequencing window expires. @@ -46,7 +46,9 @@ Under normal circumstances: 2. These blocks only include deposit transactions. 3. When the sequencer returns: * All deposit transactions are included first. - * Regular L2 transactions resume afterward. + * No regular L2 transactions are included until the L2 chain is within 12 hours of the chain. + + ## Important Considerations @@ -56,7 +58,7 @@ Under normal circumstances: ## Example Scenario -If a deposit is initiated after the 15-minute mark but before the sequencing window expires: +If a deposit is initiated after the 30-minute mark but before the sequencing window expires: 1. The deposit will be effective when the sequencing window expires (up to ~11 hours later). 2. Nodes reading data from L1 will produce a block with the deposit after the sequencing window expires.