Vai al contenuto
buybitcoinsmart

Glossario / Protocollo e aggiornamenti

Ancora effimera

Che cos'è un'ancora effimera?
Un'ancora effimera è un output di valore zero aggiunto a una transazione al solo scopo di permettere a qualcuno di collegarvi una transazione figlia che paga una commissione e di trascinare la transazione madre in un blocco.

Specificato nel BIP-431.

I protocolli di contratto come Lightning devono firmare le transazioni molto prima che qualcuno sappia quali saranno le commissioni, quindi hanno bisogno di un modo per aumentare la commissione in un secondo momento. Bitcoin Core 28.0 ha reso standard, proprio per questo compito, uno script di quattro byte che chiunque può spendere, e 29.0 ha permesso che un output di questo tipo non contenga nulla, purché la transazione madre non paghi commissioni. Il vantaggio sono chiusure di canale che costano meno e lasciano meno valore bloccato.

Come funziona

Un'ancora effimera risolve un problema di pianificazione: una transazione prefirmata porta con sé un tasso di commissione scelto mesi prima della trasmissione, e quando serve davvero il mercato si è già mosso.

La soluzione precedente assegnava alla transazione un piccolo output spendibile e lasciava che chi ne aveva bisogno trasmettesse una transazione figlia che pagava per entrambe. I canali anchor di Lightning lo fanno con due output da 330 satoshi, uno per parte. Funziona, ma quel denaro è impegnato dentro ogni transazione di commitment, e in seguito gli output restano nell'insieme delle monete attive, che qualcuno li spenda o no.

Pay-to-anchor ha eliminato gran parte di quel costo. Bitcoin Core 28.0 ha riconosciuto un nuovo output standard il cui script è esattamente di quattro byte: OP_1, un push di due byte e i byte 0x4e 0x73. È un programma segwit di versione 1 e lunghezza due e, poiché Taproot lascia senza vincoli i programmi di versione 1 sconosciuta, chiunque può spenderlo con un witness vuoto. Nessuna chiave, nessuno script da rivelare e un input abbastanza piccolo da valere quasi nulla.

All'inizio la regola sulla polvere si faceva ancora sentire. Bitcoin Core valuta un output in base a quanto costerebbe spenderlo, e per questo si arriva a 80 byte virtuali, il che, al tasso standard per la polvere di 3 satoshi per byte virtuale, significa che deve contenere almeno 240 satoshi. Meglio di 330, ma non ancora gratis.

Bitcoin Core 29.0 ha colmato il divario con la polvere effimera: una transazione può portare un solo output sotto la soglia della polvere, compreso uno che non vale nulla, purché la transazione stessa paghi esattamente zero commissioni. La commissione zero è il trucco. Una transazione madre che non paga nulla non può mai essere minata da sola, quindi l'ancora è garantita contro il rischio di restare bloccata tra le monete attive. Esiste solo dentro un pacchetto insieme alla transazione figlia che la spende, ed è da qui che viene il nome.

Altri due elementi di Bitcoin Core 28.0 rendono utilizzabile la soluzione. Le transazioni TRUC, specificate nel BIP431 e segnalate dalla versione 3, consentono una transazione madre non confermata e una figlia non confermata e limitano la transazione a 10.000 byte virtuali, il che elimina gli attacchi di pinning che rendevano inaffidabile l'aumento delle commissioni. La trasmissione opportunistica dei pacchetti permette poi a una transazione madre di viaggiare insieme alla figlia come coppia, così una madre a commissione zero può arrivare a un miner.

Dove la vedi

Le ancore effimere compaiono nelle chiusure dei canali Lightning e nei protocolli di contratto più recenti costruiti su transazioni prefirmate, mai nei pagamenti ordinari.

Su un explorer sembrano sbagliate a prima vista: un output che non vale nulla, speso nella transazione immediatamente successiva da un input con un witness vuoto. Se gestisci un nodo Lightning, l'effetto è che una chiusura forzata non ha più bisogno di polvere riservata in ogni commitment e che aumentare la commissione di una chiusura bloccata ha molte più probabilità di funzionare quando ti serve. Se detieni solo bitcoin on-chain non ne creerai mai una, e il beneficio ti arriva perché usare Lightning costa meno.

Ancora effimera vs limite della polvere

Il limite della polvere esiste per impedire che l'insieme delle monete attive si riempia di output troppo piccoli perché valga la pena spenderli, e un'ancora effimera è l'unico caso in cui infrangere quella regola è dimostrabilmente sicuro. Un normale output di polvere può restare non speso per sempre, costando a ogni nodo del mondo un po' di memoria per una frazione di centesimo. Un'ancora effimera non può: la sua transazione madre non paga commissioni, quindi nessun miner prenderà la madre a meno che la figlia che spende l'ancora arrivi insieme a essa. L'esenzione non è un'attenuazione del principio. È la dimostrazione che il principio non si applica.

Da non confondere con

Domande frequenti

Creerò mai un'ancora effimera da solo?

Non con un wallet ordinario. Le ancore sono create da protocolli di contratto come Lightning, che devono prefirmare transazioni e regolare la commissione in un secondo momento. I risparmi on-chain e i prelievi dall'exchange non le usano mai.

Perché un output di valore zero è consentito quando gli output di polvere vengono rifiutati?

Perché non può sopravvivere. La regola lo consente solo quando la transazione paga zero commissioni, il che significa che nessun miner confermerà la madre a meno che non venga inviata insieme a essa una figlia che spende l'ancora, quindi l'output non resta mai nell'insieme delle monete attive.

Termini correlati

Altro in Protocollo e aggiornamenti

Leggi questa pagina in inglese