Соціальна аутентифікація в dApp з Web3Auth: підвищення конверсії

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1305 послуг
Соціальна аутентифікація в dApp з Web3Auth: підвищення конверсії
Простий
~2-3 дні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1351
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    950
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1186
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    922

Соціальна аутентифікація в dApp з Web3Auth: підвищення конверсії

Замість того щоб змушувати користувача зберігати seed phrase або завантажувати MetaMask, ви даєте йому вхід через Google, Apple або email. Це не просто зручність — це конверсія. Потенційна аудиторія вашого dApp у десять разів ширша, якщо прибрати бар'єр встановлення розширення. Ми використовуємо Web3Auth, щоб вирішити це завдання без компромісів у безпеці. За нашими оцінками, Web3Auth збільшує конверсію онбордингу в 3-5 разів порівняно з ручним введенням seed phrase.

Під капотом — порогова криптографія (MPC/TSS). При реєстрації генерується ключова пара, приватний ключ розділяється на три shares: один зберігається у нод Web3Auth (tKey), другий — локально в браузері (deviceShare), третій — опціональний backup (наприклад, пароль). Для підпису транзакції потрібні мінімум два shares з трьох. Web3Auth ніколи не має повного ключа. Навіть якщо атакуючий скомпрометує їхню інфраструктуру, він не отримає доступ до користувацьких коштів.

Як порогова криптографія захищає користувачів?

На відміну від seed phrase, який зберігається в одному місці та може бути вкрадений, MPC розподіляє довіру. Кожен share ізольований, а поріг (2 з 3) означає, що компрометація одного вузла не дає доступу до ключа. Це стандарт безпеки, який використовується в банківських системах. Як зазначено в документації Web3Auth, порогова криптографія виключає єдину точку відмови.

Як працює відновлення доступу?

Користувач втратив пристрій — не проблема. Він заходить через той самий OAuth-провайдер, і система відновлює backup share (якщо був налаштований) або генерує новий deviceShare при підтвердженні через другий фактор (пароль від backup). Це гібрид self-custody та managed wallet: ви зберігаєте контроль над ключами, але юзеру не потрібно нічого пам'ятати.

Чому варто обрати Web3Auth для dApp?

Web3Auth повертає стандартний EIP-1193 provider — це означає, що ваш існуючий код на ethers.js, viem або wagmi працює без змін. Ви просто підміняєте window.ethereum на provider від Web3Auth. Весь стек (signTypedData, відправка ETH, взаємодія з контрактами) залишається колишнім. Жодного vendor lock-in: у будь-який момент ви можете переключитися на іншу абстракцію ключів.

Порівняння Modal та NoModal SDK

Критерій Modal SDK NoModal SDK
Час інтеграції 1-2 дні 1-2 тижні
Кастомізація UI Обмежена (брендинг) Повна (будь-який інтерфейс)
Гнучкість провайдерів Встановлені кнопки Будь-які OAuth-адаптери за вашим вибором
Підходить для MVP, прототипи Production dApp з унікальним UX

Процес інтеграції

  1. Аналіз — визначаємо цільову аудиторію, список OAuth-провайдерів, вимоги до white-label та кастомізації UI. Обираємо версію SDK: Modal (готовий UI) або NoModal (лише логіка).

  2. Проектування — проектуємо потік аутентифікації: реєстрація, логін, відновлення, відкликання сесій. Визначаємо backup-механізми (пароль, соціальний backup). Інтегруємо з вашою бекенд-авторизацією (JWT-токени, сесії).

  3. Реалізація — налаштовуємо Web3Auth Dashboard, отримуємо clientId. Підключаємо SDK, реалізуємо виклики login/logout. Приклад коду нижче — базова інтеграція з модалом:

import { Web3Auth } from '@web3auth/modal'
import { CHAIN_NAMESPACES } from '@web3auth/base'

const web3auth = new Web3Auth({
  clientId: 'YOUR_CLIENT_ID',
  chainConfig: {
    chainNamespace: CHAIN_NAMESPACES.EIP155,
    chainId: '0x1',
    rpcTarget: 'https://rpc.ankr.com/eth'
  }
})

