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
Hello World - October Newsletter
This month has been packed with significant events, groundbreaking research, and impactful collaborations. From hosting our own sessions at the House of ZK Virtual Conference and releasing major research pieces, to making big strides at ETHGlobal San Francisco, we have plenty of highlights to share.
ZKM Prover: Cross-Table Lookups
In zero-knowledge proofs, the lookup operation is used to verify the relationships between multiple tables. First, the data from the multiple tables is aggregated to form a query condition. Then, through the lookup, records that meet the condition are searched in the target table. Finally, the zero-knowledge proof generates a proof to verify the correctness of the query result without revealing any specific data.
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