Pular para o conteúdo
buybitcoinsmart

Glossário / Lightning e camada 2

Troca submarina

O que é uma troca submarina?
Uma troca submarina negocia bitcoin on-chain por bitcoin na Lightning em um único passo atômico, usando o mesmo hash de pagamento dos dois lados, de modo que nenhuma das partes pode ficar com o dinheiro e desaparecer.

Os dois lados da operação vivem em camadas diferentes, e é aí que está toda a dificuldade. Uma troca resolve isso fazendo com que um único segredo desbloqueie as duas pontas: o contrato on-chain e o pagamento Lightning estão atados a um único hash, de modo que ou ambos são liquidados, ou ambos são devolvidos. Alex Bosworth descreveu a técnica em 2018.

Como funciona

Uma troca submarina é um único segredo que gasta dois contratos situados em camadas diferentes.

Suponha que você tenha bitcoins on-chain e queira um saldo na Lightning. O provedor da troca gera uma pré-imagem aleatória, calcula seu hash e emite para você uma fatura Lightning comprometida com esse hash. Você paga uma transação on-chain normal para um script que diz: o provedor pode reivindicar esses fundos revelando uma pré-imagem que corresponda ao hash, ou você pode reivindicá-los de volta depois que um timelock expirar. O provedor vê seus fundos serem confirmados, revela a pré-imagem on-chain para reivindicá-los, e essa mesma pré-imagem é o que liquida a fatura Lightning na sua carteira. Um valor, duas liquidações, nenhuma janela em que um lado fica com as duas coisas.

Os timelocks são o que torna isso seguro, e não apenas conveniente. O caminho de reembolso on-chain precisa expirar depois da ponta Lightning, de modo que, se o provedor travar, seu pagamento Lightning já tenha falhado e sido desfeito antes que seu reembolso on-chain possa ser reivindicado. Inverta essa ordem e o provedor poderia segurar a pré-imagem até que seu reembolso fosse gasto, e então liquidar o lado Lightning.

A mesma construção na direção inversa faz o trabalho oposto. Em uma troca reversa, você paga uma fatura Lightning e o provedor paga você on-chain, o que converte o saldo do canal em armazenamento a frio sem fechar um canal. A Lightning Labs empacotou as duas direções como Loop, lançado como alfa em 20 de março de 2019, sendo o Loop Out a direção reversa e a que as pessoas usam para criar espaço para receber.

O que a troca não elimina é uma exposição à contraparte de um tipo mais brando. Seu dinheiro não pode ser roubado, porque cada caminho é imposto por script ou expira. Ele pode ser atrasado: um provedor que fica offline no meio da troca deixa você esperando um timelock, que são minutos na ponta Lightning e podem ser horas na ponta on-chain.

Onde você a encontra

As trocas são a infraestrutura por trás de recursos que nunca as mencionam.

Carteiras móveis que permitem “recarregar a partir do seu saldo on-chain” sem abrir um canal normalmente executam uma troca submarina nos bastidores. Carteiras que oferecem a movimentação com um toque da Lightning de volta para um endereço de carteira de hardware executam a troca reversa. Operadores de nós as usam como uma loja usa um depósito noturno, esvaziando canais cheios para o armazenamento on-chain e restaurando a capacidade de receber pagamentos. Boltz e Loop são os dois nomes que você encontrará com mais frequência em ferramentas e documentação.

Vale conhecer dois custos antes de usar uma. Primeiro, o provedor cobra uma taxa de serviço além da taxa de mineração on-chain, e em valores pequenos a taxa de mineração domina: trocar 50.000 satoshis quando a rede pede 20 sat/vB é uma péssima operação, por melhor que seja a taxa do provedor. Segundo, uma das pontas é uma transação on-chain, então toda a operação espera confirmações mesmo que a metade Lightning seja instantânea.

Troca submarina vs troca atômica

Uma troca submarina negocia bitcoin por bitcoin entre duas camadas; uma troca atômica negocia dois ativos diferentes entre duas blockchains diferentes. Ambas usam o mesmo truque de hash e timelock, e é por isso que os nomes se confundem. A diferença está no que muda de mãos: depois de uma troca submarina você tem o mesmo ativo em outro lugar, on-chain em vez de em um canal, enquanto depois de uma troca atômica você tem algo totalmente diferente e assumiu o risco de preço desse ativo. As trocas submarinas são infraestrutura rotineira usada diariamente. As trocas atômicas entre blockchains continuam raras na prática, porque exigem que as duas blockchains ofereçam suporte a contratos compatíveis e que as duas partes permaneçam online.

Não confundir com

Perguntas frequentes

Um provedor de trocas pode roubar meus bitcoins?

Não. Cada caminho de uma troca submarina é imposto por script: o provedor só pode reivindicar seus fundos on-chain revelando a pré-imagem que também paga sua fatura Lightning e, caso contrário, o timelock devolve o dinheiro a você.

Por que uma troca submarina pequena é tão cara?

Porque uma das pontas é uma transação on-chain comum, então ela paga a taxa de mineração vigente independentemente do valor. Trocar dezenas de milhares de satoshis em um período de taxas altas pode custar uma grande parte do valor trocado.

Termos relacionados

Mais em Lightning e camada 2

Ler esta página em inglês