ASERT Spiegato
ASERT (Absolutely Scheduled Exponentially Rising Targets, implementato come aserti3-2d) è l'algoritmo di aggiustamento della difficoltà di Bitcoin Cash, attivo da novembre 2020, che ricalcola la difficoltà di mining per ogni singolo blocco invece che ogni 2.016 blocchi come Bitcoin.
ASERT (Absolutely Scheduled Exponentially Rising Targets, implementato come aserti3-2d) è l’algoritmo di aggiustamento della difficoltà di Bitcoin Cash, attivo da novembre 2020, che ricalcola la difficoltà di mining per ogni singolo blocco invece che ogni 2.016 blocchi come Bitcoin. Misura quanto la cronologia reale della catena si è discostata dal suo programma ideale di 10 minuti per blocco da un punto ancora fisso, e corregge la difficoltà esponenzialmente con una mezza vita di due giorni. L’effetto che conta per i miner in solitaria: aggiustamento continuo senza scogliere che elimina le finestre redditizie che l’hashrate opportunistico usa per saccheggiare una catena — proteggendo le probabilità di tutti coloro che minano costantemente.
Conclusioni chiave
- Per blocco, non per epoca. Bitcoin mantiene la difficoltà fissa per ~2.016 blocchi e poi salta; ASERT la aggiusta ogni blocco. Nessun altopiano significa nessuna finestra — la singola conseguenza più importante per i miner.
- La formula è una riga. next_target = anchor_target × 2^((actual_time − scheduled_time) / half_life). La difficoltà è semplicemente la difficoltà dell’ancora scalata in base a quanto la catena si è discostata dal programma.
- La mezza vita di due giorni è il parametro di regolazione. Due giorni avanti al programma e la difficoltà raddoppia; due giorni indietro e si dimezza. Abbastanza veloce da seguire l’hashrate reale, abbastanza lenta da ignorare il rumore dei blocchi fortunati.
- È stata progettata per premiare i miner costanti. Gli obiettivi di progettazione espliciti di ASERT includevano la minimizzazione del vantaggio di profitto degli switch-miner che saltano tra catene — esattamente la protezione che vuole un miner in solitaria su una catena minoritaria.
- Lo stesso design può intrappolare una catena troppo piccola. Un breve inondamento di hashrate fa salire la difficoltà; quando se ne va, una catena piccola può impiegare ~6,6 giorni per riprendersi da un picco 10×. Ecco perché il comportamento di ASERT sulle catene piccole è allo stesso tempo una caratteristica e un pericolo.
Questo articolo si colloca nel nostro cluster di scienza della difficoltà insieme a il profilo di Bitcoin Cash, dove ASERT è l’armatura della catena, e la guida alle finestre di retarget di BC2, che esplora il mondo opposto — una catena dove le finestre esistono ancora e possono essere sfruttate. Capire ASERT significa capire perché alcune catene hanno quelle finestre e altre no.
Il problema che ASERT è stata progettata per risolvere
Ogni catena proof-of-work deve rispondere continuamente a una domanda: mentre l’hashrate entra o esce, come manteniamo i blocchi che arrivano circa ogni dieci minuti? La risposta originale di Bitcoin — ricalcolare ogni 2.016 blocchi dal ritmo dell’epoca precedente — funziona magnificamente quando l’hashrate è enorme e stabile. Su una catena più piccola fallisce in modo specifico e sfruttabile.
Bitcoin Cash lo ha imparato nel modo più duro. Il suo primo algoritmo di difficoltà dopo il fork del 2017, e un aggiustamento d’emergenza prima di esso, ha prodotto violente oscillazioni: la difficoltà scendeva, i «switch miner» opportunistici si riversavano per coniare blocchi facili, la difficoltà risaliva di scatto, se ne andavano, e la catena si bloccava fino al prossimo calo — un dente di sega che danneggiava tutti coloro che minavano costantemente. Lo schema aveva un nome e una vittima: la finestra redditizia, e il miner leale la cui quota diluiva. ASERT è stato progettato, dopo estese simulazioni contro algoritmi concorrenti, specificamente per appiattire quel dente di sega — e i suoi obiettivi dichiarati includevano mantenere i tempi di blocco vicini all’obiettivo, mantenere i tempi di conferma vicini all’obiettivo, e ridurre il divario di redditività tra i miner costanti e gli switch-miner.
Come funziona realmente aserti3-2d
L’intero algoritmo è un’elegante formula:
next_target = anchor_target × 2((time_delta − ideal_block_time × (height_delta + 1)) / half_life)
Leggilo in linguaggio semplice. Prendi un blocco ancora fisso dal passato della catena — per Bitcoin Cash, il blocco immediatamente prima dell’attivazione di ASERT. La sua difficoltà è la linea di base permanente. Ora per ogni nuovo blocco, calcola due cose: time_delta, quanto tempo reale è trascorso dall’ancora, e il tempo programmato, che è semplicemente ideal_block_time (600 secondi) moltiplicato per il numero di blocchi dall’ancora. La differenza tra loro — la catena è avanti o indietro rispetto al suo calendario ideale? — va nell’esponente, divisa per la mezza vita. Se la catena è esattamente in orario, l’esponente è zero, 20 = 1, e la difficoltà è uguale a quella dell’ancora. Essere avanti rende l’esponente positivo, raddoppiando la difficoltà per ogni mezza vita di vantaggio. Essere indietro lo rende negativo, dimezzando la difficoltà per ogni mezza vita di ritardo.
Due scelte di progettazione lo rendono robusto. Poiché l’ancora è assoluta (un punto fisso, mai una finestra scorrevole), l’imprecisione di arrotondamento non può accumularsi nel corso di mesi — ogni blocco è calcolato di nuovo dallo stesso origine. E poiché l’aritmetica in virgola mobile produce risultati diversi su processori diversi — una catastrofe di consenso in attesa — ASERT approssima l’esponenziale con aritmetica intera a virgola fissa e un polinomio cubico, in modo che ogni nodo su ogni macchina calcoli una difficoltà identica byte per byte. È un loop di retroazione di sistema di controllo mascherato da tre righe di codice intero.
La mezza vita di due giorni: il numero che conta
La mezza vita è la personalità di ASERT. Bitcoin Cash ha scelto due giorni (tecnicamente il tempo ideale di 288 blocchi), e la versione leggibile dall’uomo è esattamente così pulita come sembra: per ogni due giorni che la catena si avanza al programma, la difficoltà raddoppia; per ogni due giorni che rimane indietro, la difficoltà si dimezza.
Perché esattamente due giorni? È un punto di equilibrio trovato in simulazione. Una mezza vita troppo breve e la difficoltà tremola ad ogni serie fortunata di blocchi veloci, reagendo in eccesso al rumore statistico — la catena non si stabilizza mai. Troppo lunga e risponde lentamente ai cambiamenti reali di hashrate, deviando dall’obiettivo per giorni e riaprendo le stesse finestre che avrebbe dovuto chiudere. Due giorni si trova nel punto ottimale: reattiva in circa un giorno ai cambiamenti reali, sorda al jitter casuale dei singoli blocchi. L’aritmetica pratica che ne deriva: riprendersi da un picco di difficoltà 2× richiede 2 giorni, un picco 4× richiede 4 giorni, e un picco 10× circa 6,6 giorni — numeri che diventano molto importanti nel momento in cui una catena è piccola.
Cosa significa ASERT per un miner in solitaria
Tre conseguenze, in ordine di importanza.
Le tue probabilità costanti sono protette. Questo è il titolo. Su una catena con aggiustamento per epoca, un miner a raffica può aspettare un calo di difficoltà, inondare durante la finestra facile e andarsene prima della correzione — ogni blocco facile che conia è uno che non hai coniato tu, diluendo la tua quota di un intervallo manipolato. ASERT elimina quella finestra: la difficoltà sale nell’istante in cui arrivano e scende nell’istante in cui se ne vanno, blocco per blocco, quindi non c’è lag da sfruttare. La quota attesa del miner leale rimane pulita.
La difficoltà che vedi è onesta. Su Bitcoin, la difficoltà di oggi riflette la rete di fino a due settimane fa; su una catena ASERT riflette la rete degli ultimi pochi blocchi. Quando calcoli le tue probabilità — in la calcolatrice o a mano — il numero di una catena ASERT è un prezzo in tempo reale, non una media in ritardo, quindi la tua stima di probabilità è aggiornata quanto la catena stessa.
Non puoi calcolarne il momento — e nemmeno nessun altro. Il rovescio della protezione è che ASERT non offre alcun punto di ingresso intelligente. Non c’è un calo di difficoltà su cui lanciarsi, perché qualsiasi calo è già incorporato nell’intera rete simultaneamente. Questo è esattamente il contrario della dinamica giocabile sulle catene con finestra di retarget, ed è uno scambio equo: rinunci alla possibilità di manipolare il calendario in cambio della garanzia che nessuno lo manipola contro di te.
Il paradosso delle catene piccole: il filo più affilato di ASERT
Qui è dove l’eleganza diventa a doppio taglio. La reattività di ASERT assume che una catena abbia abbastanza hashrate stabile da seguire un segnale reale e persistente. Dagli una catena con pochissimo hashrate, e un singolo grande miner diventa un’arma — non sempre maliziosamente, a volte semplicemente apparendo.
Il modo di fallire: un grande miner punta hashrate serio su una catena piccola per qualche ora. I blocchi volano, la catena si trova molto avanti al programma, e ASERT alza diligentemente la difficoltà — forse 10×. Poi il grande miner se ne va. Ora il normale e modesto hashrate della catena si trova di fronte a una difficoltà costruita per dieci volte le sue dimensioni, e i blocchi rallentano fino a un passo d’uomo. Con la mezza vita standard di due giorni, riprendersi da un picco 10× richiede circa 6,6 giorni — quasi una settimana in cui la catena è effettivamente congelata, le conferme si bloccano, e i miner leali che l’algoritmo avrebbe dovuto proteggere sono quelli rimasti a macinare. È la versione dell’algoritmo di difficoltà di un infortunio da stress: il muscolo che rende forte una catena sana può lacerare una debole.
È per questo che le catene SHA-256 più nuove e piccole che adottano ASERT spesso lanciano con una mezza vita ridotta — riprendendosi dai picchi in ore invece che in giorni — accettando un po’ più di sensibilità al rumore in cambio della sopravvivenza. È anche una grande parte del motivo per cui le catene molto piccole sono più rischiose da minare di quanto le loro probabilità attraenti suggeriscano, un compromesso che vale la pena capire completamente prima di puntare hashrate sul fondo della scala.
Conclusione
ASERT è uno dei capolavori silenziosi della proof-of-work: una formula di una riga, un’approssimazione intera di un esponenziale, e una mezza vita di due giorni che insieme trasformano un violento dente di sega di difficoltà in una curva liscia e senza scogliere. Per il miner in solitaria su Bitcoin Cash, funziona invisibilmente e a tuo favore — proteggendo la tua quota dagli switch-miner, mantenendo le tue probabilità oneste al minuto, e chiedendo solo che tu rinunci a un’opportunità di gioco che non avresti comunque mai vinto.
E nel suo filo più affilato — la trappola del picco sulle catene piccole — insegna la lezione più profonda nel cluster di scienza della difficoltà: lo stesso meccanismo può essere armatura o pericolo a seconda interamente di quanto hashrate c’è dietro. Sapere su quale catena sei, e sai quale ASERT stai minando.
Mina una catena che protegge i miner costanti
SoloFury gestisce Bitcoin Cash sui propri nodi — protetto da ASERT, difficoltà per blocco, nessuna finestra per i miner a raffica di saccheggiare la tua quota. Pagamenti coinbase non custodiali, commissione dell’1%, endpoint TLS in ogni regione, difficoltà live nella calcolatrice. L’hashrate costante è esattamente ciò per cui questo algoritmo è stato progettato.
Mina BCH in solitaria →Vedi le probabilità di difficoltà live →Domande frequenti
Cosa significa ASERT?
Absolutely Scheduled Exponentially Rising Targets. «Programmato in assoluto» significa che la difficoltà è calcolata da un punto di ancoraggio fisso nella storia della chain, non da una finestra recente mobile; «target in crescita esponenziale» descrive la relazione esponenziale tra quanto la chain è avanti o indietro rispetto al programma e come risponde la difficoltà. L'implementazione completa si chiama aserti3-2d — il «2d» è la sua mezza vita di due giorni.
In cosa differisce ASERT dall'aggiustamento di difficoltà di Bitcoin?
Bitcoin ricalcola la difficoltà una volta ogni 2,016 blocchi (~2 settimane) in base a quanto è durata l'epoca precedente, tenendola fissa nel mezzo. ASERT ricalcola a ogni singolo blocco, misurato rispetto a un ancoraggio fisso, così la difficoltà si muove in modo continuo e morbido. Risultato pratico: Bitcoin ha plateau di difficoltà di circa due settimane, mentre Bitcoin Cash non ne ha affatto — e quindi nessuna finestra sfruttabile.
Cos'è il blocco di ancoraggio in ASERT?
L'ancoraggio è un blocco di riferimento fisso — precisamente il blocco immediatamente precedente all'attivazione di ASERT sulla chain — la cui altezza e il cui target fungono da base «assoluta» permanente per ogni calcolo futuro. La difficoltà di ogni nuovo blocco si calcola come la difficoltà dell'ancoraggio scalata in base a quanto la linea temporale effettiva della chain si è discostata dal programma ideale da quell'ancoraggio in poi. Poiché il riferimento non si sposta mai, gli errori di arrotondamento non si accumulano nel tempo.
Perché la mezza vita di due giorni è importante?
La mezza vita stabilisce quanto in fretta risponde la difficoltà. A due giorni: per ogni due giorni in cui la chain è avanti rispetto al programma, la difficoltà raddoppia; per ogni due giorni di ritardo, si dimezza. È un equilibrio deliberato — abbastanza rapido da reagire ai cambiamenti reali di hashrate nel giro di un giorno, abbastanza lento da ignorare il rumore casuale dei singoli blocchi fortunati o lenti. Riprendersi da un picco di difficoltà di 10× richiede circa 6.6 giorni con questa mezza vita.
ASERT cambia le mie probabilità di trovare un blocco?
Non le tue probabilità a una data difficoltà — quelle equivalgono sempre al tuo hashrate diviso per quello totale della rete. Ciò che ASERT cambia è l'equità e la stabilità di quelle probabilità nel tempo. Eliminando le finestre di retarget, impedisce ai miner opportunisti di razziare i periodi facili diluendo la quota dei miner costanti; e aggiustando a ogni blocco mantiene la difficoltà che vedi onesta rispetto alle condizioni attuali, invece che vecchia di due settimane.
Perché ASERT può essere pericoloso per le chain molto piccole?
La stessa reattività che stabilizza una chain sana può intrappolarne una minuscola. Se una chain ha pochissimo hashrate e un grande miner la inonda per un breve periodo, la difficoltà schizza in alto; quando quel miner se ne va, l'hashrate rimasto resta bloccato a macinare a una difficoltà gonfiata e i blocchi rallentano fino quasi a fermarsi. Con una mezza vita standard di due giorni, riprendersi da un picco di 10× richiede circa 6.6 giorni — quasi una settimana di chain quasi congelata. Le nuove chain piccole spesso partono con una mezza vita accorciata per recuperare più in fretta.
Quali chain usano ASERT?
Bitcoin Cash ha adottato aserti3-2d con l'aggiornamento Axion del novembre 2020, e da allora è stato adottato da altre chain SHA-256 della famiglia che ne vogliono le proprietà di stabilità, talvolta con una mezza vita modificata e tarata su una rete più piccola. eCash usa un proprio approccio a livelli. Bitcoin stesso non usa ASERT — mantiene il retarget originale ogni 2,016 blocchi.
Posso cronometrare un calo di difficoltà su una chain ASERT?
No — ed è proprio questo il punto. Sulle chain con retarget a epoche, un calo di difficoltà apre una finestra temporanea di probabilità migliori in cui puoi provare a entrare. ASERT aggiusta a ogni blocco, quindi ogni variazione è immediata e incorporata per tutti nello stesso istante; non c'è ritardo da sfruttare né finestra da cronometrare. Le tue probabilità costanti sono protette proprio perché nemmeno gli altri possono manipolare il programma.