Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Constrained pause design +/- implementation #676

Open
3 of 11 tasks
kyzooghost opened this issue Feb 12, 2025 · 0 comments
Open
3 of 11 tasks

Constrained pause design +/- implementation #676

kyzooghost opened this issue Feb 12, 2025 · 0 comments
Assignees
Labels
Contracts Smart Contract related P2: Medium Issue priority: medium

Comments

@kyzooghost
Copy link
Contributor

kyzooghost commented Feb 12, 2025

Description

In aiming for Stage 1 of L2Beat's Stages Framework for Rollups, we aim to remove an unlimited pause mechanism and replace it with short-lived pauses with a cooldown period.

Motivation

Aim for Stage 1 of L2Beat's Stages Framework for Rollups. Guiding principle is:

The only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) is by compromising ≥75% of the Security Council.

In our current system, a malicious minority can indefinitely block an L2->L2 message by enacting an unlimited emergency pause.

Unlimited pauses by non-SC multisigs are not allowed. Projects with unlimited pauses by non-SC multisigs can prevent L1→L2 messages by compromising the Security Council quorum-blocking minority. Short-lived pauses with a cooldown period are allowed.

Please refer to https://forum.l2beat.com/t/stages-update-a-high-level-guiding-principle-for-stage-1/338

Tasks

  • Review of the current overall pause system in the Linea smart contracts
  • Design of constrained pause
  • Presentation & discussion of above design work

Acceptance criteria

Pause implementation should meet the following criteria

  • Have limited maximum duration (i.e. pause must have an expiration timestamp)
  • Have a cooldown mechanism (i.e. pauses cannot be chained back-to-back, with no intermittent period)
  • Should not increase gas cost for the happy path (regular user interaction should just be as is - just single check for isPaused)
  • Has a simple implementation

Risks

  • Taking too much time

Remember to

  • Add the documentation label in case there is an impact on the documentation
  • Add priority and team labels
  • Add Task for updating the Runbook or adding/updating existing metrics and alerts.
@kyzooghost kyzooghost added Contracts Smart Contract related P2: Medium Issue priority: medium labels Feb 12, 2025
@kyzooghost kyzooghost self-assigned this Feb 12, 2025
@kyzooghost kyzooghost changed the title Copy of Refactor TokenBridge to use transient storage for the ReentrancyGuard implementation Constrained pause design +/- implementation Feb 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Contracts Smart Contract related P2: Medium Issue priority: medium
Projects
None yet
Development

No branches or pull requests

1 participant