Skip to main content

HTLC | Bitcoin Glossary | Mapping Bitcoin

HTLC

Lightning

Also known as: Hash Time-Locked Contract, hash time lock contract

Hash Time-Locked Contract: libera fundos ao revelar pré-imagem hash ou devolve após timeout. Mecanismo fundamental da Lightning Network e dos atomic swaps.

Visão Geral

Um Contrato Bloqueado por Hash e Tempo (HTLC) é um pagamento condicional que combina duas primitivas poderosas: um bloqueio por hash (exigindo conhecimento de um segredo para reivindicar fundos) e um bloqueio temporal (permitindo ao remetente recuperar fundos após um prazo). Os HTLCs são o mecanismo crítico que habilita pagamentos multi-salto através da Rede Lightning e swaps atômicos sem confiança entre cadeias, pois garantem que ou todas as partes em uma cadeia de pagamentos recebem seus fundos ou nenhuma recebe.

Como um HTLC Funciona

Alice quer pagar Carol através de Bob (Alice → Bob → Carol)

Passo 1: Carol gera um segredo aleatório R e envia hash(R) para Alice

Passo 2: Alice cria HTLC com Bob:
┌──────────────────────────────────────────────┐
│  HTLC: Alice → Bob                           │
│                                              │
│  SE Bob fornecer pré-imagem R onde           │
│     hash(R) = H  E  assinatura de Bob        │
│  ENTÃO Bob pode reivindicar os fundos        │
│                                              │
│  SE o tempo limite expirar (ex., 48 horas)   │
│  ENTÃO Alice pode recuperar os fundos        │
└──────────────────────────────────────────────┘

Passo 3: Bob cria HTLC com Carol (mesmo hash, tempo limite menor):
┌──────────────────────────────────────────────┐
│  HTLC: Bob → Carol                           │
│                                              │
│  SE Carol fornecer pré-imagem R onde         │
│     hash(R) = H  E  assinatura de Carol      │
│  ENTÃO Carol pode reivindicar os fundos      │
│                                              │
│  SE o tempo limite expirar (ex., 24 horas)   │
│  ENTÃO Bob pode recuperar os fundos          │
└──────────────────────────────────────────────┘

Passo 4: Carol revela R para reivindicar de Bob
Passo 5: Bob agora conhece R, usa-o para reivindicar de Alice

As Duas Condições de Bloqueio

Bloqueio por Hash: O destinatário deve revelar uma pré-imagem (valor secreto) cujo hash corresponda a um valor de hash predeterminado. Isso garante que o segredo se propague de volta pela cadeia de pagamentos à medida que cada salto reivindica seu pagamento.

Bloqueio Temporal: Se o pagamento não for reivindicado dentro de uma janela de tempo especificada, o remetente pode recuperar os fundos. Os bloqueios temporais diminuem a cada salto (ex., 48h, 24h, 12h) para garantir que cada intermediário tenha tempo de reivindicar após conhecer o segredo.

Estrutura de bloqueio temporal entre saltos:

Alice ──[48h]──► Bob ──[24h]──► Carol

Carol reivindica primeiro (conhece o segredo)
Bob reivindica segundo (aprendeu o segredo de Carol)
O tempo limite de Alice é o mais longo (mais tempo para resolver)

Propriedades de Segurança

  • Atomicidade: Ou o pagamento completo é concluído ou nenhuma parte é. Carol não pode reivindicar sem revelar R, e Bob não pode reivindicar sem R.
  • Sem confiança: Nenhum intermediário pode roubar fundos. Bob não pode reivindicar de Alice sem antes pagar Carol (porque precisa de R).
  • Sem risco de contraparte no segredo: A função hash garante que a pré-imagem não possa ser adivinhada.

HTLCs na Prática

Na Rede Lightning, os HTLCs são tipicamente resolvidos off-chain através do mecanismo normal de atualização de canal. O script HTLC on-chain é usado apenas como fallback se uma parte ficar sem resposta ou tentar fazer trapaça. Isso significa que, na prática, os pagamentos multi-salto do Lightning são concluídos em segundos sem tocar a blockchain.

Limitações

  • Liquidez bloqueada: Os fundos em um HTLC ficam bloqueados até que o pagamento seja concluído ou o tempo limite expire, reduzindo temporariamente a capacidade de canal disponível
  • Correlação de roteamento: O mesmo hash é usado em todos os saltos, tornando teoricamente possível que um nó controlando múltiplos saltos os correlacione (os PTLCs, usando bloqueios de ponto em vez de bloqueios de hash, abordam isso)
  • Riscos de tempo limite: Se um nó ficar offline durante a janela de tempo limite, os fundos podem ficar bloqueados até que o timelock expire

Conceitos Equivocados Comuns

  • Os HTLCs não são exclusivos da Rede Lightning. Podem ser usados on-chain e são a base dos swaps atômicos entre diferentes blockchains.
  • O "hash" no HTLC refere-se ao hash da pré-imagem secreta, não ao hashing de prova de trabalho do Bitcoin.
  • Os HTLCs não requerem confiança em nenhum intermediário. A construção criptográfica garante que os nós de encaminhamento não possam roubar fundos.