Verifying Determinism in Ziren’s Arithmetic Core

Share on

Ziren targets a deterministic execution model: identical inputs must yield identical outputs across all circuit paths. Determinism at the chip level (e.g. ALU primitives) is a prerequisite for soundness and proof reproducibility.

We partnered with ZK auditing company Veridise to check determinism of Ziren’s core arithmetic components using Picus, their formal verification framework. Ziren is built on Plonky3; Veridise constructed a pipeline that extracts Ziren’s Plonky3 constraints, translates them to LLZK (their IR for ZK languages), and packages them for analysis in AuditHub.

Method in brief:

  • Parse Ziren’s constraint definitions (Plonky3 AIR).
  • Translates them into Picus’s internal representation via Veridise’s LLZK.
  • Run determinism checks in Picus via AuditHub for reproducible results and artifacts.

The extractor is presented at Ziren’s branch audit/picus.

Initial results:

Verification covered two ALU primitives - addition and subtraction - implemented together in Ziren’s AddSub chip. Picus confirmed both are deterministic, with checks completing in under two seconds.

What “deterministic” guarantees here:

For the same witness and public inputs, the chip enforces the same output assignment. This rules out multi-solution behavior that could undermine soundness or hinder proof reproducibility.

What’s next (collaboration roadmap):

  • Extend coverage to the full circuits(CPU, Memory, Program, MISC, Bytes etc.).
  • Automate translation for larger composite chips along Ziren’s execution pipeline.
  • Integrate determinism checks into release workflows/CI so regressions are caught pre-merge.

Artifacts and transparency:

Analysis ran through AuditHub, enabling both teams to inspect runs and outputs in a reproducible environment. As scope expands, we will continue to surface verification targets and statuses in our engineering notes and release materials.

Bottom line:

Formal verification on arithmetic building blocks is a concrete step toward a verifiably correct zkVM. This collaboration helps ensure Ziren’s low-level semantics are pinned down formally, paving the way for broader coverage.


Start building with Ziren today: https://github.com/projectzkm/ziren 

More articles
Hash-based is not the same as post-quantum
"STARKs are hash-based, so they must be post-quantum." True of a commitment scheme, false of a proof system. We audited Ziren under that rule, found one thing, and show how it closes.
Multivariate Sumcheck Protocol - Part 4
We introduce the GKR protocol, explaining how it recursively verifies the correctness of layered circuit computation through the multivariate Sumcheck protocol. It elaborates on the circuit’s layered relationships, constraint construction, and verification procedures, demonstrating the efficiency and scalability of GKR in zero-knowledge proofs.
Verifying Determinism in Ziren’s Arithmetic Core

Ziren targets a deterministic execution model: identical inputs must yield identical outputs across all circuit paths. Determinism at the chip level (e.g. ALU primitives) is a prerequisite for soundness and proof reproducibility.

We partnered with ZK auditing company Veridise to check determinism of Ziren’s core arithmetic components using Picus, their formal verification framework. Ziren is built on Plonky3; Veridise constructed a pipeline that extracts Ziren’s Plonky3 constraints, translates them to LLZK (their IR for ZK languages), and packages them for analysis in AuditHub.

Method in brief:

  • Parse Ziren’s constraint definitions (Plonky3 AIR).
  • Translates them into Picus’s internal representation via Veridise’s LLZK.
  • Run determinism checks in Picus via AuditHub for reproducible results and artifacts.

The extractor is presented at Ziren’s branch audit/picus.

Initial results:

Verification covered two ALU primitives - addition and subtraction - implemented together in Ziren’s AddSub chip. Picus confirmed both are deterministic, with checks completing in under two seconds.

What “deterministic” guarantees here:

For the same witness and public inputs, the chip enforces the same output assignment. This rules out multi-solution behavior that could undermine soundness or hinder proof reproducibility.

What’s next (collaboration roadmap):

  • Extend coverage to the full circuits(CPU, Memory, Program, MISC, Bytes etc.).
  • Automate translation for larger composite chips along Ziren’s execution pipeline.
  • Integrate determinism checks into release workflows/CI so regressions are caught pre-merge.

Artifacts and transparency:

Analysis ran through AuditHub, enabling both teams to inspect runs and outputs in a reproducible environment. As scope expands, we will continue to surface verification targets and statuses in our engineering notes and release materials.

Bottom line:

Formal verification on arithmetic building blocks is a concrete step toward a verifiably correct zkVM. This collaboration helps ensure Ziren’s low-level semantics are pinned down formally, paving the way for broader coverage.


Start building with Ziren today: https://github.com/projectzkm/ziren