Entendi. Então, como é que tudo funciona de verdade?

A LN funciona movendo o valor da propriedade dos Bitcoins para a promessa de propriedade dos Bitcoins.

Essa mudança é enorme. Como sempre, usaremos um exemplo para entender isso. Pense de novo naquelas três pessoas - Xan, Yelena e Zeke - de modo que existe um canal de pagamento aberto entre Xan e Yelena, e há outro canal aberto entre Yelena e Zeke. Note que Xan e Zeke não têm nenhum canal de pagamento entre eles.

Em tal situação, se Xan quiser transferir 2 BTC para Zeke, ele pode usar o canal de pagamento entre Yelena e Zeke para fazer isso. Como assim?

Xan pede a Yelena que transfira uma promessa de 2 BTC para Zeke no canal de pagamento Yelena-Zeke e então ele reembolsa Yelena com 2 BTC no canal Xan-Yelena.

Lightning Network

Com essa rede de canais de pagamento, um grande número de transações pode ser executada fora da da blockchain e não a sobrecarregar, liberando portanto a largura de banda da cadeia. Usando uma rede de canais de pagamento, milhões de transações podem ocorrer e também sem uma taxa de transação robusta.

Esta é a Lightning Network.

E o que são aqueles canais de pagamento que você mencionou?

É como um cofre onde duas pessoas depositam quantidades iguais de dinheiro e cada uma coloca um cadeado nele.

Lightning Network 2

Esta ação de depositar quantidades iguais de dinheiro em uma caixa comum é registrada na blockchain sob a forma de uma "Transação de abertura" e, posteriormente, um canal de pagamento está aberto entre essas duas pessoas.

A ideia por trás de trancar o dinheiro em tal caixa é que nenhuma pessoa possa gastar o dinheiro na caixa sem que o outro consinta. O dinheiro nesta caixa é usado para transações entre si.

Suponha que Xan e Yelena colocam 10 BTC cada na caixa comum. Agora, se Xan quiser enviar 2 BTC para Yelena, como ele faria isso?

Para fazer isso, ele transferiria uma promessa de propriedade de dois de seus Bitcoins na caixa comum para Yelena. Após esta transferência de promessa, se a caixa estiver destrancada, Xan poderá retirar seus 8 BTC e Yelena poderá reivindicar seus 12 BTC.

Lightning Network 3

Mas eles não vão abrir a caixa porque querem continuar a fazer uma transação entre eles. Essa é a beleza desse arranjo.

Agora, se no dia seguinte, Yelena tem que enviar 1 BTC para Xan, ela faria o mesmo - transferiria uma promessa de propriedade de um de seus Bitcoins para Xan. Após essas duas transações, se a caixa for aberta, Xan pode reivindicar 9 BTC e Yelena pode pegar seus 11 BTC.

Para imaginar como seriam as transações fora da cadeia, veja isso:

Lightning Network 4

Resumindo, o canal de pagamento não é mais que uma combinação do pool de dinheiro em conjunto e depois a transferência de promessa de propriedade do dinheiro combinado da maneira acordada. Se algum deles, Xan ou Yelena, quiser fechar o canal, eles podem fazê-lo quando desejarem.

Fechar um canal significa simplesmente abrir a caixa e pegar o dinheiro que está dentro. Esta abertura da caixa acontece na blockchain e quem possui quanto da caixa fica gravada para sempre.

Lightning Network 5

É assim que funcionam os canais de pagamento. Mas isso nem se aproxima de definir o seu verdadeiro potencial. Seu poder real é desencadeado quando dois ou mais canais de pagamento funcionam juntos para formar uma rede - a Lightning Network.

Então, mais uma vez, o que é mesmo essa Lightning Network?

A ideia por trás da LN é que nem todas as transações precisam ser registradas na blockchain.

Imagine que você e eu fizemos alguns negócios algumas vezes entre nós. Nesse caso, podemos ignorar o registro das transações na blockchain e levá-las para fora da cadeia (off-chain).

