Rede Lightning: Micropagamentos para escalar a blockchain do Bitcoin

A Lightning Network surgiu como uma camada transformadora construída sobre a Bitcoin, prometendo tornar as transações mais rápidas, mais baratas e mais escaláveis. Cria canais entre os utilizadores, permitindo-lhes efetuar transações através de ligações partilhadas, à semelhança das relações entre amigos de amigos. Embora as complexidades técnicas possam ser difíceis de explicar, a essência reside na criação e gestão destes canais. Nesta investigação da Trakx, iremos explorar como a Lightning Network poderá conduzir a uma rede mais descentralizada e eficiente.
O grande cisma do Bitcoin de 2017
No verão de 2017, Bitcoin (BTC) disparou para o valor, na altura, astronómico de $3,000. No entanto, a comunidade Bitcoin viu-se numa encruzilhada, dividida por uma questão de longa data – a limitação do tamanho dos blocos da blockchain. Satoshi Nakamoto tinha definido o tamanho do bloco em 1 MB, uma decisão que se tornou um estrangulamento à medida que as transações aumentavam durante a ascensão eufórica do Bitcoin. A comunidade, confrontada com a necessidade de escalabilidade, dividiu-se em dois caminhos, cada um propondo uma solução diferente.
A primeira via defendia o aumento da dimensão dos blocos, inicialmente para 8 MB e mais tarde para 32 MB. O segundo caminho, uma solução mais complexa, propôs uma modificação do protocolo chamada Testemunhas segregadas (SegWit). Esta modificação aumentou ligeiramente o limite de tamanho do bloco, mas introduziu uma tecnologia revolucionária conhecida como Lightning Network.
Ambas as soluções eram válidas, mas o debate centrou-se na potencial exclusão de indivíduos de executar um nó completo devido ao aumento do tamanho do bloco.
A cisão levou a uma bifurcação do Bitcoin, uma divergência na sua trajetória. De um lado, havia blocos maiores e, do outro, a adoção da tecnologia SegWit. Surgiu a questão: qual cadeia deveria ser chamada de Bitcoin por direito? As bolsas intervieram para resolver o dilema, chamando à cadeia com blocos maiores Bitcoin Cash e continuando a usar Bitcoin para a cadeia que adoptou SegWit.
Entrar na Lightning Network
O Rede Lightning (LN) surgiu como uma solução inovadora para os desafios colocados pelo limite de tamanho de bloco do Bitcoin. Funciona através de canais, essencialmente um endereço com várias assinaturas na cadeia de blocos da Bitcoin onde uma parte deposita BTC. Para movimentar BTC dentro do canal, são necessárias duas assinaturas. Este endereço gere a contabilidade através de mecanismos técnicos, determinando o saldo de BTC para cada parte envolvida. Esta contabilidade é mantida através da troca de transacções assinadas.
Fundamentalmente, estas transações assinadas, embora não sejam imediatamente registadas na blockchain, determinam o montante de BTC devido a cada utilizador quando o canal for eventualmente encerrado. A transação assinada pode ser imaginada como um pedaço de papel que diz: «Deste canal que contém 10 BTC, o Joe tem direito a 6 BTC e a Anna tem direito a 4 BTC», com as assinaturas de ambas as partes. Na realidade, o canal raramente é encerrado, e os valores circulam através da troca destes pedaços de papel simbólicos. A Lightning Network mantém um registo das dívidas e créditos de todos, liquidando-os quando o canal é encerrado, registando a transação na blockchain.
Seis graus de separação na Bitcoin
A Lightning Network introduz um novo conceito semelhante ao da teoria dos seis graus de separação na semiótica e na sociologia. Esta teoria defende que qualquer pessoa pode estar ligada a qualquer outra pessoa ou coisa através de uma cadeia de conhecidos e relações, com um máximo de cinco intermediários. Aproveitando esta teoria, o mundo inteiro poderia ser facilmente interligado e simplificado através de grandes centros de conectividade, a ecoar a história da Internet.
Em termos práticos, a Lightning Network funciona com base na premissa de ligações indirectas. Os utilizadores não precisam de estabelecer canais diretos com toda a gente; em vez disso, podem utilizar canais de contactos comuns. A teoria alinha-se com a ideia de canais de terceiros, em que um utilizador, como Anna, pode efetuar transacções com outro utilizador, Julia, através de um amigo comum, Joe, que actua como intermediário.
Considere um cenário em que Ana precisa de pagar 1 BTC a Júlia. As duas não têm um canal direto, mas têm um amigo comum, Joe, que tem canais para Anna e Julia. Anna encaminha o seu pagamento através de Joe, permitindo a transação sem necessitar de uma transação Bitcoin na cadeia.
Este mecanismo de encaminhamento flexível e eficiente mostra o poder da Lightning Network na navegação de transacções indirectas, criando uma rede descentralizada e interligada de troca de valores. À medida que a Lightning Network continua a evoluir, ela é um testemunho da resiliência e adaptabilidade do ecossistema Bitcoin.
Mergulhando na parte técnica: Protegendo os canais da rede Lightning
Vamos aprofundar os aspetos técnicos e compreender como se abre um canal da Lightning Network. Paradoxalmente, para abrir um canal sem problemas, o que se prepara é uma transação de encerramento do canal. Por conseguinte, mesmo antes de abrir o canal, a rede já sabe como o encerrar. Isto evita potenciais ações fraudulentas ou inconvenientes decorrentes de assinaturas duplas (ameaças de não assinatura ou desaparecimento de um signatário), o que tornaria impossível o encerramento seguro do canal.
Se os signatários decidirem depositar 5 BTC cada, trocarão uma transação de fecho que distribuirá os 10 BTC no canal, com 5 a ir para cada parte. Quando os dois signatários criam e trocam esta transação de fecho, procedem à abertura do canal. Os dois signatários assinam a transação com as respectivas BTC depositadas e o canal pode ser fechado a qualquer momento, graças à transação de fecho pré-criada.
É criada uma nova transação de fecho para transferir valor, na qual uma das partes modifica os valores iniciais. Por exemplo, se o canal consistir em 5 BTC para Anna e 5 BTC para Joe, e Anna precisar de pagar a Joe 1 BTC, ela constrói uma transação de fecho que devolve 6 BTC a Joe e 4 BTC a Anna, assinada por ambas as partes.
O desafio agora é que o Joe tem de garantir que a Anna descarte a transação de encerramento inicial, aquela que encerra o canal e distribui 5 BTC a cada um. Se a Anna encerrasse o canal com essa transação, o Joe perderia os BTC que a Anna lhe tinha pago. Como é que se pode obrigar uma pessoa a eliminar transações antigas já assinadas? Na realidade, não existe uma forma direta de o fazer, uma vez que uma transação é um simples ficheiro que os utilizadores podem copiar infinitamente, ocultar, etc. Por isso, vamos explorar como é que a rede mantém a segurança.
Temos de compreender que as transações de Bitcoin podem incluir condições temporais e práticas. Na transação de encerramento, é sempre inserida uma condição. Trata-se de um aspeto um pouco complexo de compreender, e vamos acrescentar mais uma camada: as transações de encerramento que envolvem os dois utilizadores não são idênticas; diferem nas condições.
Na primeira transação de fecho mantida pela Ana, em que serão distribuídos 5 BTC a cada um, são inseridas duas condições: 5 BTC são dados instantaneamente a Joe, e os outros 5 têm duas condições: irão para Anna dentro de 24 horas, OU irão para Joe se ele revelar uma palavra-chave conhecida por ambos. Desta forma, após uma série de transacções, a Ana tem direito a 3 BTC e o José a 7 BTC. Suponhamos que Anna decide escrever a transação antiga na cadeia de blocos. Nesse caso, Joe tem 24 horas para se proteger, revelar a palavra-chave, ativar a condição e ficar com os restantes 5 BTC sem que nada vá para Anna.
Da mesma forma, o Joe possui uma transação idêntica, mas com condições invertidas: a Anna recebe instantaneamente 5 BTC, e o Joe recebe os 5 BTC após 24 horas, desde que a Anna não revele a palavra-chave. Se o Joe tiver direito a mais de 5 BTC, não terá incentivo para registar esta transação. Não há motivo para preocupação; o Joe e a Anna não têm de monitorizar as ações um do outro para intervir no prazo de 24 horas. Felizmente, o protocolo trata de tudo automaticamente.
Em essência, quem tentar defraudar a contraparte perde todo o BTC existente no canal, mesmo aquele a que tem direito. Este truque engenhoso não apaga as transações antigas já assinadas, mas desincentiva a sua utilização.
Abordagem dos aspectos críticos: Desafios na segurança da rede Lightning
No entanto, há alguns pontos críticos a considerar:
- Presença em linha para a segurança: Uma preocupação notável é o facto de os utilizadores terem de estar online para se protegerem de acções maliciosas das suas contrapartes. No exemplo mencionado, a janela de 24 horas é uma ilustração, mas as partes podem acordar em prazos diferentes. É necessária vigilância, uma vez que os participantes devem estar alerta durante o período acordado para salvaguardar os seus interesses.
- Custódia de transacções de fecho: Outro aspeto crítico é a custódia da transação de encerramento. Se uma das partes a perdesse, o seu recurso limitar-se-ia a esperar que a contraparte gerasse uma nova transação. Este cenário diverge do princípio fundamental subjacente à criação da cadeia de blocos: estabelecer um ambiente onde a confiança nos outros é minimizada.
Ao mesmo tempo que introduz soluções inovadoras para escalabilidade da cadeia de blocos e a velocidade das transacções, a Lightning Network expõe os utilizadores a desafios únicos. O requisito de presença em linha e a potencial vulnerabilidade decorrente da perda de transacções de fecho sublinham a importância de avanços tecnológicos contínuos e da educação dos utilizadores para garantir uma experiência segura e de fácil utilização.
À medida que a Lightning Network amadurece, será interessante observar como estes desafios são abordados, potencialmente através do desenvolvimento de mecanismos mais robustos ou de soluções de fácil utilização que atenuem a necessidade de uma presença online constante e aumentem a fiabilidade geral da rede. O cenário em evolução das tecnologias de blockchain e de criptomoeda é frequentemente marcado por melhorias iterativas, e a Lightning Network não é exceção neste ecossistema dinâmico.
Transacções de canais de terceiros na rede Lightning
Agora, vamos aprofundar os aspetos técnicos das transações que envolvem canais de terceiros. A situação complica-se. Imaginemos um cenário em que a Anna precisa de enviar 1 BTC à Julia, mas, na falta de um canal direto, recorrem a um «amigo» comum – um canal já aberto, de propriedade do Joe.
Como podemos garantir que o intermediário (Joe) envie o montante devido ao destinatário? Vamos analisar isto juntos.
As transações que facilitam a troca continuam a cumprir estas duas condições. No entanto, a condição especial inclui agora uma «palavra-passe» submetida a um hash criptográfico. Esta palavra-passe é criada pelo destinatário, encriptada através de uma função de hash e partilhada com o remetente e o intermediário. Basta saber que é impossível deduzir a palavra-passe encriptada (P) a partir da função hash, mas é fácil deduzir o hash a partir da palavra-passe encriptada. Denotemos o hash por H e a palavra-passe por P. A Julia partilha H com as partes envolvidas, e as transações são compostas da seguinte forma:
1. A transação da Anna com o Joe:
- 1 BTC regressa a Anna no prazo de 2 horas.
- 1 BTC vai para o Joe se ele conseguir revelar P de H.
2. A transação do Joe com a Julia:
- 1 BTC regressa a Joe no espaço de 1 hora.
- 1 BTC vai para a Júlia se ela revelar P de H.
A Julia, que criou a palavra-passe, pode revelá-la e cumprir a condição. Assim que a palavra-passe P for revelada ao Joe, este também fica a conhecê-la e pode satisfazer a condição da transação da Anna, recuperando os BTC que deu à Julia.
Como se pode observar, as condições temporais são diferentes para proteger o intermediário. Supondo que ambas as condições temporais sejam de 2 horas; se a Julia registasse a sua transação de encerramento na blockchain após 1 hora, 59 minutos e 59 segundos, poderia levantar os BTC do Joe. No entanto, o Joe não conseguiria registar e publicar a transação a tempo de revelar o P à Anna e recuperar os BTC.
Além disso, quando P é revelado, qualquer pessoa pode escrever a transação na cadeia. No entanto, isso fecharia o canal, o que é inconveniente para todas as partes. Por conseguinte, os participantes concordaram em trocar transacções simples de encerramento do canal com montantes modificados, esquecendo H e P.
Todo este processo decorre de forma totalmente automática. Os participantes podem comunicar sem precisarem de falar ao telefone ou enviar e-mails. O sofisticado protocolo da Lightning Network gere estas complexidades de forma harmoniosa, sublinhando a eficiência e a automatização inerentes ao seu design.
Descodificar a rede Lightning: Insights e considerações
Neste Trakx No post do blogue, aprofundámos o funcionamento técnico da Lightning Network. Compreensivelmente, poderia ser mais intuitiva e fácil de utilizar. No entanto, esta questão é resolvida através das carteiras de custódia, que são mais arriscadas mas mais fáceis de utilizar. Aconselha-se a carregar apenas o montante destinado a uma utilização a curto prazo nas carteiras de custódia. Para os mais experientes, vale a pena aprofundar e testar esta tecnologia fascinante. Ela oferece uma solução para a questão do tamanho do bloco sem comprometer as aspirações dos pequenos operadores que desejam manter um nó completo para descentralizar nosso amado Bitcoin.
Gostou deste artigo?


