Lightning Watchtower — служба протидії порушенням у каналах зі штрафами, а не утримувач звичайних ключів гаманця. Клієнт готує дані для конкретного відкликаного commitment і передає їх вежі зашифрованими. Коли його опубліковано, вежа може зібрати й передати justice transaction. Вона не змінює консенсус Bitcoin і не гарантує повернення всіх коштів.
У каналі зі штрафами контрагент може навмисно або випадково опублікувати відкликаний commitment, наприклад зі старішим, вигіднішим балансом. Використання чинного commitment для одностороннього закриття саме собою не є порушенням. Вирішальне значення має відкликання конкретного стану. Вежа діє за підготовленими даними, а не лише за віком транзакції. [BOLT 3 — Revocation and delayed outputs] [Lightning Labs — Watchtower operation]
У LND v0.21.3-beta BreachHint — перші 16 байтів SHA-256 бінарного txid. BreachKey отримують через SHA-256 того самого бінарного txid, з’єднаного із самим собою. Це не перші 16 символів відображеного txid і не просто його перша половина. Клієнт шифрує JusticeKit; знання відповідної транзакції дає змогу вивести ключ і розшифрувати дані. [LND v0.21.3-beta — Breach hint and key derivation] [LND v0.21.3-beta — Watchtower backup task]
JusticeKit містить матеріали, зокрема підписи, для конкретної транзакції виправлення. Вежа не отримує seed чи загальне право витрачати інші монети клієнта. Альтруїстична модель повертає захищені кошти клієнту за вирахуванням on-chain комісій. Модель із винагородою може додати погоджений вихід для вежі; наявність такого типу в коді сама собою не доводить доступності платної служби. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower blob types] [LND v0.21.3-beta — Watchtower configuration]
Клієнт має створити й доставити відповідні оновлення для захищених відкликаних станів. Додана адреса вежі чи завдання в черзі ще не означає підтвердженого зберігання. Втрата зв’язку, вичерпана session або відхилена резервна копія створює прогалину в захисті. Вежа також має стежити за правильним ланцюгом і встигнути забезпечити поширення та підтвердження транзакції виправлення. [LND v0.21.3-beta — Watchtower client RPC] [Lightning Labs — Watchtower operation]
Служба не виправить втрачений seed, пошкоджену резервну копію чи скомпрометований пристрій підписання. LND Static Channel Backup (SCB) призначено для повернення коштів через закриття каналу; це не той самий запис, що watchtower blob, і не поточна копія кожного commitment. Відновлення старого channel.db може опублікувати відкликаний стан. Резервними копіями гаманця та каналів потрібно керувати окремо. [LND v0.21.3-beta — Recovery and static backups]
Перевірений backupTask у LND v0.21.3-beta готує наявні виходи to_local і to_remote відкликаного commitment, які не є dust. Він не забезпечує загального захисту всіх виходів HTLC; відповідна документація описує це як майбутнє розширення. Тому здатність Bitcoin Script застосувати штраф до виходу не можна ототожнювати з реально збереженим конкретною вежею захистом цього виходу. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower configuration]
LND розділяє watchtower.active для сервера та wtclient.active для клієнта. Саме ввімкнення сервера не налаштує резервування власних каналів на іншій вежі. lncli tower info показує pubkey, listeners і uris сервера; lncli wtclient add реєструє вежу для клієнта. Відкритий ключ вежі відрізняється від ключа вузла Lightning. Перевір мережу, доступність адреси й підтримку RPC у використаній збірці. [LND v0.21.3-beta — Watchtower configuration]
Для виходу to_local у BOLT 3 власник commitment має чекати to_self_delay блоків; друга сторона з правильним ключем відкликання може використати штрафну гілку без цієї затримки. CSV вимірює відносний вік від підтвердження відповідного виходу. Після затримки гілка відкликання не зникає, але власник уже може конкурувати за ті самі кошти. Саме передавання до строку не гарантує переможного підтвердження. [BOLT 3 — Revocation and delayed outputs] [BIP 112 — CHECKSEQUENCEVERIFY]
У LND v0.21.3-beta поле sweep_sat_per_vbyte у policy та session задає ставку в sat/vB. Комісія зменшує повернену суму. backupTask може відхилити стан із замалою вартістю або непридатними параметрами session; не кожне підготовлене завдання є придатною резервною копією. Пізніша зміна налаштувань не доводить зміни раніше підписаних транзакцій, а недостатня ставка може затримати реакцію. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]
Кілька незалежних веж і власний нагляд можуть зменшити наслідки одного збою. Однак перевір, які саме оновлення отримала кожна вежа; кілька зареєстрованих адрес самі собою не доводять реплікації всіх станів. Окремі машини, мережі та місця розташування зменшують спільні відмови. Зашифровані blob і автентифіковані з’єднання обмежують видимість балансів, але не усувають метадані, розкриття частоти оновлень чи ризик кореляції. [LND v0.21.3-beta — Watchtower configuration] [Lightning Labs — Watchtower operation]
Використовуй lncli wtclient towers, lncli wtclient tower, lncli wtclient stats і lncli wtclient policy. У LND v0.21.3-beta розрізняй num_backups і num_pending_backups; друге поле рахує резервні копії, які чекають підтвердження вежі. num_failed_backups у відповіді stats рахує невдалі непідтверджені копії. Статистика охоплює час від запуску клієнта. active_session_candidate позначає кандидата для sessions, а не доказ повного захисту. [LND v0.21.3-beta — Watchtower client RPC]
Перевір конкретні версії клієнта й вежі, підтримувані типи каналів і session, актуальність даних, комісії та синхронізацію з ланцюгом. Функціональну перевірку реакції проводь в ізольованому тестовому середовищі; звичайний force close не доводить реакції на відкликаний стан. Результат підтверджують відповідний breach, зібрана justice transaction та її підтверджені виходи. Успішна демонстрація не гарантує майбутньої доступності й не усуває всіх ризиків Lightning. [BOLT 3 — Revocation and delayed outputs] [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]
Для повної картини прочитайте також Lightning Network, Payment Channel, Самостійне зберігання. На цю статтю також посилаються Payment Channel.