Glossário / Lightning e camada 2
PTLC
Outros nomes: Point time-locked contract.
- O que é um PTLC?
- Um PTLC bloqueia um pagamento a um ponto da curva elíptica em vez de a um hash, de modo que cada salto de uma rota Lightning vê um bloqueio diferente e não consegue reconhecer o mesmo pagamento duas vezes.
Contratos com bloqueio temporal sobre um ponto (point time-locked contracts) fazem o trabalho de um HTLC sem um hash compartilhado: cada salto recebe seu próprio bloqueio, derivado de um ponto da curva. Eles se apoiam em assinaturas adaptadoras Schnorr, que se tornaram viáveis no bitcoin quando o Taproot foi ativado no bloco 709.632, em novembro de 2021. Para quem paga, o ganho é que os nós de roteamento não conseguem mais identificar o mesmo pagamento passando por duas de suas máquinas.
Como funciona
Uma assinatura adaptadora é uma assinatura com uma peça deliberadamente ausente, e a peça ausente é o segredo do pagamento.
Comece pelo recebedor, que escolhe um número secreto e publica apenas o ponto da curva correspondente. Sob as regras Schnorr do BIP340, quem paga pode construir uma assinatura inválida por si só, mas que se torna válida no instante em que esse número secreto é somado. Publicar a assinatura completa, portanto, revela o número, e revelar o número é o que permite ao salto anterior completar sua própria assinatura e resgatar seu dinheiro. O efeito dominó é idêntico ao de um HTLC, mas nada é transformado em hash e nada é compartilhado.
A privacidade vem do ajuste. Quem paga soma um deslocamento aleatório ao ponto em cada salto e informa a cada nó seu deslocamento dentro do pacote cebola, de modo que o salto três e o salto sete veem dois pontos sem relação entre si para um mesmo pagamento. Isso fecha o vazamento por correlação e também fecha o ataque de buraco de minhoca, em que dois saltos coniventes na mesma rota pulam os nós honestos entre eles e embolsam as taxas de roteamento desses nós. Nenhuma das duas correções é possível enquanto um único hash percorre todo o caminho.
Há um bônus que importa em disputas. Com um contrato sobre um hash, a pré-imagem prova que um pagamento ocorreu, mas não diz nada sobre quem o fez, então é uma prova fraca. Um contrato sobre um ponto produz uma assinatura que só a própria chave de quem paga poderia ter produzido para aquela fatura, o que é uma prova de pagamento no sentido comum da expressão.
Onde isso aparece
Você ainda não vê PTLCs, e ser honesto sobre isso é o objetivo desta entrada.
O Taproot forneceu os ingredientes, e canais Taproot já foram lançados nas principais implementações da Lightning, mas esses canais ainda roteiam contratos sobre hash. O trabalho restante é encanamento de protocolo: cargas úteis da cebola que carregam os ajustes de cada salto, transações de compromisso atualizadas e acordo entre implementações que todas precisam interoperar. Até que isso chegue, qualquer carteira que se descreva como privada na Lightning está falando de roteamento cebola, não de saltos impossíveis de vincular.
O que isso significa para quem compra bitcoin é modesto e específico. Se você mantém um saldo na Lightning e se importa que um grande operador de roteamento não consiga montar um quadro de seus gastos, os PTLCs são a atualização a observar nas notas de versão de sua carteira. Nada de suas chaves, do backup de sua frase de recuperação ou de suas criptomoedas on-chain muda quando eles chegarem.
PTLC vs HTLC
PTLCs e HTLCs oferecem a mesma garantia, o pagamento atômico com vários saltos, e diferem no que os nós intermediários descobrem. Um contrato sobre hash difunde um único identificador ao longo de toda a rota; um contrato sobre um ponto dá a cada salto um valor que lhe parece aleatório. A leitura prática: os HTLCs são a Lightning de hoje e funcionam bem, os PTLCs são estritamente melhores em privacidade e em prova de pagamento, e a mudança é um problema de especificação e implementação, não de consenso do bitcoin, porque o Taproot já fez a parte de consenso.