Supply ed emissione
Una catena ZooBC non può mai contenere più di 33.333.333,33333333 ZBC. Una parte viene accreditata alla genesi; il resto, il pool coinbase, viene rilasciato blocco dopo blocco in 15 anni lungo una curva fissa, più veloce all'inizio. Non ci sono né mining né interessi da staking: la coinbase è l'unica fonte di nuovi ZBC, e dopo 15 anni non ne viene creato più nessuno.
Il tetto
Il tetto della supply, total_supply, è di 3.333.333.333.333.333 unità atomiche, cioè 33.333.333,33333333 ZBC, su ogni catena. Copre tutto quanto. Quando una catena viene costruita, il costruttore della genesi sottrae ogni accredito genesi: gli account con fondi, la tesoreria, la tesoreria delle app che finanzia il pool delle app, i piani di vesting e 10 ZBC per l'account proprio di ciascun nodo genesi. Il resto è il pool coinbase. Il costruttore somma poi di nuovo gli accrediti e si rifiuta di scrivere una genesi il cui totale supererebbe il tetto (blocco genesi).
Il tetto è quindi il totale, non la coinbase: il pool coinbase è ciò che la genesi ne lascia.
Solo la coinbase crea ZBC
I nuovi ZBC provengono solo dalla coinbase, le nuove monete che ogni blocco porta. Nessuno li mina, nessuno stake rende interessi, e la tesoreria è un account ordinario che può spendere ciò che detiene ma non può coniare. La coinbase non va nemmeno al nodo che ha prodotto il blocco: si unisce al pool di ricompensa del blocco insieme alle commissioni, e la lotteria coinbase distribuisce il pool tra i nodi registrati in base al loro punteggio di partecipazione.
Nessuna regola distrugge ZBC (ZBC non viene mai bruciato), quindi la quantità esistente cresce secondo il piano verso il tetto.
La curva
L'emissione cumulativa al tempo t, il totale che la coinbase ha rilasciato dalla genesi, è:
D(t) = floor(y × pool)
y = (σ(3 + 3τ) − σ(3)) ÷ (σ(6) − σ(3))
σ(x) = 1 ÷ (1 + e^−x)
τ = (t − genesis time) ÷ 473,040,000 s, kept between 0 and 1
473.040.000 secondi sono 15 anni di 365 giorni. Ogni nodo calcola la curva in doppia precisione e arrotonda per difetto il risultato alle unità atomiche, così tutti i nodi arrivano alla stessa cifra.
σ è la funzione logistica (sigmoide), a forma di S. Tra x = 3 e x = 6 se ne usa solo la coda che si appiattisce, scalata in modo che y vada da 0 alla genesi a 1 dopo 15 anni. Il rilascio è quindi concentrato all'inizio:
| Tempo dalla genesi | Quota del pool rilasciata |
|---|---|
| 1 anno | 18,4 % |
| 2 anni | 33,7 % |
| circa 3 anni e 4 mesi | 50 % |
| 5 anni | 65,5 % |
| 10 anni | 90,6 % |
| 15 anni | 100 % |
Il ritmo alla genesi è circa 18,3 volte quello dell'anno 15, e dopo 15 anni non viene rilasciato più nulla. Le ricompense più grandi arrivano nei primi anni, quando il registro è ancora piccolo. Non ci sono halving con salti improvvisi, e il ritmo non è costante: scende dolcemente a ogni secondo.
Il tempo, non i blocchi
La coinbase di un blocco è:
coinbase = D(this block's timestamp) − D(previous block's timestamp)
L'emissione segue quindi l'orologio, non il numero di blocchi. Un blocco che segue un lungo intervallo porta più coinbase e uno che segue un intervallo breve ne porta meno, mentre il totale di un giorno resta lo stesso. Un tratto di blocchi lenti non conia di meno, e una raffica di blocchi veloci non conia di più. Il numero di transazioni in un blocco e lo stake del suo produttore non hanno alcun ruolo.
Dalla versione 0.5.8 un blocco deve portare esattamente l'importo previsto, blocchi vuoti compresi; qualsiasi altra cifra lo rende non valido su ogni nodo. Alle altezze 0 e 1 non viene pagata alcuna coinbase.
Nessuno può cambiarla
Il piano fa parte delle regole di consenso fissate alla genesi, e ogni nodo verifica rispetto a esso la coinbase di ogni blocco. Non è tra i prezzi che i seggi del registro possono votare (voti sui prezzi), e nessuna chiave può cambiarlo (ZooBC Foundation).