La ZooBC Foundation
La ZooBC Foundation è l'organizzazione che sta dietro a ZooBC. Su ogni catena detiene gli 11 seggi genesi del registro dei nodi, e pubblica gli strumenti pubblici da riga di comando. Non ha alcun potere speciale su transazioni o saldi: il protocollo assegna a ogni chiave un solo compito, e alcune cose non le può fare nessuna chiave.
I seggi genesi
Ogni catena parte con 11 nodi registrati scritti nel suo blocco genesi: i seggi genesi, detenuti dalla Foundation. Ogni altro operatore entra nel registro dei nodi attraverso la coda (coda). Nessuno sceglie i nuovi arrivati; vengono ammessi uno alla volta, al ritmo fissato dal protocollo. Su mainnet il primo nuovo arrivato viene ammesso 7 giorni dopo la genesi, poi uno per ciclo di 600 giorni divisi per i seggi conteggiati, entro un minimo di 7 e un massimo di 90 giorni: circa 54,5 giorni finché i seggi conteggiati sono 11 (ritmo di ammissione). In quel conteggio i seggi genesi pesano al massimo 11.
Una volta ammesso, ogni seggio attivo ha la stessa possibilità di essere estratto per produrre un blocco. I seggi genesi seguono le stesse regole degli altri, e partono dallo stesso punteggio di partecipazione del 20 % di ogni nuovo nodo.
Gli strumenti
La Foundation pubblica gli strumenti pubblici da riga di comando su github.com/zoobc/tools, con licenza MIT, in dieci linguaggi: C++, TypeScript, JavaScript, Python, Go, Rust, Kotlin, Swift, PHP e Perl. Dialogano con un nodo solo tramite la sua API pubblica, come può fare qualsiasi applicazione (strumenti da riga di comando).
Le chiavi e i loro compiti
ZooBC assegna a ogni chiave un solo compito:
| Chiave | Che cosa fa |
|---|---|
| autorità di release | registra le release del software tramite l'hash dei loro file, e può revocarle |
| tesoreria | un account ordinario: spende ciò che detiene |
| market maker | un account ordinario |
| autorità delle pagine | nessuna regola della catena la legge |
| proprietario del seggio | registra, aggiorna, cambia la chiave e rimuove il proprio nodo, e incassa le vincite del nodo |
| chiave del nodo | produce blocchi e firma ricevute, attestazioni e voti |
Dalla versione 0.5.8 le quattro chiavi di ruolo (autorità di release, autorità delle pagine, tesoreria e market maker) hanno quattro indirizzi distinti su tutte e tre le catene, ciascuna conservata su un proprio dispositivo. Il costruttore della genesi verifica che siano diverse. Delle quattro, solo l'autorità di release ha un potere sulla catena, e può detenere fino a 1.000 ZBC alla genesi per pagare le proprie commissioni. I seggi esercitano un controllo su di essa: due terzi di loro possono porre il veto a una release, e due terzi che mantengono il proprio voto per una settimana possono sostituire l'autorità (release e aggiornamenti).
I proprietari dei seggi e le chiavi dei nodi sono spiegati nell'articolo chiavi di un nodo.
Che cosa nessuna chiave può fare
- Nel consenso non esiste una chiave di amministrazione. Una regola, un parametro o un saldo cambiano solo tramite transazioni che ogni nodo convalida, o tramite i voti sui prezzi, entro limiti, dei seggi (voti sui prezzi); mai tramite un messaggio firmato.
- La genesi è fissa. I suoi account, seggi, parametri e altezze delle regole fanno parte dell'identità della catena.
- L'attivazione delle regole non si può né votare né firmare. Un binario del nodo in disaccordo con le altezze delle regole registrate per la sua catena si rifiuta di funzionare.
- La tesoreria non può coniare. I nuovi ZBC provengono solo dal piano della coinbase (supply ed emissione).
- La registrazione di una release ha valore indicativo. Orienta solo i nodi che hanno scelto di aggiornarsi da soli, e questi verificano l'hash rispetto alla catena. Un nodo che esegue un binario scelto dal suo operatore non ne viene toccato.
- Nessuno approva le transazioni. Ogni nodo convalida ogni transazione e ogni blocco con le stesse regole, quindi la Foundation non può approvare, annullare o bloccare un pagamento.
Queste garanzie valgono grazie al codice che ogni nodo esegue, non grazie alla promessa di qualcuno. Nemmeno i nuovi ZBC vengono minati o venduti da qualcuno: seguono un piano fisso e vengono pagati per lotteria ai nodi registrati in proporzione al loro punteggio (lotteria coinbase).