Curie Upgrade

Overview

This significant upgrade will reduce gas fees on the Scroll chain by 1.5x. Highlights include:

  • Compresses the data stored in blobs using the zstd algorithm. This compression reduces the data size, allowing each blob to store more transactions, thereby reducing data availability cost per transaction.
  • Adopts a modified version of the EIP-1559 pricing model which is compatible with the EIP-1559 transaction interface, bringing beneftis such as more accurate transaction pricing and a more predictable and stable fee structure.
  • Support for new EVM opcodes TLOAD, TSTORE, and MCOPY. Users can safely use the latest Solidity compiler version 0.8.26 to build the contracts.
  • Introduces a dynamic block time. During periods of traffic congestion, a block will be packed when the number of transactions reaches the circuit limit instead of waiting for the 3-second interval.

Timeline

  • Scroll Sepolia
    • Network Upgrade: June 17th, 2024
  • Scroll Mainnet
    • Upgrade Initiation: June 20th, 2024
    • Timelock Completion & Upgrade: July 3rd, 2024

Technical Details

Contract Changes

The code changes for this upgrade are documented in the following PRs:

The main changes are as follows:

  • The rollup contract (ScrollChain) will now accept batches with both versions 1 and 2. Version 1 is used for uncompressed blobs (pre-Curie), while version 2 is used for compressed blobs (post-Curie).
  • The L1GasPriceOracle contract will be updated to change the data fee formula to account for blob DA, providing a more accurate estimation of DA costs:
    • Original formula: (l1GasUsed(txRlp) + overhead) * l1BaseFee * scalar
    • New formula: l1BaseFee * commitScalar + len(txRlp) * l1BlobBaseFee * blobScalar

Node Changes

The new node version is v5.5.0. See the release notes for the list of changes.

zkEVM circuit changes

The new version of zkevm circuits is v0.11.4. See here for the release log.

Audits

  • TrailofBits: coming soon!
  • Zellic

Compatibility

Sequencer and Follower Nodes (l2geth)

This upgrade is a hard fork, introducing the TLOAD, TSTORE, and MCOPY opcodes. Operators running an l2geth node are required to upgrade before the hard fork block. For more information, see the node release note.

Dapps and Indexers

For dApps, this upgrade is backward compatible. Developers should adjust the gas fee settings to incorporate the EIP-1559 pricing model. Note that dApps can no longer rely on the fixed 3-second block time in the application logic.

For indexers, the data format remains the same. The will be however changes to the data content:

  • The version field in BatchHeader will be changed to 2 since Curie block.
  • The data stored in blob will be compressed and can be decompressed by zstd v1.5.6.
Stay up-to-date on the latest Scroll Developer news
Roadmap updates, virtual and live events, ecosystem opportunities and more
Thank you for subscribing!

Resources

Follow Us