await web3auth.initModal()

// Вхід — модал з Google/Twitter/Email/Apple
const provider = await web3auth.connect()

// Далі використовуємо як звичайний EIP-1193 provider
const ethersProvider = new ethers.BrowserProvider(provider)
const signer = await ethersProvider.getSigner()
  1. White-label та кастомізація — для production зазвичай потрібен власний бренд. Використовуємо NoModal SDK:
import { Web3AuthNoModal } from '@web3auth/no-modal'
import { OpenloginAdapter } from '@web3auth/openlogin-adapter'

const web3auth = new Web3AuthNoModal({ clientId, chainConfig })

const openloginAdapter = new OpenloginAdapter({
  adapterSettings: {
    uxMode: 'redirect',
    whiteLabel: {
      appName: 'My App',
      logoLight: 'https://example.com/logo.png',
      defaultLanguage: 'uk'
    }
  }
})

web3auth.configureAdapter(openloginAdapter)
await web3auth.init()

// Виклик конкретного провайдера
await web3auth.connectTo('openlogin', { loginProvider: 'google' })
  1. Тестування — перевіряємо всі сценарії: перший вхід, повторний, втрата пристрою, відкликання доступу. Використовуємо testnet (Goerli, Sepolia). Перевіряємо latency підписання транзакцій — MPC додає ~100-300 мс, що непомітно для користувача.

  2. Деплой на mainnet — змінюємо RPC, оновлюємо clientId для прода, вмикаємо backup-механізми. Налаштовуємо моніторинг через Tenderly.

Докладніше про backup-механізми

Backup share може бути збережений як зашифрований паролем файл або через соціальний фактор (той самий OAuth). У разі втрати всіх пристроїв користувач авторизується через провайдера та підтверджує пароль від backup — це відновлює доступ. Наші інженери допомагають налаштувати оптимальну стратегію backup під вашу аудиторію.

Що входить у роботу

  • Підбір конфігурації Web3Auth (кількість shares, поріг, backup)
  • Налаштування OAuth-провайдерів (Google, Apple, Twitter, Discord, GitHub)
  • Реалізація UI: готовий модал або повністю кастомний інтерфейс
  • Інтеграція з існуючою системою авторизації (JWT, сесії)
  • Код на TypeScript/React/Vue з підтримкою ethers.js, viem, wagmi
  • Документація з адміністрування Web3Auth Dashboard
  • Тестування безпечних сценаріїв (відновлення, відкликання ключів)
  • Гарантія: підтримуємо код протягом 3 місяців після інтеграції

Строки та вартість

Етап Час
Базова інтеграція (Modal) 1-2 дні
White-label (NoModal) 1-2 тижні
Повний цикл + бекенд 2-4 тижні

Вартість розраховується індивідуально — залежить від складності UI, кількості провайдерів та вимог до безпеки. Оцінку проекту робимо за 1 день: надсилайте опис dApp та цільову аудиторію. Отримайте консультацію інженера, який реалізував Web3Auth у 12+ dApp, включаючи DeFi-платформи та NFT-маркетплейси. Наш досвід — 5 років у Web3, 30+ успішних інтеграцій. Гарантуємо стабільну роботу на mainnet та підтримку нових стандартів (ERC-4337, EIP-3074).

Хочете прибрати бар'єр входу для користувачів? Зв'яжіться з нами — оцінимо проект та запропонуємо архітектуру під ключ.

Ми розробляємо криптогаманці під ключ — від custodial-рішень для fintech до смарт-контрактних акаунтів на EIP-4337. 5+ років на ринку блокчейн-розробки, 40+ реалізованих проектів. Розберемо, яку архітектуру вибрати під вашу задачу і чому MPC або Account Abstraction вирішують проблему приватних ключів, яку не змогли закрити MetaMask та класичні HD-гаманці.

Як обрати архітектуру гаманця?

Чому класичні гаманці небезпечні для бізнесу?

Seed-фраза у браузерному розширенні — єдиний спосіб відновити доступ. Для роздрібного користувача це бар'єр входу (втратив фразу — втратив гроші). Для корпоративного казначейства — несумісно з compliance (KYC/AML, рольова модель, мультипідпис). Будь-який витік одного ключа компрометує всі кошти. Ці ризики закладені в архітектуру, а не в поганий UX.

