github ethereum/execution-spec-tests zkevm@v0.1.0

latest releases: weld_test@v0.0.5, bal@v1.0.0, fusaka-devnet-5@v2.0.0...
pre-release3 months ago

This release introduces a suite of tests specifically designed for benchmarking and stress-testing zkVMs. These tests provide high coverage of opcodes and precompiles, focusing on worst-case and challenging scenarios for block proving, which can also help discover mispriced opcodes for zkVMs.

Highlight of tests added in this release:

  • Arithmetic Opcodes: specifically crafted for efficient gas computational load.
  • JUMP/JUMPDEST scenarios: tests various jump and potential JUMPDEST analysis triggers.
  • Stateful opcode accesses: Covers warm, cold, and (non-)absent account and storage access scenarios.
  • KECCAK opcode flooding
  • Precompile Coverage: Includes all existing precompiles active in Pectra (further enhancements are still possible).
  • Bytecode witness attacks: worst-case related to non-chunkified code.

All tests are generic to the provided gas limit (configurable via --block-gas-limit). This allows for easy generation of future test scenarios with arbitrary gas limits.

To run these tests effectively in your zkVM, we highly recommend using the zkevm-benchmark-workload tool (currently experimental). This tool streamlines the process by:

  • Running tests in their standard fixture format.
  • Automatically generating the necessary witness data.
  • Executing blocks statelessly across multiple zkVM implementations.

This suite aims to provide robust tools for evaluating and hardening zkVM performance and security. It already contains a script to download and run the latest test release.

Don't miss a new execution-spec-tests release

NewReleases is sending notifications on new releases.