Skip to content

[email protected]

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 May 20:50
· 438 commits to main since this release
172d6b9

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.