La lotteria coinbase
La lotteria coinbase è il modo in cui ZooBC paga i suoi nodi. Il pool di ricompensa di ogni blocco, fatto delle monete appena rilasciate, delle commissioni del blocco e di una fetta del pool di longevità, viene diviso in quote uguali, e ogni quota viene estratta tra i nodi registrati con una probabilità proporzionale al loro punteggio di partecipazione. Il nodo che ha prodotto il blocco non vanta alcun diritto particolare su di esso: i nodi guadagnano svolgendo il lavoro che il punteggio misura.
Il pool di ricompensa
Il pool di ricompensa di ogni blocco è la somma di:
- la sua coinbase, i nuovi ZBC che il piano di emissione rilascia per quel blocco (supply ed emissione);
- le commissioni delle sue transazioni, al netto di quanto pagato in eccesso e rimborsato ai mittenti (commissioni);
- una fetta del pool di longevità, che raccoglie canoni e penalità e li distribuisce un po' alla volta in ogni blocco (pool).
Chi possiede un biglietto
Un possessore di biglietto è un nodo registrato maturo, né mancante né sospeso:
- Maturo. Un nuovo nodo non guadagna nulla fino a 4 unità di punteggio dopo la sua ammissione e a un blocco proprio: 2 giorni finché la catena ha meno di 2.880 nodi (maturità e guadagni).
- Non mancante. Un nodo che ha saltato il suo turno conta come mancante fino al suo prossimo blocco, e nel frattempo non guadagna nulla (turni mancati, sospensione ed espulsione).
- Non sospeso. Un nodo sospeso dopo 4 turni mancati consecutivi non possiede alcun biglietto.
Nemmeno i nodi ancora in attesa nella coda hanno punteggio o biglietto.
Le estrazioni
Il pool viene distribuito con un certo numero di estrazioni:
- un'estrazione per ogni secondo di tempo di blocco, misurato come l'intervallo tra i due blocchi precedenti, che il produttore del blocco non può scegliere;
- al massimo 600 estrazioni, e mai più estrazioni che possessori di biglietti;
- quando il pool contiene più di 1 ZBC per estrazione, il numero sale a un'estrazione per ogni ZBC intero nel pool, entro gli stessi due limiti.
Una catena con 11 possessori di biglietti ha quindi 11 estrazioni per blocco, non 15. Con 1.000 possessori di biglietti, un intervallo di 15 secondi e un pool di 30 ZBC, il numero parte da 15, che darebbe 2 ZBC per estrazione, e sale a 30.
Ogni estrazione vince una quota uguale: il pool diviso per il numero di estrazioni, arrotondato per difetto all'unità atomica, con il resto aggiunto all'ultima quota. Le vincite vengono pagate all'account del proprietario del nodo, non alla chiave del nodo (chiavi di un nodo).
Le possibilità seguono il punteggio
Ogni estrazione sceglie un nodo con una probabilità proporzionale al suo punteggio di partecipazione. Con due possessori di biglietti all'80 % e al 40 %, il primo ha il doppio della probabilità del secondo di vincere qualsiasi estrazione, e il secondo può comunque vincerne una qualsiasi. Le estrazioni sono indipendenti e con reinserimento, quindi un nodo può vincere più quote dello stesso blocco.
I numeri casuali provengono da un generatore inizializzato con l'etichetta zbc-coinbase e il seed del blocco precedente (seed del blocco (VRF)), così ogni nodo calcola gli stessi vincitori e può verificare ogni pagamento.
Nel tempo, il reddito atteso di un nodo è la sua quota del punteggio totale di tutti i possessori di biglietti. Lo stake non ha alcun ruolo: fa entrare un nodo in coda, e da solo non rende nulla.
Casi particolari
- Se nessun possessore di biglietto ha un punteggio che si possa pesare, il pool viene diviso in parti uguali tra i possessori di biglietti.
- Se nessun nodo possiede un biglietto, il pool viene riportato al blocco successivo.
- La commissione taker del mercato non fa parte del pool: va al produttore del blocco, ed è l'unico addebito pagato al produttore anziché alla lotteria. Se quel produttore non è ancora maturo, la commissione taker va invece alla lotteria (mercati e ordini).
Che cosa ricompensa
Il punteggio sale quando i blocchi di un nodo contengono ricevute per i dati che ha inoltrato ai peer assegnati, e scende finché il nodo è mancante (punteggio di partecipazione). Poiché la lotteria segue il punteggio, e un nodo mancante o sospeso non possiede alcun biglietto, il reddito va ai nodi che continuano a produrre i loro blocchi e a inoltrare dati. Un nodo che si limita a detenere uno stake non guadagna nulla.