Astar zkEVM: Network Upgrade Report

Hello everyone,

I’m Shaun, CTO of Astar Network. Here’s a quick update on the Root Cause Analysis (RCA) on the recent Astar zkEVM incident for full transparency with our community:

The Polygon CDK stack utilizes Exit Trees, a specific type of Merkle Tree, to record information about assets transferred out of the network. When a cross-chain transfer occurs, such as sending ETH from Ethereum L1 to Astar zkEVM, the Exit Tree is updated, and a new exit root of the tree is generated.

Due to a bug in the CDK stack, on April 6th UTC, the exit root was affected by a reorged(reorganized) block in Ethereum. This block returned an L1 info root but did not contain the expected update; instead, the update occurred in the next block. This discrepancy led to a faulty batch on Astar zkEVM, where the batch was incorrectly sequenced with an invalid state.

To address this issue, the Polygon & Astar core dev team decided to upgrade the Astar zkEVM mainnet from Fork ID 7 to Fork ID 9. This upgrade would allow for the necessary resync of the invalid batch. The upgrade and resync operation was applied on April 8th (UTC), resolving the issue but necessitating the reorg.

As a result of the reorg, transactions processed between April 6th and April 8th may be affected. These means impacted transactions were invalidated, essentially as if they never occurred on the Astar zkEVM mainnet. For eg: If a user minted an OMA token and paid X amount of ETH as a transaction fee, and if this transaction was affected by the reorg, it would be as if they had not minted the token without spending any ETH for the transaction fee.

A full technical root cause analysis of the incident will be published by the Polygon Team on the Polygon Forum and I will share it here once it’s ready.

Thank you for your continuous support and patience.

10 Likes