Blockchain/Nível V · Camadas/5.1 Lightning/Lição 1
Canais de pagamento
Duas assinaturas, milhares de pagamentos: a mecânica de liquidação fora da cadeia
MateriaisUm explorador de blocos capaz de visualizar entradas multisig (por exemplo, mempool.space)O documento de especificações do BOLT #2Uma ferramenta de gráficos para visualizar as estruturas de transações de financiamento e compromisso
Curiosidade
- Como duas partes podem realizar milhares de pagamentos instantâneos, enviando apenas duas transações para a blockchain do Bitcoin?
- Qual mecanismo impede que um participante transmita uma transação de compromisso mais antiga que favoreça seu saldo?
- Por que os primeiros canais de pagamento, descritos por Jeremy Spilman em 2013, eram apenas unidirecionais?
Explorar
- A camada base do Bitcoin liquida transações em intervalos de aproximadamente dez minutos, o que gera latência e restrições de taxas para micropagamentos de alta frequência. Os canais de pagamento transferem a carga computacional das atualizações de estado para fora da cadeia (off-chain), permitindo que os participantes troquem estados de saldo assinados indefinidamente sem propagação pela rede. A blockchain on-chain serve apenas como camada de liquidação, verificando somente os eventos iniciais de financiamento e o fechamento final.
- O canal começa com uma transação de financiamento: uma saída multisig de 2 de 2 que bloqueia os fundos controlados tanto por Alice quanto por Bob. Se cada um contribuir com 1 BTC, a capacidade do canal é de 2 BTC. Nenhuma das partes pode gastar esses fundos unilateralmente sem a assinatura da outra. Essa estrutura une os participantes em uma conta compartilhada que existe apenas como um direito potencial sobre a cadeia principal.
- Durante a operação, Alice e Bob trocam transações de compromisso que representam novas distribuições de saldo. Cada atualização substitui o estado anterior; se Alice envia 0,1 BTC para Bob, eles assinam uma nova transação transferindo os recursos da saída de Alice para a de Bob. Essas transações assinadas, mas ainda não transmitidas, são transações válidas de Bitcoin, garantindo que qualquer estado final possa ser aplicado na cadeia sem depender da confiança entre as partes envolvidas.
- Cada lado também precisa ser impedido de transmitir um estado desatualizado que lhe pagou mais. O Lightning faz isso com segredos de revogação e timelocks, abordados em uma lição posterior; em resumo, publicar um estado revogado permite que a outra parte tome todo o saldo do canal, o que torna a trapaça uma aposta perdida.
- O encerramento ocorre de forma cooperativa ou unilateral. Em um encerramento cooperativo, ambas as partes assinam uma transação de liquidação que paga seus saldos finais imediatamente, sem timelocks. Se uma das partes se desconecta ou age de maneira maliciosa, a outra pode forçar o encerramento ao transmitir (broadcast) a última transação de compromisso. Nesse caminho unilateral, a parte que força o encerramento deve aguardar um timelock relativo antes de gastar sua própria parcela, dando tempo para uma reivindicação de penalidade; a saída da outra parte fica disponível quase imediatamente.
- Os precursores incluem os canais unidirecionais de Jeremy Spilman (2013), nos quais os pagamentos podiam fluir apenas do pagador para o beneficiário, e os canais duplex de Christian Decker e Roger Wattenhofer (2015). O artigo de Joseph Poon e Thaddeus Dryja sobre a Lightning Network (esboço de 2015, versão de 2016) introduziu compromissos revogáveis, permitindo que um canal permanecesse aberto por tempo indeterminado, além dos HTLCs, que possibilitam que os pagamentos sejam encaminhados por vários canais. Implementações em mainnet como LND, Core Lightning e Eclair agora gerenciam esses estados, com uma adoção significativa começando de fato em 2018.
Fatos-chave
- Um canal de pagamento bloqueia os fundos em uma saída multisig de 2-de-2, exigindo ambas as assinaturas para gastos na cadeia.
- As transações de compromisso são assinadas, mas são atualizações não transmitidas que redistribuem o saldo do canal; cada novo estado substitui o anterior.
- Segredos de revogação permitem que a contraparte reivindique todo o saldo do canal se uma transação de compromisso desatualizada for transmitida.
- Encerramentos cooperativos liquidam saldos imediatamente por meio de uma transação de liquidação sem timelocks; encerramentos unilaterais impõem timelocks relativos para a verificação de penalidades.
- Os canais unidirecionais de Jeremy Spilman, de 2013, e os canais duplex de Decker/Wattenhofer, de 2015, foram os principais precursores da Lightning Network.
- As principais implementações incluem LND (Lightning Labs), Core Lightning (Blockstream), Eclair (ACINQ) e LDK, com o uso na mainnet acelerando a partir de 2018.
Exercício nove, seis, três, um
9ReunirListe 9 componentes técnicos ou protocolos distintos envolvidos na abertura, atualização e fechamento de um canal de pagamento.
6AgruparAgrupe os 9 em 6 categorias com base em sua função: financiamento, gestão de estado, aplicação da segurança, mecanismos de encerramento, pré-requisitos de roteamento ou padrões de implementação.
3DestilarReduza os 6 grupos a 3 princípios fundamentais que garantem uma operação sem necessidade de confiança entre duas partes.
1CristalizarEscreva 1 frase sobre por que duas transações on-chain podem liquidar qualquer número de pagamentos off-chain.
Verificação de fatos
Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.