I pool
ZooBC raccoglie il denaro che fa pagare per conservare cose sulla catena in due account di sistema, il pool di longevità e il pool di archiviazione. Nessuno ne detiene una chiave: le loro monete si muovono solo secondo le regole del protocollo, e queste regole le pagano ai nodi registrati. Un terzo account di sistema, il pool delle app, fa da banco per le scommesse on-chain ed è descritto nell'articolo pool delle app.
Account senza chiave
L'indirizzo di ogni pool è un nome ASCII completato con zeri fino a 32 byte: ZBCLONGV per il pool di longevità, ZBCSTORE per il pool di archiviazione e ZBCAPPS per il pool delle app. Nessuna chiave privata corrisponde a questi indirizzi, quindi nessuna firma può spendere da essi (account e indirizzi). Il pool di longevità e il pool di archiviazione sono esenti dal canone degli account.
Il pool di longevità
Il pool di longevità raccoglie ciò che ZooBC fa pagare per conservare cose sulla catena, insieme alle sue penalità. Dalla versione 0.5.8 riceve:
- il canone degli account (canone degli account e pruning), il canone dei dataset (dataset), il canone dei mercati (mercati e ordini) e il canone degli escrow (escrow);
- il canone prelevato dai depositi di longevità, che conservano transazioni scelte oltre la cronologia ordinaria, e ciò che resta quando un tale deposito viene chiuso (pagare per conservare i dati (longevità));
- i depositi recuperati da dati che hanno smesso di pagare, come il resto del deposito di un file archiviato quando il file viene eliminato;
- la manutenzione pagata per mantenere in vita i token (manutenzione dei token (persistenza));
- poiché ZBC non viene mai bruciato, la quota del 10 % dello stake che un nodo perde nei casi elencati in ZBC non viene mai bruciato, le commissioni di presenza dei nodi in coda (coda), e gli spiccioli rimasti in ogni account eliminato e in ogni gruppo di account sciolto.
La coinbase e le normali commissioni delle transazioni fanno una strada più breve. Vanno direttamente nel pool di ricompensa del proprio blocco e vengono distribuite dalla lotteria di quel blocco, senza passare dal pool di longevità.
Una fetta in ogni blocco
Il pool di longevità paga in ogni blocco sopra l'altezza 1. Ogni blocco prende una fetta del suo saldo:
slice = floor(balance ÷ (period − height mod period))
Il periodo è il periodo di fatturazione, un ciclo di snapshot: 172.800 blocchi, cioè 30 giorni, su mainnet. La fetta lascia il pool e si unisce al pool di ricompensa di quel blocco insieme alla coinbase e alle commissioni, e la lotteria coinbase la distribuisce.
Poiché il divisore scende fino a 1, il pool è vuoto a ogni fine periodo, e il denaro che arriva a metà periodo viene distribuito sui blocchi che restano. Per esempio, 17,28 ZBC nel pool all'inizio di un periodo, senza altri arrivi e senza altri pagamenti in uscita, pagano 10.000 unità atomiche (0,0001 ZBC) in ciascuno dei 172.800 blocchi. Un pool più piccolo del numero di blocchi rimanenti non paga nulla finché non cresce, perché la divisione avviene in unità atomiche intere.
Pagare per blocco lascia decidere alle regole della lotteria chi guadagna: solo i nodi maturi che non sono né mancanti né sospesi possiedono biglietti, e le quote seguono i possessori di biglietti di ogni blocco, non chi per caso ne ha diritto in un singolo momento. Il pool non è una riserva per le emergenze, e non rimborsa nessuno: esiste per pagare i nodi che conservano i dati della catena.
Una quota per l'archivio
Il pool di longevità paga anche l'archivio, in cui l'archiviazione decentralizzata conserva ogni snapshot della catena dal blocco zero. A ogni epoca di archiviazione, il 10 % del pool di longevità viene pagato in parti uguali ai nodi che dimostrano le porzioni campionate di quegli snapshot.
Il pool di archiviazione
Il pool di archiviazione riceve il canone dei file conservati nell'archiviazione decentralizzata e paga i nodi che li detengono (pool di archiviazione decentralizzata). A ogni epoca, 240 blocchi o circa un'ora, i nodi assegnati ai frammenti di un file inviano prove di archiviazione. Per ogni frammento la cui prova viene confermata, il proprietario di ogni detentore concorde viene pagato dal pool: il canone dei file attivi per l'epoca, diviso per il numero di prove attese, e mai più di quanto il pool contenga. Un detentore messo in minoranza, o immaturo, rinuncia alla ricompensa di quell'epoca, che resta nel pool.
I prezzi che alimentano entrambi i pool, dal canone degli account al prezzo di archiviazione per MiB, sono votati dai seggi del registro entro limiti fissi (voti sui prezzi).