← Nieuwste papers
💻 computer science

From Rocq to Metal: A Pipeline for Formally Verified Microcontroller Firmware

Dit artikel presenteert Encore!, een bare-metal Continuation Passing Style virtuele machine die de uitvoering van formeel geverifieerde, uit Rocq geëxtraheerde Scheme-firmware op microcontrollers mogelijk maakt door de kern te structureren als een bewijsbaar toestandsveranderingsfunctie, waardoor AI-ondersteunde generatie van veiligheidskritische code met door machines gecontroleerde garanties wordt gefaciliteerd.

Oorspronkelijke auteurs: Valentin Bergeron, Karolina Gorna

Gepubliceerd 2026-06-03
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Valentin Bergeron, Karolina Gorna

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 hoogbeveiligde kluis voor een bank bouwt. Je moet de instructies (de "firmware") schrijven die de kluis vertellen hoe hij moet openen, sluiten en geld moet tellen. In het verleden was het schrijven van deze instructies moeilijk, en het controleren op fouten nog moeilijker. Nu, met AI, kunnen we deze instructies direct genereren, maar dat creëert een nieuw probleem: Hoe vertrouwen we code die is geschreven door een machine die we niet volledig begrijpen?

Dit paper, "From Rocq to Metal," presenteert een oplossing: een manier om deze kritieke instructies te schrijven in een taal die wiskundig bewezen perfect is, en vervolgens die bewijslast direct uit te voeren op kleine, goedkope computerchips die te vinden zijn in apparaten zoals hardware wallets.

Hier is de uitsplitsing van hun aanpak met behulp van eenvoudige analogieën:

1. Het Probleem: Het "Zware Pak" versus de "Kleine Robot"

De meeste moderne programmeertalen die "wiskundig bewijs" mogelijk maken (zoals Lean 4 of standaard OCaml) zijn als zware, hightech ruimtepakken. Ze zijn geweldig voor astronauten (krachtige computers), maar ze zijn te zwaar en te lomp voor een kleine robot (een microcontroller chip) die in een apparaat ter grootte van een creditcard moet passen.

  • Het Probleem: Als je probeert dat zware ruimtepak aan de kleine robot aan te trekken, stort de robot onder het gewicht in. De robot heeft niet genoeg batterij (RAM) of opslag (Flash) om de "bewijs"-software uit te voeren.
  • De Oude Manier: Ontwikkelaars schreven vroeger de code in het zware pak, en vertaalden het vervolgens handmatig naar een eenvoudige taal voor de robot. Maar deze vertaling is als een spelletje "Telefoontje": er sluipen fouten in, en het wiskundige bewijs gaat verloren.

2. De Oplossing: "Encore!" (De Lichtgewicht Vertaler)

De auteurs hebben een nieuwe tool gebouwd genaamd Encore!. Zie Encore! als een gespecialiseerde, ultra-lichtgewicht vertaler die in de zak van de kleine robot past.

  • Hoe het werkt: Je schrijft je instructies in een rigoureuze, wiskundige taal genaamd Rocq (wat lijkt op het schrijven van een recept in perfecte, onveranderlijke logica).
  • De Magie: In plaats van het recept te vertalen naar een rommelige, foutgevoelige taal, zet Encore! het rechtstreeks om in een kleine, efficiënte "bytecode" die de robot kan uitvoeren.
  • Het Resultaat: De robot voert dezelfde logica uit die wiskundig bewezen is. Er is geen "Telefoontje"-spel; het bewijs reist helemaal door naar de metalen kern (the metal).

3. De Architectuur: De "State Machine"

Om dit werkend te krijgen, hebben de auteurs de manier waarop de software wordt gebouwd geherstructureerd. Ze behandelen het apparaat als een bordspel.

  • Het Speelbord (State): De huidige situatie (bijv. "Wachten tot een gebruiker op een knop drukt").
  • De Dobbelsteenworp (Event): Er gebeurt iets (bijv. "Gebruiker drukt op de knop").
  • Het Regelboek (De Bewezen Kern): Een zuivere, wiskundige functie die zegt: "Als het bord in Toestand A is en je gooit een 6, dan moet het bord naar Toestand B gaan."
  • De Scheidsrechter (Het Onbewezen Deel): De onderdelen van het systeem die met de fysieke wereld communiceren (het lezen van de knop, het laten oplichten van het scherm). Dit zijn de enige onderdelen die niet wiskundig bewezen zijn, maar ze worden zeer klein en simpel gehouden.

Waarom dit belangrijk is: De "Regelboek" (de bedrijfslogica) kan zo groot en complex worden als je wilt, en blijft 100% bewijsbaar. De "Scheidsrechter" blijft klein en constant. Dit betekent dat je complexe functies kunt toevoegen zonder de beveiliging moeilijker te maken om te verifiëren.

4. De AI-Connectie: "Bewijzen als Code Reviews"

Het paper suggereert een toekomst waarin AI hels bij het schrijven van de code, maar de AI gokt niet zomaar.

  • Oude Manier: Een AI schrijft code; een mens leest het om op bugs te controlen. Dit schaalt niet goed.
  • Nieuwe Manier: Een AI schrijft het wiskundige bewijs (het stelling/theorem). De computer controleert het bewijs. Als het bewijs geldig is, is de code gegarandeerd correct.
  • De Analogie: In plaats van een mens te vragen om een 100-pagina tellende roman te lezen om een typefout te vinden, vraag je een computer om een 10-pagina tellende wiskundige vergelijking te controleren. Als de vergelijking klopt, klopt het verhaal ook.

5. De Resultaten: Het Werkt Echt

Het team heeft dit getest op echte hardware (een Ledger Flex hardware wallet, die een zeer kleine, veilige chip gebruikt).

  • Ze namen een applicatie voor het ondertekenen van transacties (het soort dat geld verplaatst).
  • Ze schreven de kernlogica in Rocq en bewezen dat deze correct is.
  • Ze gebruikten Encore! om het op de chip uit te voeren.
  • De Uitkomst: De chip voerde de wiskundig bewezen code succesvol uit, parseerde gegevens en ondertekende transacties, terwijl het binnen de kleine geheugenlimieten van het apparaat paste.

Samenvatting

Het paper bewijst dat je niet hoeft te kiezen tussen hoge beveiliging (wiskundige bewijzen) en kleine hardware (microcontrollers). Door een aangepaste, lichtgewicht engine (Encore!) te bouwen en software te structureren als een eenvoudig bordspel, hebben ze laten zien dat "perfecte" code vandaag de dag nog steeds kan draaien op "imperfecte" chips. Dit opent de deur naar AI-gegenereerde code die automatisch wordt geverifieerd, waardoor kritieke apparaten zoals hardware wallets veiliger en betrouwbaarder worden.

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 →