Questo articolo ha lo scopo di dare una panoramica generale su NYZO e perché è diverso dalle altre blockchain.
Cercherò di dare una spiegazione il più semplice possibile sul progetto, evidenziando anche i punti di forza e debolezza da me riscontrati.
Cos’è Nyzo?
Nyzo è una blockchain open-source, innovativa, efficiente e democratica, nata con lo scopo di affrontare i problemi economici e tecnici presenti in altre blockchain.
La criptovaluta proprietaria della blockchain si chiama “nyzo”, il cui simbolo è quello matematico dell’intersezione ∩. La coin nyzo è divisibile in parti più piccole che sono chiamate micronyzo, che equivale a 1/1.000.000 nyzo, il cui simbolo è quello della lettera greca minuscola mu, μ.
Di seguito, quando si userà la parola “Nyzo” con la N maiuscola, ci si riferirà alla blockchain. Mentre, “nyzo” con la n minuscola, sarà riferito alla criptovaluta.
Nyzo è stata creata interamente da zero, sia nella parte del codice che del design. Non si tratta di un copia e incolla di un altro progetto. È stato progettato attentamente per ricreare quelle condizioni che permettessero di risolvere alcune problematiche riscontrate in precedenti blockchain, quali: efficienza, democrazia e permettere un uso della criptovaluta.
Mentre di Nyzo si conoscono tutti i particolari, compresi tutti i passaggi eseguiti per arrivare al progetto consegnato alla comunità, degli sviluppatori iniziali si sa pochissimo. Infatti, hanno deciso di mantenere l’anonimato, per non condizionare lo sviluppo di Nyzo e non attirare su di essi l’attenzione. Il team non ha tenuto per sé nessuna criptovaluta per il lavoro svolto, ma continua a lavorare per il progetto, sempre in maniera anonima.
Dire che il progetto è stato totalmente lasciato in mano della comunità è completamente vero. Tutti i compiti sono in mano alla comunità, tra questi: prendere tutte le decisioni democratiche; lavorare per portare avanti il progetto; ricompensare chi si impegna per il bene di tutti, utilizzando un fondo costituito appositamente.
Per avere una migliore visione di come tutto funziona è necessario analizzare il protocollo di consenso di Nyzo.
Il protocollo di consenso: Proof of Diversity
La rete di Nyzo (Mesh) è composta dai verificatori, coloro incaricati di processare le transazioni sulla blockchain, gli stessi che hanno potere decisionale, tramite voto.
La Mesh si può dividere in 2 gruppi: “In-Cycle” (nel ciclo) e “Queue” (in coda). I verificatori-in-ciclo, sono coloro che già si occupano della verifica dei blocchi della blockchain, e vengono remunerati per il lavoro che svolgono. I verificatori-in-coda, sono coloro che vogliono entrare nel ciclo. Questi ultimi, devono rispettare alcune caratteristiche e condizioni per poter essere selezionati:
· Univoco indirizzo IPv4;
· Avere inizializzato la macchina, possibilmente con l’ultima versione del codice per il funzionamento dei verificatori di Nyzo;
· Monitorare la blockchain e il suo stato;
· Segnalazione della loro presenza agli altri verificatori, che a loro volta registreranno il candidato con un timestamp;
· Periodo di incubazione di 30 giorni. Per evitare accessi immediati da parte di botnet o simili.
Nella Mesh sono presenti anche un altro tipo di verificatori, con delle funzioni specifiche, chiamati sentinelle. Le sentinelle hanno il compito di proteggere i normali verificatori, da attacchi alla rete o interruzioni della rete.

Non è un caso se le raffigurazioni presenti nelle immagini sopra sono dei modellini di Raspberry (o potrebbero essere quelli di Arduino), quindi dei computer in miniatura. Quello rimane solo un esempio raffigurativo, perché la rete di Nyzo può funzionare anche su server virtuali di fascia bassa (vps), che consuma molta meno elettricità (un milione di volte non è un’esagerazione) rispetto a una rete basata su Proof of Work. In questo modo si dovrebbe installare il programma, nella nostra macchina personale, e la potremmo spegnere, questo grazie ai vps.
Ulteriormente, ha una grande influenza la dimensione della blockchain, infatti Nyzo non richiede la sincronizzazione completa di questa per la funzionalità dei verificatori ma solo degli ultimi 4 cicli di blocchi. Del perché solo gli ultimi 4 cicli di blocchi si capirà successivamente quando saranno esposte le regole del protocollo.
Come sono gestiti i verificatori dentro la Mesh?
L’aggiunta e la rimozione dei verificatori, le caratteristiche che un candidato deve avere per poter essere aggiunto al ciclo e la frequenza con cui sono prodotti i blocchi, sono dettate dalle regole del protocollo della blockchain.
Modalità di funzionamento del Proof of Diversity
I verificatori producono a turno i blocchi in ordine circolare, rispettando le regole imposte dal protocollo, che valgono per tutti.
Il ciclo di verifica di un blocco è definito come il più lungo elenco di blocchi della catena, che va a terminare con quel blocco che non contiene più di una istanza di ogni verificatore.
Con l’esempio seguente, questo concetto risulterà più comprensibile: si immagini la seguente blockchain, dove i blocchi sono numerati in ordine crescente e ogni lettera diversa che li identifica corrisponde a un diverso verificatore:

Dalla definizione sopra riportata possiamo dire che il ciclo di verifica del blocco numero 25, conterrà i blocchi numerati 25, 24 e 23. E si ferma qui, perché nel blocco numero 22 è presente il verificatore con la lettera A, che è già presente nel ciclo del blocco numero 25, quindi risulterebbero 2 istanze di uno stesso verificatore, situazione non permessa all’interno di uno stesso ciclo.
Vale la stessa definizione nell’aggiunta di un nuovo verificatore all’interno del ciclo, vediamo un esempio:

In questo caso, possiamo notare che il ciclo di verifica del blocco numero 26, è costituito dai blocchi numero: 26, 25, 24 e 23. Non comprende il blocco 22 perché il verificatore A è già presente nel blocco 25, e in quel caso ci sarebbero 2 istanze di uno stesso verificatore, situazione non permessa all’interno dello stesso ciclo.
Regole di sicurezza del protocollo
Per garantire la sicurezza della blockchain e evitare che nuovi verificatori malevoli prendano il controllo della catena, sono state introdotte delle regole.
1. La prima regola dice che l’entrata di un nuovo verificatore è consentita se nessuno degli altri blocchi del ciclo e nessuno dei due blocchi dei due cicli precedenti, sono stati verificati da nuovi verificatori.
Questa regola garantisce che eventuali aggressori non riescano a prendere il controllo della catena, introducendo rapidamente i verificatori che controllano;
2. La seconda regola richiede il rispetto di una formula matematica, dice che dopo il blocco Genesis (il primo blocco che è stato prodotto nella blockchain di Nyzo) il ciclo di un blocco deve essere più lungo della lunghezza massima tra quella del ciclo corrente e dei due precedenti a questo. Presa la lunghezza massima tra questi, il risultato va diviso per 2 e successivamente aggiunto 1.
Lo scopo di questa regola è quello di garantire che la maggior parte dei verificatori non possano essere esclusi come possibili aggressori, che stanno cercando di prendere il controllo della blockchain. Solo controllando più del 50% dei verificatori attivi si può riuscire a prendere il controllo della catena. Considerando il blocco corrente e i due blocchi precedenti, si evitano divergenze in momenti opportunistici per i verificatori che sono raggruppati attorno a determinate parti della catena.
Queste regole garantiscono che a partire da qualsiasi punto della blockchain, si debbano controllare più della metà dei verificatori attivi per continuare a produrre una versione valida, quindi che rispetti le regole del protocollo. Per riuscire a falsificare la blockchain per un lungo periodo significativo, un utente malintenzionato dovrebbe ottenere più della metà delle chiavi private, degli stessi verificatori che già eseguono il loro lavoro. Di conseguenza, ne richiederebbe una partecipazione attiva all’interno, per avere una influenza su essa.
Non succede questo in altri protocolli, dove la manipolazione della blockchain può essere attuta da chiunque ne possieda risorse computazionali a sufficienza.
Nella comunità di Nyzo, tutti possono diventare verificatori, validare blocchi e avere potere decisionale.
È una comunità libera e democratica!

Se hai difficoltà a leggere questo algoritmo, leggi la descrizione qui sotto! Altrimenti saltala pure!
Tramite questo schema semplificato, viene presentato un diagramma a blocchi per la comprensione dell’algoritmo che porta all’aggiunta di un nuovo verificatore al ciclo di Nyzo e capire chi e come dovranno essere verificati i blocchi nella Mesh. Sono stati inseriti dei numeri, per facilitare la comprensione della spiegazione.
Questo diagramma ha un flusso continuo, e questo processo continuerà finché ci saranno candidati verificatori o blocchi da verificare, quindi fino a quando la blockchain di Nyzo sarà utilizzata.
Ogni 50 blocchi verificati, i verificatori già nella Mesh, hanno il compito di scegliere un candidato verificatore, tra quelli presenti nella “Queue” (la lista di attesa per diventare verificatori; la scelta del candidato verificatore avviene in modo randomico al suo interno) e verificare se questi rispettano determinate condizioni. Passato un macro ciclo di 50 blocchi, il conteggio si azzera e il conto riparte.
Dando uno sguardo alla prima condizione posta al punto numero 1, viene fatto un controllo sul numero dei blocchi verificati nel macro ciclo e sulla selezione di un candidato verificatore. Se il conteggio dei blocchi verificati è inferiore a 50 o se è già stato selezionato un candidato verificatore durante il macro ciclo di 50 blocchi, allora il blocco verrà prodotto dai verificatori già in ciclo, come mostrato nel punto numero 9 (alla destra dell’immagine). In caso contrario, quindi quando anche solo una delle 2 condizioni del blocco risulterà essere verificata, si procederà con l’estrazione di un candidato verificatore, presente nella Queue, punto 2. Una volta estratto il candidato, questo dovrà superare la prova della votazione (3) da parte dei verificatori già in ciclo che rappresentano la comunità di Nyzo, ognuno di questi dispone di un solo voto. Se il candidato non supererà la votazione, questo non potrà entrare nel ciclo e il blocco verrà prodotto dai verificatori già in ciclo, come mostrato nel punto numero 4. Arrivati al punto numero 5, sarà necessario verificare se sono state rispettare le regole sulla sicurezza della blockchain (spiegate in precedenza), per l’entrata del candidato nel ciclo. Se non sono state rispettate, il candidato non potrà accedervi e il blocco verrà prodotto dei verificatori già presenti nel ciclo e si dovrà continuare nella ricerca di un nuovo candidato idoneo, come mostrato nel punto numero 4. Se invece le regole sono state rispettate, al candidato sarà richiesto di produrre un blocco (6), il tempo a sua disposizione è quello di 50 cicli. Successivamente. sarà effettuata una verifica sul blocco prodotto, nel rispetto delle condizioni dettate dal protocollo (7), se questo controllo non sarà superato, sarà il ciclo a produrre il blocco. Invece, se il blocco prodotto dal candidato verificatore supererà il controllo, il blocco sarà aggiunto alla catena e il candidato verrà aggiunto al ciclo. Il ciclo sarà composto dagli altri verificatori già in-ciclo, presenti nella Mesh di Nyzo. Il blocco dell’algoritmo numero 8 è infatti collegato direttamente al ciclo dei verificatori (9).
Dal punto numero 4, si passa al punto numero 9, secondo il collegamento dell’algoritmo. In questo punto confluiscono: il punto numero 1, nelle condizioni spiegate in precedenza, e tutti i casi presenti nel blocco numero 4. Nel blocco numero 9, sarà il ciclo a produrre il blocco, che andrà ad aggiungersi agli altri blocchi prodotti precedentemente e ad aggiungersi alla catena. Qualora capitasse che un verificatore non producesse il blocco arrivato il suo turno, verrà espulso dalla Mesh.
Nel punto 10 possiamo vedere un esempio del ciclo, e nel punto 11 il blocco che questi producono.
Il flusso continuerà a ripetersi, ricordando che ogni 50 blocchi ci sarà un azzeramento del conteggio dei blocchi prodotti, per poi riiniziare da zero.
I blocchi vengono prodotti dai verificatori nel ciclo. La produzione del blocco dovrà essere effettuata da un verificatore del ciclo per volta, in ordine circolare. Il tempo di produzione è di 7 secondi.

Come si può vedere nella figura numero 5, i verificatori del ciclo stanno producendo i blocchi, uno per volta. La prima immagine della figura mostra il 24° ciclo di produzione del blocco e, infatti, l’ultimo blocco ad essere stato prodotto è il numero 24. Prima dei blocchi raffigurati, sono stati prodotti altri blocchi, che non sono stati inseriti per mancanza di spazio. Per capire meglio, il verificatore A ha prodotto i blocchi di questo ciclo numero: 1, 7, 13, 19 e così via.
Nella seconda immagine della figura 5 si può vedere che il successivo blocco a essere prodotto, dopo il numero 24 del verificatore F (dell’immagine precedente), è stato il numero 25 del verificatore A.
Stesso procedimento nell’ultima immagine della figura 5, dove è stato prodotto il blocco numero 26, da parte del verificatore B.

Nella prima immagine della figura numero 6 ci troviamo nello scenario descritto nella figura numero 5, fino al ciclo di blocco numero 50. Ogni macro ciclo di 50 blocchi prodotti, i verificatori in-Ciclo hanno il compito di selezionare un altro verificatore per poi aggiungerlo al suo interno, come raffigurato nell’ultima immagine a destra, della stessa figura.

Le figure 7 e 8 rappresentano un’unica figura che riporta una descrizione completa di un blocco della blockchain di Nyzo, che ho preferito dividere per questioni di spazio.
Una blockchain sostenibile
Ricordando dei concetti importanti: con Nyzo si è cercato di produrre un miglioramento rispetto alle altre blockchain, andando ad affrontare i principali problemi, sia economici che tecnici.
Le principali novità di Nyzo sono: il protocollo, Proof of Diversity; il meccanismo della balance-list; la natura democratica di Nyzo. Non meno importanti sono la struttura di tassazione e l’assenza di mining. Queste ultime due caratteristiche garantiscono la sostenibilità della blockchain. Nyzo non è stato pre-minato e non ci sono delle ricompense di mining. Nel blocco Genesis, sono stati generati 100.000.000 di Nyzo. Nessun’altra criptovaluta potrà essere generata.
I creatori hanno deciso di non ricorrere a nessuna raccolta fondi, tutte le spese sostenute sono state da loro accollate. Quindi, non c’è stato nessun pre-mining e il mining non è previsto dal protocollo.
Secondo loro, in una criptovaluta, più del 5% di pre-mining o qualsiasi tipo di raccolta fondi (come le ICO etc.) costituirebbe una perdita di valore per tutto il sistema. Si sarebbe compromesso il valore delle criptovalute e un conseguente scoraggiamento da parte dei verificatori nel svolgere il loro lavoro, compromettendo il regolare funzionamento della blockchain.
Come vengono remunerati i verificatori?
In Nyzo, le commissioni sulle transazioni sono l’unica ricompensa per la verifica dei blocchi.
Per il lavoro svolto, i verificatori sono remunerati con il 10% delle commissioni delle transazioni del blocco da loro verificato e con il 10% delle commissioni di transazione dei 9 blocchi prodotti successivamente a questo.
Nel primo periodo di vita della blockchain, sarebbe stato difficile avere un ammontare di transazioni sufficiente da garantire una remunerazione ai verificatori. Per risolvere questo problema, sono stati allocati in un conto ∩20.000.000, garantendo 5 anni di “transazioni artificiali” (e un anno aggiuntivo per le transazioni che negli anni precedenti sono state omesse), con lo scopo di imitare un volume organico di transazioni. Questo fondo è dedicato solo a questo scopo, la chiave privata non è mai stata salvata e il conto è protetto da eventuali transazioni non autorizzate.
Con un adeguato volume di “transazioni organiche”, quindi non prodotte artificialmente, non si presenta il bisogno di ricorrere alle transazioni artificiali, e di conseguenza il numero di nyzo presenti nel fondo non verrebbe ridotto. È una soluzione per il funzionamento del sistema, che senza verificatori non potrebbe funzionare e questi per svolgere il loro compito hanno bisogno di una remunerazione, per la disponibilità e i costi che comporta.
In questo modo, i creatori, hanno anche pensato di garantire una completa distribuzione delle monete.
Qui è possibile visionare questo fondo già in uso e quindi con un importo inferiore rispetto all’ammontare iniziale: https://nyzo.today/explorer/12d454a69523f739-eb5eb71c7deb8701-1804df336ae0e2c1-9e0b24a636683e31
Dove sono allocate le altre criptovalute?
∩30.507.419 sono stati trasferiti in un conto controllato dal ciclo. Dopo le spese di transazione, in questo conto sono rimasti ∩30.431.150. I trasferimenti da questo conto, che non saranno soggetti a commissione di transazione, richiedono le firme di almeno il 75% del ciclo corrente, e i trasferimenti non possono essere più di ∩100.000 ciascuno.
Per garantire una ricostituzione del fondo del conto sopra descritto, l’1% delle commissioni delle transazioni organiche, quindi lo 0.0025% della transazione, viene trasferito al fondo. Questa tassazione si applica a tutte le transazioni regolari effettuate sulla blockchain, non a quelle prodotte artificialmente per portare avanti il sistema. Questo vuol dire che le commissioni dei verificatori vengono ridotte dell’1%, ovvero di una media inferiore a ∩0.0001 al giorno.
È sempre buona prassi ricordare che il conto dedicato alle tasse sulle commissioni di transazione, è controllato dagli stessi verificatori, che rappresentano la comunità democratica di Nyzo!
È un fondo davvero importante per il progetto che richiede diligenza nell’amministrazione, infatti è tramite questo fondo che sono ricompensati tutti coloro che portano valore aggiunto a Nyzo e per questo è necessaria una continua rigenerazione, tramite la tassa sulle transazioni.
In questo indirizzo è possibile visionare il fondo già in uso e con un importo inferiore rispetto all’ammontare iniziale: https://nyzo.today/explorer/0000000000000000000000000000000000000000000000000000000000000002
Oltre questi fondi, sono presenti ulteriori ∩47.000.000. Questi fondi vengono sbloccati mano a mano che il sistema di Nyzo produce abbastanza transazioni, non generate artificialmente. Tutto questo sarà regolato da una formula e controllata dall’algoritmo.
Quindi per evitare che questi fondi vengano sbloccati tutti assieme è necessario che la richiesta di nuovi fondi sia accompagnata da un sistema che funziona. Tutte le transazioni provenienti da questo fondo, vengono sempre votate dai verificatori, quindi dalla comunità di Nyzo, una comunità democratica!
Inizialmente i creatori di Nyzo, avevano previsto di amministrare una parte delle criptovalute del sistema, che si sarebbero sbloccate con il tempo. La loro idea era quella di utilizzare questi fondi per sostenere le spese e ricompensare chi partecipava alla crescita di Nyzo, sono successivamente tornati indietro a questa decisione e hanno trasferito interamente questa somma al fondo controllato della comunità.
Lo sviluppo di Nyzo sta continuando, e la comunità ha già ricompensato chi vi sta lavorando, come gli sviluppatori che si sono aggiunti per creare valore e miglioramenti al progetto.
Questo non è un compito facile, la mancanza di un team non facilità questo compito, sia dal lato della programmazione, che di altri compiti che dovrebbero essere portati.

Se sei interessato dai uno sguardo a:
Telegram: http://t.me/NyzoCo
Discord: http://discord.gg/REzrUZG
Twitter: https://twitter.com/nyzo_io / https://twitter.com/NyzoGang / https://twitter.com/NYZO_Blockchain
Sito ufficiale: https://nyzo.co/
Sito non ufficiale: https://nyzo.io/
Per scrivere questo articolo mi sono documentato dalla documentazione ufficiale di Nyzo, dal sito nyzo.io e alcuni spunti sono stati presi dai seguenti articoli: https://medium.com/@Coin_Shark/q-a-snipe-contributor-at-nyzo-8bbf676c0513 e https://myaltcoins.info/nyzo-review/ .
È stata di fondamentale aiuto la comunità di Nyzo che mi ha sempre aiutato a risolvere tutti i dubbi inerenti la tecnologia.
Questo è l’articolo originale, successivamente è stato tradotto in: inglese e spagnolo.
Traduzione in lingua inglese: https://maurocambuli.medium.com/nyzo-an-example-of-democracy-and-technological-development-d84f69b9ae97
Traduzione in lingua spagnola: https://pieldelobo.medium.com/nyzo-un-ejemplo-de-democracia-y-desarrollo-add5106ffe9c