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.