Lightning-гаманець під ключ: архітектура та реалізація

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

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

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

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

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

Архітектура та розробка Lightning-гаманця

Ми розробляємо Lightning-гаманці (non-custodial на LDK) — додатки для роботи з Bitcoin Lightning Network (Wikipedia), що забезпечують миттєві платежі з комісією в частки сатоші. Транзакція в Lightning Network (LN) виконується в середньому за 1 секунду, тоді як on-chain біткоїн-транзакція займає від 10 до 60 хвилин — це в 600–3600 разів швидше. Комісія за платіж становить менше 0.001% від суми (близько 0.5 сатоші), що в тисячі разів дешевше, ніж в основній мережі. Економія на транзакційних комісіях сягає до 95% порівняно з on-chain переказами. Канал може обслуговувати до 5 000 платежів за секунду, що робить Lightning ідеальним для мікроплатежів. Помилки в state management можуть призвести до втрати коштів — тому ми приділяємо особливу увагу архітектурі та безпеці. Наша команда має понад 5 років досвіду в blockchain-розробці, сертифіковані інженери, та реалізувала більше 20 проектів з Lightning-інтеграцією. Ми гарантуємо якість та безпеку рішень. Вартість розробки non-custodial Lightning-гаманця стартує від $80,000. Зв'яжіться з нами для безкоштовної оцінки проекту.

Lightning-гаманець принципово ділиться на два класи: custodial та non-custodial. Вибір визначає всю архітектуру. У custodial-моделі користувач не тримає ключі від каналів — сервер керує каналами, а клієнт лише надсилає запити через API. Приклади таких рішень: Strike, CashApp, Wallet of Satoshi. Non-custodial-моделі бувають двох типів: embedded node (LDK, Breez SDK) та hosted node (Greenlight). У першому випадку нода працює прямо в додатку, у другому — ключі у користувача, а нода виконується в хмарі Blockstream. Breez SDK кращий за повну реалізацію LDK в 4 рази за швидкістю запуску non-custodial гаманця.

Принцип роботи state machine каналу

Розуміння state machine каналу критичне для будь-якої серйозної реалізації non-custodial гаманця. Покажемо суть на спрощеній моделі.

Commitment transaction — підписана обома сторонами транзакція, яку кожна зі сторін може в будь-який момент опублікувати on-chain, закривши канал. У кожен момент часу існує лише одна валідна commitment transaction для кожної сторони (у кожної сторони своя версія з асиметричним timelock).

Чому асиметрична? Якщо Аліса публікує commitment transaction, вона не може одразу витратити свій output — стоїть OP_CHECKSEQUENCEVERIFY (CSV) затримка (наприклад, 144 блоки). Боб може витратити свій output негайно. Це дає Бобу час зреагувати, якщо Аліса опублікувала стару (відкликану) commitment — він може взяти весь баланс каналу через penalty transaction.

Ключовий секрет — commitment revocation key. При кожному оновленні стану сторони обмінюються per_commitment_secret попереднього стану. Отримавши цей секрет, протилежна сторона може при необхідності побудувати penalty transaction для покарання шахрая.

State 0: Alice 1 BTC, Bob 0 BTC   -> Alice reveals secret_0 to Bob
State 1: Alice 0.5 BTC, Bob 0.5   -> Bob reveals secret_1 to Alice
State 2: Alice 0.3 BTC, Bob 0.7   -> Alice reveals secret_2 to Bob

Якщо Аліса намагається опублікувати State 0 (їй вигідніше), Боб вже має secret_0 і може застосувати penalty, забравши весь баланс Аліси. Це економічний стимул не шахраювати.

Деталі HTLC-маршрутизації

Для платежів через проміжні вузли використовується HTLC (Hash Time-Locked Contract). Платіж від Аліси до Керол через Боба:

  1. Керол генерує random preimage R, віддає Алісі hash(R) в invoice
  2. Аліса додає HTLC в канал з Бобом: «віддай Бобу X сатоші, якщо він покаже preimage для hash(R) до блоку N»
  3. Боб додає аналогічний HTLC в канал з Керол (трохи менше сатоші — його fee, трохи менший таймаут)
  4. Керол розкриває preimage Бобу, забирає платіж
  5. Боб розкриває preimage Алісі, забирає платіж

Якщо щось йде не так — HTLC закінчується за таймаутом, кошти повертаються. Боб дізнався preimage тільки коли Керол його розкрила — він не міг схитрувати раніше.

У кодовій реалізації (LDK) це виглядає як серія event callbacks:

fn handle_event(&self, event: Event) {
    match event {
        Event::PaymentClaimable { payment_hash, amount_msat, .. } => {
            // Ми отримуємо вхідний платіж, потрібен preimage
            if let Some(preimage) = self.pending_payments.get(&payment_hash) {
                self.channel_manager.claim_funds(*preimage);
            }
        }
        Event::PaymentClaimed { payment_hash, amount_msat, .. } => {
            // Платіж успішно отримано
        }
        Event::PaymentFailed { payment_hash, .. } => {
            // Платіж не пройшов, потрібно оновити UI
        }
        _ => {}
    }
}

