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.