dApp без браузерного гаманця
Сайти очікують гаманця в браузері. Браузер — найвразливіша програма на комп’ютері. AirNox розв’язує це розширенням, яке для сторінки виглядає як гаманець, а всередині не тримає нічого.

Зміст
Розширення, яке не є гаманцем
Розширення браузера (browser extension) AirNox вбудовує в сторінку стандартні інтерфейси, які шукають децентралізовані застосунки: EIP-1193 і EIP-6963 для EVM-мереж, TON Connect, а також Solana Wallet Standard і Sui Wallet Standard. Для сторінки це гаманець. Воно звично відповідає на «які акаунти», «яка мережа», «підпиши, будь ласка, оце».
Всередині воно — кур’єр. Воно не тримає ключів, не зберігає сид-фрази (seed) і нічого не може підписати. Кожен запит сторінки пересилається лише локальним каналом до AirNox Wallet на комп’ютері, і відповідь повертається тим самим шляхом. Якби завтра розширення підмінили шкідливою копією, у ній не було б чого красти і нічим підписувати.
Що не так із класичним гаманцем-розширенням
Класичний web3-гаманець повністю живе в браузері, разом із ключами. Тобто ключі опиняються в найвразливішій програмі на комп’ютері. Код, впроваджений у сторінку, може дістатися до інтерфейсу розширення. Збережені секрети захищені шифруванням, яке сучасні відеокарти масово ламають перебором (brute force). Багато таких гаманців містять трекери й рекламу. Мало хто з них хоч якось захищає від підміни адреси отримувача. І за таке «задоволення» вони цілий день споживають пам’ять і процесорний час. AirNox залишає в браузері лише кур’єра й переносить усе важливе з браузера в нативну десктопну програму, а в режимі AirGap — на телефон, який ніколи не буває онлайн.
Лише локально
Канал між розширенням і десктопним гаманцем ніколи не виходить за межі вашого комп’ютера. Немає сервера-ретранслятора, хмарної сесії, облікового запису. Обидва кінці автентифікують одне одного, тож програма, що прикидається гаманцем, нічого не отримає, як і сторінка, що прикидається розширенням.
Дозволами керує комп’ютер
Дозволи живуть в AirNox Wallet, а не в браузері. Їх надають окремо для кожного джерела (origin) і кожної мережі, по одному, і жоден дозвіл не випливає з іншого. Сайт, якому дозволили бачити ваш акаунт в Ethereum, не отримує доступу до вашого акаунта в Polygon. Сайт, якому дозволили один гаманець, не отримує доступу до іншого.

Джерело — це те, яке підтвердив браузер, а не рядок, який надіслала сторінка. Сторінка не може видати себе за інший сайт. І вся система працює за принципом «за замовчуванням — відмова»: усе, що не дозволено явно, відхиляється, і запит, якого гаманець не розуміє, теж відхиляється.
Заблоковано — отже, ні
Поки гаманець заблоковано, розширення не відповідає ні на що, хоч як сформульовано запит. Сторінка не може розбудити гаманець, не може перелічити акаунти, не може поставити підпис у чергу до розблокування. Ви розблоковуєте гаманець самі, у самому гаманці, і тільки тоді браузер отримує відповіді.
Підпис
Транзакції, повідомлення й типізовані дані йдуть тим самим шляхом. Комп’ютер спершу декодує і перевіряє запит: розпізнає стандартні операції і позначає двійників, безлімітні дозволи на списання (allowance) і невідомих розпорядників (spender). У режимі AirGap непідписаний запит потім переходить на телефон, де його знову декодують із байтів, показують вам і підписують лише після того, як ви натиснете Accept (Прийняти). Підпис повертається, комп’ютер відправляє його в мережу, а сторінка отримує хеш транзакції. Перемикання мережі обробляється так само: гаманець вирішує, чи дозволено перемикання.
Для гаманця, сид-фраза якого живе на комп’ютері, підписує комп’ютер — після тієї самої перевірки, у вікні гаманця, а не на телефоні.
Що може і чого не може скомпрометована сторінка
Скомпрометована сторінка чи заражений скрипт у браузері можуть вам брехати. Вони можуть показати одну транзакцію, а запросити іншу. Можуть видати клейм за верифікацію. Чого вони не можуть — це підписати. Рішення ухвалюється там, де ключі, після того як ви прочитали запит у тому вигляді, в якому його декодував телефон. Approve від дрейнера (drainer), що легко проскакує через спливне вікно браузера, приходить на телефон тим, чим він є: дозволом на списання цьому розпоряднику на цю суму. Якщо він безлімітний, телефон так і скаже.
Це той компроміс, якого ми хотіли: зручність браузерного гаманця для сторінки і жодного ризику для вас.
Уся серія
- Вважайте комп’ютер скомпрометованим
- Mass Adoption Security: підписувач — це телефон, який у вас уже є
- Три способи перетнути повітряний проміжок: QR-коди, Bluetooth LE і NFC
- Невидимий в ефірі: підписувач, якого не знайти скануванням
- Каналу передачі не довіряють ніколи
- Що показує вам телефон: аналіз транзакцій на підписувачі
- Телефон веде власний журнал
- Сховище на вашому комп’ютері: Argon2id і профіль, стійкий до підбору
- dApp без браузерного гаманця
- MCP-сервер із правилами: ШІ-агенти в межах лімітів
- Один захищений гаманець для всього
- Компактний і нативний: C++, без JavaScript-рантайму, від робочої станції до Raspberry Pi