Glossário / Protocolo e atualizações
Âncora efêmera
- O que é uma âncora efêmera?
- Uma âncora efêmera é uma saída de valor zero acrescentada a uma transação apenas para que alguém possa anexar a ela uma transação filha que paga taxa e arrastar a transação pai até um bloco.
Especificação no BIP-431.
Protocolos de contrato como a Lightning precisam assinar transações muito antes de alguém saber quais serão as taxas, então necessitam de uma forma de complementar a taxa depois. O Bitcoin Core 28.0 tornou padrão um script de quatro bytes que qualquer um pode gastar exatamente para essa tarefa, e o 29.0 permitiu que uma saída assim não guardasse nada, desde que sua transação pai não pague taxa. O ganho são fechamentos de canal que custam menos e deixam menos valor preso.
Como funciona
Uma âncora efêmera resolve um problema de temporização: uma transação pré-assinada carrega uma taxa por byte virtual escolhida meses antes de ser transmitida, e quando ela é necessária o mercado já se moveu.
A solução anterior dava à transação uma pequena saída gastável e deixava que quem precisasse transmitisse uma filha pagando pelas duas. Os canais âncora da Lightning fazem isso com duas saídas de 330 satoshis, uma por parte. Funciona, mas esse dinheiro fica comprometido dentro de cada transação de compromisso, e as saídas permanecem no conjunto de saídas não gastas depois, quer alguém as resgate ou não.
O pay-to-anchor removeu a maior parte desse custo. O Bitcoin Core 28.0 reconheceu uma nova saída padrão cujo script tem exatamente quatro bytes: OP_1, um push de dois bytes e os bytes 0x4e 0x73. Isso é um programa segwit de versão 1 e comprimento dois, e como o Taproot deixa os programas de versão 1 desconhecidos sem restrições, qualquer um pode gastá-lo com uma testemunha vazia. Sem chave, sem script a revelar, e uma entrada pequena o bastante para valer quase nada.
A regra da poeira ainda incomodava no início. O Bitcoin Core precifica uma saída pelo que custaria gastá-la, e para esta isso dá 80 bytes virtuais, o que, na taxa padrão de poeira de 3 satoshis por byte virtual, significa que ela deve guardar pelo menos 240 satoshis. Melhor que 330, mas ainda não é grátis.
O Bitcoin Core 29.0 fechou a lacuna com a poeira efêmera: uma transação pode carregar uma única saída abaixo do limite de poeira, inclusive uma que não vale nada, desde que a própria transação pague exatamente zero de taxa. Taxa zero é o truque. Uma transação pai que não paga nada nunca pode ser minerada sozinha, então a âncora tem garantia de nunca ficar presa entre as saídas não gastas. Ela existe apenas dentro de um pacote junto com a filha que a gasta, e é daí que vem o nome.
Outras duas peças do Bitcoin Core 28.0 tornam o arranjo utilizável. As transações TRUC, especificadas no BIP431 e sinalizadas pela versão 3, permitem uma transação pai não confirmada e uma filha não confirmada e limitam a transação a 10.000 bytes virtuais, o que elimina os ataques de pinning que tornavam o aumento de taxa pouco confiável. A retransmissão oportunista de pacotes então permite que uma transação pai viaje com sua filha como um par, para que uma transação pai de taxa zero consiga ao menos chegar a um minerador.
Onde você vê isso
Âncoras efêmeras aparecem em fechamentos de canais Lightning e em protocolos de contrato mais novos construídos sobre transações pré-assinadas, nunca em pagamentos comuns.
Em um explorador de blocos elas parecem erradas à primeira vista: uma saída que não vale nada, gasta na transação imediatamente seguinte por uma entrada com uma testemunha vazia. Se você opera um nó Lightning, o efeito é que um fechamento forçado não precisa mais de poeira reservada em cada compromisso, e que aumentar a taxa de um fechamento travado tem muito mais chance de funcionar quando você precisar. Se você apenas guarda bitcoin on-chain, nunca vai criar uma, e o benefício chega até você porque a Lightning fica mais barato de usar.
Âncora efêmera vs limite de poeira
O limite de poeira existe para impedir que o conjunto de saídas não gastas se encha de saídas pequenas demais para valer a pena gastar, e uma âncora efêmera é o único caso em que quebrar essa regra é comprovadamente seguro. Uma saída de poeira comum pode ficar sem ser gasta para sempre, custando a cada nó do planeta um pouco de memória por uma fração de centavo. Uma âncora efêmera não pode: sua transação pai não paga taxa, então nenhum minerador vai aceitar a transação pai a menos que a filha que gasta a âncora chegue com ela. A exceção não é um afrouxamento do princípio. É uma demonstração de que o princípio não se aplica.