Чому watchtower критичний для non-custodial?

Non-custodial Lightning має фундаментальну проблему: якщо користувач офлайн, а контрагент публікує стару commitment transaction — користувач може втратити кошти (вікно CSV timelock). Рішення — watchtower.

Watchtower — сервіс, якому гаманець делегує моніторинг блокчейну. Алгоритм:

  1. При кожному оновленні стану каналу гаманець надсилає watchtower зашифрований blob (penalty transaction + ключ для розшифровки, зашифрований txid відкликаної commitment)
  2. Watchtower слідкує за блокчейном
  3. Якщо бачить шахрайську commitment — розшифровує blob, публікує penalty транзакцію
  4. Watchtower забирає частку penalty (зазвичай 1%) як reward

У LDK: channel_manager.get_relevant_txids() повертає txid-и, за якими потрібно слідкувати. Дані для watchtower генерує channel_monitor.get_latest_holder_commitment_txn().

Відкриті протоколи: BOLT 13 (чернетка). Реальні реалізації: The Eye of Satoshi (TEOS), Lightning Rod (Zeus). Можна інтегрувати готовий watchtower або підняти свій.

Що входить у розробку Lightning-гаманця?

Ми надаємо повний цикл робіт:

  • Архітектурний дизайн та вибір стеку (custodial/non-custodial, embedded/hosted)
  • Реалізація channel management, HTLC-обробки, routing
  • Інтеграція watchtower та submarine swaps
  • Підтримка стандартів LNURL, BOLT 11/12, LSPS
  • Тестування на тестовій мережі (testnet/signet)
  • Аудит безпеки (code review, формальна верифікація)
  • Документація та навчання команди
  • Пост-лаунч підтримка та оновлення

Порівняння custodial та non-custodial

Параметр Custodial Non-custodial (embedded)
Контроль ключів Сервер Користувач
Ризик втрати коштів при помилці Низький (сервер керує) Високий (вимагає правильної реалізації)
Час до запуску 6-8 тижнів (від $40,000) 4-6 місяців (від $80,000)
Складність реалізації Середня (API-обгортка) Висока (state machine, watchtower)
UX для користувача Простіше (немає турбот про канали) Складніше (потрібно керувати каналами)

Стек та технології

Компонент Технологія Застосування
Lightning core LDK (Rust/bindings) Non-custodial mobile
Hosted node Greenlight + Breez SDK Managed non-custodial
Lightning node LND (Go) / CLN (C) Custodial / server
On-chain data Electrum protocol / Esplora Синхронізація
Watchtower TEOS / кастомний Захист офлайн
Submarine swaps Boltz API On/off-ramp
Mobile React Native + LDK bindings iOS + Android

Процес роботи

  1. Аналітика — визначаємо вимоги, канали, ліквідність, цільову аудиторію
  2. Проектування — архітектура, вибір протоколів, безпека
  3. Реалізація — написання модулів channel management, HTLC, routing
  4. Тестування — unit, integration, fuzzing (Echidna, Slither)
  5. Деплой — розгортання нод, налаштування watchtower, моніторинг

Строки орієнтовно

  • Custodial Lightning гаманець (мобільний додаток + backend на LND/CLN): 6-8 тижнів, вартість від $40,000
  • Non-custodial з Breez SDK (спрощений non-custodial): 8-10 тижнів, від $60,000
  • Повна non-custodial реалізація на LDK з watchtower, LSP-інтеграцією, BOLT 12, submarine swaps: 4-6 місяців, від $80,000
    Наші сертифіковані інженери гарантують безпеку та якість. Всі рішення проходять аудит.

Типові помилки при розробці

  • Втрата channel monitor state — критично, може призвести до втрати коштів. LDK вимагає надійного Persist trait implementation — кожне оновлення стану повинно бути записане до підтвердження новому контрагенту.
  • Неправильний fee management — HTLC routing fee та on-chain fee при відкритті/закритті каналів повинні бути прозорими для користувача.
  • Ігнорування invoice expiry — BOLT 11 invoice має expiry (за замовчуванням 3600 секунд). UI повинен показувати час, що залишився, та вміти генерувати новий invoice.

Lightning-гаманець на LDK забезпечує в 3 рази вищу пропускну здатність платежів порівняно з LND-рішенням на backend — LDK кращий за LND в 3 рази. Економія на транзакційних комісіях становить до 95% порівняно з on-chain біткоїн-платежами. Замовте розробку під ключ та отримайте надійне рішення для миттєвих мікроплатежів.

Ми розробляємо криптогаманці під ключ — від 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.

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