Pontos-chave
As soluções da Camada 2 foram criadas para resolver as limitações de escalabilidade inerentes à tecnologia blockchain.
A Lightning Network é uma solução de escalonamento de camada 2 que oferece transações rápidas sem confirmação de bloco. Eles são adequados para micropagamentos eficientes.
A Lightning Network permite pagamentos seguros e escalonáveis usando endereços com múltiplas assinaturas e contrato Hash Timelock.
Introdução
As criptomoedas têm várias propriedades únicas: não podem ser facilmente hackeadas ou desativadas e qualquer pessoa pode usá-las para transferir fundos em todo o mundo sem quaisquer intermediários.
A segurança destas funções é garantida por certos compromissos: como muitos nós são responsáveis pelo funcionamento da rede de criptomoedas, o seu rendimento é limitado. Por causa disso, a rede blockchain não processa tantas transações por segundo (TPS) quanto necessário para a adoção em massa desta tecnologia.
Para superar as limitações da tecnologia blockchain e aumentar o rendimento da rede, foram propostas diversas soluções de escalabilidade. Neste artigo veremos uma das extensões do protocolo Bitcoin - a Lightning Network.
O que é Rede Lightning?
A Lightning Network é uma rede implantada no topo do blockchain para permitir transações rápidas ponto a ponto (P2P). Esta solução está disponível não apenas para Bitcoin, mas também para outras criptomoedas.
O que significa “implantado no topo do blockchain”? Lightning Network é uma solução fora da cadeia ou uma solução de segundo nível. Ele permite que você faça transferências sem precisar registrar todas as transações no blockchain.
A Lightning Network é separada da rede Bitcoin: a Lightning Network possui seus próprios nós e software, mas ainda precisa se comunicar com a cadeia principal. Para entrar ou sair da Lightning Network, você precisa criar transações especiais no blockchain.
Sua primeira transação cria uma espécie de contrato inteligente com outro usuário. Em breve resolveremos todos os detalhes. Agora imagine que um contrato inteligente cria um registro privado para você e outro usuário. Muitas transações podem ser registradas neste livro razão. Somente você e sua contraparte os veem, mas nenhum de vocês será capaz de enganar o sistema devido às configurações específicas.
Este mini-registro é chamado de canal. Digamos que Alice e Bob depositem 5 BTC cada um no contrato inteligente. O saldo de cada canal é de 5 BTC. Alice pode entrar no cadastro: transferir 1 BTC para Bob. Bob agora tem 6 BTC e Alice tem 4. Bob pode então enviar 2 BTC para Alice. Então Alice terá 6 BTC e Bob terá 4 BTC. Eles podem fazer isso por um tempo.
A qualquer momento, qualquer um deles pode publicar o estado atual do canal na blockchain. Neste ponto, os saldos de cada lado do canal serão distribuídos às partes correspondentes da cadeia.
As transações na rede Lightning ocorrem na velocidade da luz (seu próprio nome significa relâmpago). Como não há necessidade de aguardar a confirmação do bloqueio, os pagamentos são feitos na velocidade máxima suportada pela conexão à Internet.
Por que a Lightning Network é necessária?
A Lightning Network (LN) é atualmente a abordagem mais sensata para dimensionar o blockchain Bitcoin. Coordenar mudanças num ecossistema tão grande é bastante difícil, pois existe o risco de hard forks e erros críticos. Por estas e outras razões, realizar qualquer experiência online é extremamente perigoso.
No entanto, se você realizar experimentos semelhantes fora do blockchain, poderá obter soluções muito mais flexíveis. Neste caso, erros e falhas não afetarão a rede Bitcoin. As soluções de segunda camada não prejudicam os fundamentos de segurança nos quais o protocolo se baseia há mais de 15 anos.
Também não há necessidade de abandonar a maneira antiga de fazer as coisas. As transações on-chain (dentro da rede) continuarão a funcionar normalmente para todos os usuários finais, mas além disso, a capacidade de realizar transações off-chain (fora da rede) também estará disponível.
Existem vários benefícios em usar a Lightning Network. Veremos alguns dos principais a seguir.
Escalabilidade
Os blocos Bitcoin são criados aproximadamente a cada dez minutos e podem conter um certo número de transações. O espaço dentro de um bloco é limitado, então os usuários fazem apostas para avançar com suas transações. Como os mineradores estão principalmente interessados em renda, eles processam primeiro as transações com as taxas mais altas.
Isto não é um problema quando um pequeno número de utilizadores envia fundos ao mesmo tempo. Se houver pouca atividade, mesmo uma transação com comissão baixa provavelmente será incluída no próximo bloco. Mas quando muitos usuários fazem transações ao mesmo tempo, a taxa média aumenta significativamente. Por exemplo, várias vezes ultrapassou US$ 10. No pico do mercado altista em 2017, subiu acima de US$ 50 e, em abril de 2021, a taxa média de transação do Bitcoin ultrapassou US$ 60.
Este montante pode parecer insignificante para transações que envolvem milhares de dólares, mas para pequenos pagamentos não é rentável. Quem quer pagar uma taxa de US$ 10 por um café de US$ 3?
Na Lightning Network, você paga duas taxas: uma para abrir um canal e outra para fechá-lo. Mas você e sua contraparte têm a oportunidade de realizar milhares de transações de forma totalmente gratuita no canal aberto. Quando terminar, você só precisa publicar o estado final no blockchain.
Globalmente, quanto mais os usuários confiarem em soluções autônomas como a Lightning Network, mais eficiente se tornará o uso do espaço de bloco. Transferências de baixa e alta frequência podem ser feitas dentro dos canais de pagamento, enquanto o espaço do bloco será usado para transações maiores e abertura/fechamento de tais canais. Isto tornará o sistema disponível para uma base de usuários mais ampla e permitirá que a rede seja dimensionada no longo prazo.
Micropagamentos
No Bitcoin, o tamanho mínimo da transação é 0,00000546 BTC – no momento em que este artigo foi escrito, era cerca de 38 centavos. Esta é uma quantia pequena, mas você pode enviar apenas 0,00000001 BTC, ou um Satoshi, para a Lightning Network.
Lightning é ótimo para micropagamentos. As taxas de transação regulares tornam impraticável o envio de pequenas quantias na cadeia principal. No entanto, dentro de um canal você pode movimentar pequenas porções de Bitcoin gratuitamente.
Os micropagamentos são adequados para uma variedade de casos de uso. Alguns acreditam que poderiam ser um substituto viável para o modelo baseado em assinatura, onde os usuários pagam uma pequena taxa cada vez que usam um determinado serviço.
Confidencialidade
A segunda vantagem da Lightning Network é o alto grau de privacidade do usuário. As partes não precisam publicar informações sobre seus canais on-line. O blockchain recebe apenas a informação de que uma determinada transação abriu o canal, mas os detalhes permanecem desconhecidos. Se os membros tornarem seu canal privado, somente eles saberão quais transações estão ocorrendo nele.
Se Alice tiver um canal com Bob e Bob tiver um canal com Carol, Alice e Carol poderão enviar fundos um para o outro por meio de Bob. Se Dan estiver ligado a Carol, Alice também poderá transferir fundos para ele. Você pode pensar nisso como uma rede extensa e em constante expansão de canais de pagamento interconectados. Com esta configuração, você não pode ter certeza para quem Alice enviou os fundos depois que o canal foi fechado.
Como funciona a Rede Lightning?
Acima explicamos como a Lightning Network depende de canais entre nós. Vamos agora estudar o funcionamento do sistema por dentro.
Endereços com múltiplas assinaturas
Um endereço com múltiplas assinaturas envolve o uso de várias chaves privadas para concluir a transferência. Ao criá-lo, é indicada a quantidade de chaves privadas que podem gastar fundos e são necessárias para assinar a transação. Por exemplo, um esquema 1 de 5 significa que cinco chaves podem criar uma assinatura válida, mas apenas uma é necessária para concluir a transferência. O esquema 2 de 3 significará que das três chaves possíveis, duas são necessárias para a tradução.
Para criar um canal Lightning, os participantes bloqueiam fundos em um esquema 2 em 2. Apenas duas chaves privadas podem criar uma assinatura e ambas são necessárias para movimentar moedas. Vejamos isso novamente usando Alice e Bob como exemplo. Eles esperam fazer muitas transferências nos próximos meses, por isso estão criando um canal na Lightning Network.
Isso começa com ambos depositando, digamos, 3 BTC cada, em seu endereço multisig compartilhado. Vale a pena notar novamente que Bob não pode sacar fundos de tal endereço sem o consentimento de Alice ou vice-versa.
É como ter um pedaço de papel que ajusta o equilíbrio de cada lado. Por exemplo, se eles têm um saldo inicial de 3 BTC e Alice deseja fazer um pagamento de 1 BTC para Bob, por que não apenas observar que Alice agora possui 2 BTC e Bob agora possui 4 BTC? Esses saldos podem ser monitorados até que as partes tomem uma decisão mútua: retirar fundos.
É possível, mas qual poderia ser o problema? Mais importante ainda, esta simplicidade não é uma razão para alguém não cooperar? Se Alice receber 6 BTC e Bob não receber nenhum, Bob não terá nada a perder (além de sua amizade com Alice) ao se recusar a liberar os fundos.
Contratos de Hash Timelock (HTLC)
O sistema acima é simples e não oferece funcionalidades ricas em comparação com outras configurações modernas. As coisas ficam muito mais interessantes quando introduzimos um mecanismo que fornece um “contrato” entre Alice e Bob que permite a devolução de fundos do canal caso uma das partes não queira seguir as regras.
Este mecanismo é denominado Contrato Hash Timelock (HTLC). O termo pode parecer complicado, mas o conceito é bastante simples. Combina duas tecnologias – hash lock e time lock – para evitar atividades indesejadas em canais de pagamento.
Um bloqueio de hash é uma condição para uma transação, segundo a qual você só pode gastar fundos fornecendo determinados dados (segredos). O remetente faz o hash de uma parte dos dados e inclui o hash em uma transação para o destinatário. Você só pode gastar fundos fornecendo dados originais (secretos) correspondentes a um determinado hash. Esses dados são transmitidos ao destinatário pelo remetente.
Um bloqueio de tempo é uma condição que não permite gastar fundos antes de um determinado horário. O período de tempo é especificado como tempo real ou como altura específica do bloco.
HTLCs são criados combinando hashlocks e timelocks. Na prática, os HTLCs podem ser usados para criar pagamentos condicionais: o destinatário deve fornecer o segredo antes de um determinado prazo, ou o remetente terá direito a um reembolso. A próxima parte é melhor visualizada usando nosso exemplo popular, então vamos voltar para Alice e Bob novamente.
Abertura e fechamento de canais
Considere um exemplo: Alice e Bob acabaram de criar transações que financiam um endereço multisig. Eles planejam usar esse endereço em um futuro próximo, mas até o momento essas transações ainda não foram publicadas no blockchain. Primeiro você precisa fazer mais uma coisa.
As três moedas de Bob e as três moedas de Alice
Lembre-se de que a única maneira de extrair moedas de uma carteira multisig é ambas as partes assinarem a transação. Por exemplo, Alice precisaria da aprovação de Bob para enviar todas as seis moedas para um endereço externo. Para começar, Alice criará uma transação (seis bitcoins para um endereço específico) e adicionará sua própria assinatura.
Alice pode tentar transmitir a transação imediatamente, mas ela será inválida porque Bob não assinou. Alice deve fornecer a ele a transação pendente e, assim que ele a assinar, a transação se tornará válida.
Contudo, neste caso, ainda não existe um processo que obrigue os participantes a agirem honestamente. Como mencionamos anteriormente, se a sua contraparte se recusar a cooperar, os seus fundos ficarão efetivamente presos. Passemos ao mecanismo que evita isso. Para isso, existem vários elementos propulsores que serão a solução para tal problema.
Cada lado deve ter seu próprio segredo. Vamos chamá-los de segredos As e Bs. Até Alice e Bob revelarem seus segredos. Em vez disso, eles geram hashes dos segredos correspondentes - h(As) e h(Bs). Em vez de compartilhar segredos, Alice e Bob trocam hashes.
Alice e Bob trocam hashes de seus segredos.
Alice e Bob precisam concordar com certas obrigações de transação antes de enviar transferências para um endereço multisig. Isso fornecerá segurança caso alguém decida desviar fundos.
Se você pensar em um canal como o mini livro-razão ao qual nos referimos anteriormente, os compromissos de transação são as atualizações que você faz no livro-razão. Cada vez que você cria um novo par de obrigações de transação, você está reequilibrando os fundos entre os dois participantes.
Alice terá duas saídas: ela reabastece o primeiro endereço e vincula o outro ao novo endereço com múltiplas assinaturas. Ela assina o segundo endereço e o entrega a Bob.
A transação de Alice com duas saídas: uma depositando em seu próprio endereço e outra depositando em um novo endereço multisig. No entanto, este último ainda requer a assinatura de Bob para tornar a transação válida.
Bob faz o mesmo: um endereço é pessoal e o outro tem assinatura múltipla. Ele assina e dá para Alice.
Temos duas transações pendentes que são muito semelhantes.
Alice pode adicionar uma assinatura à transação de Bob, aprovando-a. Deve-se notar que estes fundos são gastos a partir de um esquema 2 em 2 com múltiplas assinaturas que ainda não foi financiado. É como tentar descontar um cheque com saldo zero. Acontece que essas transações parcialmente assinadas só podem ser usadas após o lançamento do multisig.
Os novos endereços multisig (que possuem saída de 3 BTC) possuem algumas propriedades específicas. Vejamos a transação pendente que Alice assinou e enviou a Bob. Uma inferência com múltiplas assinaturas pode ser aplicada se as seguintes condições forem atendidas:
Ambas as partes realizam uma assinatura conjunta.
Bob faz a transferência sozinho após um determinado período de tempo (de acordo com o bloqueio de tempo).
Alice pode gastar o saldo se descobrir o segredo de Bob: Bs.
Para a transação, Bob pede a Alice para implementar o seguinte:
Ambas as partes realizam uma assinatura conjunta.
Alice faz a transferência sozinha após um certo período de tempo.
Bob pode gastar o saldo se descobrir o segredo de Alice: As.
Observe que nenhuma das partes conhece o segredo da outra, portanto a condição 3 ainda não pode ser alcançada. De referir ainda que se assinar uma transação, a sua contraparte pode gastar o dinheiro de imediato, uma vez que não existem condições especiais impostas ao seu levantamento. Você pode esperar até que o tempo acabe e gastar os fundos sozinho ou cooperar com outra parte para gastá-los ao mesmo tempo.
Portanto, agora você pode publicar transações no endereço de origem com um multisig 2 de 2. É seguro: você pode recuperar seus fundos se a contraparte sair do canal.
Assim que as transações forem confirmadas, o canal será lançado. O primeiro par de transações mostra o estado atual do mini-razão. Nesta fase, Bob e Alice recebem 3 BTC cada.
Quando Alice quiser fazer uma nova transferência para Bob, o par precisará criar duas novas transações para substituir o primeiro conjunto. A prática permanece a mesma: os acordos são assinados apenas pela metade. No entanto, Alice e Bob terão que abrir mão de seus antigos segredos e trocar novos hashes para a próxima rodada de transações.
Se Alice quiser pagar 1 BTC a Bob, duas novas transações creditarão a Alice e Bob 2 e 4 BTC, respectivamente. Desta forma o saldo é atualizado.
Cada parte pode assinar e transferir as últimas transações para a outra a qualquer momento para liquidar a liquidação, ou seja, registrar as informações finais no blockchain. Quem fizer isso terá que esperar o vencimento do bloqueio de tempo, enquanto a outra parte poderá gastar os recursos imediatamente, no momento em que os receber. Vale ressaltar que se Bob assinar e transmitir a transação para Alice, ela terá a oportunidade de sair sem quaisquer condições adicionais.
Ambas as partes podem fechar o canal juntas (realizar um fechamento cooperativo) - esta é a maneira mais fácil e rápida de devolver fundos à rede. Mas se uma das partes parar de responder ou se recusar a cooperar, a outra poderá devolver os seus fundos após o término do prazo.
Prevenção de fraudes na Lightning Network
Você provavelmente já reconheceu o possível vetor de ataque. Se o saldo de Bob agora for de 1 BTC, o que o impediria de escolher uma transação antiga onde ele tivesse mais moedas? Ele já recebeu a assinatura da Alice, basta adicionar a assinatura e enviar a transação para o blockchain, certo?
O que o impede de tais ações é o risco de perder todo o equilíbrio. Digamos que ele decida fazer isso e envie sua transação antiga, que dá a Alice uma moeda e envia cinco para o endereço multisig mencionado anteriormente.
Alice recebe imediatamente sua moeda. Bob deve esperar até que o bloqueio de tempo expire para gastar os fundos do endereço com várias assinaturas. Lembra que mencionamos outra condição sob a qual Alice pode gastar esses fundos imediatamente? Ela precisa de um segredo que ela não tinha então. Agora ela conseguiu: assim que a segunda rodada de transações foi criada, Bob revelou esse segredo.
Enquanto Bob espera o tempo de bloqueio expirar, sem poder fazer nada, Alice pode movimentar esses fundos. Este mecanismo baseado em sanções pressupõe que é improvável que o participante queira tentar trapacear, pela simples razão de que, neste caso, a outra parte tem acesso imediato às suas moedas compartilhadas.
Roteamento de pagamento
Já dissemos que os canais podem ser interligados. Caso contrário, a Lightning Network não seria tão conveniente para pagamentos. Você não vai garantir US$ 500 no canal da cafeteria para tomar café todos os dias durante os próximos meses, não é?
Você não precisa fazer isso. Se Alice abrir um canal com Bob e Bob já tiver um canal com Carol, Bob poderá enviar pagamentos entre eles. Este mecanismo funciona em vários “saltos”, ou seja, Alice pode transferir fundos rapidamente para qualquer pessoa para quem exista um caminho semelhante.
Nesse cenário, Alice pode seguir diversas rotas para chegar até Frank. Na prática, este caminho será sempre o mais curto.
Os intermediários podem cobrar uma pequena taxa (mas não são obrigatórios) pela sua função no roteamento. A Lightning Network é um produto relativamente novo, portanto o mercado de taxas ainda não amadureceu. Muitos esperam ver taxas com base na liquidez fornecida.
Na cadeia básica, a taxa depende unicamente da posição da sua transação no bloco. O valor da transação não importa: pagamentos de US$ 1 e US$ 10.000.000 custam o mesmo. Na Lightning Network, não existe espaço de bloco.
Em vez disso, utiliza o conceito de saldos locais e remotos. O saldo local é o valor que pode ser “empurrado” para a outra ponta do canal. O saldo remoto é o valor que a contraparte pode enviar para você.
Vejamos outro exemplo. Vamos explorar um dos seguintes caminhos: Alice <> Carol <> Frank.
Saldos dos usuários antes e depois da transferência de 0,3 BTC de Alice para Frank.
Alice <> Carol e Carol <> Frank têm um rendimento total de 1 BTC. O saldo local de Alice é de 0,7 BTC. Se eles decidissem negociar no blockchain agora, ela receberia 0,7 BTC e Carol receberia seu saldo remoto (ou seja, 0,3 BTC).
Se Alice quiser enviar 0,3 BTC para Frank, ela enviará 0,3 BTC para Carol. Carol então retira 0,3 BTC de seu saldo local para o canal com Frank. Como resultado, o saldo de Carol permanece o mesmo: +0,3 BTC para Alice e -0,3 BTC para Frank, excluindo todas as transações de terceiros.
Carol não sofre perdas ao atuar como elo de ligação entre Alice e Frank, mas se torna menos flexível. Agora ela pode gastar 0,6 BTC no canal com Alice, mas apenas 0,1 BTC no canal com Frank.
Você pode imaginar uma situação em que Alice está conectada apenas a Carol e Frank está conectado a uma rede muito mais ampla. Anteriormente, Carol podia enviar um total de 0,4 BTC para outras pessoas através de Frank, mas agora ela só pode oferecer 0,1 BTC porque todos os seus fundos estão do outro lado do canal.
Neste caso, Alice absorve com sucesso a liquidez de Carol. Carol, por sua vez, não quer enfraquecer ainda mais sua posição, então estabelece uma condição: enviar a cada 0,01 BTC com comissão de 10 satoshi. Assim, quanto mais saldos locais forem negociados nos termos de Carol, mais lucrativa será sua posição.
Mencionamos anteriormente que não há requisitos reais de comissão. Alguns podem não se preocupar com a redução da liquidez, enquanto outros abrirão canais apenas para cobrar taxas.
Desvantagens da Rede Lightning
Seria ótimo se a Lightning Network se tornasse a solução para todos os problemas de escalabilidade do Bitcoin. Infelizmente, o conceito tem desvantagens que podem impedir que isso aconteça.
Facilidade de uso
Bitcoin não é o sistema mais intuitivo para iniciantes: endereços, taxas e tudo mais podem ser confusos quando introduzidos pela primeira vez. E depois de configurar o cliente Lightning, os usuários também precisam abrir canais antes de poderem efetuar pagamentos. Isso pode ser demorado e trabalhoso, especialmente para iniciantes que não estão familiarizados com o conceito de largura de banda de entrada/saída.
No entanto, as tecnologias estão em constante melhoria, reduzindo a barreira à entrada e tornando-se mais acessíveis aos utilizadores.
Liquidez
Uma das principais desvantagens da Lightning Network é que ela limita a capacidade de fazer negociações. Você não pode gastar mais do que bloqueou no canal. Se você gastar tudo e o saldo excluído ficar com todos os fundos do canal, você terá que fechar o canal. Alternativamente, você pode esperar que alguém lhe pague, mas isso também não é muito conveniente.
Os caminhos também podem ser limitados pela capacidade global do link. Considere isso usando o exemplo anterior: Alice <> Carol <> Frank. Se o canal de Alice e Carol tiver capacidade de 5 BTC, mas o canal de Carol e Frank tiver apenas 1 BTC, Alice não poderá enviar mais de 1 BTC através deles. Além disso, para que isso funcione, o canal Carol <> Frank precisa deslocar todo o equilíbrio para o lado de Carol. Esta desvantagem pode limitar seriamente o rendimento dos canais LN, o que afeta a facilidade de uso.
Hubs centralizados
Devido ao problema mencionado na secção anterior, existe alguma preocupação de que a rede incentive o desenvolvimento de grandes “hubs”. Isto sugere o surgimento de entidades estreitamente relacionadas com bastante liquidez, onde quaisquer pagamentos significativos serão encaminhados através de algumas delas.
Obviamente, este cenário não é favorável. Isso enfraquecerá o sistema, uma vez que a saída de tais provedores para o modo offline levará a uma ruptura significativa nas relações entre os elementos do sistema. Existe também um risco acrescido de censura devido aos múltiplos pontos por onde passam as transações.
Estágio atual de desenvolvimento da Lightning Network
Em março de 2024, a Lightning Network estava se desenvolvendo com sucesso. A rede possui mais de 13.000 nós online, mais de 52.000 canais ativos e uma taxa de transferência de pouco mais de 4.570 BTC.
Distribuição de nós da Lightning Network em todo o mundo.
Existem várias soluções diferentes para executar um nó - algumas das mais populares são c-lightning da Blockstream, Lightning Network Daemon da Lightning Labs e Eclair da ACINQ. Os usuários que não desejam se aprofundar em aspectos técnicos podem usar nós plug-n-play. Neste caso, para trabalhar com a Lightning Network basta ligar o aparelho.
Para concluir
A Lightning Network cresceu significativamente desde o lançamento da mainnet em 2018. Atualmente, a execução de nós do Lightning requer habilidades técnicas, o que cria limitações de uso. Mas dada a velocidade de desenvolvimento, com o tempo podemos contar com uma diminuição do limiar de entrada.
Leitura recomendada
Escalabilidade Blockchain – sidechains e canais de pagamento
O que são nós?
O que são contratos inteligentes?
Isenção de responsabilidade: os materiais a seguir são fornecidos “no estado em que se encontram”, sem garantia de qualquer tipo, apenas para referência geral e para fins educacionais. Estas informações não devem ser consideradas aconselhamento financeiro, aconselhamento jurídico ou recomendação de compra de qualquer produto ou serviço específico. Você deve procurar aconselhamento de consultores profissionais apropriados. Como este artigo foi escrito por um autor terceirizado, observe que as opiniões expressas são do autor terceirizado e não refletem necessariamente as opiniões da Binance Academy. Para informações mais detalhadas, siga o link. O valor dos ativos digitais pode ser volátil. O valor dos fundos investidos pode subir e descer. Você pode não recuperar seus fundos investidos. Você é o único responsável por suas decisões de investimento. A Binance Academy não se responsabiliza por suas possíveis perdas. Esta informação não constitui aconselhamento financeiro, jurídico ou profissional. Para saber mais, leia nossos Termos de Uso e Divulgação de Riscos.


