← Nieuwste papers
💻 computer science

zkFuzz: Foundation and Framework for Effective Fuzzing of Zero-Knowledge Circuits

Dit artikel introduceert zkFuzz, een nieuw mutatiegebaseerd fuzzing-kader dat is gebaseerd op de theoretische Trace-Constraint Consistency Test (TCCT), en dat effectief zowel onder- als over-beperkte kwetsbaarheden in zero-knowledge circuits detecteert door de beperkingen van bestaande statische en formele analysehulpmiddelen te overwinnen.

Oorspronkelijke auteurs: Hideaki Takahashi, Jihwan Kim, Suman Jana, Junfeng Yang

Gepubliceerd 2026-05-26
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Hideaki Takahashi, Jihwan Kim, Suman Jana, Junfeng Yang

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een magische kluis bouwt die bewijst dat je een geheim wachtwoord kent, zonder het wachtwoord ooit daadwerkelijk te tonen. Dit is wat "Zero-Knowledge (ZK)-circuits" doen in de digitale wereld. Ze fungeren als de beveiligingswachten voor privacybehoudende technologieën zoals anonieme cryptocurrencies en veilige stemsystemen.

Het bouwen van deze kluizen is echter ontzettend lastig. Als je een klein foutje maakt in de blauwdrukken, kan de kluis het volgende doen:

  1. Iedereen binnenlaten (zelfs als ze het wachtwoord niet kennen).
  2. De echte eigenaar buitensluiten (zelfs als ze het juiste wachtwoord hebben).

Het artikel introduceert een nieuw hulpmiddel genaamd ZKFUZZ om deze fouten te vinden voordat kwaadwillenden dat doen. Hier is hoe het werkt, simpel uitgelegd:

Het Probleem: De "Blauwdruk" versus de "Realiteit"

In deze systemen schrijven ontwikkelaars een programma dat twee dingen tegelijk doet:

  • De Berekening: De feitelijke wiskunde om het geheim te achterhalen (zoals het berekenen van een route op een kaart).
  • De Beperkingen: De regels die bewijzen dat de wiskunde correct is uitgevoerd (zoals een checklist om te verifiëren dat de route bestaat).

Het probleem is dat deze twee delen vaak uit sync raken.

  • Onder-beperkt: De regels zijn te los. Een hacker kan het systeem bedriegen om een nep-route te accepteren.
  • Over-beperkt: De regels zijn te streng. Het systeem weigert een perfect geldige route vanwege een klein, onnodig regel.

Bestaande tools om deze fouten te vinden, lijken op slechte spellingscontroles. Ze gokken op basis van patronen en schreeuwen "FOUT!" bij dingen die eigenlijk goed zijn (valse alarmen), of ze missen diepe, complexe fouten volledig.

De Oplossing: ZKFUZZ (De "Mutatie Fuzzer")

De auteurs hebben een nieuw raamwerk ontwikkeld genaamd ZKFUZZ. In plaats van alleen de code te lezen, treedt ZKFUZZ op als een kieskeurige testengineer die het systeem opzettelijk probeert te breken.

Hier is de analogie:
Stel je voor dat je een recept hebt (de berekening) en een proeverij (de beperkingen).

  • Oude Tools: Kijken naar het recept en zeggen: "Dit ziet er verdacht uit omdat het zout gebruikt." (Ze gokken op basis van regels).
  • ZKFUZZ: Kookt daadwerkelijk het gerecht, maar mutateert vervolgens het recept. Het verwisselt "suiker" met "zout", of verandert de kooktijd. Vervolgens voert het dit gemuteerde gerecht aan de proeverij.
    • Als de proeverij zegt: "Lekker!" tegen een gerecht dat slecht had moeten smaken (omdat het recept was veranderd), weet ZKFUZZ dat de regels te los zijn (Onder-beperkt).
    • Als de proeverij zegt: "Ew!" tegen een gerecht dat heerlijk had moeten zijn (omdat het originele recept correct was), weet ZKFUZZ dat de regels te streng zijn (Over-beperkt).

Het Geheime Ingrediënt: "Fitness" en "Targeting"

Het vinden van een bug in een ZK-circuit is als het zoeken naar een speld in een hooiberg ter grootte van een planeet. De betrokken getallen zijn zo enorm dat een computer niet zomaar elke mogelijkheid kan proberen.

ZKFUZZ maakt gebruik van een Genetisch Algorithm (zoals evolutie):

  1. Mutatie: Het creëert duizenden lichtelijk gebroken versies van het programma.
  2. Fitness Score: Het beoordeelt deze gebroken versies. Als een gebroken versie dichtbij komt om de test te slagen (zelfs als het faalt), krijgt het een "goede score". Dit vertelt het systeem: "Je wordt warmer!"
  3. Targeting: Het gokt niet zomaar willekeurig. Het weet dat bugs vaak voorkomen bij "edge cases" (zoals wanneer getallen nul zijn, of extreem groot). Het probeert specifiek het systeem deze lastige getallen te voeren om te zien of het breekt.

De Resultaten: Het Vangen van het Onzichtbare

Het team testte ZKFUZZ op 452 real-world circuits die worden gebruikt in echte projecten.

  • De Score: Het vond 85 bugs.
  • De Zero-Days: 59 hiervan waren nieuwe, onbekende bugs (Zero-Days) waarvan niemand wist dat ze bestonden.
  • De Impact: 39 hiervan werden bevestigd door de ontwikkelaars, en 14 zijn al gerepareerd. Dit omvat bugs in grote projecten zoals zkSync (een crypto-platform) en passport-zk-circuits (digitale ID-systemen).
  • Geen Valse Alarmen: In tegenstelling tot andere tools, markeerde ZKFUZZ niets als een bug dat geen bug was.

Waarom Dit Belangrijk Is

Het artikel betoogt dat eerdere tools een groot stuk van het probleem misten. Ze keken alleen naar "willekeurigheid" in de regels. ZKFUZZ introduceerde een nieuwe theorie genaamd TCCT (Trace-Constraint Consistency Test), die controleert of het daadwerkelijke pad dat de computer neemt overeenkomt met de regels die het zou moeten volgen.

Deze nieuwe theorie ving bugs op die ontstonden wanneer de computer "crashte" of onverwacht stopte, wat eerdere tools volledig negeerden.

In het Kort

ZKFUZZ is een slimme, geautomatiseerde "bugjager" die Zero-Knowledge circuits breekt door hun code te muteren en ze lastige invoer te geven. Het vond tientallen kritieke beveiligingsgaten die andere tools misten, en bewees dat zelfs in de complexe wereld van privacy-wiskunde, een beetje gecontroleerde chaos de beste manier is om de waarheid te vinden.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →