Polygon zkEVM: Dragon Fruit Upgrade (with New Opcode) Coming to Mainnet Beta
The 10-day timelock for upgrading Polygon zkEVM Mainnet Beta has been initiated. The Dragon Fruit upgrade covers a range of improvements to the network, including support for the latest Ethereum opcode, PUSH0.
This post will cover the main features in Dragon Fruit, the security audits, and how devs can use and test Dragon Fruit on testnet before the upgrade goes live on Mainnet, the week of September 11.
Dragon Fruit, also known as ForkID5, includes two new features.
PUSH0 is the latest EVM opcode, included in the Shanghai hard fork. Once Dragon Fruit is implemented, Polygon zkEVM Mainnet Beta will be up to date with the latest version of Solidity, maintaining the rollup’s equivalence with the EVM.
For more on PUSH0, see EIP-3855.
RLP parsing: A non-critical bug in the parsing of transactions has been fixed.
Spearbit performed a security audit of these features, as well as a separate audit of cryptographic optimizations that are included in the upgrade. Spearbit did not find any critical risks or soundness issues. The non-critical risks discovered during the audits have been fixed and confirmed by Spearbit.
The audit reports can be found here:
Dragon Fruit Is on Testnet
Right now, devs can use and test the new upgrade with push0. Dragon Fruit is available on the public testnet for Polygon zkEVM. You can connect to the testnet here. (Pro tip: Be sure to toggle the Testnet Products option.)
Dragon Fruit's Path to Mainnet Beta
Dragon Fruit touches aspects of the verifier, which contains the logic to generate state transitions. This requires upgrading the Polygon.zkEVM.sol consensus contract. In keeping with Polygon zkEVM’s governance model, implementing the upgrade on Polygon zkEVM Mainnet Beta has triggered the 10-day timelock.
The upgrade process has been initiated and executed and concludes in 10 days, on September 10. We remind devs and general users that the timelock is there for their security and protection, giving sufficient time to withdraw funds, if desired, before an upgrade is implemented.
The upgraded contract can be checked here:
The hash of the transaction containing the upgrade proposal and its signatures can be found here:
Once Dragon Fruit Is Live on Mainnet
In mid-September, once Dragon Fruit is live on Ethereum Mainnet, devs will need to update to the latest versions of the node, prover, and bridge service. Those GitHub repos and changelogs can be found here:
Tune into the Polygon Labs Blog and our social channels for updates on Dragon Fruit and the Polygon ecosystem.
Together, we can build an equitable future for all through the mass adoption of Web3!