Algoritmi di consenso della blockchain spiegati
Le blockchain sono diventate possibili grazie allo sviluppo di un meccanismo cruciale noto come algoritmo di consenso, che facilita il coordinamento tra utenti o macchine in un ambiente distribuito. La funzione primaria di questo algoritmo è garantire che tutti gli agenti nel sistema possano concordare su una singola fonte di verità, anche se alcuni agenti falliscono. Questa tolleranza ai guasti è essenziale per il successo del sistema.
In contrasto con una configurazione centralizzata, in cui una singola entità ha il controllo totale sul sistema e può apportare modifiche a piacimento, un formato decentralizzato presenta una sfida significativa. Nel caso di un database distribuito, ad esempio, come possiamo concordare quali voci debbano essere aggiunte?
La risposta risiede nello sviluppo di un complesso sistema di governance che permetta a estranei che non si fidano l'uno dell'altro di giungere a un consenso. Superare questa sfida è stato un traguardo importante nello sviluppo delle blockchain, che si affidano agli algoritmi di consenso per garantire l'integrità del sistema.
Algoritmi di consenso nelle crypto
La blockchain funge da database per le criptovalute, registrando i saldi degli utenti. Tutti i nodi della rete devono mantenere una copia identica del database per evitare informazioni conflittuali, che minerebbero l'intero scopo della rete di criptovalute.
La crittografia a chiave pubblica è utilizzata per garantire che gli utenti non possano spendere le monete degli altri. Tuttavia, è comunque necessaria una fonte unica di verità affinché i partecipanti alla rete possano determinare se i fondi siano già stati spesi.
Per coordinare i partecipanti in Bitcoin, il suo creatore Satoshi Nakamoto propose un sistema di Proof of Work (PoW), che spiegheremo a breve. Ma prima di questo, esaminiamo i tratti comuni degli algoritmi di consenso.
In primo luogo, i validatori che desiderano aggiungere blocchi devono fornire una posta in gioco, che scoraggia comportamenti disonesti. La posta può essere potenza di calcolo, criptovaluta o reputazione. Se barano, perderanno la loro posta. È disponibile una ricompensa, costituita dalla criptovaluta nativa del protocollo, che comprende commissioni pagate da altri utenti, nuove unità di criptovaluta generate, o entrambe.
Infine, la trasparenza è fondamentale per rilevare i tentativi di imbroglio. Dovrebbe essere costoso per i validatori produrre blocchi, ma poco oneroso per gli altri verificarli. Questo assicura che i validatori siano controllati dagli utenti ordinari.
Gli algoritmi di consenso più comuni
Proof of Work
Proof of Work è un algoritmo di consenso tradizionale reso popolare da Bitcoin ma esistente da tempo. Questo algoritmo richiede che i validatori, chiamati miner, eseguano hash sui dati che vogliono aggiungere alla catena finché non trovano una soluzione specifica. Un hash è una stringa di lettere e numeri generata quando i dati vengono elaborati tramite una funzione di hashing, e anche una piccola modifica produrrà un output completamente diverso.
Il protocollo Proof of Work stabilisce certe condizioni per ciò che rende un blocco valido. Per esempio, un blocco il cui hash inizi con 00 potrebbe essere considerato valido. Per creare un blocco che soddisfi quei criteri, i miner devono forzare a forza bruta gli input, modificando parametri dei dati finché non ottengono l'hash giusto. Con le grandi blockchain, l'asticella è posta molto alta e i miner necessitano di molto hardware di hashing specializzato ed elettricità per competere.
Nel sistema Proof of Work, i miner devono fornire una posta sotto forma del costo delle macchine e dell'elettricità necessaria per estrarre. Gli ASIC, ovvero hardware di mining specializzato, sono costosi e inutilizzabili al di fuori del mining di criptovalute. Tuttavia, il mining può produrre ricompense significative per chi riesce ad aggiungere un nuovo blocco alla blockchain.
È facile per la rete verificare se un miner ha creato un blocco valido. Anche se ha provato trilioni di combinazioni per ottenere l'hash giusto, la rete deve solo eseguire i dati attraverso la funzione una volta. Se i dati producono un hash valido, il miner riceve la ricompensa; altrimenti la rete rigetterà il blocco.
Proof of Stake
Un'alternativa al Proof of Work, nota come Proof of Stake (PoS), fu proposta nei primi giorni di Bitcoin. Elimina la necessità di hardware specializzato, di un enorme consumo energetico e dei miner. Invece richiede che gli staker detengano una quantità minima di criptovaluta per essere idonei allo staking.
Una volta idoneo, lo staker blocca i suoi fondi in un portafoglio e concorda con gli altri validatori quali transazioni entreranno nel prossimo blocco. Il protocollo sceglie quindi un blocco, e il validatore con il blocco selezionato riceve una parte delle commissioni di transazione in base alla sua posta. Più fondi sono bloccati, maggiore è il profitto ottenibile. Barare comporta la perdita di una porzione o dell'intera posta.
Il Pure Proof of Stake è stato utilizzato solo in criptovalute minori, e la sua fattibilità come alternativa praticabile al PoW non è del tutto chiara. Generalmente, non vengono create monete nuove come parte della ricompensa per i validatori. La valuta nativa della blockchain deve quindi essere emessa in altro modo, come una distribuzione iniziale (ad es. un ICO o IEO) o facendo partire il protocollo con PoW prima di una successiva transizione a PoS.
La transizione a PoS è un terreno di teoria dei giochi e incentivi finanziari. Sarà fattibile solo su una rete attiva, poiché chiunque abbia le conoscenze per "bucare" un sistema PoS lo farebbe solo se potesse trarne vantaggio.
Altri algoritmi di consenso
Esistono diversi algoritmi di consenso oltre a Proof of Work e Proof of Stake. Queste alternative hanno ciascuna i propri pro e contro. Ecco un elenco di alcuni di essi:
- Delayed Proof of Work
- Leased Proof of Stake
- Proof of Authority
- Proof of Burn
- Delegated Proof of Stake
- Hybrid PoW/PoS Consensus
Conclusione
L'utilizzo dei meccanismi di consenso è vitale per il funzionamento dei sistemi distribuiti. Si ritiene ampiamente che l'innovazione più significativa di Bitcoin sia stata l'introduzione del Proof of Work, che facilita l'accordo tra gli utenti su un insieme condiviso di fatti.
Gli algoritmi di consenso sono la base dei sistemi di valuta digitale e delle blockchain, permettendo agli sviluppatori di eseguire codice su una rete distribuita. Sono una componente fondamentale della tecnologia blockchain, e la sostenibilità a lungo termine delle reti esistenti dipende da essi.
Proof of Work è ancora l'algoritmo di consenso più diffuso, e non è emersa finora un'alternativa più affidabile o sicura. Tuttavia, c'è una grande quantità di ricerca e sviluppo volta a sostituire il PoW, e è probabile che emergano più alternative nei prossimi anni.