Skip to content

ZisK BLS12-381 syscalls panic on the stateless-validator suite (upstream defect) #7176

Description

@ilitteri

Split out of the zkEVM tracking issue.

What

On the eth-act witness dashboard (zkevm-benchmark-workload/stateless-validator, tests-zkevm@v0.6.2), ethrex_zisk-v1.0.0-alpha reports 26 failures. 22 of them are a ZisK defect, not ours.

All 22 crash identically:

Status: crashed
Crash reason: zkVM method error: Emulator panicked: called `Option::unwrap()` on a `None` value

Test families, all small blocks (34,821–293,760 gas):

  • prague_eip2537_bls_12_381_precompiles_test_bls12_g1msm (×4)
  • prague_eip2537_bls_12_381_precompiles_test_bls12_g1mul (×8)
  • prague_eip2537_bls_12_381_precompiles_test_bls12_map_fp_to_g1 (×9)
  • prague_eip2537_bls_12_381_precompiles_test_bls12_pairing (×1)

Why it is not ethrex

Two independent lines of evidence.

Another client fails the identical set. zesu_zisk-v1.0.0-alpha fails exactly 22, the same four families, with the same panic string — and nothing else. reth_zisk-v1.0.0-alpha hits them too, inside its larger set. Intersecting the failing test names across all three ZisK runs gives exactly these four families.

Our SP1 and ZisK guests run the same Rust. In crates/guest-program/stateless-validator/Cargo.toml:

sp1  = ["zkvm-interface"]
zisk = ["zkvm-interface", "ethrex-common/zisk"]

Both dispatch through src/crypto/zkvm_interface.rs, so bls12_381_g1_msm, bls12_381_fp_to_g1 and bls12_381_pairing_check are the same code on both. ethrex_sp1-v6.3.1 scores 19413 / 0 on the same suite. The only thing that differs is the syscall implementation underneath, which is ZisK's.

Action

File upstream against ZisK with the evidence above. Nothing to change in ethrex; this issue tracks the upstream fix landing and the dashboard going green.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    L1Ethereum clientzkevm

    Type

    No type

    Projects

    • Status
      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions