Klein und nativ: C++, keine JavaScript-Runtime, von der Workstation bis zum Raspberry Pi
Eine Wallet ist ein Sicherheitsprogramm. Sie sollte klein genug für ein Audit sein, schnell genug, um sie zu vergessen, und frei von beweglichen Teilen, die nicht ihre eigenen sind.

Auf dieser Seite
C++ und Qt
AirNox Wallet ist in C++ mit dem Qt-Toolkit geschrieben. Die Kryptografie, der Chain-Code, die Bausteine für Transaktionen und die Prüfung liegen in einem einzigen nativen Kern, der für jede Plattform kompiliert wird. Auch die Oberfläche ist nativ. Es gibt keinen eingebetteten Browser, der die Wallet rendert, und keine Scripting-Engine, die sie ausführt.
Das hat drei spürbare Folgen. Die Wallet startet im Nu. Im Leerlauf bleibt sie ruhig und lässt dem Rechner Luft für seine anderen Aufgaben. Und unter ihr läuft keine Runtime, die sich selbst aktualisiert, Pakete nachlädt oder Code ausführt, den sie sich irgendwoher geholt hat.
Was nicht drinsteckt
Keine JavaScript-Runtime. Ein großer Teil der Fälle, in denen Wallets kompromittiert werden, läuft über Paket-Ökosysteme und Script-Injection. Eine Wallet ohne Script-Engine ist dafür kein Ziel.
Kein Web-View. Die Oberfläche wird vom Toolkit gezeichnet, nicht von einer Browser-Komponente. Es gibt keine Seite, in die sich etwas einschleusen ließe.
Keine Telemetrie, keine Analytics, keine Tracker. Die Wallet spricht mit Blockchain-Nodes und mit den Swap- und Bridge-Anbietern, die du nutzen willst. Mit uns spricht sie nicht. Nichts telefoniert nach Hause, und es gibt kein Konto, das du anlegen musst.

Plattformen
Die Desktop-Anwendung läuft auf Windows, Linux und macOS, jeweils als native Version. Derselbe Code läuft auf Hardware der Raspberry-Pi-Klasse, und das macht AirNox zu einer guten Wahl für eingebettete Installationen: ein Terminal in einer Wechselstube, ein Kiosk-System, eine Signierstation im Backoffice. Ein kleines Board mit Bildschirm, ein USB-NFC-Lesegerät und die Wallet ergeben einen vollständigen, Air-Gap-fähigen Arbeitsplatz, mit den Schlüsseln auf einem Handy, das man ans Lesegerät tippt.
Ein Signierkern
Die App auf dem Handy und der Desktop teilen sich denselben Kern. Der Code, der Schlüssel ableitet, eine Transaktion baut und eine Transaktion für den Bildschirm dekodiert, ist auf beiden Geräten derselbe, für jedes kompiliert. Pro Chain gibt es eine Implementierung, die geprüft werden muss, nicht zwei, die übereinstimmen müssen, und ein Fix auf einer Seite ist ein Fix auf beiden.
Warum das wichtig ist
Klein und nativ ist keine Stilfrage. Jede Abhängigkeit ist eine Stelle, an der der Fehler eines anderen zu deinem wird. Jede Runtime ist eine Angriffsfläche. Jeder Netzwerkaufruf, der nicht unbedingt nötig ist, verrät etwas. Eine Wallet, die ein einzelnes natives Programm ist und nur mit den Nodes spricht, die du ihr nennst, ist eine Wallet, die du nachvollziehen kannst. An diesem Maßstab messen wir das ganze Produkt, vom Signiergerät (Signer) auf dem Handy bis zum Fenster auf deinem Schreibtisch.
Die ganze Serie
- Annahme: Der Computer ist kompromittiert
- Mass Adoption Security: Das Signiergerät ist ein Handy, das du schon hast
- Drei Wege über den Air Gap: QR-Codes, Bluetooth LE und NFC
- Unsichtbar im Äther: ein Signiergerät, das kein Scanner findet
- Der Übertragungsweg gilt nie als vertrauenswürdig
- Was das Handy dir zeigt: Transaktionsanalyse auf dem Signiergerät
- Das Handy führt selbst Buch
- Der Tresor auf deinem Desktop: Argon2id und ein Profil, das Rateversuchen standhält
- dApps ohne Browser-Wallet
- Ein MCP-Server mit Regeln: KI-Agenten mit Limits
- Eine geschützte Wallet für alles
- Klein und nativ: C++, keine JavaScript-Runtime, von der Workstation bis zum Raspberry Pi