Che cos'è il Proof-of-Work e come funziona?

Che cos'è il Proof of Work?
Il Proof-of-Work (PoW) è un consensus algorithm usato da diverse blockchain per validare le transazioni e aggiungere nuovi blocchi alla blockchain. L’esempio più conosciuto di blockchain che lo utilizza è Bitcoin. Questa è stata la prima criptovaluta ad adottare il PoW. Successivamente sono nate nuove blockchain che usano lo stesso sistema, tra cui Litecoin, Dogecoin ed Ethereum (prima di The Merge nel 2022).
Il Proof-of-Work è decentralizzato, il che significa che più partecipanti indipendenti contribuiscono a validare le transazioni. Nel PoW questo viene fatto dai miner, che lavorano senza sosta per risolvere complesse formule crittografiche e matematiche. Questo processo si chiama mining. Il primo miner che trova il numero corretto della formula può aggiungere il blocco alla blockchain e validare le transazioni presenti in quel blocco. Più miner sono attivi nella rete, più la rete è decentralizzata e meno è soggetta a manipolazioni. Infatti, un soggetto malevolo dovrebbe controllare più del 50% della potenza di calcolo della rete per arrecare danni.
Un miner è un computer che mette a disposizione la propria potenza di calcolo alla rete. Questo richiede molta potenza di calcolo ed energia. Per questo, un miner riceve una ricompensa per l’uso della propria potenza. La ricompensa consiste in nuova cryptocurrency che viene creata durante la generazione di un nuovo blocco. Il miner riceve questa ricompensa. L’ammontare dipende dalla blockchain e, in molte blockchain, viene dimezzato periodicamente per creare scarsità. Secondo i creatori, più adozione e meno nuove monete dovrebbero portare a prezzi più alti.
In breve
-
Il Proof-of-Work è un meccanismo di consenso affidabile e ben collaudato che valida le transazioni in modo decentralizzato e sicuro attraverso puzzle crittografici difficili da risolvere ma facili da verificare.
-
Un grosso svantaggio è l’elevato consumo energetico. I miner usano hardware potente e specializzato (ASIC), il che solleva preoccupazioni sull’impatto ambientale e la sostenibilità.
-
I miner risolvono complessi puzzle matematici. Il primo che ci riesce può aggiungere un blocco e riceve una ricompensa sotto forma di nuova cryptocurrency, fornendo un incentivo economico per mettere in sicurezza la rete.
-
Il concetto di PoW risale agli anni ’90 e fu poi applicato a Bitcoin da Satoshi Nakamoto.
-
Il PoW è meno scalabile rispetto a sistemi alternativi come il Proof of Stake, anche a causa di tempi di blocco lunghi e del consumo energetico. Inoltre, il predominio di grandi mining pool comporta rischi di centralizzazione.
Come è nato il Proof-of-Work?
Il Proof-of-Work (PoW) è stato sviluppato ben prima che esistesse Bitcoin, negli anni ’90. All’epoca, i crittografi Cynthia Dwork e Moni Naor idearono un sistema per contrastare lo spam e gli attacchi denial-of-service (DoS) su Internet. L’idea era che un utente dovesse fornire una piccola quantità di potenza di calcolo prima di poter inviare un messaggio su Internet. Questo avrebbe reso più difficile e costoso lo spam massivo.
L’idea prese forma nel 1997 con l’introduzione del sistema Hashcash di Adam Back. Nel white paper del 2002 di Back, "Hashcash - A Denial of Service Counter-Measure", veniva spiegato che chi invia un messaggio deve prima eseguire un calcolo che può essere facilmente verificato dal ricevente.
Dal 1999, il sistema ha ricevuto un vero e proprio nome, grazie ad Ari Juels e Markus Jakobsson, che introdussero il termine "Proof-of-Work".
Primo uso del Proof-of-Work tramite la tecnologia blockchain
Satoshi Nakamoto (l’inventore anonimo di Bitcoin) fece propria l’idea di Back e nel 2008 integrò il concetto di Proof-of-Work nella sua creazione, cioè il protocollo Bitcoin.
Nel suo white paper "Bitcoin: A Peer-to-Peer Electronic Cash System" descrive come il Proof-of-Work possa essere usato per raggiungere consenso in modo decentralizzato, cioè tramite l’uso di miner che forniscono potenza di calcolo. Nakamoto aggiunge anche l’emissione di nuove monete digitali durante il mining, che possono essere scambiate sulla rete e usate per effettuare pagamenti. In questo modo Nakamoto introduce un sistema di pagamento sicuro e decentralizzato, dove il controllo è degli utenti e non di entità centralizzate come le banche. Da allora è diventato una parte fondamentale di molte blockchain.
Come funziona il Proof-of-Work?
Il Proof-of-Work funziona impiegando miner (chiamati anche nodes) in tutto il mondo che cercano di risolvere complessi puzzle crittografici per validare tutte le transazioni. Il miner che trova la soluzione può aggiungere un nuovo blocco alla blockchain e riceve una ricompensa di mining, pagata in nuova crypto. Questo sistema rende la rete equa, dato che chiunque può avere la possibilità di validare un blocco, purché metta a disposizione sufficiente potenza di calcolo.
Sicurezza del PoW
Il Proof-of-Work (PoW) è sicuro grazie a un principio asimmetrico: eseguire il lavoro computazionale (il mining) richiede molta potenza, mentre verificarlo è relativamente facile. Questo rende difficile per attori malevoli falsificare blocchi, ma facile per gli altri miner controllarli. Questo perché i miner devono solo verificare che sia stato trovato l’hash corretto (la risposta giusta).
In più, un attaccante dovrebbe avere più del 50% della potenza di calcolo totale della rete (hashrate) per prenderne il controllo. Questo è conosciuto come 51% attack. Un attacco del genere diventa sempre più difficile con l’aumentare dei miner partecipanti. Inoltre, richiede hardware molto costoso e costi energetici enormi. Questo lo rende praticamente impossibile su una rete grande come quella di Bitcoin.
Se un attore malevolo riuscisse a farlo e volesse modificare un blocco della blockchain, si troverebbe davanti al problema che ogni blocco è collegato crittograficamente al precedente. Per modificare un blocco vecchio, dovrebbe ri-minare tutti i blocchi successivi con più potenza di calcolo rispetto al resto della rete.
Difficoltà del mining
Il Proof-of-Work funziona risolvendo un puzzle crittografico complesso. La soluzione si chiama hash ed è una sorta di firma digitale composta da un numero esadecimale di 64 cifre (esempio: 0000000000000000000a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e).
Come puoi vedere nell’esempio, l’hash è composto da numeri e lettere. Nel sistema si usano:
-
i numeri da 0 a 9
-
e le lettere da a a f (che rappresentano i numeri da 10 a 15)
Quindi, un hash contiene lettere perché il sistema esadecimale lo richiede. È un modo efficiente di rappresentare una lunga sequenza di bit. Ogni carattere esadecimale rappresenta 4 bit.
Un puzzle è risolto quando un miner trova un hash abbastanza piccolo secondo una regola prestabilita. Più l’hash deve essere piccolo, più difficile è trovarlo. Questo è determinato dal livello di difficoltà (difficulty). Più partecipanti ci sono, più l’hash viene reso difficile. In questo modo la rete mantiene il controllo sul tempo necessario per minare un nuovo blocco.
Il livello di difficoltà stabilisce quanti zeri devono esserci all’inizio dell’hash. Per esempio:
-
Con difficoltà bassa, un hash può iniziare con 00af....
-
Con difficoltà più alta, un hash deve iniziare con 000000f1....
In Bitcoin, il livello di difficoltà viene regolato circa ogni 14 giorni. Satoshi Nakamoto ha previsto questo per evitare che nuovi blocchi, e quindi nuovi bitcoin, vengano minati troppo velocemente. Bitcoin usa l’hashing SHA-256, il che significa che ogni hash è composto da 256 bit, rappresentati da esattamente 64 caratteri esadecimali.
Più potenza di calcolo ha un miner, più è facile trovare una soluzione. Perciò, è molto più probabile riuscirci con hardware sofisticato piuttosto che con la potenza di calcolo di un telefono cellulare.
Trovare l'hash corretto
Ci vuole molta potenza di calcolo per risolvere la formula e trovare l’hash giusto. Come aiuto, i miner usano un numero extra chiamato "nonce". I miner modificano da soli il nonce ogni volta: da 0, a 1, a 2 e così via. Numero per numero, cercano la giusta combinazione di dati del blocco. Se l’hash restituisce una combinazione di 64 cifre che soddisfa il requisito, il blocco è valido. Il nonce è quindi una sorta di numero tentativo che i miner provano continuamente finché non trovano l’hash giusto.
Per minare finalmente un blocco, il miner deve anche calcolare l’hash del blockheader. Si tratta di una sorta di riassunto dei dati più importanti di un blocco. Tra i dati ci sono l’hash del blocco precedente, il timestamp e il nonce.
Inoltre, l’hash deve essere più piccolo del "target". Questo è il limite stabilito dal livello di difficoltà.
Esempio:
Supponiamo che il target sia: 00000000ffffffffffff...‖.
Questo significa che l’hash del blocco deve essere numericamente inferiore a questo target. Poiché i numeri esadecimali iniziano con numeri e lettere, visivamente si può vedere come se l’hash dovesse iniziare con otto zeri o più. Più zeri ci sono all’inizio, più piccolo è il numero.
Quindi:
-
Un hash come 12bfa34d... è troppo grande
-
Un hash come 0000a9f2... è ancora troppo grande
-
Un hash come 0000000037c4... è abbastanza piccolo
Il miner continua a provare finché non trova la giusta combinazione.
Questo è proprio il motivo per cui serve così tanta potenza di calcolo: diversi miner lavorano contemporaneamente per trovare la soluzione giusta.
Quali blockchain usano il meccanismo di consenso Proof-of-Work?
Nel mondo crypto, il Proof-of-Work è un meccanismo di consenso molto diffuso, usato da diverse grandi blockchain.
Bitcoin
L’esempio più conosciuto di blockchain con Proof-of-Work è, ovviamente, Bitcoin. È stata la prima blockchain a utilizzare questa tecnologia. Nei primi tempi di Bitcoin, era ancora relativamente facile minare nuovi bitcoin, ma con la grande adozione è diventato più difficile partecipare al mining come piccolo operatore. È ancora possibile, ma le probabilità di aggiungere con successo un blocco alla blockchain da soli sono molto ridotte. Questo perché in tutto il mondo sono sorte mining farm di Bitcoin, dove migliaia di computer potenti minano bitcoin 24 ore su 24. Anche per questo, nella rete sono nati diversi mining pool: collaborazioni tra miner più piccoli che uniscono le forze per fornire più potenza di calcolo.
Grazie a questi mining pool e farm, alcuni dicono che Bitcoin non sia più decentralizzato come era stato originariamente pensato.
Ethereum
Fino al 2022, anche Ethereum usava il Proof-of-Work. Nel 2021, con l’aggiornamento a Ethereum 2.0, si è deciso di passare al Proof of Stake per ottenere maggiore scalabilità e migliorare l’efficienza energetica. Infatti, un meccanismo di staking non richiede hardware pesante per validare le transazioni; invece, i partecipanti mettono in staking i propri token come garanzia per la rete.
Litecoin
Non molto dopo la nascita di Bitcoin, è stato introdotto Litecoin come cosiddetta altcoin. Sebbene Litecoin sia fortemente basato su Bitcoin, non è un hard fork diretto della blockchain di Bitcoin, ma un fork della base di codice di Bitcoin. L’obiettivo era creare un metodo di pagamento migliore: più veloce ed economico rispetto a Bitcoin. Per esempio, il tempo di blocco di Litecoin è di 2,5 minuti invece di 10, permettendo una conferma più rapida delle transazioni.
Inoltre, Litecoin usa un algoritmo diverso per minare nuovi blocchi, cioè l’algoritmo Scrypt invece dell’SHA-256 di Bitcoin. Scrypt è stato progettato per essere meno vulnerabile al predominio degli ASIC e nei primi anni permetteva di minare con normali computer. Questo lo rendeva inizialmente meno energivoro, anche se oggi vengono usati anche ASIC ottimizzati per Scrypt.
Dogecoin
Anche Dogecoin usa il Proof-of-Work. Nel 2013, la criptovaluta è stata sviluppata come uno scherzo, ma da allora (anche grazie a Elon Musk) è diventata una delle più grandi criptovalute. Dogecoin è tecnicamente molto simile a Litecoin e quindi utilizza lo stesso algoritmo di mining: Scrypt invece dell’SHA-256 di Bitcoin. Questo lo rende più facile da minare con hardware più economico ed efficiente dal punto di vista energetico.
Bitcoin Cash
Anche Bitcoin Cash usa il Proof-of-Work. Bitcoin Cash è nato da un hard fork di Bitcoin dopo disaccordi sull’aggiornamento SegWit. È molto simile a Bitcoin, ma ha una dimensione di blocco più grande, rendendolo più scalabile e capace di elaborare più transazioni: tra 100 e 200 transazioni al secondo (TPS), rispetto ai circa 7 TPS di Bitcoin.
Critiche all’uso energetico del Proof-of-Work
Il consumo energetico del Proof-of-Work è stato criticato. Questo perché richiede hardware pesante e specializzato, noto come ASIC (Application-Specific Integrated Circuits). Questi sistemi consumano enormi quantità di energia. I critici esprimono in particolare preoccupazioni sull’impatto ambientale a lungo termine del PoW e lo considerano poco adatto dal punto di vista della sostenibilità. È anche per questo che sono stati sviluppati altri meccanismi di consenso, come il Proof of Stake, il Proof of History e forme ibride.
Vantaggi e svantaggi del Proof-of-Work
Il Proof-of-Work è stato uno dei meccanismi di consenso più popolari, soprattutto agli inizi del mondo crypto, e per buone ragioni. Si è dimostrato rivoluzionario e ha molti vantaggi. Allo stesso tempo, presenta anche svantaggi e dubbi sulla sua sostenibilità futura. Ecco i principali pro e contro:
Vantaggi del Proof of Work | Svantaggi del Proof of Work |
---|---|
Sicurezza: Il PoW è un metodo molto sicuro per la validazione decentralizzata delle transazioni, poiché complesse formule matematiche devono essere risolte da computer in tutto il mondo. Questo richiede una difficoltà tale da renderlo praticamente impossibile da manipolare. | Consumo energetico: Validare le transazioni e minare blocchi consuma molta energia ed è molto costoso. Questo porta a molte critiche sulla sostenibilità a lungo termine del meccanismo. |
Algoritmo collaudato: Soprattutto con Bitcoin, si è dimostrato negli anni come una rete affidabile, senza interruzioni e con un sistema trasparente e sicuro. | Scalabilità limitata: Le blockchain PoW sono spesso meno scalabili perché devono affrontare un tempo di blocco relativamente lungo rispetto, ad esempio, agli algoritmi Proof of Stake. Questo non è modificabile e può portare a costi elevati nei momenti di picco. |
Decentralizzato: Più miner partecipano, più la rete diventa decentralizzata, migliorandone l’affidabilità. Inoltre, chiunque può partecipare, purché metta a disposizione potenza di calcolo. | Rischio di centralizzazione: Con l’emergere di più mining pool e mining farm, la decentralizzazione è sotto pressione, poiché sono principalmente gli stessi soggetti ad aggiungere nuovi blocchi alla blockchain e quindi a minare nuove monete. |
In conclusione
Il Proof-of-Work (PoW) è una delle innovazioni più importanti nel mondo della blockchain e delle criptovalute. Il meccanismo di Bitcoin, tra gli altri, si è dimostrato nella pratica un modo molto sicuro e trasparente per validare le transazioni senza l’intervento di enti centrali. La forza del PoW sta nella semplicità dell’idea: puzzle complessi difficili da risolvere ma facili da verificare.
Eppure il PoW ha anche svantaggi evidenti. L’elevato consumo energetico, la dipendenza da hardware costoso e specializzato, e il crescente predominio dei grandi mining pool mettono sotto pressione la visione originale della piena decentralizzazione. Inoltre, la sua scalabilità limitata porta a ritardi e costi elevati nei momenti di grande utilizzo, rendendolo meno adatto per alcune applicazioni.
Nonostante queste limitazioni, il PoW rimane rilevante. Continua a essere la base di alcune delle blockchain più preziose e influenti al mondo. Allo stesso tempo, le critiche sul consumo energetico e sulla centralizzazione stanno spingendo lo sviluppo di sistemi alternativi come il Proof of Stake. Il futuro sarà probabilmente un mix di diversi meccanismi di consenso, adattati alle esigenze specifiche di ogni rete e applicazione.