Interior do Lightning: canais, HTLCs, cebolas

BOLTs: compromissos, revogação, roteamento.

A Lightning Network é definida por um conjunto de especificações chamadas BOLTs (Basis of Lightning Technology). Eis o que acontece sob o capô.

Abrir um canal (BOLT 2 e 3)

Dois peers criam uma transação de funding pagando a uma saída multisig 2-de-2 (P2WSH; algumas implementações também oferecem canais Taproot experimentais). Antes de transmiti-la, trocam assinaturas das primeiras transações de compromisso, para que cada um possa recuperar seu dinheiro se o outro desaparecer.

Transações de compromisso

Cada lado guarda a sua, assinada pelo outro, que paga o saldo atual. Cada pagamento cria um novo par. A saída que paga o titular é atrasada por um bloqueio temporal relativo (to_self_delay, usando CSV).

Revogação: por que trapacear falha

Ao passar a um novo estado, cada lado entrega um segredo de revogação do seu compromisso antigo. Se alguém transmite um estado antigo, o outro lado tem uma janela enquanto o atraso corre para usar a chave de revogação e levar todos os fundos do canal. Você deve vigiar a cadeia, ou usar um watchtower.

HTLCs: pagamentos através de hops

O receptor cria um preimage secreto e coloca seu hash SHA-256 na fatura (BOLT 11). O pagamento do remetente viaja como uma cadeia de HTLCs, cada um dizendo «pague se mostrar o preimage antes da altura de bloco X». Cada hop encaminha um HTLC um pouco menor com vencimento anterior. A diferença, cltv_expiry_delta, dá a cada nó tempo para reivindicar a montante após ser pago a jusante. Quando o receptor revela o preimage, ele flui de volta pela rota e cada hop liquida.

Roteamento cebola (BOLT 4)

O remetente escolhe a rota inteira e embrulha instruções em criptografia em camadas (Sphinx). Cada hop descasca uma camada e só aprende o hop anterior e o seguinte. O pacote cebola tem tamanho fixo de 1.300 bytes para cargas de hop, então um nó não consegue saber quão longe está do fim.

Fechamento

Um fechamento cooperativo é uma única transação sem atrasos. Um fechamento forçado transmite o último compromisso e espera o bloqueio temporal, e quaisquer HTLCs pendentes são resolvidos on-chain.

Problemas em aberto

Gestão de liquidez, picos de taxa em fechamentos forçados (abordados com saídas âncora e package relay) e limites de privacidade em torno do roteamento permanecem pesquisa ativa.