Canais de Pagamento
A peça fundamental da Lightning
⚡ Lightning Network
Um canal de pagamento é o jeito de duas pessoas trocarem bitcoin entre si várias vezes, sem registrar cada pagamento na blockchain. É a base de tudo na Lightning — e, voltando ao nosso exemplo, é a comanda do bar.
Abrindo o canal
Imagine que você vai ser cliente frequente do Bar do Bob. Em vez de pagar cada cerveja na blockchain, vocês abrem uma comanda.
Mas tem um detalhe importante: para ninguém poder sair correndo com o dinheiro, vocês trancam o bitcoin num "cofre" que só abre com a assinatura dos dois. Tecnicamente, isso é um endereço multisig 2-de-2, e o bitcoin é colocado lá por uma transação na blockchain — a transação de financiamento (funding).
Por exemplo: você tranca no canal o equivalente a 10 cervejas. A partir daí, esse valor está "dentro" da comanda, e vocês dois controlam como ele é dividido.
Pagando dentro do canal
Com a comanda aberta, cada cerveja é só um novo acordo sobre como dividir o dinheiro do cofre — assinado pelos dois e sem tocar na blockchain.
Seguindo o exemplo (comanda de 10 cervejas):
- Início: 10 suas · 0 do Bob.
- Você toma 2 cervejas → novo saldo: 8 suas · 2 do Bob.
- Mais uma cerveja → 7 suas · 3 do Bob.
Cada novo saldo é uma nova versão da transação que fecharia o canal (a transação de compromisso, ou commitment), assinada pelos dois. Só a versão mais recente é a que vale. E isso acontece em milissegundos, quantas cervejas você quiser.
Fechando o canal
No fim da noite, alguém publica o último estado da comanda na blockchain (a transação de fechamento). A blockchain então paga a cada um o seu saldo final. No exemplo, você recebe 7 cervejas de volta e o Bob fica com 3.
Repare na economia de novo: por mais cervejas que vocês tenham anotado, só apareceram duas transações na blockchain — a de abrir e a de fechar.
E se alguém tentar trapacear?
Boa pergunta. Como cada saldo antigo é uma transação válida e assinada, em tese alguém poderia tentar publicar um estado antigo — aquele em que tinha mais dinheiro. No nosso exemplo, quem teria essa tentação é você: bastaria fechar a comanda mostrando o estado do começo da noite (10 cervejas suas, 0 do Bob), antes de beber, e sair sem pagar pelo que já tomou.
A Lightning resolve isso com um mecanismo de penalidade: se você publicar um estado antigo, o Bob tem uma janela de tempo para provar a trapaça e ficar com todo o saldo do canal. Ou seja, trapacear sai muito caro — então ninguém tenta. (Os detalhes de como isso funciona ficam para a parte técnica.)
Até aqui falamos de um canal entre duas pessoas. O que transforma a Lightning numa rede é conseguir pagar alguém com quem você não tem canal direto, saltando pelos canais de outras pessoas — o roteamento. É o que veremos na próxima página, Como a Lightning funciona.