Verfasst von Pablo Gómez
Founder & CEO von Metlabs · Geprüft am 11. Oktober 2026
Der arithmetische Schaltkreis ist die unverzichtbare Brücke jedes Beweissystems: Kein Schema kann etwas über ein Programm beweisen, bevor dieses Programm als Constraints ausgedrückt ist. Die Berechnung wird mit Additions- und Multiplikationsgattern modelliert, die über Leitungen (Wires) verbunden sind, und anschließend in ein Constraint-System kompiliert, meist R1CS (Rank-1 Constraint System), in dem jeder Constraint die Form (A·s) × (B·s) = (C·s) hat und der Vektor s die Belegung aller Leitungen enthält.
Der Prover sucht eine gültige Belegung dieser Leitungen, Witness genannt, die alle Constraints erfüllt, und erzeugt den Beweis über dieses R1CS mit einem System wie Groth16 oder PLONK. Eine zentrale Regel lautet, dass die Constraints quadratisch, also zweiten Grades, sein müssen; komplexe Ausdrücke werden deshalb in paarweise Multiplikationen zerlegt. Anzahl und Qualität der Constraints bestimmen unmittelbar die Kosten der Beweiserzeugung.
Damit diese Schaltkreise nicht von Hand geschrieben werden müssen, gibt es spezialisierte Sprachen. Circom, entwickelt von Iden3, definiert Schaltkreise, die zu R1CS kompiliert werden, und erzeugt das Programm, das den Witness berechnet; Tornado Cash und Semaphore nutzen es über die Bibliothek circomlib. Noir, von Aztec entwickelt und mit an Rust angelehnter Syntax, arbeitet auf höherer Ebene und kompiliert zu einer Zwischendarstellung (ACIR), die verschiedene Beweis-Backends unterstützt. Beide ermöglichen es Entwicklern, die Logik auszudrücken, die ein SNARK anschließend beweist.
Auch bekannt als
- ZK circuit





