Visão geral
O roteamento é o processo pelo qual um pagamento atravessa múltiplos canais de pagamento na Lightning Network para chegar a um destinatário com quem o remetente não tem um canal direto. O nó do remetente calcula um caminho através do grafo da rede, constrói um pacote de pagamento criptografado em cebola e o encaminha salto a salto até chegar ao destino. Os nós de roteamento ao longo do caminho podem cobrar pequenas taxas por encaminhar o pagamento.
Como o roteamento funciona
Alice quer pagar Dave mas não tem canal direto:
Alice ──── Bob ──── Carol ──── Dave
│ │ │ │
│ 0.5 │ 0.8 │ 0.6 │
│ local │ local │ local │
Rota de pagamento: Alice → Bob → Carol → Dave
Passo 1: Alice encontra o caminho pelo grafo da rede
Passo 2: Alice constrói pacote criptografado em cebola
Passo 3: O pagamento flui salto a salto:
Alice ──0.01 BTC──> Bob ──0.01 BTC──> Carol ──0.01 BTC──> Dave
- taxa: 1 sat - taxa: 1 sat (salto final)
Cada salto só conhece o salto anterior e o próximo
(o roteamento cebola fornece privacidade)
Roteamento baseado na fonte
O Lightning usa roteamento baseado na fonte, ou seja, o remetente calcula o caminho completo antes de enviar o pagamento. Isso contrasta com o roteamento baseado no destino (usado em redes IP) onde cada salto decide independentemente o próximo passo. O roteamento de fonte dá ao remetente controle sobre o caminho e permite o roteamento cebola para privacidade, mas requer que o remetente tenha uma visão razoavelmente atualizada do grafo de canais da rede.
Taxas de roteamento
Cada nó de roteamento especifica dois parâmetros de taxa em suas políticas de canal:
- Taxa base — Uma taxa fixa cobrada por pagamento encaminhado (tipicamente 0-1000 milissatoshis)
- Taxa de comissão — Uma taxa proporcional baseada no valor do pagamento (tipicamente 1-100 partes por milhão)
O algoritmo de busca de caminhos do remetente considera as taxas ao selecionar uma rota, geralmente preferindo caminhos de menor custo enquanto também considera confiabilidade e capacidade do canal.
Desafios
- Incerteza de liquidez — Os saldos dos canais são privados, então o remetente não sabe se um canal tem capacidade suficiente até que a tentativa de pagamento tenha sucesso ou falhe
- Falhas de pagamento — Se qualquer salto ao longo do caminho não tiver liquidez suficiente, o pagamento falha e o remetente deve tentar novamente com uma rota diferente
- Pagamentos grandes — Pagamentos próximos aos limites de capacidade do canal são mais difíceis de rotear; Pagamentos Multi-Caminho (MPP) dividem pagamentos grandes em múltiplas rotas
Pagamentos Multi-Caminho (MPP)
Para melhorar a confiabilidade de pagamentos maiores, o protocolo Lightning suporta dividir um pagamento em múltiplas partes menores que percorrem rotas diferentes pela rede. Cada parte é atômica — ou todas as partes têm sucesso ou o pagamento inteiro falha — graças ao uso de um único hash de pagamento com múltiplos HTLCs.
Equívoco comum
Os nós de roteamento não podem roubar fundos em trânsito. O mecanismo HTLC garante que um nó de roteamento só pode reivindicar fundos encaminhados se puder provar que o pagamento chegou ao próximo salto. Se o pagamento falhar em qualquer ponto, todos os fundos são devolvidos ao remetente ao longo do caminho inverso.