WEB3 FOR DUMMIES #2
VI SPIEGO COME FUNZIONA IL PROCESSO DI VALIDAZIONE DEI BLOCCHI DI UNA BLOCKCHAIN IN MENO DI MILLE PAROLE.
Ciao Cryptodummies,
se vi siete persi la newsletter con WEB3 FOR DUMMIES #1, recuperatela subito qui, perché è dove cerco di spiegare le basi della Blockchain.
In sintesi abbiamo capito che la Blockchain è un’infrastruttura basata sulla tecnologia Distribuited Ledger (Registro Distribuito), e cioè parliamo di un Database che non è conservato in un unico server (computer) ma piuttosto di un Database che è condiviso fra tutti i computer partecipanti alla rete, che tecnicamente si chiamano Nodi.
Le informazioni da introdurre nel Registro Distribuito vengono raggruppate da un algoritmo in Blocchi , dopodiché uno qualsiasi dei Nodi appartenenti alla rete deve validarlo. Solo dopo che il Blocco è validato le informazioni vengono inserite nel Registro Distribuito e sono riconosciute da tutti gli altri Nodi partecipanti alla rete.
Il principale processo di validazione, introdotto dalla Blockchain di Bitcoin, si chiama Proof of Work.
Cosa significa Proof of Work?
Semplificando: ogni volta che sulla Blockchain viene prodotto un Blocco che raggruppa informazioni, o transazioni, l’algoritmo dell’infrastruttura genera un Hash. L’hash è un codice crittografato particolarmente complesso da decifrare e unico per ogni Blocco che diventa il codice identificativo delle informazioni e delle transazioni contenute in quello specifico Blocco.
Ma perché il Blocco venga validato e inserito nel Registro Distribuito, uno qualsiasi dei Nodi della rete (computer) deve risolvere il problema crittografico celato dietro l’Hash. E la soluzione diventa con il passar del tempo sempre più complessa perché ogni Blocco porta con sé anche tutte informazioni crittografate dei Blocchi precedenti (questa incredibile catena di informazioni è stata pensata proprio per rendere impossibile l’alterazione di un singolo Blocco, perché in tal caso si dovrebbero modificare anche tutti i Blocchi della Blockchain).
Ok, lo so che è difficile da comprendere.
Riproviamo in modo più banale: per validare un Blocco parte una gara fra tutti i Nodi (computer della rete) per risolvere il problema crittografico dell’Hash. Detta in maniera ancora più brutale è come se iniziasse una gara di indovinelli fra i computer. Solo che gli indovinelli sono incredibilmente difficili e per azzeccarli bisogna provare tutte le combinazioni possibili e, quindi, ci vogliono computer con capacità di elaborazioni esagerate.
Ecco, ora immaginate centinaia di computer megapotenti che fanno a gara per risolvere un c***o di enigma crittografato impossibile da decifrare. Avete capito quanto diavolo di energia viene consumata nello sforzo di validare un unico e semplice Blocco? E il paradosso è che poi alla fine vince solo uno!
Tutta questa attività assurda viene chiamata Mining.
E credo che comprendiate perché molti affermano che quella di Bitcoin sia una tecnologia poco sostenibile, in quanto consuma moltissima energia elettrica (su questo aspetto poi parleremo anche di come le Blockchain si stiano organizzando per legarsi alle energie rinnovabili, ma adesso è un argomento prematuro).
Ma perché, vi chiederete voi, i computer fanno a gara per risolvere il problema crittografico e validare il Blocco se poi alla fine vince solo uno? Ne vale davvero la pena?
Sì, ne vale la pena perché la ricompensa è alta: tramite il Mining si ottengono in cambio Bitcoin (nella Blockchain Bitcoin, naturalmente, mentre altri Tokens nelle altre Blockchain).
Comunque il consumo di energia richiesto dalla validazione dei Blocchi resta un serio problema per la scalabilità della tecnologia, inoltre nelle Blockchain che utilizzano il processo Proof of Work c’è un grosso problema di Gas Fee.
Cosa sono le Gas Fee?
Sono le commissioni che dovete pagare alla rete perché una delle vostre transazioni venga inserita dentro un Blocco. E sono commissioni molto alte, proprio perché richiedono un lavoraccio da parte dei Miners.
Per tutti questi motivi alcune Blockchain hanno pensato a un processo di validazione diverso dal Proof of Work: il Proof of Stake.
Il Proof of Stake parte dall’assunto che chi conserva un grande numero di Tokens di quella particolare Blockchain è come se ci credesse e ci avesse investito tanto, quindi ha interesse che la Blockchain sia regolare e sicura per tutti.
Nella validazione Proof of Stake non c’è una gara a risolvere il problema, ma l’assegnazione della validazione del Blocco a un Nodo (computer) viene fatta in maniera pseudo-casuale, in base a una combinazione di fattori che possono includere periodo di staking, randomizzazione e fondi di proprietà del nodo.
È facile anche intuire che mentre la Proof of Work premia i più bravi (anche un computer piccolo a volte può risolvere un problema prima di un computer gigante), la Proof of Stake premia sempre i più forti della rete.
E allora perché è stata introdotta?
Semplice: perché è un processo più agile, veloce e che spreca infinitamente meno capacità di calcolo ed energia elettrica. È come una specie di compromesso “meno sbatti”. Cosa voglio dire? Invece di fare ogni volta una gara fra tutti i Nodi, do il premio direttamente a chi dico io, scegliendo a caso, ma tenendo sempre conto dello Staking (quantità di criptovaluta della Blockchain che tengo bloccata).
Attenzione: coloro che validano nuovi Blocchi nelle Blockchain con validazione Proof of Stake non vengono definiti Miners, perché si dice che compiano attività di Forging (forgiatura).
Un’altra differenza: mentre nei sistemi basati sulla Proof of Work viene creata nuova moneta per ricompensare i Miner, generalmente il sistema Proof-of-Stake distribuisce come premio solo le commissioni sulle transazioni. E chi vuole partecipare al processo di Forging deve congelare una certa somma di Tokens all’interno del network, mettendo quindi un’adeguata posta in gioco (esattamente, at stake).
Mentre Bitcoin rimarrà sempre fedele al Proof of Work, perché è il processo di validazione più complesso ma sicuro, sempre più nuove Blockchain stanno scegliendo il Proof of Stake. Ethereum, ad esempio, è partita con il Proof of Work ma adesso sta convertendo la sua reta al Proof of Stake (operazione tutt’altro che semplice).
Ci sono poi processi di validazione assolutamente nuovi e promettenti, come ad esempio il Proof of History di Solana, ma per il momento accontentiamoci di aver compreso la differenza fra Proof of Work e Proof of Stake. Anche perché mi sono accorto che non vi ho ancora spiegato cosa sono i Tokens, e mi sembra una mancanza importante, solo che adesso non c’è più tempo: sarà per la prossima newsletter.
Adesso godetevi il solito piccolo glossario, rigorosamente non in ordine alfabetico. Se invece avete ancora problemi a capire il funzionamento della Blockchain rileggetevi pure la WEB3 FOR DUMMIES #1.
m.
PROOF OF WORK.
È uno dei processi di validazione (il primo a essere stato introdotto) di un Blocco di informazioni sulla Blockchain. Consiste nel dare inizio a una gara tra i Nodi (computer) della rete per risolvere il problema crittografico di un Blocco. Chi risolve per primo questo problema valida il Blocco e riceve una ricompensa in Tokens (criptovaluta della rete), dopodiché il Blocco è inserito nel Registro Distribuito e viene riconosciuto valido da tutta la rete.
MINING.
È il lavoro fatto da un Nodo (computer) per risolvere il problema crittografico del Blocco e che dà come ricompensa dei Tokens della Blockchain.
HASH.
È il codice crittografico di ogni Blocco.
GAS FEE.
Le commissioni che un utente deve pagare alla rete perché la sua transazione venga inserita in un Blocco e, di conseguenza, venga validata e inserita nel Registro Distribuito.PROOF OF STAKE.
Un altro dei processi di validazione che si distingue dal Proof of Work perché il Nodo che valida il Blocco viene scelto con un sistema pseudo-casuale in base a una combinazione di fattori che includono periodo di staking, randomizzazione e fondi di proprietà del nodo.
STAKING.
Congelare per un determinato periodo di tempo i Token (criptovaluta) di una specifica Blockchain.
FORGING.
Il Mining sta al Proof of Work come il Forging sta al Proof of Stake. E cioè il Nodo che viene scelto dal sistema pseudo-causale per validare il Blocco effettua attività di Forging e ottiene come premio commissioni sulle transazioni. Per partecipare al processo di Forging bisogna congelare una certa somma di Tokens all’interno del network, mettendo quindi un’adeguata posta in gioco (esattamente, at stake).
PROOF OF HISTORY.
Uno dei nuovi processi di validazione dei Blocchi introdotto per primo dalla Blockchain Solana (e per il momento accontentati di questo :-)