Calculadora CLTV por Rota

Calcule o locktime acumulado em uma rota de vários hops

Cada hop em uma rota Lightning adiciona um cltv_expiry_delta ao locktime total do pagamento. Esse delta garante que, se algo der errado, cada intermediário tenha tempo de reagir antes que seu HTLC de entrada expire. O CLTV final do primeiro hop (o pagador) é a soma de todos os deltas mais o min_final_cltv_expiry do destinatário, a partir da altura atual da blockchain.

A ferramenta apenas calcula CLTVs hipotéticos. Ela não consulta a blockchain, não obtém channel_update real e não substitui um nó Lightning. Use valores fictícios. Não cole seed, mnemonic, chave privada, macaroon, senha nem dados reais de carteira.

Conteúdo

Ferramenta

Defina a altura atual, o min_final_cltv_expiry do destinatário e os deltas de cada hop. O resultado mostra o CLTV que cada hop deve usar e quanto tempo falta para expirar em cada ponto da rota.

Calculadora CLTV

Calculadora CLTV por Rota

Calcula o CLTV que cada hop deve usar, do destinatário até o pagador.

Hops (do último ao primeiro)

Cada hop adiciona cltv_expiry_delta. O destinatário final tem delta 0.

Resultado da calculadora CLTV

Fonte primária

O cltv_expiry_delta é definido no channel_update (BOLT 7) e usado no cálculo de rota da BOLT 4. O min_final_cltv_expiry vem da invoice BOLT 11. A restrição de que o CLTV do HTLC de entrada deve ser maior que o de saída está na BOLT 2.

Fórmula do CLTV acumulado

cltv_final = current_block_height + min_final_cltv_expiry
cltv_hop_n = cltv_hop_[n+1] + cltv_expiry_delta_hop_n

O cálculo começa do destinatário (altura atual + min_final_cltv_expiry) e sobe até o pagador, adicionando o delta de cada hop. Cada intermediário precisa de um delta grande o suficiente para: (1) receber a preimage e cumprir o HTLC de entrada on-chain, (2) reagir a um timeout do HTLC de saída sem ficar preso.

Exemplo trabalhado

Alice quer pagar Dave, passando por Bob e Carol. A altura atual é 850.000, o destinatário exige min_final_cltv_expiry = 18:

CLTV acumulado por hop
Hop Delta CLTV expiry Expira em (blocos)
Dave (dest.) 850.018 18
Carol 144 850.162 162
Bob 40 850.202 202
Alice paga com 184 850.202 202

Alice usa CLTV expiry = 850.202 no HTLC de entrada do Bob. Se Bob encaminha para Carol com 850.162 e algo dá errado, Bob tem 40 blocos (~6,7h) para resolver o HTLC de saída antes que seu HTLC de entrada expire em 850.202. Da mesma forma, Carol tem 144 blocos (~24h) entre o expiry de Dave (850.018) e o dela (850.162).

Limites da ferramenta

A ferramenta calcula CLTV de forma determinística. Ela não leva em conta: a altura real da blockchain (você precisa informar), o channel_update real de cada nó, a variação de deltas entre implementações (LND/CLN/Eclair usam defaults diferentes), a possibilidade de o nó ajustar dinamicamente seu delta, ou restrições de max_cltv na invoice. O resultado é didático e não substitui uma simulação de pagamento real.

Mapa conceitual

Antes de usar esta ferramenta

Depois de usar esta ferramenta

Referências