Introdução a Lightning Network

in #lightning6 years ago (edited)

Atualizado em: 01 de março de 2018

Muitas pessoas acreditam que o bitcoin é o futuro do nosso sistema financeiro, mas há um grande problema no caminho para alcances este objetivo a escalabilidade.

O problema

Deixe-me dar um exemplo: a VISA processa em média cerca de 4000 transações por segundo e escala até um máximo de 65.000, Bitcoin por outro lado pode lidar em média com 7 transações por segundo na blockchain com blocos de 1MB, não milhares, mas apenas 7!

A solução

Claramente a blockchain principal não é escalável, mas não precisa ser! A comunidade trouxe uma nova solução chamada Lightning Network para resolver o problema.

A ideia principal é que pequenas transações diárias não precisam ser armazenadas na blockchain principal, isso evita o limite de 7 transações por segundo.

Então, como isso funciona?

Bem, vamos dar uma olhada em um exemplo, digamos que todas as manhãs José compra salgados no caminho para o trabalho, criar uma transação na blockchain para comprar estes salgados é altamente caro, ele vai acabar pagando mais taxas do que o preço real de seu salgado. No entanto com a rede Lightning José pode configurar um canal de pagamento com a Padaria.

Para fazer isso José deposita uma certa quantidade de bitcoins em um endereço, vamos supor que José deposite 5mBTC e a Padaria não deposita nada porque eles não oferecem reembolsos.

Este endereço é basicamente como um cofre que só pode ser aberto quando ambos concordam, tudo é realizado de forma automática pelo próprio protocolo Lightning Network. Quando abrimos o canal de pagamento também fazemos um registro que diz como os saldos do endereço deve ser distribuído.

Então, o registro diz: “José possui 5mBTC e a Padaria 0mBTC”.

A abertura do canal de pagamento acontece na blockchain principal para que haja total transparência, o dono da padaria pode ver que José depositou 5mBTC e pode ter certeza que eles obterão seu dinheiro uma vez que o canal se encerre. Agora que o canal está aberto, José pode pedir seu salgado da manhã!

Digamos que o salgado custa 0.2mBTC para pagar por isso, José simplesmente altera o registro que contem seu saldo, ele subtrai o custo do salgado do seu valor, e o envio a padaria.

Então, agora diz que “José possui 4.8mBTC e a padaria obtém 0.2mBTC”.

José e a padaria agora assinam o registro atual dos saldos atualizado com suas chaves privadas, então cada um deles mantem uma cópia, mas eles não fazem nada mais com isso. José pode manter pedidos enquanto ele tiver um saldo no canal de pagamento ambos podem fazer milhares de transações, não há limite porque isso acontece fora da blockchain principal. Mas como toda boa história chega ao fim o canal de pagamento pode ser fechado a qualquer momento por José ou pela Padaria tudo o que eles têm a fazer é pegar o último saldo que foi assinado por ambas as partes e transmiti-lo para a rede Bitcoin, os mineradores validarão as assinaturas e se tudo estiver correto libera os saldos de acordo com o valor disponível.

Isso criará uma única transação na blockchain do Bitcoin, assim a rede Lightning pode reduzir significativamente o número de transações na cadeia de blocos principal.

Só requer duas transações na cadeia de blocos: uma para abrir o canal de pagamento e outra para fechá-lo, também é muito seguro, o sistema garante que apenas o último saldo assinado pode ser usado para desbloquear o dinheiro e porque ambas as partes possuem uma cópia assinada, eles podem liberar os fundos a qualquer momento, mesmo que o outro não queira cooperar mais, por exemplo: José não tem controle sobre os bitcoins que pertence a Padaria e vice versa. Não termina por aqui.

Possível cenário

Você não precisa abrir um canal de pagamento direto com todos os que deseja enviar bitcoins você pode simplesmente usar a rede para passar suas moedas de um ponto a outro.

Maria é uma amiga de José eles já trocaram bitcoins na rede Lightning antes, então eles têm um canal de pagamento ativo, agora digamos que Maria quer comprar um salgado, em vez de Maria abrir um canal direto para a Padaria ela pode transferir o dinheiro para José, que depois o transferirá para a Padaria, Não é necessário criar um canal de pagamento com todos! Vejam:

Roteamento de pagamento de Maria, José e a Padaria.

Na rede Lightning seu pagamento tenta encontrar uma rota de uma pessoa A para a pessoa B, tenta fazer isso com a menor quantidade de intermediários e a menor quantidade de taxas isso reduz ainda mais a tensão na blockchain mas requer que os intermediários tenham saldo suficiente nos canais de pagamento.

Mais e se José ficar com o pagamento de Maria?

Bom nesse cenário o sistema detêm de mecanismos como: Hashed Timelock Contracts e nLockTime para que José não roube os fundos e não faça o pagamento a padaria.

UFAA! Pronto, você acabou ter uma noção geral sobre o protocolo Lightnig Network.

Ainda não temos previsão de quando a rede Lightning estará disponível na mainnet (para transações reais) com softwares amigáveis para usuários finais, os testes estão a todo vapor, até lá vamos acompanhar de perto todo seu desenvolvimento.

Bom, agora que você sabe o que é a rede Lightning e como funciona, para mante-se informado siga-me nas redes socais, se gostou desse conteúdo que tal mim pagar salgado :)

BTC: 1abQDrvQ3gtvSJM4AebEYBPuPwV2PuXrQ

Postagem de origem: https://medium.com/@tayrone/introdução-a-lightning-network-dca7fb4a2079

Informações extras

Texto baseado no vídeo Bitcoin’s Lightning Network, Simply Explained!
Informações sobre Lightning network: www.lightning.network

Explorador de NODEs Lightning na testnet

Explorer Acinq: https://explorer.acinq.co
LN Portal: https://viz.lnportal.com

Meu fullnode Lightning em testnet

0370acb943a151dbdb19ec88a04e389279aa0101bb65b2341300aa504477fb28f3

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.026
BTC 57960.12
ETH 2482.73
SOL 155.31
SBD 2.43