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
ZKM Unveils Phase 2 of Our Early Contributor Program: Community Evolution
At ZKM, we are on a mission to revolutionize the digital world by bringing privacy, security, and efficiency to the forefront. With the introduction of Phase 2: Community Evolution of our Early Contributor Program (ECP), we’re taking a giant step forward in achieving this goal. This program has been instrumental in fostering a community of forward-thinking developers who actively participate in shaping the future of open-source zero knowledge technology. In this post, we’re excited to unveil the new features and opportunities this new phase our ECP brings to our growing community.
FRI Preliminaries
A polynomial is a fundamental concept in algebra, expressed as a linear combination of variables and coefficients, denoted as:
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