Ми усуваємо їх на рівні протоколу: MPC-гаманці (ключ ніколи не зібраний цілком), смарт-контрактні гаманці (логіка авторизації в коді), апаратні HSM для інституційного зберігання. Нижче — деталі.

Custodial vs Non-custodial: у чому реальна різниця

Custodial — провайдер зберігає приватний ключ. Користувач аутентифікується через email/password/OAuth. Відновлення тривіальне, KYC/AML вбудовані. Для централізованих додатків з фінансовими операціями — часто єдиний регуляторно прийнятний варіант. Ризик: single point of failure (злом Bitfinex — значні втрати, FTX — понад значну суму клієнтських коштів).

Non-custodial — ключі у користувача. Провайдер не має доступу до коштів. Відповідальність за зберігання лягає на користувача. Для 99% людей це непрацююча модель без додаткового захисту — тут і приходить MPC.

MPC-гаманці: ключ, якого немає

Multi-Party Computation (MPC) — криптографічний протокол, що дозволяє кільком сторонам спільно підписати транзакцію, не розкриваючи свої часткові секрети. Приватний ключ ніколи не існує в зібраному вигляді.

Стандартна схема: 2-of-3 MPC між користувачем (частка на пристрої), сервером провайдера та резервним хмарним сховищем. Транзакція підписується двома будь-якими з трьох сторін. Телефон втрачено — відновлення через сервер + хмару. Сервер скомпрометовано — атакуючий володіє лише однією часткою, підпис неможливий.

TSS (Threshold Signature Scheme) — конкретна реалізація MPC для ECDSA/EdDSA. Алгоритми: GG18, GG20, CGGMP21 (останній швидший і з кращими security proof). Бібліотеки: tss-lib (Go, від Binance), multi-party-sig (Go, від Coinbase), ZenGo-X/multi-party-ecdsa (Rust).

MPC не потребує on-chain змін — для блокчейна підпис виглядає як звичайний single-key підпис. Це дає економію gas та зберігає конфіденційність схеми управління ключами (не публікується в ланцюжку) — на відміну від мультисига.

Account Abstraction (EIP-4337): смарт-контракт як гаманець

EIP-4337 повністю змінює модель: замість EOA (Externally Owned Account) використовується смарт-контракт Account. Логіка авторизації — в коді контракту, а не в криптографії протоколу. Це відкриває довільну логіку підпису, соціальне відновлення, сесійні ключі, sponsored транзакції та батчинг операцій.

User → UserOperation → Bundler → EntryPoint contract → Account contract
                                          ↑
                                    Paymaster (optional, pays gas)

UserOperation — новий тип об'єкта (не L1-транзакція). Bundler збирає UserOps з альтернативного mempool, упаковує в одну транзакцію та відправляє в EntryPoint. EntryPoint викликає validateUserOp на Account контракті — Account сам вирішує, чи дійсний підпис.

Практичні можливості:

Соціальне відновлення. Контракт зберігає список guardian'ів (інші адреси або сервіс). Втрата ключа — guardians голосують за заміну. Argent використовує схему з 2020 року.

Сесійні ключі. Тимчасовий ключ з обмеженими правами: взаємодія лише з конкретним контрактом, до певної дати, до певної суми. Для GameFi та dApps — користувач не підписує кожну мікро-транзакцію.

Paymaster. Сторонній контракт платить газ за користувача. Паттерн для онбордингу: користувач не тримає ETH, газ спонсорує dApp або береться з ERC-20 токенів.

Реалізації: Safe{Core} Protocol, Biconomy SDK (Stackup), ZeroDev (Kernel), Alchemy (Rundler bundler). На Ethereum mainnet, Polygon, Arbitrum, Optimism EntryPoint v0.6/v0.7 задеплоєний та активний. Гарантуємо сумісність з останніми версіями контрактів.

Hardware Security Module для корпоративних гаманців

