Articolo 12 di 123 min di lettura

Piccolo e nativo: C++, nessun runtime JavaScript, dalla workstation al Raspberry Pi

Un wallet è un programma di sicurezza. Dovrebbe essere abbastanza piccolo da poterlo sottoporre ad audit, abbastanza veloce da dimenticarsene e privo di parti mobili che non siano sue.

Un chip C++ sopra un monitor, un laptop e un computer a scheda singola
Un solo binario nativo per piattaforma.
In questa pagina

C++ e Qt

AirNox Wallet è scritto in C++ con il toolkit Qt. La crittografia, il codice delle chain, i costruttori di transazioni e l’analisi delle richieste vivono tutti in un unico core nativo, compilato per ogni piattaforma. Anche l’interfaccia è nativa. Non c’è nessun browser integrato che disegna il wallet e nessun motore di scripting che lo fa girare.

Questo ha tre conseguenze che si sentono. Il wallet si avvia in un attimo. A riposo non si fa notare, con un ingombro che lascia la macchina libera per il resto del suo lavoro. E sotto non c’è nessun runtime che si aggiorna da solo, carica pacchetti o esegue codice scaricato chissà da dove.

Cosa non c’è dentro

Nessun runtime JavaScript. Una buona parte delle compromissioni dei wallet passa attraverso gli ecosistemi di pacchetti e l’iniezione di script. Un wallet senza motore di script non è un bersaglio per questi attacchi.

Nessuna web view. L’interfaccia è disegnata dal toolkit, non da un componente browser. Non c’è nessuna pagina in cui iniettare codice.

Nessuna telemetria, nessuna analytics, nessun tracker. Il wallet parla con i nodi blockchain e con i fornitori di swap e bridge che scegli di usare. Con noi non parla. Niente manda dati alla casa madre, e non c’è nessun account da creare.

Quattro riquadri di piattaforma per Windows, Linux, macOS e Raspberry Pi, e tre voci barrate: nessun runtime JavaScript, nessuna web view, nessuna telemetria
Dove gira, e cosa lascia fuori.

Piattaforme

L’applicazione desktop gira su Windows, Linux e macOS, con una build nativa per ciascuno. Lo stesso codice gira su hardware di classe Raspberry Pi, e questo rende AirNox adatto a installazioni embedded: il terminale di un ufficio cambi, un totem, una postazione di firma nel back office. Una piccola scheda con uno schermo, un lettore NFC USB e il wallet è un punto operativo completo e pronto per l’air gap, con le chiavi su un telefono che tocca il lettore.

Un unico core di firma

L’app sul telefono e il desktop condividono lo stesso core. Il codice che deriva le chiavi, costruisce una transazione e la decodifica per lo schermo è lo stesso codice su entrambi i dispositivi, compilato per ciascuno. C’è una sola implementazione di ogni chain da sottoporre ad audit, non due che devono andare d’accordo, e una correzione da una parte è una correzione da entrambe.

Perché conta

Piccolo e nativo non è una preferenza di stile. Ogni dipendenza è un punto in cui l’errore di qualcun altro diventa il tuo. Ogni runtime è una superficie d’attacco. Ogni chiamata di rete non strettamente necessaria è una fuga di qualcosa. Un wallet che è un singolo programma nativo, e che parla solo con i nodi che gli indichi tu, è un wallet su cui puoi ragionare. È lo standard a cui teniamo l’intero prodotto, dal dispositivo di firma (signer) sul telefono alla finestra sulla tua scrivania.

La serie completa

  1. Parti dal presupposto che il computer sia compromesso
  2. Mass Adoption Security: il dispositivo di firma è un telefono che hai già
  3. Tre modi per attraversare l’air gap: codici QR, Bluetooth LE e NFC
  4. Invisibile nell’etere: un dispositivo di firma che nessuno può scovare con uno scanner
  5. Del trasporto non ci si fida mai
  6. Cosa ti mostra il telefono: l’analisi della transazione sul dispositivo di firma
  7. Il telefono tiene il proprio registro
  8. La cassaforte sul tuo desktop: Argon2id e un profilo che resiste a chi prova a indovinare
  9. dApp senza un wallet nel browser
  10. Un server MCP con delle regole: agenti AI entro dei limiti
  11. Un solo wallet protetto per tutto
  12. Piccolo e nativo: C++, nessun runtime JavaScript, dalla workstation al Raspberry Pi

Iscriviti alla lista d’attesa

Lascia la tua email e ti invieremo le novità sui rilasci. Nient’altro.