Pular para o conteúdo
buybitcoinsmart

Glossário / Lightning e camada 2

Fechamento forçado

O que é um fechamento forçado?
Um fechamento forçado encerra um canal Lightning sem a ajuda da sua contraparte: você transmite a transação de compromisso mais recente, paga taxas on-chain e aguarda um atraso antes que seu próprio saldo possa ser gasto.

Todo canal Lightning mantém uma saída assinada pronta, e um fechamento forçado é o uso dessa saída. Ele custa uma transação on-chain real mais uma para cada pagamento ainda em trânsito, e os canais âncora deixam uma saída de 330 satoshis de cada lado apenas para que a taxa possa ser aumentada depois. Espere receber seu dinheiro de volta em cerca de um dia, não em um segundo.

Como funciona

Existem duas formas de sair de um canal Lightning, e a mais cara é o fechamento forçado, que não precisa de cooperação.

Um fechamento cooperativo é uma negociação: os dois lados concordam com a divisão final, assinam uma transação, e as criptomoedas de todos são saídas gastáveis comuns assim que ela é confirmada. Um fechamento forçado dispensa a negociação. Você publica a transação de compromisso mais recente que possui, e as regras de consenso do bitcoin fazem a arbitragem no lugar do seu par. A assimetria é proposital e age contra quem aperta o botão: o saldo da sua contraparte fica gastável de imediato, enquanto o seu fica bloqueado atrás de um atraso OP_CHECKSEQUENCEVERIFY de to_self_delay blocos, acordado quando o canal foi aberto.

Esse atraso é a janela de punição. Ele existe para que, se a transação que você transmitiu for antiga, mostrando um saldo que você já gastou, o outro lado tenha tempo de publicar uma transação de penalidade e ficar com tudo. O BOLT 2 armazena to_self_delay como um número de 16 bits, então ele pode ser qualquer valor até 65.535 blocos, e exige que um par rejeite um valor que considere grande demais. Um atraso maior torna mais difícil aplicar um golpe contra você e deixa a sua própria saída mais lenta.

Pagamentos em trânsito complicam a aritmética. Cada um precisa da sua própria transação de acompanhamento, pesando 666 ou 706 unidades de peso em um canal âncora, dependendo de ele se resolver por tempo limite ou por segredo, e cada uma é transmitida separadamente assim que sua condição é cumprida. As saídas âncora de 330 satoshis, dimensionadas no limite de poeira de uma saída P2WSH, existem para que qualquer das partes possa anexar uma transação filha e aumentar a taxa de um compromisso que foi assinado quando a mempool estava barata.

Onde você vê isso

Os fechamentos forçados são comuns, e na maioria deles ninguém está trapaceando.

O gatilho habitual é um par que ficou inacessível tempo demais enquanto o prazo de um pagamento se aproxima, então seu nó fecha em vez de arriscar perder o valor. Provedores podam canais que ficaram ociosos. Carteiras fecham automaticamente quando não conseguem alcançar o outro lado depois de uma atualização. Em todos os casos, você descobre porque uma parte do seu saldo aparece de repente como pendente e uma transação de um desconhecido está na mempool com o seu dinheiro dentro.

A regra que poupa dinheiro das pessoas: nunca restaure uma carteira Lightning apenas a partir de uma frase de recuperação e depois a use. Uma frase de recuperação recupera os bitcoins on-chain, mas o estado atual de um canal não está nela, e transmitir um compromisso obsoleto é convidar a penalidade. O que você guarda em vez disso é um arquivo de backup de canais, e o que ele lhe dá é o direito de pedir aos seus pares que fechem, no ritmo deles, com taxas que você não controla. Essa é a razão prática pela qual a Lightning serve para gastar dinheiro e a autocustódia on-chain serve para poupar.

O ambiente de taxas decide o dano. Um fechamento forçado com a mempool tranquila custa alguns milhares de satoshis. O mesmo fechamento durante um pico de taxas pode custar mais do que um canal pequeno contém, e canais cujo saldo está abaixo do custo de varrê-lo são simplesmente abandonados.

Não confundir com

Perguntas frequentes

Eu perco meu dinheiro em um fechamento forçado?

Não, desde que você transmita seu estado atual. Você paga taxas on-chain e aguarda o atraso em blocos acordado antes de gastar. Você só perde o saldo se publicar um estado antigo e for penalizado.

Quanto tempo leva um fechamento forçado?

Sua contraparte recebe assim que a transação é confirmada. O seu lado espera o atraso negociado na abertura do canal, que costuma ficar em torno de um dia de blocos e pode, legitimamente, ser bem maior.

Posso forçar o fechamento a partir de um backup da frase de recuperação?

Não com segurança. Uma frase de recuperação recupera os fundos on-chain, mas não o estado dos canais. Você precisa do arquivo de backup de canais, que permite pedir aos seus pares que fechem pelo lado deles em vez de transmitir você mesmo um compromisso obsoleto.

Leia a seguir

Termos relacionados

Mais em Lightning e camada 2

Ler esta página em inglês