Assertions for Optimism’s Failure Mode Analysis
We’ve created a comprehensive suite of assertions based on Optimism’s Failure Mode Analysis (FMA) framework to prevent critical failure modes identified in the protocol.
Optimism’s FMA process systematically identifies, analyzes, and mitigates potential failure modes. As documented in their security design docs, FMAs “shift-left” risk assessment so mitigations can be planned and implemented earlier.
We chose Optimism’s FMA framework because it represents a comprehensive and well-documented approach to security analysis. The protocol has conducted extensive failure mode analyses across various components including the Interop Portal, ETH Lockbox, Message Passing contracts, and more. This makes it an excellent case study for demonstrating how assertions can prevent specific failure modes identified through systematic security analysis.
Link to the Phylax fork of Optimism: https://github.com/phylaxsystems/optimism/tree/feat/fma-assertions/packages/contracts-bedrock/assertions
Our approach follows the same systematic methodology used in Optimism’s FMA process. We analyze each identified failure mode and create assertions that prevent the conditions that could lead to those failures.
The key insight is that many failure modes identified in FMAs can be prevented by enforcing invariants at the transaction level. For example, if an FMA identifies that “incorrect state reporting by AnchorStateRegistry” could lead to withdrawal safety failures, we can write assertions that validate state consistency before allowing withdrawal transactions to proceed.
This collection validates the ETHLockbox contract’s security properties, corresponding to the ETH Lockbox FMA document:
lockETH
and unlockETH
functionsThese assertions address CRITICAL failure modes where unauthorized access or bugs could lead to complete loss of ETH liquidity from the lockbox, with HIGH impact but LOW likelihood due to access controls and upgrade procedures.
This collection validates the OptimismPortal2 and AnchorStateRegistry integration, corresponding to the Interop Portal FMA document:
superRootsActive
flag changes follow proper authorization and state requirementsThese assertions address CRITICAL failure modes where incorrect state reporting or migration bugs could lead to Withdrawal Safety Failure or Withdrawal Liveness Failure, with LOW likelihood but HIGH/CRITICAL impact.
This collection validates cross-chain message passing contracts, corresponding to the Message Passing FMA document:
successfulMessages
trackingThese assertions address CRITICAL failure modes where message passing bugs could lead to asset theft, duplicate minting, or lost funds, with MEDIUM likelihood and HIGH/CRITICAL impact depending on the specific failure mode.