Uma Lightning Watchtower é um serviço de proteção contra violações num canal com penalização, não um detentor das chaves normais da carteira. O cliente prepara dados para um commitment revogado específico e entrega-os cifrados à torre. Quando esse commitment é publicado, a torre pode construir e difundir uma justice transaction. Não altera o consenso do Bitcoin nem garante a recuperação de todos os fundos.
Num canal com penalização, a contraparte pode publicar, intencionalmente ou por engano, um commitment revogado, por exemplo com um saldo antigo mais favorável. Um commitment atual válido utilizado num encerramento unilateral não constitui, por si só, uma violação. O que importa é a revogação do estado específico. A torre intervém segundo os dados preparados, não apenas com base na idade da transação. [BOLT 3 — Revocation and delayed outputs] [Lightning Labs — Watchtower operation]
No LND v0.21.3-beta, BreachHint corresponde aos primeiros 16 bytes do SHA-256 do txid binário. BreachKey resulta do SHA-256 da concatenação do mesmo txid binário duas vezes seguidas. Não são os primeiros 16 caracteres do txid apresentado nem simplesmente a sua primeira metade. O cliente cifra o JusticeKit; conhecendo a transação correspondente, é possível derivar a chave e decifrar os dados. [LND v0.21.3-beta — Breach hint and key derivation] [LND v0.21.3-beta — Watchtower backup task]
JusticeKit contém os elementos, incluindo assinaturas, para uma transação corretiva específica. A torre não recebe o seed nem autoridade geral para gastar outras moedas do cliente. O modelo altruísta devolve os fundos protegidos ao cliente após deduzir as taxas on-chain. Um modelo remunerado pode acrescentar uma saída acordada para a torre; a existência desse tipo no código não prova, por si só, a disponibilidade de um serviço pago. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower blob types] [LND v0.21.3-beta — Watchtower configuration]
O cliente tem de criar e entregar as atualizações correspondentes aos estados revogados protegidos. Adicionar um endereço de torre ou colocar uma tarefa na fila ainda não significa armazenamento confirmado. Uma falha de ligação, uma sessão esgotada ou uma cópia de segurança rejeitada cria uma lacuna na proteção. A torre também tem de acompanhar a cadeia correta e conseguir a propagação e a confirmação atempadas da transação corretiva. [LND v0.21.3-beta — Watchtower client RPC] [Lightning Labs — Watchtower operation]
O serviço não corrige um seed perdido, uma cópia de segurança danificada nem um dispositivo de assinatura comprometido. LND Static Channel Backup (SCB) serve para recuperar fundos através do encerramento do canal; não é o mesmo registo que um blob Watchtower nem uma cópia contínua de cada commitment. Restaurar um channel.db antigo pode publicar um estado revogado. As cópias de segurança da carteira e dos canais têm de ser geridas separadamente. [LND v0.21.3-beta — Recovery and static backups]
O backupTask verificado no LND v0.21.3-beta prepara as saídas to_local e to_remote existentes e não dust do commitment revogado. Não inclui proteção geral de todas as saídas HTLC; a documentação correspondente apresenta-a como uma extensão futura. Por isso, a capacidade do Bitcoin Script de gastar uma saída através da via de penalização não deve ser confundida com a proteção dessa saída efetivamente guardada numa torre específica. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower configuration]
O LND separa watchtower.active para o servidor de wtclient.active para o cliente. Ativar apenas o servidor não configura cópias de segurança dos próprios canais noutra torre. lncli tower info mostra pubkey, listeners e uris do servidor; lncli wtclient add regista uma torre para o cliente. A chave pública da torre é diferente da chave do nó Lightning. Verifique a rede, a acessibilidade do endereço e o suporte RPC na compilação utilizada. [LND v0.21.3-beta — Watchtower configuration]
Na saída to_local do BOLT 3, o proprietário do commitment tem de esperar to_self_delay blocos; a outra parte, com a chave de revogação correta, pode usar o ramo de penalização sem esse atraso. CSV mede a idade relativa desde a confirmação da saída em causa. Após o atraso, o ramo de revogação não desaparece, mas o proprietário já pode competir pelos mesmos fundos. A simples difusão antes do prazo não garante vencer a corrida à confirmação. [BOLT 3 — Revocation and delayed outputs] [BIP 112 — CHECKSEQUENCEVERIFY]
No LND v0.21.3-beta, o campo sweep_sat_per_vbyte da política e da sessão indica a taxa em sat/vB. A taxa reduz o montante devolvido. backupTask pode rejeitar um estado com valor demasiado baixo ou parâmetros de sessão inadequados; nem toda a tarefa preparada é uma cópia de segurança elegível. Uma alteração posterior das configurações não prova a alteração de transações já assinadas, e uma taxa insuficiente pode atrasar a intervenção. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]
Várias torres independentes e vigilância própria podem limitar o impacto de uma falha isolada. Verifique, porém, que atualizações concretas cada torre aceitou; vários endereços registados não provam, por si só, a replicação de todos os estados. Máquinas, redes e localizações separadas reduzem falhas comuns. Blobs cifrados e ligações autenticadas limitam a visibilidade dos saldos, mas não eliminam metadados, a visibilidade da frequência das atualizações nem o risco de correlação. [LND v0.21.3-beta — Watchtower configuration] [Lightning Labs — Watchtower operation]
Utilize lncli wtclient towers, lncli wtclient tower, lncli wtclient stats e lncli wtclient policy. No LND v0.21.3-beta, distinga num_backups de num_pending_backups; o segundo campo designa cópias de segurança à espera de confirmação da torre. num_failed_backups na resposta stats conta cópias de segurança falhadas e não confirmadas. As estatísticas abrangem o período desde o arranque do cliente. active_session_candidate indica um candidato para sessões, não uma prova de proteção completa. [LND v0.21.3-beta — Watchtower client RPC]
Verifique a versão concreta do cliente e da torre, o tipo de canal e de sessão suportado, a atualidade dos dados, as taxas e a sincronização com a cadeia. Teste a reação num ambiente de teste isolado; um force close normal não prova uma intervenção contra um estado revogado. O resultado é demonstrado pelo breach correspondente, pela justice transaction construída e pelas suas saídas confirmadas. Uma demonstração bem-sucedida não garante disponibilidade futura nem a eliminação de todos os riscos do Lightning. [BOLT 3 — Revocation and delayed outputs] [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]
Para ter uma visão mais completa, leia este verbete junto com Lightning Network, Payment Channel, Autocustódia. Também há referências a este verbete em Payment Channel.