← Neueste Arbeiten
💻 computer science

Towards Automated Formal Verification of zkEVMs Using LLM-Guided Constraint Synthesis

Das Paper stellt VeriSynth vor, ein neuartiges Framework, das eine hybride LLM-SMT-Pipeline nutzt, um automatisch ausführbare Verifikationsmodelle aus Rust-zkEVM-Code zu synthetisieren und dabei durch die Überwindung der Einschränkungen manueller Spezifikationen und LLM-Halluzinationen eine Fehlererkennungsrate von über 90 % erreicht.

Ursprüngliche Autoren: Shichen Huang, Zhenghe Jiang, Yi Jiang, Ling-I Wu, Jingyang Li, Guoqiang Li

Veröffentlicht 2026-07-23
📖 6 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Shichen Huang, Zhenghe Jiang, Yi Jiang, Ling-I Wu, Jingyang Li, Guoqiang Li

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich das Internet als ein riesiges, globales digitales Kassenbuch vor, in dem jeder jede Transaktion sehen kann, aber niemand allein die Kontrolle darüber hat. Dies ist die Welt der Blockchain, und ihr berühmtester Bewohner ist Ethereum. Um dieses System schneller und günstiger zu machen, entwickelten Entwickler sogenannte „Layer-2“-Netzwerke, die die schwere Arbeit „off-screen“ erledigen und nur die Endergebnisse an das Hauptnetzwerk übermitteln. Um zu beweisen, dass diese Off-Screen-Ergebnisse ehrlich sind, ohne die geheimen Details preiszugeben, nutzen sie einen magischen Trick namens „Zero-Knowledge Proof“ (Null-Wissen-Beweis). Denken Sie an einen Zauberer, der Ihnen eine verschlossene Box zeigt und beweist, ohne sie zu öffnen, dass der Schatz darin genau der ist, den er versprochen hat.

Aber hier ist der Haken: Damit die Magie funktioniert, muss das Zauberbuch des Zauberers (der Computercode) perfekt sein. Wenn der Zauberer einen winzigen Fehler in den Zauberspruch macht – wie etwa beim Zählen der Goldmenge danebenliegt oder die Karte vergisst zu aktualisieren –, könnte die Box immer noch verschlossen und gültig aussehen, selbst wenn sie leer ist oder gefälschte Münzen enthält. Dies ist ein Albtraum für die Sicherheit. Um dies zu verhindern, nutzen Experten die „formale Verifikation“, eine Methode, bei der ein superstrenger Roboter-Mathematiker das Zauberbuch Zeile für Zeile überprüft, um sicherzustellen, dass die Logik makellos ist. Das Schreiben der Anweisungen für diesen Roboter ist jedoch unglaublich schwierig, vergleichbar mit dem Versuch, eine komplekbre Anleitung eines Videospiels, die in einer Geheimsprache geschrieben ist, in ein Mathematiklehrbuch zu übersetzen, das der Roboter lesen kann.

Hier kommt ein neues Werkzeug namens VeriSynth ins Spiel. Die Forscher dahinter erkannten, dass Künstliche Intelligenz (KI) zwar großartig darin ist, Code zu schreiben, aber auch zur „Halluzination“ neigt – also dazu, Fakten zu erfinden, die echt klingen, aber falsch sind. Deshalb haben sie nicht einfach nur die KI gefragt, nach Fehlern zu suchen. Stattdessen bauten sie ein Team, in dem die KI als kreativer Übersetzer fungiert, der den unordentlichen, geheimen Code in einen Entwurf für den Roboter-Mathematiker verwandelt, während der Roboter als strenger Richter agiert, der sagt: „Ja, das ist korrekt“ oder „Nein, das ist Unsinn, versuch es noch einmal“.

Das Problem: Der stille Bug

In der Welt der Zero-Knowledge Ethereum Virtual Machines (zkEVMs) wird der Code, der das Geschehen steuert, in einer Sprache namens Rust geschrieben. Sie ist leistungsstark, aber knifflig. Manchmal schreibt ein Entwickter versehentlich eine Zeile Code, die die Gas-Gebühr (die Gebühr für eine Transaktion) falsch berechnet, oder vergisst, einen Speicherplatz zu aktualisieren. Wenn dies geschieht, generiert das System möglicherweise einen „gültigen“ Beweis für eine Transaktion, die eigentlich fehlerhaft ist. Es ist wie ein Bankangestellter, der Ihnen versehentlich 100 $ statt 10 $ gibt, aber der Beleg besagt, dass alles perfekt ist. Da der Beweis gültig aussieht, bleibt der Fehler unbemerkt, was die Sicherheit des gesamten Systems im Stillen untergräbt.

Die übliche Methode zur Behebung ist es, dass Menschen detaillierte Testfälle schreiben, in der Hoffnung, jeden möglichen Fehler zu finden. Aber Menschen werden müde und können nicht jedes kuriose Szenario erdenken, mit dem ein Computer konfrontiert sein könnte. Ein anderer Ansatz ist die Verwendung von Large Language Models (LLMs) – derselben Art von KI, die Aufsätze oder Code schreibt –, um die Bugs zu finden. Das Paper argumentiert jedoch, dass es unzuverlässig ist, eine KI einfach nur nach „Bugs zu suchen“ zu fragen. Die KI könnte vermuten, dass ein Bug vorhanden ist, obwohl er nicht da ist, oder ihn völlig übersehen, weil ihr die strikte, mathematische Gewissheit fehlt, die für die Sicherheit erforderlich ist.

