Miscompilations threaten zkVM guarantees in SP1 and Jolt
Original title: Proving the Wrong Program: Miscompilations as a Threat to zkVM Guarantees
48 miscompilations affect SP1 and 46 affect Jolt, allowing attackers to force wrong outputs via guest code.
The paper assembles 88 known rustc and LLVM miscompilations with Rust reproducers for zkVMs. Many carry over to SP1 and Jolt, with 48 and 46 bugs respectively producing wrong outputs. An LLM agent found patches that trigger known bugs for about $40 per project.
- 48 bugs make guest commit wrong output on SP1
- 46 bugs affect Jolt zkVM
- Compiler must be part of trusted base
From the original article
1 min read at arxiv.orgA zero-knowledge virtual machine (zkVM) lets an untrusted prover convince a verifier that a program, typically Rust compiled to RISC-V, ran correctly. The proof covers the compiled binary, so a miscompilation can make a correct zkVM produce a valid proof of a computation that differs from the developer's source.
By Hui Xuan Tan · arxiv.org
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.