Polygon zkEVM revolutionizes blockchain scalability with its EVM-compatible ZK rollup solution. Seamlessly integrating with existing smart contracts, developer tools, and wallets, zkEVM leverages zero-knowledge proofs to significantly reduce transaction costs and enhance throughput, all while maintaining the robust security of the Ethereum base layer. Web3 developers can effortlessly build decentralized applications (dApps) on zkEVM, requiring only a switch to its RPC node provider for increased efficiency and lower fees. This innovative approach ensures a smooth developer experience, allowing the deployment of smart contracts and seamless asset transfers between Ethereum and zkEVM through off-chain transactions with validated zero-knowledge proofs.

What is Polygon zkEVM ?

Polygon zkEVM stands as a Layer 2 extension of the Ethereum Virtual Machine (EVM), featuring a zero-knowledge (ZK) rollup scaling solution. Employing ZK proofs for validating state transitions, it seamlessly integrates with the EVM, supporting Ethereum's EIPs, pre-compiles, and opcodes. This compatibility allows developers to effortlessly deploy smart contracts, developer tools, and wallets, all functioning within an environment marked by significantly reduced costs. Polygon zkEVM's cryptographic primitives and Ethereum alignment not only enhance scalability but also provide a familiar and cost-effective platform for developers to build and innovate within the blockchain space, expanding possibilities for decentralized applications and transactions.

Key Features of Polygon zkEVM

1. Robust ZK Proving System:

Polygon zkEVM boasts a comprehensive ZK proving system, combining eSTARK proofs and FRI, compressed using FFLONK SNARKs. The system, deployed on the testnet in October 2022, underwent meticulous security audits, marking a pioneering effort in auditing a complete, in-production ZK proving system.

2. Steady Mainnet Evolution:

After successful testnet operations and security audits, Polygon zkEVM transitioned to its Mainnet Beta in March 2023. The network has since experienced two major upgrades, Dragon Fruit (ForkID5) in September 2023 and Inca Berry (ForkID6) in November 2023, demonstrating a commitment to continuous improvement and innovation.

3. Enhanced Security Measures:

Aligning with Ethereum's security standards, zkEVM implements stringent security measures for upgrades. These include an admin multisig contract to prevent single-point control, a timelock contract providing users a withdrawal window before execution, and a transparent upgradeable proxy from OpenZeppelin's audited contracts, ensuring a secure and transparent protocol evolution.

4. Governance and Emergency Response:

zkEVM employs a governance model featuring an Admin multisig with a ⅔ threshold for protocol upgrades. In emergencies jeopardizing user funds, a Security Council, an eight-participant multisig with a 6/8 threshold, can remove the 10-day timelock, temporarily halting network progression and bridge functionality. This dual-layer governance structure ensures a balance between routine upgrades and swift responses to critical situations, prioritizing user protection.

Comparing zkEVM with EVM

Feature zkEVM EVM
No Impact on Developer Experience Gas optimization, library interactions, and contract deployment work seamlessly without overhead on zkEVM.
Opcodes Changes SELFDESTRUCT replaced by SENDALL.
EXTCODEHASH returns bytecode hash without checking account emptiness.
DIFFICULTY returns "0" instead of a random number.
BLOCKHASH returns all previous block hashes, stored on the system smart contract.
NUMBER returns the number of processable transactions.
Standard EVM opcodes.
Precompiled Contracts Supports ecRecover and identity precompiled contracts.
Other precompiled contracts treated as revert with gas return.
Standard precompiled contracts.
Additional Features zk-counters for batch resources linked to state-machine components.
Doesn't clean storage on contract deployment.
JUMPDEST opcode allowed in push bytes for runtime analysis.
Implements EIP-3541 from London hardfork.
EIP-2718 and EIP-2930 not supported.
Standard EVM features.

Follow these Docs and Videos for more information

 

FAQs about Polygon zkEVM

1. What is zkEVM, and how does it differ from the Ethereum Virtual Machine (EVM)?

Answer: zkEVM is the Zero-Knowledge Ethereum Virtual Machine, a Layer 2 scaling solution compatible with EVM. It employs zero-knowledge proofs to enhance scalability. Differences include opcode changes, precompiled contract support, and additional features like zk-counters.

2. How does zkEVM impact the developer experience compared to EVM?

Answer: There is no impact on the developer experience with zkEVM. Gas optimization techniques, interaction with libraries like Web3.js, and contract deployment work seamlessly, providing a familiar environment for developers without additional overhead.

3. What are the key opcode changes in zkEVM compared to EVM?

Answer: Notable opcode changes in zkEVM include replacing SELFDESTRUCT with SENDALL, altering EXTCODEHASH behavior, changing DIFFICULTY to return "0," modifying BLOCKHASH to return all previous block hashes, and using NUMBER to return the number of processable transactions.

4. Which precompiled contracts are supported in zkEVM?

Answer: zkEVM supports the ecRecover and identity precompiled contracts. Other precompiled contracts have no effect on the zkEVM state tree and are treated as a revert, returning gas to the previous context with the success flag set to "0."

5. Are there any differences in zkEVM's treatment of storage and specific opcodes?

Answer: Yes, zkEVM doesn't clean storage when a contract is deployed at an address, following the zkEVM state tree specification. Additionally, the JUMPDEST opcode is allowed in push bytes to avoid runtime bytecode analysis. Furthermore, zkEVM implements EIP-3541 from the London hardfork, but EIP-2718 and EIP-2930 are not supported.