Die Lösung: Ein Team aus Übersetzer und Richter

Die Autoren dieses Papers, Shichen Huang und sein Team, haben ein Framework namens VeriSynth entwickelt. Sie behandeln das Problem wie ein hochkarätiges Spiel von „Stille Post“, bei dem die Nachricht perfekt sein muss.

  1. Der Übersetzer (Das LLM): Zuerst zerlegt das System den komplexen Rust-Code in kleine, handhabbare Stücke, so als würde man ein riesiges Puzzle in einzelne Teile zerlegen. Dann bittet es eine KI, jedes Stück in ein „Verifikationsmodell“ zu übersetzen. Dies ist nicht nur eine Beschreibung; es ist eine Reihe strenger mathematischer Regeln (geschrieben in einer Sprache namens Python/Z3), die dem Roboter-Mathematiker genau sagen, wie sich der Code verhalten sollte.
  2. Die Referenzbibliothek: Um die KI am Erfinden von Dingen zu hindern, gibt VeriSynth ihr ein „Spickzettel“ mit zuvor verifizierten Beispielen. Es ist, als würde man der KI vor dem Bau eines neuen Lego-Sets ein Bild eines korrekt zusammengesetzten Sets zeigen, damit sie weiß, wie die Teile aussehen müssen.
  3. Der Richter (Der SMT-Solver): Dies ist der wichtigste Teil. Die Übersetzung der KI wird niemals sofort vertraut. Sie wird einem superstrengen Roboter-Mathematiker (einem SMT-Solver) übergeben. Der Roboter prüft die Übersetzung gegen die Regeln. Wenn die Übersetzung einen Syntaxfehler, ein fehlendes Teil oder einen logischen Widerspruch aufweist, lehnt der Roboter sie ab.
  4. Die automatische Reparatur (Auto-Repair): Wenn der Roboter die Übersetzung ablehnt, sagt er nicht einfach nur „Fehlgeschlagen“. Er sendet eine spezifische Fehlermeldung zurück an die KI: „Du hast die falsche Größe für diese Zahl verwendet“ oder „Du hast vergessen, den Speicher zu aktualisieren“. Die KI versucht dann, den Fehler zu beheben, und schickt ihn zurück. Diese Schleife setzt sich fort, bis der Roboter zufrieden ist.

Was sie herausfanden

Das Team testete VeriSynth an einem maßgeschneiderten „buggy“ Datensatz, den sie selbst erstellt hatten und der 95 verschiedene Beispiele von Code mit versteckten Fehlern enthielt. Diese Fehler reichten von einfachen Rechenfehlern bis hin zu komplexen Problemen beim Aufruf zwischen verschiedenen Programmen.

Die Ergebnisse waren beeindruckend:

  • VeriSynth fand 87 von 95 Bugs, was einer Erkennungsrate von 91,6 % entspricht.
  • Im Gegensatz dazu fand die KI, wenn man sie einfach nur ohne den strengen Roboter-Richter nach Bugs suchen ließe, nur 44 Bugs (46,3 %).
  • Selbst wenn man die KI den Roboter „chatten“ ließe und sie erneut versuchen ließe (ein „konversationeller“ Ansatz), fand sie nur 58 Bugs (61,1 %).

Das Paper verglich VeriSynth auch mit den realen Testmethoden, die von einem großen Projekt namens Scroll verwendet werden. Das Team von Scroll hatte eigene Tests geschrieben, um Bugs abzufangen. Ihre Tests entdeckten 55 der 95 Bugs. VeriSynth entdeckte 87, was bedeutet, dass es 32 zusätzliche Bugs fand, die die von Menschen geschriebenen Tests übersehen hatten.

Warum es wichtig ist

Die Forscher betonen, dass es nicht darum geht, menschliche Entwickler zu ersetagen oder zu behaupten, dass KI perfekt ist. Stattdessen geht es darum, KI als ein mächtiges Werkzeug einzusetzen, um die schwere Arbeit der Übersetzung zu übernehmen, während ein strenger, unermüdlicher Roboter die letzte Instanz bleibt. Die „Auto-Repair“-Funktion war der entscheidende Teil; ohne sie sank die Erfolgsquote auf 66,3 %, was beweist, dass die Fähigkeit, eigene Fehler zu korrigieren, das System zum Erfolg führt.

Die Studie legt nahe, dass wir durch die Kombination der Kreativität der KI mit der strikten Logik mathematischer Solver ein Sicherheitsnetz für die Zukunft der Blockchain bauen können, das weita viel stärker ist, als das, was Menschen allein aufbauen könnten. Es ist eine Erinnerung daran, dass es in der Welt der digitalen Sicherheit die beste Verteidigung ist, ein Team zu haben, in dem der kreative Geist vorschlägt und die strikte Logik entscheidet.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →