Wiki di ZooBC
Fondamenti di ZooBC

Che cos'è ZooBC

ZooBC è una blockchain pubblica con una propria moneta, ZBC. Chiunque può aprire un account, inviare transazioni e gestire un nodo che verifica ogni blocco. Il suo consenso, il Proof of Participation, non prevede mining: i blocchi vengono prodotti a turno da nodi registrati estratti a sorte, e le nuove monete vanno ai nodi che svolgono per la rete il lavoro di inoltrare i dati.

Una catena pubblica con una propria moneta

ZooBC non è un token su un'altra rete. Ha una propria catena, propri nodi e una propria moneta nativa, ZBC, che paga le commissioni delle transazioni, gli stake dei nodi e i canoni. Nessuno ha bisogno di un permesso per seguire la catena o verificarla: ogni blocco, saldo e transazione è pubblico, e l'API di qualsiasi nodo risponde a chiunque (account e indirizzi).

Esistono tre reti ZooBC separate, devnet, testnet e mainnet (devnet, testnet e mainnet). Ognuna inizia con il proprio blocco genesi, il cui hash è l'identità della catena.

Come vengono prodotti i blocchi

Un nuovo blocco arriva circa ogni 15 secondi (blocchi e tempo). I blocchi non si vincono risolvendo enigmi. Il registro dei nodi è l'insieme on-chain dei nodi autorizzati a produrre blocchi, e dopo ogni blocco un'estrazione casuale a partire dal seed di quel blocco designa chi può produrre il successivo (estrazione). Ogni nodo può ripetere l'estrazione e arrivare alla stessa risposta, quindi un blocco proveniente da un nodo non estratto viene rifiutato. Ogni seggio attivo ha la stessa possibilità nell'estrazione: hardware, saldo e stake non la cambiano.

Il Proof of Participation misura anche il lavoro che tiene in vita una rete: passare blocchi e transazioni ad altri nodi. Quando un nodo registrato riceve dati da un altro nodo registrato, firma per essi una ricevuta, e le ricevute che un nodo può mostrare muovono il suo punteggio di partecipazione. Il punteggio pesa la lotteria coinbase che distribuisce le nuove monete e le commissioni di ogni blocco. La sicurezza poggia sulle firme Ed25519 e sull'hash SHA3-256, non sull'energia consumata.

I blocchi arrivano ogni 15 secondi; per ogni blocco un nodo del registro dei nodi viene estratto a sorte per produrlo. Non c'è mining.
I blocchi arrivano ogni 15 secondi; per ogni blocco un nodo del registro dei nodi viene estratto a sorte per produrlo. Non c'è mining.

Che cos'è un nodo

Un nodo è il software ZooBC in esecuzione su un computer. Scarica la catena, verifica ogni blocco e ogni transazione con le stesse regole di ogni altro nodo e conserva lo stato che ne risulta: saldi, token, registro dei nodi e tutto il resto. Offre un'API HTTP pubblica (API del nodo) e la pagina del wallet ufficiale su /wallet (procurarsi un wallet e custodirlo al sicuro).

Un nodo può partecipare a due livelli:

  • Follower. Chiunque può gestire un nodo che si limita a seguire e verificare la catena. Permette al suo proprietario di verificare tutto senza fidarsi di nessuno, ma non produce blocchi.
  • Produttore. Un nodo che entra nel registro dei nodi può produrre blocchi. Il suo proprietario registra la chiave del nodo da un normale account, blocca uno stake e attende in coda finché il nodo non viene ammesso (registrare un nodo). Da quel momento il nodo viene estratto per produrre blocchi, inoltra dati ai peer che il protocollo gli assegna, firma ricevute per ciò che riceve e partecipa alle nuove monete in base al suo punteggio.

Un wallet non è un nodo: è un client che dialoga con l'API di un nodo. E nessun nodo ZooBC fa mining.

Funzioni integrate nel protocollo

ZooBC non ha una macchina virtuale per il codice degli utenti, né EVM né gas. Ogni funzione è un tipo di transazione integrato, con una struttura di byte fissa e regole fisse: inviare ZBC, emettere un token, piazzare un ordine su un mercato, creare un escrow, archiviare un file, collegare account in un gruppo, pianificare pagamenti e altro ancora. Dalla versione 0.5.8 il protocollo definisce 73 numeri di tipo di transazione (transazioni, cosa puoi fare su ZooBC).

È un compromesso voluto. Ogni nodo sa in anticipo tutto ciò che una transazione può fare e la applica esattamente allo stesso modo, quindi l'effetto di una transazione non dipende mai da chi la elabora, e un wallet può calcolare la commissione minima prima di firmare. In cambio, un nuovo tipo di funzione arriva con una release del protocollo (release e aggiornamenti) invece che con la distribuzione di un contratto.

Le funzioni sono integrate nel protocollo ZooBC come tipi di transazione: inviare ZBC, token, mercati, escrow, dataset, file, app, gruppi di account, pianificazioni; 73 tipi di transazione dalla versione 0.5.8. Non c'è alcuna macchina virtuale per il codice degli utenti.
Le funzioni sono integrate nel protocollo ZooBC come tipi di transazione: inviare ZBC, token, mercati, escrow, dataset, file, app, gruppi di account, pianificazioni; 73 tipi di transazione dalla versione 0.5.8. Non c'è alcuna macchina virtuale per il codice degli utenti.

Regole che nessuna chiave può cambiare

Le regole di una catena arrivano con la sua genesi e con il software del nodo. Dalla versione 0.5.8 una catena ha 121 regole di consenso, tutte in vigore dall'altezza 0. Nessuna chiave può cambiare una regola, un parametro o un saldo firmando un messaggio: i saldi cambiano solo tramite transazioni che ogni nodo convalida, e i seggi del registro possono solo spostare alcuni prezzi entro limiti fissi (voti sui prezzi). La ZooBC Foundation detiene i primi seggi di ogni catena e pubblica gli strumenti da riga di comando, ma non possiede alcuna chiave maestra.

Vedi anche