OpenViSTAI · Agents · Blockchain · Crypto
Menu
ZK & Privacy

Distaff

Distaff is an open-source Rust library implementing a zero-knowledge virtual machine that executes programs and automatically generates STARK-based proofs of execution. Its verification function checks a proof against the program hash, public inputs and outputs without requiring the verifier to rerun or know the program.

Independent OpenViST project profile, based on linked sources.

Distaff — OpenViST project profile in ZK & Privacy.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Distaff to explore or demonstrate proof-producing computation when a separate verifier needs to check execution without access to the program or secret inputs.

Who it is for

  • Rust developers prototyping zero-knowledge program execution and verification
  • Developers creating demonstrations of computation that can be verified without disclosing the program or secret inputs

Documented uses

  • Compile Distaff assembly into a program for the virtual machine.
  • Execute a program with public and secret inputs and generate outputs and a STARK proof.
  • Verify a proof against a program hash, public inputs and outputs without rerunning the program.
Before you choose

Requirements & limits

The repository is public and lists an MIT license.

  • Distaff is a Rust library with execute() and verify() functions, rather than a hosted app described in the documentation.
  • Programs can be compiled from Distaff assembly; the project recommends this over manually building execution graphs from low-level instructions.
  • Inputs support public values and two lists of secret values; the documented caps are eight public inputs and eight outputs.
  • The maintainers label the project alpha, note incomplete functionality and known and unknown bugs and security flaws, and explicitly advise against production use.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Execute a program and verify its proof

Compile a Distaff assembly program, generate its execution proof, and verify the result using the program hash, public inputs and outputs.

Before you start

  • Rust project using the Distaff crate
  • A program written in Distaff assembly
  • Program inputs and proof options

Steps

  1. Compile the assembly source into a Distaff Program.

  2. Call execute() with the program, ProgramInputs, desired output count and ProofOptions; retain the returned outputs and StarkProof.

  3. Call verify() with the program hash, public inputs, outputs and proof.

Expected outcome

A proof of execution and outputs, followed by a verification result that indicates whether the proof passes.

Guide limitations

  • Distaff is alpha software and its maintainers warn against production use because functionality is incomplete and bugs and security flaws are known and unknown.
  • At most eight public inputs and eight outputs are supported.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
18 October 2026
Original website title
GuildOfWeavers/distaff · Official homepage title · retained in its source language