Уявіть: користувач втратив телефон із встановленим криптогаманцем, seed-фраза не збережена, а на рахунку ERC-20 токени на $50 000. Без Social Recovery кошти втрачено назавжди. Ми реалізували механізм, який дозволяє відновити доступ через довірених осіб (guardians) без seed-фрази. Все працює на рівні смарт-контракту, мобільний додаток — це UX поверх нього. Наш досвід з EIP-2525 та готовими рішеннями Safe і ZeroDev дозволив скоротити час впровадження вдвічі порівняно з розробкою з нуля. Social Recovery економить користувачам тисячі доларів на комісіях і виключає ризик повної втрати коштів. Отримайте консультацію щодо впровадження у ваш гаманець.
Як працює Social Recovery на контрактному рівні?
Кандидатний стандарт — EIP-2525 (не фіналізований) та реалізації в Safe, ZeroDev, Argent. Гаманець являє собою смарт-акаунт, що відповідає ERC-4337, що дозволяє комбінувати Social Recovery з batched transactions і спонсорством газу. Базова логіка:
- Гаманець — смарт-акаунт (ERC-4337 або кастомний).
- При налаштуванні власник задає список guardians (адреси) та threshold (N із M).
- При втраті доступу: guardians підтверджують
initiateRecovery(newOwner). - Після збору N підписів та опціонального timelock (24–72 години) —
finalizeRecoveryзмінює власника.
Мобільний додаток реалізує: екран налаштування guardians, flow ініціювання відновлення (для нового пристрою), екран підтвердження (для guardians).
Чому timelock критично важливий?
Якщо owner скомпрометований, а не втрачений, timelock дає час скасувати шахрайський recovery через cancelRecovery з оригінального ключа. Без timelock зловмисник, отримавши доступ до одного guardian-адресу, міг би миттєво перехопити гаманець. У наших проектах ми встановлюємо timelock 48 годин — мінімальний час, щоб користувач помітив проблему та відкликав операцію.
| Тип timelock | Тривалість | Сценарій використання |
|---|---|---|
| Мінімальний | 24 години | Швидке відновлення, висока довіра до guardians |
| Середній | 48 годин | Баланс між безпекою та швидкістю |
| Максимальний | 72 години | Консервативні налаштування, ризик шахрайства високий |
Хто такі guardians з технічної точки зору?
Варіанти різні: інші гаманці (адреси) довірених осіб, email через ZK-Email Guardian (верифікація email без розкриття вмісту), hardware wallet, інший смарт-акаунт.
Для мобільного додатку найпрактичніший варіант — guardian-адреси інших користувачів додатку. Flow:
- Користувач A додає guardian → вводить адресу або сканує QR користувача B.
- Користувач B отримує push і приймає/відхиляє роль guardian.
- Прийняття guardian-ролі —
addGuardianу контракті гаманця A.
Як відбувається відновлення на новому пристрої?
Користувач встановлює додаток на новому пристрої. Генерує новий keypair. Ініціює recovery з новою адресою — надсилає запит guardians через push/email.
Кожен guardian бачить: чий гаманець відновлюється, нову адресу, timestamp запиту. Підтверджує через свій гаманець — approveRecovery UserOperation.
Що складно в реалізації Social Recovery?
Стан поза ланцюгом. Guardian не завжди онлайн у момент recovery. Потрібна централізована черга сповіщень або push-механізм. Без цього recovery зависає. Ми використовуємо Firebase Cloud Messaging з чергою, що гарантує доставку протягом 5 хвилин.
Зміна guardians. Якщо користувач посварився з guardian — потрібен flow видалення. removeGuardian через owner-ключ. Що робити, якщо owner-ключ уже втрачено? Тоді тільки через інших guardians із підвищеним threshold.
Відображення статусу. Користувач бачить: «2 із 3 guardians підтвердили, чекаємо ще 1, timelock завершиться через 18 годин». Це polling контракту або event-підписка через WebSocket (eth_subscribe).
| Компонент | Складність | Рішення |
|---|---|---|
| Сповіщення guardian | Висока | Push-сервер з чергою |
| Зміна guardians при втраті ключа | Середня | Тільки через інших guardians |
| Відображення статусу recovery | Низька | Polling або WebSocket |
Що входить у роботу з впровадження?
- Аудит існуючої контрактної архітектури або вибір готового рішення (Safe, ZeroDev).
- Розробка UI: екран налаштування guardians, flow ініціювання та підтвердження recovery.
- Інтеграція push-сповіщень для guardians (APNs/FCM).
- Моніторинг стану recovery через event-підписку.
- Документація з використання та тестування на TestFlight/Google Play Console.
- Гарантія на код — 12 місяців безкоштовної підтримки з виправлення багів.
Терміни та вартість
Орієнтовні терміни — від 3 до 5 днів для інтеграції з існуючим смарт-акаунтом, якщо контракт вже підтримує Social Recovery. Якщо контракт необхідно розробити з нуля — окремий scope обговорюється на попередній зустрічі. Вартість розраховується індивідуально після аналізу вимог. Замовте аудит поточної архітектури або отримайте консультацію щодо впровадження Social Recovery у ваш гаманець. Зв'яжіться з нами для детального технічного обговорення.







