A Rust-to-Lean Verification Pipeline with AI Provers: An Experience Report
Dit artikel presenteert een correcte, door de kernel gecontroleerde verificatiepiplijn die Rust-naar-Lean-extractietools, formele cryptografische bibliotheken en AI-bewijsvoerders integreert om succesvol machine-gecontroleerde correctheidsbewijzen te genereren voor productieve Rust-cryptografische code binnen het zkEVM-project van de Ethereum Foundation.
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 een fabriek voor met hoge risico's die de digitale sleutels bouwt voor een enorme, onzichtbare kluis (een Zero-Knowledge Virtual Machine). Als zelfs één klein tandwiel in deze fabriek lichtjes verbogen is, wordt de beveiliging van de hele kluis gecompromitteerd, en zal niemand dit merken totdat het te laat is.
Jarenlang was het controleren van deze tandwielen vergelijkbaar met het inhuren van een team van expert-mechanici om elke schroef met de hand te inspecteren. Het was traag, duur en afhankelijk van dat de mechanici niets over het hoofd zagen.
Dit artikel beschrijft een nieuwe, geautomatiseerde assemblagelijn die drie dingen doet:
- Vertaalt de blauwdrukken van de fabriek (geschreven in een complexe taal genaamd Rust) naar een universele, wiskundige taal (Lean 4) die een computer perfect kan begrijpen.
- Biedt een perfecte, vooraf geschreven "gouden standaard" van hoe de machine moet werken (met behulp van bibliotheken genaamd ArkLib en CompPoly).
- Huur een super-slimme AI-assistent in (genaamd Aleph en Aristotle) om de vertaalde blauwdrukken te vergelijken met de gouden standaard en het bewijs te schrijven dat ze overeenkomen.
Hier is hoe het proces werkt, met behulp van eenvoudige analogieën:
1. De Vertaler (Rust naar Lean)
De blauwdrukken van de fabriek zijn geschreven in Rust, een taal die ingenieurs liefhebben voor het bouwen van snelle, veilige software. De "wiskundige rechters" (het Lean 4-systeem) spreken echter geen Rust; ze spreken alleen pure wiskunde.
Het artikel gebruikt tools genaamd Aeneas en Hax als vertalers. Ze nemen de Rust-code en zetten deze om in "pure functionele" wiskunde.
- De Analogie: Stel je voor dat je een recept neemt dat is geschreven in de straattaal van een chef-kok (Rust) en dit vertaalt naar een strikt, stap-voor-stap chemisch formule (Lean). De vertaler voegt ook "veiligheidsetiketten" toe aan elke stap. Als een stap kan mislukken (zoals delen door nul of het opraken van ingrediënten), markeert de vertaling dit duidelijk zodat de wiskunde erop kan controleren.
2. De Gouden Standaard (De Specificaties)
Je kunt niet bewijzen dat een machine werkt tenzij je een definitie hebt van "werken".
- De Analogie: Denk aan ArkLib en CompPoly als het "Officiële Reglement" voor cryptografie. Ze bevatten de perfecte, abstracte definities van hoe dingen zoals "een papier vouwen" (FRI folding) of "een Merkle-boom controleren" wiskundig zouden moeten gedragen.
- Het doel is om te bewijzen dat de vertaalde Rust-code (de fabrieksmachine) precies doet wat het Reglement zegt dat het moet doen, niet meer en niet minder.
3. De AI-Bewijsschrijver (Het "Brein")
Dit is het meest spannende deel. Zodra de code is vertaald en het reglement klaar is, moet je een bewijs schrijven dat ze overeenkomen. Traditioneel moest een menselijke wiskundige dit bewijs schrijven, wat vergelijkbaar is met het oplossen van een enorm, complex puzzel.
Het artikel introduceert AI-bewijzers (Aleph en Aristotle) om het zware werk te doen.
- De Analogie: Stel je de AI voor als een onuitputtelijke, supersnelle detective. Je geeft hem de vertaalde blauwdruk en het reglement, en hij zegt: "Ik zie de connectie! Hier is het bewijs."
- Cruciale Veiligheidscontrole: De AI zegt niet alleen dat het klopt; hij schrijft het bewijs in een taal die de Lean Kernel (de ultieme rechter) kan lezen. De Kernel controleert elke enkele stap van de logica van de AI. Als de AI verkeerd gokt, wordt het door de Kernel afgewezen. De AI kan dus creatief zijn, maar het kan niet valsspelen.
Wat Ze Eigenlijk Hebben Gedaan
Het team heeft deze pijplijn toegepast op cryptografische code uit de echte wereld die wordt gebruikt in projecten van de Ethereum Foundation (specifiek Plonky3 en RISC Zero).
- Het Succes: Ze slaagden erin om te bewijzen dat specifieke delen van de code (zoals het berekenen van hoe data moet worden gevouwen of het controleren of een boom correct is opgenomen) wiskundig perfect waren.
- De Rol van de AI: In één specifiek voorbeeld met een functie genaamd
compute_log_arity_for_round, schreef de AI (Aleph) automatisch twee complexe bewijzen die eerder vastzaten (gemarkeerd als "sorry", wat betekent "we weten dat het waar is, maar we hebben het nog niet bewezen"). - De Rol van de Mens: De AI was geweldig in het afhandelen van logische puzzels, "als-dan"-scenario's en basiswiskunde. Echter, het had nog steeds mensen nodig om:
- De algehele strategie te ontwerpen (het "Reglement").
- Complexe lussen af te handelen (zoals het vinden van het juiste patroon in een herhalende reeks).
- Vertaalfouten op te lossen waar de Rust-code te lastig was voor de vertaler om mee om te gaan.
De Struikelblokken (Technische Gaten)
Het artikel erkent dat de assemblagelijn nog niet perfect is.
- Versie-Discrepantie: De vertalers, de reglementen en de AI spreken allemaal iets verschillende "dialecten" van de wiskundetaal. Het team moest coördineren om iedereen op dezelfde versie te krijgen.
- Vertaalgrenzen: Sommige complexe Rust-functies (zoals generieke typen of externe bibliotheken) zijn moeilijk voor de vertalers om om te zetten. Het team moest sommige code herschrijven naar een eenvoudiger "model" zodat de vertaler het kon begrijpen.
De Conclusie
Dit artikel beweert niet dat AI menselijke ingenieurs heeft vervangen. In plaats daarvan toont het een pijplijn waarin:
- Mensen de code vertalen en de doelen stellen.
- AI fungeert als een krachtige assistent om de saaie, logische bewijzen te schrijven.
- Een strenge computerrechter (de Kernel) alles verifieert om veiligheid te garanderen.
Het resultaat is een werkend systeem dat cryptografische code van productiekwaliteit omzet in machine-gecontroleerde, wiskundig gegarandeerde bewijzen, waardoor de "onzichtbare kluis" aanzienlijk veiliger wordt.
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.