Розділення гаманців на зберігання та взаємодію з dApp (децентралізованими застосунками) — це базова практика безпеки в Solana. Її суть проста: активи, які ви не плануєте використовувати в найближчий час, ніколи не підключаються до сторонніх застосунків. Для щоденної роботи з dApp створюється окремий гаманець із обмеженим балансом. Нижче розібрано, як це працює на практиці, які помилки найчастіше допускають і як діяти, якщо щось пішло не так.
Чому небезпечно тримати все в одному гаманці
Коли ви підключаєте гаманець до dApp, ви надсилаєте застосунку дозвіл на певні дії від вашого імені. У Solana це означає, що застосунок може сформувати транзакцію та попросити її підписати. Якщо ви погодитесь — транзакція виконається.
Проблема не в самій технології, а в тому, що ви не завжди контролюєте, яку саме транзакцію формує dApp. Типові ризики одного гаманця:
- Скомпрометований dApp. Застосунок може виглядати як звичний обмінник або NFT-маркетплейс, але замість очікуваної операції сформувати транзакцію на виведення всіх ваших токенів. Якщо на гаманці лежить значна сума — ви її втратите.
- Підміна адреси отримувача. Навіть чесний dApp може бути зламаний. Транзакція виглядатиме правильно, але кошти підуть на адресу зловмисника.
- Схвалення необмежених витрат (unlimited allowance). Деякі протоколи просять дозвіл на витрачання будь-якої кількості токена. Якщо такий дозвіл надано, компрометація протоколу означає втрату всього балансу цього токена.
- Випадковий підпис. Поспіх або звичка натискати «Підписати» без перевірки деталей транзакції призводить до втрат навіть без злого наміру з боку dApp.
Ключове правило: кожне підключення до dApp — це потенційний вектор атаки. Чим менше коштів доступно через підключений гаманець, тим менші втрати можливі.
Схема «холодний + гарячий» гаманець
Найпоширеніша модель розділення базується на двох типах гаманців:
- Холодний гаманець — призначений виключно для довгострокового зберігання. Ніколи не підключається до dApp, не використовується для щоденних переказів. Зазвичай це апаратний гаманець, але принцип важливіший за форму: цей гаманець не взаємодіє зі сторонніми застосунками.
- Гарячий гаманець — створений спеціально для роботи з dApp, тестування, обміну токенів, mintingу NFT тощо. На ньому завжди знаходиться лише та сума, яку ви готові втратити у разі компрометації.
Потік роботи виглядає так: ви зберігаєте основний обсяг SOL і токенів на холодному гаманці. Коли потрібні кошти для взаємодії з dApp, ви переказуєте точну суму на гарячий гаманець. Після завершення роботи — залишок повертаєте на холодний.
Ця схема не захищає від помилок у самій транзакції (наприклад, відправки на неправильну адресу), але обмежує масштаб наслідків: максимальна втрата дорівнює тому, що лежить на гарячому гаманці.
Як розділити активи між гаманцями
Розділення не вимагає складних налаштувань. Це питання дисципліни та кількох правил.
Крок 1. Визначте межу. Вирішіть, яка сума на гарячому гаманці є для вас прийнятним ризиком. Це індивідуальне значення, яке залежить від ваших планів у dApp. Головне — щоб втрата цієї суми не вплинула на ваші фінанси.
Крок 2. Створіть гарячий гаманець. Використовуйте окремий seed-фраза (набір із 12 або 24 слів), який не має нічого спільного з вашим холодним гаманцем. Не генеруйте його як похідний від основного.
Крок 3. Переказайте робочу суму. Сформуйте транзакцію з холодного гаманця на гарячий. Обов'язково перевірте:
- Адресу отримувача — скопіюйте її та вставіть заново, порівняйте перші й останні символи.
- Суму — переконайтеся, що ви переказуєте саме стільки, скільки планували.
- Комісію — у Solana це зазвичай 0.000005 SOL за базову транзакцію, але складніші перекази можуть коштувати більше.
Крок 4. Підключіть гарячий гаманець до dApp. Тепер лише цей гаманець доступний сторонньому застосунку.
Крок 5. Поверніть залишок. Після завершення роботи з dApp перевірте баланс гарячого гаманця та перекажіть залишок назад на холодний. Не залишайте кошти «на завтра» — це головне джерело втрат.
Що робити, якщо переказ пішов на неправильну адресу. У Solana транзакції є фінальними та незворотними. Немає механізму скасування. Якщо ви відправили кошти на невірну адресу і не контролюєте цей гаманець — сума втрачена. Саме тому перевірка адреси на кроці 3 є критичною.
Що робити, якщо гарячий гаманець скомпрометовано. Нічого повернути з нього не можна. Ваші основні активи на холодному гаманці залишаються недоторканими. Створіть новий гарячий гаманець із новою seed-фразою та продовжуйте роботу. Старий скомпрометований гаманець більше не використовуйте.
Обмеження та зручність підходу
Розділення гаманців — це компроміс між безпекою та зручністю. Варто розуміти його реальні обмеження.
Додаткові транзакції. Кожне поповнення та повернення коштів з гарячого гаманця — це окрема транзакція з комісією. Якщо ви часто працюєте з dApp, кількість переказів зростає. Проте в Solana комісії мінімальні, тому фінансове навантаження зазвичай незначне.
Час на переміщення. Переказ між гаманцями займає кілька секунд, але вимагає свідомої дії. Ви не можете миттєво використати великі суми з холодного гаманця в dApp — і це навмисно.
Кілька seed-фраз. Кожен гаманець — це окрема seed-фраза, яку треба надійно зберігати. Дві seed-фрази подвійно збільшують відповідальність за фізичне сховище. Якщо ви втратите seed-фразу гарячого гаманця з коштами на ньому — ці кошти будуть втрачені так само, як і з будь-якого іншого гаманця.
Не захищає від помилкових дій у dApp. Розділення гаманців не запобігає помилковому підпису транзакції в самому dApp. Якщо ви підпишете транзакцію, яка виведе кошти з гарячого гаманця на адресу зловмисника — ви втратите те, що на ньому лежить. Розділення лише обмежує розмір цієї втрати.
Коли цей підхід надмірний. Якщо ви використовуєте лише один перевірений dApp (наприклад, офіційний клієнт стейкінгу) і сума на гаманці невелика, розділення може бути непотрібним. Проте для будь-якої регулярної взаємодії з різними dApp — це стандартна практика, а не перестрахування.
Наступний практичний крок
Після того як ви зрозуміли логіку розділення гаманців, наступний крок — вибрати конкретний інструмент для гарячого гаманця. Браузерні розширення є найзручнішим варіантом для взаємодії з dApp, оскільки вони інтегруються безпосередньо у вебінтерфейс застосунків. Ознайомитися з оглядом та порядком налаштування браузерних гаманців Solana можна в наступному матеріалі розділу.