Компактний і нативний: C++, без JavaScript-рантайму, від робочої станції до Raspberry Pi
Гаманець — це програма безпеки. Він має бути достатньо компактним для аудиту, достатньо швидким, щоб про нього забути, і без рухомих частин, які йому не належать.

Зміст
C++ і Qt
AirNox Wallet написано на C++ із фреймворком Qt. Криптографія, код для блокчейнів, конструктори транзакцій і перевірка запитів — усе живе в одному нативному ядрі, скомпільованому для кожної платформи. Інтерфейс теж нативний. Немає вбудованого браузера, що малює гаманець, і немає скриптового рушія, що його виконує.
Це має три наслідки, які ви відчуєте. Гаманець запускається за мить. У простої він працює тихо і споживає так мало, що машина вільна для іншої роботи. І під ним немає середовища виконання, яке саме себе оновлює, завантажує пакети чи виконує код, отриманий бозна-звідки.
Чого всередині немає
Жодного JavaScript-рантайму. Чимала частка компрометацій гаманців іде через екосистеми пакетів і впровадження скриптів. Гаманець без скриптового рушія для них не мішень.
Жодного web view. Інтерфейс малює фреймворк, а не браузерний компонент. Немає сторінки, в яку можна щось впровадити.
Жодної телеметрії, аналітики чи трекерів. Гаманець спілкується з вузлами блокчейнів і з тими провайдерами обмінів і мостів, якими ви вирішили користуватися. З нами він не спілкується. Ніщо не надсилає даних «додому», і не треба створювати жодного облікового запису.

Платформи
Десктопний застосунок працює на Windows, Linux і macOS — як нативна збірка для кожної з них. Той самий код працює на залізі класу Raspberry Pi, тож AirNox підходить для вбудованих рішень: термінал обмінного пункту, кіоск, станція підпису в бек-офісі. Маленька плата з екраном, USB-зчитувачем NFC і гаманцем — це повноцінна робоча точка, готова до роботи за повітряним проміжком (air gap), а ключі — на телефоні, яким торкаються зчитувача.
Одне ядро підпису
Застосунок на телефоні й десктопна програма мають спільне ядро. Код, що виводить ключі, складає транзакцію і декодує її для екрана, — той самий на обох пристроях, скомпільований для кожного. Для кожного блокчейну одна реалізація для аудиту, а не дві, які мають між собою узгоджуватися, і виправлення з одного боку — це виправлення з обох.
Чому це важливо
Компактність і нативність — не питання стилю. Кожна залежність — це місце, де чужа помилка стає вашою. Кожне середовище виконання — поверхня атаки. Кожен мережевий запит, без якого можна обійтися, — витік чогось. Гаманець, що є однією нативною програмою і спілкується лише з вузлами, на які ви його спрямували, — це гаманець, поведінку якого можна передбачити. Цього стандарту ми тримаємося в усьому продукті, від підписувача (signer) на телефоні до вікна на вашому столі.
Уся серія
- Вважайте комп’ютер скомпрометованим
- Mass Adoption Security: підписувач — це телефон, який у вас уже є
- Три способи перетнути повітряний проміжок: QR-коди, Bluetooth LE і NFC
- Невидимий в ефірі: підписувач, якого не знайти скануванням
- Каналу передачі не довіряють ніколи
- Що показує вам телефон: аналіз транзакцій на підписувачі
- Телефон веде власний журнал
- Сховище на вашому комп’ютері: Argon2id і профіль, стійкий до підбору
- dApp без браузерного гаманця
- MCP-сервер із правилами: ШІ-агенти в межах лімітів
- Один захищений гаманець для всього
- Компактний і нативний: C++, без JavaScript-рантайму, від робочої станції до Raspberry Pi