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