Simplificando, como ela funcionará: Nós abriremos algo chamado de canal de pagamento entre nós e gravamos sua abertura na blockchain. Agora, você e eu podemos transacionar qualquer número de vezes através deste canal de pagamento e ele pode permanecer aberto por qualquer período de horas, dias, semanas ou décadas. O único momento em que iríamos para a blockchain de novo seria quando quiséssemos fechar o canal. Então, vamos escrever o estado final das transações que ocorreram através do nosso canal na blockchain.

Usando essa ideia de canal de pagamento, podemos criar uma rede de canais de pagamento, de modo que raramente seria exigido fazer transações na blockchain. Imagine que existem três personagens - Xan, Yelena e Zeke.

Se Xan e Yelena tiverem um canal de pagamento aberto entre eles e Yelena e Zeke tenham aberto um canal de pagamento entre eles, então Xan pode enviar dinheiro para Zeke via Yelena.

Vamos supor que Xan queira enviar 2 BTC para Zeke. Yelena enviará os 2 BTC para Zeke e Xan reembolsará Yelena com 2 BTC.

Basicamente, essa é a ideia da Lightning Network. Como você não vai entrar na blockchain com frequência, as transações estarão acontecendo à velocidade de um raio (lightning). Como você deve ter imaginado até agora, toda a magia acontece nos canais de pagamento. Vamos aprender o truque por trás da mágica.

Espera aí, você disse taxa de transação?

Sim, há uma taxa adicional.

Você pode pagar para incentivar os mineradores a incluir sua transação em um bloco o mais rápido possível. Não há um preço fixo, ele depende inteiramente de você, do quanto você está disposto a pagar para acelerar o processo. Quanto maior a taxa, mais rápido sua transação passará.

Em qualquer momento, existem várias transações disponíveis para serem gravadas na página atual.

Lightning Network 6

Os mineradores, ou seja, os computadores que trabalham na rede blockchain, devem decidir quais das transações disponíveis incluir no bloco atual. Para ajudá-los a decidir, eles olham para quais transações pagam melhores recompensas — o que significa que as transações com a taxa de transação mais alta serão incluídas primeiro.

Lightning Network 7

Se houver um número transações suficientes com uma taxa de transação mais alta do que a sua para preencher o bloco, sua transação terá que aguardar na fila. A espera pode durar de alguns minutos a algumas horas. E às vezes, até dias. Quanto mais você paga nas taxas de transação, mais rápido sua transação será processada.

Lightning Network 8

Ei. eu estou aqui!

Por isso as blockchains são lentas e, portanto, caras para todos começarem a usar. No mundo ideal, a adoção da blockchain significaria que ocorreriam mais transações, mas à medida que o número de transações aumenta, a rede ficará mais lenta, tornando-se um obstáculo à adoção. Que paradoxo!

A Lightning Network (LN) é uma potencial solução para o problema.

Por que as blockchains são lentas?

Pense na blockchain como um fichário.

E esse fichário contém várias páginas (blocos). Cada página contém diversas linhas. Assim que uma página for preenchida com registros, ela precisa ser adicionada ao fichário antes de começar a marcar registros na página seguinte.

Antes de uma página (bloco - block) poder ser adicionada ao código (cadeia - chain), é necessário fazer algum processamento para garantir que todos concordem com os conteúdos que ela contém. O processo leva aproximadamente 10 minutos (para a blockchain do Bitcoin) para a produção de cada bloco.

Imagine agora que você envia 1 BTC para o seu amigo, o Joe. A transação será algo assim.

Lightning Network 9

Entre outras coisas, uma transação contém informações sobre o remetente, o destinatário, o montante e a taxa de transação.

Do que se trata tudo isso?

Blockchains são lentas.

E, portanto, caras. Se você tiver que receber alguns Bitcoins, poderá levar cerca de algumas horas e também ganhará de brinde um pesado pagamento de taxa de transação. Com tal reputação, como as blockchains tomarão o mundo de assalto?

Qualquer ideia que possa resolver um problema de escalabilidade das blockchains merece uma reflexão, tempo e esforço. A Lightning Network é uma dessas ideias. Mas antes de entender a solução, precisamos entender o problema.

Se você já está ciente do problema, pode pular diretamente para a próxima seção.