Ativos digitais

Falhas nos nós Lightning: o que aconteceu com o LND?

mm
Adicione Securities.io às suas fontes preferidas no Google

Em outubro e no início de novembro de 2022, nós que utilizavam LND, uma implementação da Lightning Network do Bitcoin, sofreram duas interrupções em menos de um mês. Um usuário fez incluir em blocos transações incomuns, mas válidas segundo as regras do Bitcoin. Elas revelaram erros de processamento no LND, impedindo os nós afetados de continuar acompanhando a blockchain do Bitcoin. Não houve paralisação de toda a Lightning Network nem mudança nas regras de consenso do Bitcoin. O usuário era conhecido como Burak no Twitter cripto, com o nome @brqgoo.

As ações de Burak

Segundo informações que circulavam na época e não estão confirmadas aqui, Burak pagou US$ 700 ao grande pool de mineração de Bitcoin F2Pool para incluir sua transação incomum. Ela continha a mensagem: “Você usará CLN e ficará feliz.” CLN significa Core Lightning, uma implementação da Lightning Network diferente do LND (Lightning Network Daemon). A falha descrita afetou o LND; a Core Lightning não foi atingida por esse problema específico.

O episódio do início de novembro foi o segundo em um mês. Em outubro, Burak twittou: “Acabei de fazer uma multisig tapscript que exige 998 de 999 assinaturas, e isso custou apenas US$ 4,90 em taxas.” A transação revelou um erro de processamento que impediu os nós LND afetados de continuar sincronizados com a blockchain do Bitcoin. A Lightning não produz blocos próprios; portanto, o episódio não significava que a rede tivesse deixado de produzir um bloco.

Na ocasião do segundo episódio, no início de novembro de 2022, ele publicou um tweet com as palavras: “Às vezes, para encontrar a luz, precisamos primeiro tocar a escuridão.” Alguns o consideraram um atacante mal-intencionado; outros viram alguém que testava a resistência do software e expunha suas fraquezas. Rene Pickhardt, desenvolvedor e educador de Bitcoin e Lightning, observou que seus nós Core Lightning não haviam sido afetados. Segundo ele, isso não garantia proteção contra outras falhas ainda desconhecidas na Core Lightning.

https://twitter.com/renepickhardt/status/1587412127240830977?t=CruzE6Z16ST8V2CO6LcuGA&s=19

Lightning Labs, que desenvolve o LND e contribui para o ecossistema Lightning, respondeu com uma correção emergencial no GitHub. A versão v0.15.4-beta, de 1º de novembro de 2022, corrigia o processamento de determinadas transações com muitos elementos witness. Em outubro, a v0.15.2-beta já havia corrigido o processamento de certos blocos grandes. A Lightning Labs desenvolve uma implementação importante, não sozinha toda a Lightning Network.

O que é a Lightning Network e Por que ela é Importante para o Bitcoin?

A Lightning Network é uma solução de camada 2 para ampliar a capacidade de pagamentos do Bitcoin. O espaço limitado nos blocos pode provocar taxas mais altas e confirmações mais lentas nos períodos de congestionamento. A Lightning transfere muitas atualizações de pagamentos para fora da cadeia principal, mantendo a liquidação baseada no Bitcoin. É um protocolo complementar, não uma substituição das regras da camada básica.

Na Lightning, as partes atualizam saldos fora da blockchain, ou off-chain, sem incluir cada pagamento em um bloco Bitcoin. Os números frequentemente citados de milhões de pagamentos por segundo são estimativas do potencial de escala, não uma capacidade fixa demonstrada para toda a rede. Tampouco “no máximo sete” transações Bitcoin por segundo é uma constante universal: a capacidade depende, entre outros fatores, do tamanho das transações. Na Lightning, também importam a liquidez dos canais e as rotas disponíveis.

Os blocos Bitcoin têm espaço limitado. Transações não confirmadas podem aguardar nas mempools dos nós, e os mineradores normalmente escolhem com base nas taxas, não em uma fila garantida por ordem de chegada. A meta média é um bloco a cada dez minutos, mas os intervalos reais variam. Uma transação com taxa baixa pode esperar horas ou dias durante o congestionamento mesmo enquanto novos blocos continuam sendo produzidos. Isso dificulta os pagamentos cotidianos rápidos.

A Lightning utiliza canais de pagamento entre duas partes, e os pagamentos podem atravessar vários canais interligados. Uma transação de financiamento abre o canal no Bitcoin; cada pagamento posterior não abre um novo canal. As partes trocam atualizações assinadas dos saldos sem publicar cada mudança na blockchain. Mantêm o estado atual que pode ser executado, não um registro público de todos os pagamentos. No fechamento, uma transação de liquidação é confirmada no Bitcoin. O fechamento pode ser cooperativo ou unilateral; neste último caso, podem existir prazos de espera e transações adicionais.

No modelo básico, financiamento e fechamento do canal são registrados na blockchain, enquanto as atualizações normais de pagamentos ficam off-chain. Um fechamento forçado ou uma disputa pode exigir outras transações, tornando “apenas abertura e fechamento” uma afirmação absoluta demais. A Lightning continuava em desenvolvimento. Pagamentos mais rápidos e taxas frequentemente menores podem apoiar o uso de criptomoedas, mas não garantem adoção em massa.

Mandela é um entusiasta de criptomoedas desde 2017. Ele ama codificar e escrever sobre tecnologias emergentes. Ele tem um entendimento profundo de tecnologia de registro distribuído e da pilha de tecnologia Web3. Ele gosta de pesquisar novos projetos de criptomoeda.