Для казначейств та інституційного зберігання: HSM (Hardware Security Module). Ключ генерується і ніколи не покидає захищений чип. Підпис — всередині HSM. Підтримується апаратна атестація. Використовувані рішення: AWS CloudHSM, Azure Dedicated HSM, Thales Luna, YubiHSM 2 (для невеликих обсягів). Інтеграція через PKCS#11 або cloud-specific API.

Комбінація HSM + MPC — оптимальна для інституційного використання: ключові частки зберігаються в HSM на різних серверах/юрисдикціях, підпис через TSS. Це забезпечує відповідність регуляторним вимогам (наприклад, для крипто-кастодіанів).

Інтеграція з dApps: WalletConnect та стандарти

Будь-який гаманець повинен вміти взаємодіяти з dApps. Стандарт — WalletConnect v2 (Sign API): QR-код або deep link, peer-to-peer зашифрований канал через relay сервер. Для браузерних розширень — EIP-1193 (Ethereum Provider API).

На фронтенді використовуємо wagmi + viem — один інтерфейс для MetaMask, WalletConnect, Coinbase Wallet, injected providers. Для Account Abstraction — EIP-5792 (wallet capabilities) та EIP-7677 (paymaster service).

Процес розробки

  1. Threat model — хто користувач (B2C, B2B, institutional), які операції, яка допустима risk model. Від цього залежить архітектура.
  2. Вибір та проектування схеми зберігання ключів — MPC, HSM, мультисиг або їх комбінація.
  3. Розробка Account контракту (якщо EIP-4337) або інтеграція MPC-бібліотеки.
  4. Backend — MPC-координація, управління сесіями, paymaster-сервіс (якщо потрібен).
  5. Мобільний/браузерний застосунок — UI з інтеграцією WalletConnect, біометрії, QR.
  6. Інтеграція з dApps — EIP-1193, WalletConnect v2.
  7. Аудит контрактів та криптографічних реалізацій — обов'язковий етап. MPC-бібліотеки мають відомі вразливості (GG18 піддається атаці при malicious participant без abort protocol). Використовуємо бібліотеки з актуальними security review (CGGMP21). Досвід проходження аудитів у Certik, Hacken, Trail of Bits — підтверджуємо сертифікатами.

Що входить в роботу (deliverables)

  • Вихідні коди смарт-контрактів (Solidity/Rust) з документацією
  • Backend-сервіс MPC-координації (на Go або Rust) з API
  • Мобільний застосунок (iOS/Android) або браузерне розширення
  • Інтеграція з WalletConnect, Ledger/Trezor (за потреби)
  • Підготовка до аудиту безпеки (звіт зі списком вразливостей)
  • Документація адміністратора та користувача
  • Доступ до репозиторію, CI/CD, моніторинг (Tenderly, Etherscan API)
  • Навчання вашої команди (2-3 сесії)
  • Підтримка після запуску — 1 місяць

Строки та вартість

Тип рішення Строки (робочі тижні)
Custodial з базовим UI 4–8
Non-custodial з MPC-інтеграцією 8–16
EIP-4337 Account з paymaster 6–12
Institutional (HSM + MPC + compliance) від 16

Вартість розраховується індивідуально під ваш проект. Оцінимо за 1 день — зв'яжіться з нами. Надаємо гарантію на код та timeline.

Типові помилки при розробці криптогаманців (і як їх уникнути)

  • Використання застарілих MPC-бібліотек — GG18 без abort protocol. Обираємо CGGMP21 або tss-lib з актуальними audit report.
  • Жорстка прив'язка до одного блокчейну — не закладають абстракцію під L2/сайдчейни. Використовуємо viem/wagmi для кросс-чейн.
  • Ігнорування MEV-атак — при використанні мультисига без таймлоків. Додаємо tx simulation (Tenderly) та sandwitching protection.
  • Відсутність fallback-механізму відновлення — для Account Abstraction не налаштовують social recovery. Закладаємо з першого релізу.

Усуваємо ці граблі на етапі проектування — під кожен проект складаємо threat model та security checklist.

Потрібен надійний гаманець без компромісів? Отримайте консультацію нашого архітектора — розберемо вашу задачу та запропонуємо архітектуру з точним кошторисом. Залишайте заявку — відповімо протягом дня.