Excited to announce OpenVM, a new performant and modular zkVM framework built for customization and extensibility. It was very fun contributing to the initial design. This will be the future of zkVM design β user-led customization without forking the core architecture.
Announcing OpenVM, an open-source zkVM framework prioritizing customization and extensibility at every level of the stack.
OpenVM achieves this with a novel modular design allowing developers to extend the ISA, ZK circuits, and proof system within one unified framework.
@tonylfeng Would it just be first line of defense? It can give coverage but provable closure. Oh wait, unless the AI rewrites the whole paper in lean for you
How to find some the worst architecture problems in your codebase?
One sign is that one conceptual change forces edits across scattered files because no module owns it.
Ousterhout calls it "change amplification". It's one of the clearest signals of bad architecture. It's sitting in your PR history.
Point Claude at your last 50 merged PRs with this prompt to catch them:
Review these merged PRs as architecture evidence.
"Find PRs that show change amplification: one intended change forced edits across multiple conceptually separate places (files, tests, configs, prompts, docs) because the architecture did not name one clear owner, contract, or boundary.
For each candidate, report:
1. Intended change: the single conceptual change (usually in the PR title/description).
2. Amplification evidence: which files/tests/configs/docs had to change. Cite specific paths.
3. Why this is architectural: why this was not just ordinary feature breadth. Name the missing boundary, owner, or contract.
4. Better architecture: the smallest change that would make the next similar PR local.
5. Mechanical prevention: what test, type, lint, or contract check would catch drift next time.
6. Deletion criterion: what temporary compatibility path should be removed once the new owner exists.
Reject PRs where the breadth was justified (genuine cross-cutting feature) or where the PR was itself a refactor.
Rank by expected future leverage.
Output is a ranked backlog of architectural debt with PR links as evidence. Not a list of bad PRs β a list of missing boundaries."
I've got an agent in a loop optimizing a renderer with the goal to minimize frame times (and tests to measure). It got times down from 88ms to 2ms and allocations down from ~150K to 500. Sounds good, right? Wrong. This is exactly why agent psychosis is a big fucking problem.
As an experiment, I rewrote the Ghostty core render state in Go, with access to identically laid out data structures as Ghostty and the exact same validation tests. I made a purposely naive renderer (simple, correct, but slow). 88ms per frame with 150,000 allocations (horrendous, lol)!
I then kickstarted a Ralph loop to bring the frame times down. I told it it can't modify input data structures or the public API or tests (they're correct), but it can do anything else it wants. It got to work.
It has worked for about 4 hours. I've spent around $350 on this experiment so far. The results?
88ms => 1.5ms
150K allocs => ~500 allocs
Incredible right? Nope.
My hand-written renderer I ported has frame times (same benchmark) of ~20us (0.020ms) and 0 allocations in the update path.
This is the problem with psychosis and lacking systems understanding. If you don't understand the system, you're going to accept that this is an incredible result. If you understand the system, you'll see better solutions immediately and can do roughly 75x better on throughput.
The people who blindly trust agent output are in the former camp. They're sheeple, overdrinking from a fountain of mediocrity.
Standard disclaimer: I use AI all the time. I like AI. The point I'm making is to not blindly accept results. Think. Analyze. Learn.
We are conducting an AI-assisted review of FrontierMath: Tiers 1-4. This has flagged fatal errors in about a third of problems, and we believe most of these flags to be valid. We will release updated scores on a corrected dataset after completing a thorough human review.
vibe experimenting w/ pq signature aggregation & @openvm_org https://t.co/WDnOycrAVH if anyone wants to check some of the ideas i ran thru last couple weeks
OpenVM 2.0 Beta is out now as a preview release - fully open source and ready for everyone to try. Bonus: we made OpenVM even faster, read the blog post to learn more
We are excited to release OpenVM 2.0 Beta, which features substantial performance gains over the OpenVM 2.0 Alpha release in January.
OpenVM 2.0 now proves mainnet Ethereum blocks in a p99 time of 7.9s on 16 5090 GPUs and has 964 MHz RISC-V throughput on 64 GPUs.
We are starting to roll out the Lighter EVM devnet to developers!
Join us for a Q&A on Friday with our founder, lead architect, and @theyisun from @axiom_xyz, our partners in building Lighter EVM.
https://t.co/NJJitwsjMG
Announcing powdr-wasm!
powdr-wasm is an optimized zkVM for WASM, built on top of @openvm_org and the novel πππ’π β ISA.
Early benchmarks already show 1.5x fewer trace cells & faster proof times compared to RISC-V (OpenVM).
It also supports Go guests via WASI!
π
Our Formal Verification team led by @PetarMax, with support from @EthereumFndn, has verified in Lean the correctness of the OpenVM RISC-V extension built by @axiom_xyz.
This work proves instruction-level correctness and, for the first time, execution and memory consistency.
π§΅
We were able to formally verify our RV32IM circuits in Lean - moreover it was done in an extensible way with a framework for Lean constraint extraction that will be reusable for all future circuit designs.
The functional correctness of the OpenVM RV32IM extension has been formally verified using @leanprover by @Nethermind with support from @ethereumfndn.
This marks a major step in incorporating formal methods into OpenVM's development process that we will maintain going forward.
We partnered with @Nethermind with support from @ethereumfndn to formally verify the functional correctness of the OpenVM RISC-V extension using @leanprover.
Alongside this, we are introducing provable 100-bit security on the Axiom Proving API with the new OpenVM 1.5.0 release.
We are excited to announce a collaboration with @Lighter_xyz to build Lighter EVM with ZK verification using @openvm_org.
Lighter EVM is an EVM-equivalent rollup which can natively access the liquidity of Lighter's perps and spot markets.
We are excited to announce that Axiom is proving Ethereum in real time with OpenVM 2.0.
OpenVM 2.0 proves mainnet blocks at a p99 level on 16 GPUs with 100-bit provable security and < 300 kB proofs.
I recently went through the exercise of applying logup* (Soukhanov) to implement Twist and Shout (Setty & Thaler). As a result, we can have memory checking arguments with very cheap commitment costs using hash-based commitment schemes! β
Build with ZK the way you would any other app, now with multi-GPU distributed proving.
Whether you prefer console, CLI, or SDK, we have you covered: any ZK proof is only an API call away.
We are excited to announce GPU support for @openvm_org as part of the OpenVM v1.4.0 release.
OpenVM v1.4.0 proves Ethereum mainnet blocks in 15s, a 5x+ improvement in cost and latency over v1.0.0. Multi-GPU distributed proving is now live in prod on the Axiom Proving API.
A lot of hard work went into this one. We explored the full spectrum of computing optimizations, and we're proud to make every performance optimization we developed fully open source -- you can build from source and try it out for yourself!
We are excited to release GPU proving today in OpenVM v1.4.0, which also includes a new execution system running at 150 MHz and orchestration for distributed proving on hundreds of GPUs.
This release substantially improves performance and is MIT / Apache 2.0 licensed.