Lightning Watchtower adalah layanan untuk menangani pelanggaran kanal berbasis penalti, bukan pemegang kunci dompet biasa. Klien menyiapkan data untuk commitment tertentu yang telah dicabut dan mengirimkannya terenkripsi kepada menara. Saat commitment itu dipublikasikan, menara dapat menyusun ulang dan menyiarkan justice transaction. Layanan ini tidak mengubah konsensus Bitcoin atau menjamin pemulihan seluruh dana.
Dalam kanal berbasis penalti, pihak lawan dapat sengaja atau tidak sengaja memublikasikan commitment yang telah dicabut, misalnya dengan saldo lama yang lebih menguntungkannya. Penggunaan commitment terkini yang sah untuk penutupan sepihak bukan pelanggaran dengan sendirinya. Yang menentukan adalah pencabutan status tersebut. Menara bertindak berdasarkan data yang disiapkan, bukan sekadar umur transaksi. [BOLT 3 — Revocation and delayed outputs] [Lightning Labs — Watchtower operation]
Dalam LND v0.21.3-beta, BreachHint adalah 16 byte pertama SHA-256 dari txid biner. BreachKey dihasilkan dengan SHA-256 atas txid biner yang sama yang digabungkan dengan dirinya sendiri. Ini bukan 16 karakter pertama txid yang ditampilkan maupun sekadar separuh pertamanya. Klien mengenkripsi JusticeKit; mengetahui transaksi yang cocok memungkinkan derivasi kunci dan dekripsi data. [LND v0.21.3-beta — Breach hint and key derivation] [LND v0.21.3-beta — Watchtower backup task]
JusticeKit memuat bahan, termasuk tanda tangan, untuk transaksi pemulihan tertentu. Menara tidak menerima seed atau wewenang umum untuk membelanjakan koin lain milik klien. Model tanpa imbalan mengembalikan dana terlindungi kepada klien setelah dikurangi biaya on-chain. Model berimbalan dapat menambahkan output yang disepakati untuk menara; keberadaan tipe tersebut dalam kode tidak dengan sendirinya membuktikan tersedianya layanan berbayar. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower blob types] [LND v0.21.3-beta — Watchtower configuration]
Klien harus membuat dan mengirim pembaruan yang sesuai untuk status tercabut yang dilindungi. Menambahkan alamat menara atau memasukkan tugas ke antrean belum berarti penyimpanan telah dikonfirmasi. Koneksi terputus, kapasitas session habis, atau cadangan ditolak menciptakan celah perlindungan. Menara juga harus memantau rantai yang benar serta memastikan penyebaran dan konfirmasi transaksi pemulihan tepat waktu. [LND v0.21.3-beta — Watchtower client RPC] [Lightning Labs — Watchtower operation]
Layanan ini tidak memperbaiki seed yang hilang, cadangan rusak, atau perangkat penandatanganan yang disusupi. LND Static Channel Backup (SCB) digunakan untuk memulihkan dana melalui penutupan kanal; catatannya berbeda dari watchtower blob dan bukan salinan berkelanjutan setiap commitment. Memulihkan channel.db lama dapat memublikasikan status tercabut. Cadangan dompet dan kanal harus dikelola secara terpisah. [LND v0.21.3-beta — Recovery and static backups]
backupTask terverifikasi pada LND v0.21.3-beta menyiapkan output to_local dan to_remote yang ada dan bukan dust dari commitment tercabut. Ini tidak mencakup perlindungan umum seluruh output HTLC; dokumentasi terkait menyebutnya sebagai pengembangan mendatang. Karena itu, kemampuan Bitcoin Script menerapkan penalti pada suatu output tidak boleh disamakan dengan perlindungan output tersebut yang benar-benar tersimpan pada menara tertentu. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower configuration]
LND memisahkan watchtower.active untuk server dari wtclient.active untuk klien. Mengaktifkan server saja tidak mengatur pencadangan kanal sendiri pada menara lain. lncli tower info menampilkan pubkey, listeners, dan uris server; lncli wtclient add mendaftarkan menara untuk klien. Kunci publik menara berbeda dari kunci node Lightning. Periksa jaringan, keterjangkauan alamat, dan dukungan RPC pada build yang digunakan. [LND v0.21.3-beta — Watchtower configuration]
Untuk output to_local dalam BOLT 3, pemilik commitment harus menunggu to_self_delay blok; pihak lain dengan kunci pencabutan yang benar dapat memakai cabang penalti tanpa penundaan itu. CSV mengukur umur relatif sejak konfirmasi output terkait. Setelah penundaan berakhir, cabang pencabutan tidak hilang, tetapi pemilik sudah dapat bersaing membelanjakan dana yang sama. Penyiaran sebelum tenggat saja tidak menjamin konfirmasi yang menang. [BOLT 3 — Revocation and delayed outputs] [BIP 112 — CHECKSEQUENCEVERIFY]
Dalam LND v0.21.3-beta, field sweep_sat_per_vbyte pada policy dan session menyatakan tarif dalam sat/vB. Biaya mengurangi jumlah yang dikembalikan. backupTask dapat menolak status yang nilainya terlalu kecil atau parameter session-nya tidak sesuai; tidak semua tugas yang disiapkan layak menjadi cadangan. Perubahan konfigurasi kemudian bukan bukti perubahan transaksi yang sudah ditandatangani, dan tarif yang terlalu rendah dapat menunda respons. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]
Beberapa menara independen dan pemantauan sendiri dapat mengurangi dampak satu kegagalan. Namun, periksa pembaruan spesifik yang diterima setiap menara; beberapa alamat terdaftar saja tidak membuktikan replikasi semua status. Mesin, jaringan, dan lokasi terpisah mengurangi kegagalan bersama. Blob terenkripsi dan koneksi terautentikasi membatasi keterlihatan saldo, tetapi tidak menghapus metadata, keterpaparan frekuensi pembaruan, atau risiko korelasi. [LND v0.21.3-beta — Watchtower configuration] [Lightning Labs — Watchtower operation]
Gunakan lncli wtclient towers, lncli wtclient tower, lncli wtclient stats, dan lncli wtclient policy. Dalam LND v0.21.3-beta, bedakan num_backups dari num_pending_backups; field kedua menghitung cadangan yang menunggu pengakuan penerimaan oleh menara. num_failed_backups pada respons stats menghitung cadangan gagal yang belum diakui penerimaannya. Statistik mencakup periode sejak klien dimulai. active_session_candidate menandai kandidat untuk sessions, bukan bukti perlindungan lengkap. [LND v0.21.3-beta — Watchtower client RPC]
Periksa rilis spesifik klien dan menara, tipe kanal dan session yang didukung, kemutakhiran data, biaya, dan sinkronisasi rantai. Uji fungsi respons dalam lingkungan pengujian terisolasi; force close biasa tidak membuktikan respons terhadap status tercabut. Bukti hasilnya adalah breach yang cocok, justice transaction yang disusun ulang, dan output-nya yang terkonfirmasi. Demonstrasi berhasil tidak menjamin ketersediaan mendatang atau menghapus semua risiko Lightning. [BOLT 3 — Revocation and delayed outputs] [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]
Untuk gambaran yang lebih utuh, baca entri ini bersama Lightning Network, Payment Channel, Kustodi mandiri. Entri ini juga dirujuk dari Payment Channel.