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
Poseidon Hash Execution Flow and Code Analysis
Poseidon hash function uses the following sponge structure for its design, where P is the permutation function of each round of Poseidon, and I is the initial state. Assume the initial state I is a zero vector, and a message m=m1||m2||m3||m4 is given, with the output being h=h1||h2. Each mi and hi are of length r. The computation follows this pattern:
你好世界-八月时事通讯
House of ZK在纽约市的区块链科学会议上举办了 “ZK日”。该活动由围绕ZK最新创新的技术研讨会和辩论组成,由ZKM和Aleo共同主办,由IC3、斯坦福CBR和伯克利RDI共同组织。杰罗恩·范·德格拉夫、卢卡斯·弗拉加和亚历克斯·普鲁登等知名专家分享了他们对纠缠汇总、zkMips架构和BitcoinL2 zkVM支持的原生安全等话题的见解,之后以热闹的欢乐时光结束,这是经过一天的密集讨论后社交和放松身心的绝佳机会。
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