A Resolução para o Problema de Escalabilidade: Lightning Network Explicada

Imagem da matéria: A Resolução para o Problema de Escalabilidade: Lightning Network Explicada

O problema de escalabilidade sempre esteve presente no protocolo do bitcoin. Ele foi construído com ênfase na segurança. O próprio Satoshi Nakamoto, ao desenvolver o código, já sabia que o bitcoin não poderia ser utilizado como forma de pagamento, simplesmente porque não suportaria muitas transações por segundo.

O bitcoin funciona através de uma rede descentralizada de computadores que rodam o software do bitcoin, sendo a blockchain uma espécie de banco de dados descentralizada armazenada em todos esses computadores. Para o sistema ser confiável, esses computadores devem estar o tempo inteiro verificando os outros computadores da rede e registrando as transações.

Publicidade

Num ambiente pequeno, com poucas transações por segundo, esse sistema é eficiente. Entretanto, em escala mundial, com computadores no Japão, Estados Unidos, Europa e até mesmo Brasil, esse sistema não é eficiente. Ele é muito eficaz em garantir a segurança da rede, mas não é eficiente o suficiente para ser utilizado como meio de pagamento. Atualmente os blocos estão lotados, as taxas não são tão baratas e as pessoas estão esperando soluções. A solução para tornar o bitcoin uma reserva de valor e um meio de pagamentos é a Lightning Network (rede relâmpago em tradução livre). A blockchain garantirá a segurança dos valores armazenados e a LN se encarregará de processar as transações. Estima-se que a LN é capaz de processar 1 bilhão de transações por segundo. Pensando no sistema bancário atual, a blockchain será como se fosse sua conta poupança e a LN sua conta corrente.Funcionando perfeitamente, muitas shitcoins, digo altcoins, tenderão a morrer. Muitas tem como única funcionalidade as taxas baixas. Sendo perdido esse atrativo, não terá razões para usá-las. Mas como exatamente a LN funciona?

Objetivo

A LN funciona de forma bem intuitiva. Ela funciona como uma segunda camada à blockchain. Ao invés de registrar todas transações na blockchain, as transações podem ser realizadas off-chain. A blockchain servirá para sincronizar os saldos das pessoas de tempos em tempos, ao invés de processar microtransações. Transações grandes também serão processadas na blockchain.

Canais de pagamentos

Imagine duas pessoas que transacionam frequentemente, João e Maria.

  1. João e Maria depositam uma quantidade de bitcoins para um endereço especial. Esse endereço é controlado pelos dois, usando suas chaves privadas, como se fosse um endereço multisig (multi assinatura).
  2. João e Maria criam um smart contract (contrato inteligente), fazendo com que essa transação seja válida, mas não registrada na blockchain.
  3. Esse contrato garante que tanto João quanto Maria recebam de volta seus depósitos.
  4. Quando Maria pagar João, ou João pagar Maria, mutuamente eles concordam em atualizar a informação da transação inicial, ou seja, os saldos iniciais são atualizados. Então se antes Maria tinha 1btc e João tinha 1btc, e Maria pagou a João 0,1btc, agora esse contrato indica que João tem 1btc+0,1btc de Maria e Maria tem 1btc-0,1btc que pagou ao João. Assim os novos saldos são 1,1btc para João e 0,9btc para Maria. São como se fossem ajustes no livro contábil de João e Maria.
  5. Logo, ambos podem trocar valores até o limite dos depósitos iniciais, ou seja, no máximo Maria pode ter 2btc e João 0btc ou vice-versa, mas o número de transações até atingir esse saldo é ilimitado.
  6. A qualquer momento, qualquer um dos dois pode decidir encerrar esse contrato e recuperar seu saldo de bitcoins, registrando na blockchain somente o saldo final das transações. Ambos receberão o saldo remanescente do canal, por exemplo, João 1,1btc e Maria 0,9btc.

Assim, as operações 1–3 são a abertura do canal, as operações 4–5 usando o canal e a operação 6 é o fechamento do canal.

Deste modo, somente duas operações são registradas na blockchain. A abertura e o fechamento do canal.

Você pode pensar que abrir um canal com uma outra pessoa não é muito útil, afinal transacionamos pouco com somente uma pessoa e teríamos que ter vários canais com todos. Entretanto, se Maria possui um canal com Lucas, e João possui um canal com Lucas também, Maria pode utilizar Lucas para pagar João.

Publicidade

Atualmente existem mais de 400 nodes (pessoas utilizando) na rede da Lightning Network. No futuro, um canal de pagamento aberto com qualquer pessoa será suficiente para transacionar com qualquer um na rede.

Confiabilidade da rede

Usando uma camada off-chain (fora da blockchain) e transacionando diretamente entre as partes pode levantar questões de confiança e segurança da rede, afinal o que impede de uma das partes trapacear?

