Aufbau · Stand 24.10.2026
Ein kleiner Kern, und alles andere in abgeschotteten Cells.
Arkane fängt bei nichts an und fügt nur hinzu, was sich nachweisen lässt. Der Kern macht vier Dinge: Rechte prüfen, Speicher einblenden, Unterbrechungen verteilen, Nachrichten zustellen. Netzwerk, Ablage, KI-Modelle und Apps laufen in Cells, jede mit eigenem Adressraum. Welche Wege eine Cell hat, legt der Kern einmal beim Start fest, statt bei jedem Zugriff neu zu entscheiden.
1Exokernel
Rund 13 000 Zeilen Rust, 26 Systemaufrufe, kein Treiber.
Ein Exokernel erledigt selbst nur das Nötigste und überlässt alles andere den Programmen darüber. Bei Arkane heisst das: Netzwerkkarten erreichen nur die Zugangs-Cells, über die das System mit der Aussenwelt spricht. Eine Cell, die ein KI-Modell rechnet, hat keine Berechtigung für das Netz, also richtet der Kern ihr nie einen Weg dorthin ein. Es gibt nichts zu sperren und nichts zu überwachen.
Mensch oder KI
arkctl(Befehlszeile, gegenseitig geprüfte Verbindung), Weboberfläche auf Port 9443, MCP-Werkzeuge- verschlüsselte Verbindung · Rollen · Protokolleintrag vor jeder Änderung
Zugangs-Cells
gw-adminfür Verwaltung, Weboberfläche und MCP-Verwaltung ·gw-publicfür öffentliche Anfragen ·gw-mcpfür die Werkzeuge der Apps- Nachrichten nur mit passender Berechtigung
Anwendungs-Cells
KI-Modell (auch in mehreren Kopien), ArkDB, Ablage, Schlüsselverwaltung ohne Netz, Werkzeug-Cells
- 26 Systemaufrufe, jeder prüft eine Berechtigung
Exokernel
Berechtigungen, Speicher, Unterbrechungen, Nachrichten, Zeiteinteilung auf vier Prozessorkernen, Nachladen bei Bedarf
Virtuelle Hardware
Netz und Platte über virtio, Unterbrechungen über MSI-X · Schutz vor fremden Gerätezugriffen (IOMMU) erst nach 1.0
-
Zeiteinteilung
Der Kern unterbricht Cells nach festen Zeitscheiben. Jede Cell ist fest einem von vier Prozessorkernen zugeteilt, und ein Kern lässt sich einer Cell allein überlassen: im Vertrag verlangt, im Manifest gewährt, beim Start durchgesetzt. Wer auf eine Nachricht wartet und sie bekommt, läuft als Nächster.
-
Fehler bleiben in der Cell
Löst eine Cell eine Prozessor-Ausnahme aus, beendet der Kern nur diese Cell. Übergibt sie dem Kern einen unzulässigen Wert, bekommt sie einen benannten Fehlercode zurück. Beides prüfen eigene Gates, unter TCG und unter KVM.
-
Selbstheilung
gw-adminvergleicht laufend den gewünschten mit dem tatsächlichen Zustand und startet abgestürzte Cells, die über ein Manifest eingerichtet wurden, aus ihrem signierten Abbild neu, mit einer Obergrenze an Versuchen.gw-adminselbst, die Ablage und die Schlüsselverwaltung überwacht eine kleine Supervisor-Cell ohne Netz, die ihr signiertes Startrezept neu abspielt.gw-adminkann sich nicht selbst stoppen; das verweigert der Kern. -
Gast unter KVM
Arkane läuft als virtuelle Maschine: virtio statt tausender Treiber, Redundanz und Sicherungskopien kommen aus der Infrastruktur, die ein Betrieb ohnehin hat. Das ist eine bewusste Entscheidung bis 1.0; Betrieb direkt auf der Hardware kommt danach.
Einordnung. Die Zeilenzahl zählt den Code des Kerns ohne Leer- und Kommentarzeilen. Wo die Selbstheilung heute endet, steht unter Grenzen.
2Cells und Verträge
Zwei Schlüssel: der Entwickler legt die Form fest, der Betreiber die Werte.
Wer eine Cell entwickelt, signiert ihren Vertrag in das Programm: was sie braucht und was sie nie darf. Wer sie betreibt, liefert im Manifest die Werte, etwa wie viel Speicher und welches Modell. Der Kern setzt beides beim Start durch, und was nicht erlaubt ist, gibt es nicht.
Zugriff gibt es nur über Berechtigungen (Capabilities): Zeichen, die sich nicht fälschen lassen, die eine Cell weitergeben kann und die sich samt allen Weitergaben wieder entziehen lassen. Welche Berechtigungen eine Cell hat, zeigt die Weboberfläche in Klartext, etwa «kann andere Cells steuern» oder «spricht mit: keystore, acp-auth».
# Vertrag der Modell-Cell, im Programm signiert (ed25519)
#[arkane_contract(
needs(memory = "16MB"),
needs(share::read = "model"),
forbid(net::inbound, net::outbound, spawn)
)]
# Manifest des Betreibers
arkane: v1
kind: Cell
metadata:
name: inference
spec:
image: prod.images.inference@blake3:9c41… # signiert, Vertrag verbietet Netz
ha: { replicas: 2 } # zwei Kopien, Neustart nacheinander
shares:
model: blake3:7c8a… # Gewichte, nur lesend eingeblendet
capabilities: [] # kein Weg zur Netzwerkkarte
replicas: N macht aus einer Cell eine Gruppe von Kopien. Die Zugangs-Cells verteilen Anfragen reihum, und arkctl cell rollout startet eine Kopie nach der anderen neu, jeweils erst, wenn die vorige bereit ist. 802 Anfragen, keine fehlgeschlagen.
3Ablage
Kein Dateisystem. Daten werden über ihren Inhalt gefunden.
Der Kern teilt genau eine Platte auf und sonst nichts. Format, Zwischenspeicher, Dauerhaftigkeit und Regeln liegen in Cells, die ihren Speicher selbst besitzen; es gibt keinen Zwischenspeicher im Kern, der dieselben Blöcke ein zweites Mal hält. Alles Dauerhafte wird über die Prüfsumme seines Inhalts angesprochen: Der Name eines Blocks ist sein blake3-Wert.
-
Blöcke und Änderungsprotokoll
Die Ablage-Cell führt die Blöcke, nicht der Kern. Gleicher Inhalt liegt nur einmal auf der Platte; ein Modell lässt sich ohne Kopie nur lesend in mehrere Cells einblenden. Darüber liegt ein verkettetes Änderungsprotokoll: Änderung anwenden, neu starten, Zustand ist erhalten. Das prüft ein Gate seit Version 0.14.
-
Nachladen bei Bedarf
Ein Modell bleibt auf der Platte, bis eine Cell es berührt. Dann liest der Kern ein Stück von 2 MiB, prüft es gegen seine Prüfsumme und blendet es nur lesend ein. Jede Cell hat ein Speicherbudget; ist es voll, gehen die ältesten Stücke zuerst, unter Druck auch vorausschauend. Das Ablageformat beschreibt Blöcke als zusammenhängende Bereiche mit 48-Bit-Längen. 6 GiB mit 4 GiB Arbeitsspeicher.
-
Verschlüsselt auf der Platte
Ausgewählte Ablagen werden auf dem Weg zur Platte verschlüsselt (XChaCha20-Poly1305). Jeder Bereich hat seinen eigenen Schlüssel, und diese Schlüssel sind mit einem Hauptschlüssel umhüllt, der nur im Arbeitsspeicher der Schlüsselverwaltung liegt, einer Cell ohne Netz. Manifeste nennen Geheimnisse nur beim Namen; weder Betreiber noch App sehen den Schlüssel. Kein Klartext auf der Platte.
-
ArkDB
Die Datenbank ist eine gewöhnliche Cell, mit dem Bausatz für Apps gebaut. Jeder Abschluss ist im Standard gesichert, das heisst heute: der Einstiegspunkt der Daten ist auf der Platte, bevor die Antwort hinausgeht. Messungen gegen SQLite.
4Verwaltung
Eine Verwaltung, zwei Arten von Nutzern: Mensch und KI.
gw-admin ist kein Dienst im Kern, sondern eine Cell wie jede andere, mit einer Verwaltungsberechtigung und sonst nichts. Sie liefert die Weboberfläche und den MCP-Zugang auf Port 9443, spricht dieselben Befehle wie arkctl, ohne eine besondere Hintertür, und schreibt jede Änderung zuerst in die Protokollkette.
-
Weboberfläche
Anmeldung über eine verschlüsselte Verbindung. Das Passwort prüft eine eigene Cell ohne Netz mit Argon2id, einem absichtlich langsamen Verfahren gegen Durchprobieren. Die Sitzung hängt an einem Cookie, das Skripte nicht lesen können, und an einer von drei Rollen: viewer, operator, admin. Jede Änderung durchläuft Schutz gegen untergeschobene Anfragen, Rollenprüfung, Protokolleintrag, erst dann die Wirkung. Wird ein Nutzer gelöscht oder ändert sich seine Rolle oder sein Passwort, enden seine Sitzungen sofort. Nach fünf Fehlversuchen für einen Namen ist dieser Name gesperrt, mit wachsender Wartezeit bis 15 Minuten; daneben gibt es eine Grenze je Absender und eine Notbremse für alle.
-
Verwaltung über MCP
13 Werkzeuge: Cells auflisten, Protokolle lesen, Berechtigungen zeigen, Änderungen planen und anwenden (mit Abbruch, wenn sich der Zustand inzwischen geändert hat), stoppen, starten, neu starten, nacheinander neu starten. Es gelten dieselben Rollen und Schutzregeln wie in der Weboberfläche; wer nur lesen darf, bekommt 7 Werkzeuge. Ein Schalter in der Weboberfläche schaltet den Zugang ab und übersteht Neustarts. Vier Gates.
-
Protokollkette
Jedes Ereignis wird ein Block in einer blake3-Kette, auf die Platte gespiegelt und an die Kennung der handelnden Person gebunden.
arkctl audit verify --store store.imgprüft offline; ein verändertes Byte meldet es mit der Nummer des Blocks. Auch der Stand der Agenten-Datenbank steht in der Kette: wer was getan hat, auf welchem Datenstand. Das ist ein Baustein für die Protokollpflicht im EU-Gesetz über künstliche Intelligenz (Art. 12), nicht die ganze Erfüllung.
5Grenzen
Was heute nicht da ist, und was nur zum Teil.
Diese Liste ist Teil des Nachweises. Was hier steht, behauptet die Seite an keiner anderen Stelle.
- fehlt
Betrieb direkt auf der Hardware: Treiber für echte Platten, IOMMU, TPM. Bis dahin virtuelle Maschine und virtio. Nach 1.0, kein Versprechen.
- fehlt
Mehrere Rechner. Ausfallsicherheit heisst heute: Kopien eines Dienstes auf demselben Rechner. Verteilung ist die schwierigste offene Aufgabe.
- fehlt
Grafikprozessoren. KI-Modelle rechnen nur auf dem Prozessor in ihrer Cell.
- fehlt
Neustart der Zugangs-Cells
gw-publicundgw-mcp. Stürzt eine von beiden ab, bleibt ihr Port bis zum nächsten Neustart des Systems weg. Die Supervisor-Cell überwacht nurgw-admin, die Ablage und die Schlüsselverwaltung. - in Arbeit
Fehler beim Schreiben auf die Platte werden nicht zuverlässig gemeldet: Scheitert das Sichern des Einstiegspunkts, antwortet der Kern heute trotzdem mit Erfolg, und eine Ablage, deren Format der Kern nicht erkennt, wird neu formatiert statt verweigert. Die Korrektur ist geplant und vor Version 0.28 Pflicht; bis dahin gilt «gesichert» nur, wenn die Platte nicht versagt.
- in Arbeit
Cells auf mehreren Prozessorkernen: Wird eine Cell beendet oder verändert, während sie gerade auf einem anderen Kern läuft, sind einige Abläufe noch nicht gegeneinander abgesichert. Die Korrektur ist in Arbeit, der Nachweis unter KVM steht aus.
- in Arbeit
Die Verwaltung bedient eine Verbindung nach der anderen. Eine sehr langsame Gegenstelle kann Weboberfläche,
arkctl, MCP und den Neustart abgestürzter Cells jeweils bis zu 10 Sekunden aufhalten, bei wiederholten Versuchen auch länger. - begrenzt
Sitzungen: Ein MCP-Token, das vor dem Abschalten des MCP-Zugangs ausgestellt wurde, gilt nach dem Wiedereinschalten weiter. Die Sperre nach Fehlversuchen trennt Absender nachweislich nur in Komponententests; ein Angreifer kann einen bekannten Namen gezielt bis zu 15 Minuten sperren.
- begrenzt
Warum eine Cell beendet wurde, steht nur im Systemprotokoll, nicht in der Weboberfläche. Ob die Obergrenze für Neustarts bei einer Cell greift, die sofort wieder abstürzt, prüft bisher kein Gate.
- begrenzt
ArkDB «gesichert» heisst: Der Einstiegspunkt ist bei jedem Abschluss auf der Platte, die Inhalte folgen danach. Inhalte vor der Antwort vollständig sichern ist geplant, nicht gebaut.
- begrenzt
Auslagern: die ältesten Stücke zuerst, unter Druck vorausschauend. Jedes Zeichen der Protokollausgabe kostet noch einen Wechsel in den Emulator; ein Kanal ohne diesen Umweg ist geplant, nicht gebaut.
- begrenzt
Verschlüsselt sind ausgewählte Ablagen, nicht jedes Byte; die Protokollkette ist absichtlich Klartext. Ankerpunkte ausserhalb des Systems für die Kette sind geplant.
- geplant
Eine Liste erlaubter Ziele für ausgehende Verbindungen und Regeln, wie lange Protokolle aufbewahrt werden. Beides offen, nicht gebaut.