Três problemas podem acontecer ao utilizar a rede da LN:

  1. Como João e Maria realizam seus depósitos num endereço conjunto multi assinado, o que impede João de não querer assinar transações e nunca devolver o depósito de Maria?
  2. Supondo que Maria use mais seu canal com João para fazer pagamentos, o que impede Maria, ao fechar o canal, de trapacear e tentar receber mais do que o seu saldo real?
  3. Maria está utilizando Lucas para pagar João, o que impede Lucas de não repassar o pagamento ao João?

Scripts, códigos utilizados no bitcoin, protegem as partes envolvidas nas negociações de serem impedidas de trapacear. Caso quem está sendo trapaceado, ou qualquer outra pessoa da rede, ver que alguém está trapaceando, os fundos sendo roubados são congelados e quem está trapaceando pode perder todos seus fundos para quem o pegar. Isso motiva as pessoas a não roubar, e motiva a rede a agir como fiscal, impedindo roubos. Minha ideia aqui não é adentrar nos scripts e códigos da LN para manter o artigo simples, portanto não vou explicá-los.

Redirecionamento de pagamentos

Uma outra vantagem da LN é o modo como os pagamentos são realizados utilizando intermediários. A LN utiliza uma tecnologia chamada de Onion routing, a mesma utilizada no Tor. Essa tecnologia impede que os intermediários saibam de quem veio o pagamento e para quem está indo o valor transacionado, além das informações estarem todas criptografadas. Se a blockchain não garante o anonimato das pessoas, a LN adiciona essa característica às transações.

Publicidade

Portanto, você, aqui no Brasil, pode realizar um pagamento para alguém no Japão através da LN utilizando nodes intermediários nos EUA, Europa, Ásia até o destino final. Esses nodes nos EUA, Europa e Ásia não saberão de quem veio e para quem está indo o pagamento.

Taxas mais baratas

Agora você deve estar se perguntando, por que alguém iria servir como intermediário numa transação da LN? Essa resposta é simples: primeiro porque essa pessoa estará contribuindo para a rede, e quando necessitar fazer uma transação utilizando intermediários, será possível; segundo porque essa pessoa poderá cobrar uma taxa por servir como intermediário e possibilitar a transação. Essa taxa não tenderá a ser cara, pois várias rotas estarão disponíveis, e terá uma competição por nodes cobrando taxas mais baixas para serem utilizados. Atualmente a taxa cobrada por um node está em 0.01 cents de dólar.

O gargalo da LN ainda continuará sendo as taxas pagas para abrir e fechar canais, pois essas transações são transações normais, utilizando a blockchain. Porém, você pode abrir um canal que usará durante, por exemplo, um ano inteiro. Você fará uma transação de um valor que te possibilitará ir gastando ao longo do ano, e caso esse valor esgote, você poderá recarregar o seu canal fazendo outra transação on-chain. Seria como fazer um resgate da sua aplicação para sua conta-corrente.

Críticas à LN

Ainda existem muitas críticas com fundamento e mitos sobre a LN.

  1. Algumas pessoas dizem que grandes hubs irão surgir e centralizar a LN. Até agora isso não se mostrou verdade. Primeiro porque a LN estimula as pessoas a abrirem canais com outras várias pessoas para serem utilizadas como intermediárias. Segundo porque o algoritmo da LN tende a balancear as transações entre os nodes da LN.
  2. Você precisa estar online para utilizar a LN. Isso é verdade, porém você não precisa estar 100% do tempo online para utilizar a LN. Você precisa regularmente estar online para controlar os seus canais e ver se não tem ninguém te trapaceando. Entretanto, outras pessoas da rede também fazem esse serviço.
  3. A LN não é compatível com armazenamento frio. Até o momento não foi desenvolvida uma aplicação que permita que uma Ledger ou TREZOR armazene os fundos de um canal de pagamento. Por isso a LN servirá para guardar fundos suficientes para fazer pagamentos recorrentes. Sua reserva de valor deverá continuar armazenada na blockchain.

A situação atual

A LN está pronta e disponível para uso. Como os desenvolvedores dizem, um software nunca está pronto, está sempre em desenvolvimento. Portanto, não haverá um marco em que um anúncio surgirá dizendo que foi liberada a LN. A LN será adotada gradualmente pelas pessoas. Alguns ecommerce já aceitam a LN como pagamento, menos de 10 atualmente, e temos o orgulho de dizer que a Hardware Wallet é um deles. O importante é que a LN está chegando para trazer mais uma característica ao bitcoin: ser reserva de valor e meio de pagamento.


Esse artigo foi escrito, com autorização, com base no ótimo artigo escrito por Dmitry Laptev.