Proof of work: cos’è e le differenze con il proof of stake

Come i protocolli del consenso vengono adoperati nella tecnologia a registri distribuiti (DLT) per risolvere gli algoritmi legati alla validazione e alla registrazione delle transazioni

Pubblicato il 05 Mar 2020

proof of work

Nel sistema a registri distribuiti (DLT) sono i partecipanti con più alto rendimento computazionale a sostituire la veridicità delle transazioni e delle informazioni attraverso i protocolli del consenso – le cosiddette prove di lavoro – per la risoluzione di algoritmi matematicamente elevati che acconsente alla validazione e registrazione della transazione nel blocco. I protocolli più diffusi sono: PoW, proof of work, e PoS, proof of stake.

Il primo algoritmo proof of work: hashcash

Gia nel marzo del 1997, Adam Back, businessman e crittografo britannico, propose il protocollo hashcash al fine di porre fine al problema dello spam nelle mail, e attachi di denial of service.

L’hashcash è il primo algoritmo di prova di lavoro, che richiede un lavoro da eseguire, una prova, e più precisamente richiede al client che genera il messaggio di includere una prova, che significa aggiungere due campi in più rispetto ai regolari: il nonce e l’hash.

Back intendeva aggirare la facilità di lavoro degli spammer, che facilmente riuscivano negli anni ‘90 a inondare di mail sostituendo soltanto il campo del “destinatario”.

Perchè sia efficace, un codice testuale di un hashcash viene aggiunto all’intestazione dell’email per provare che il mittente ha utilizzato del tempo ad adoperare una quantità di CPU, calcolando il timbro prima di inviare l’email. Ragion per cui, se il mittente ha utilizzato un certo lasso di tempo per generare il timbro e inviare l’email, è molto improbabile che sia uno spammer.

I protocolli del consenso nella DLT

Su questa base, nascono i protocolli del consenso utilizzati in epoca bitcoin, o meglio in epoca DLT (Distributed Ledger Technology), al fine di acconsentire e convalidare le transazioni, controllare le firme, i saldi dei vari indirizzi e verificare che le regole definite nel protocollo siano rispettate.

Satoshi Nakamoto stava costruendo la prima criptovaluta in assoluto, Bitcoin, quando trovò un modo per verificare le transazioni senza la necessità di utilizzare terze parti: il proof of work (Pow).

Nella tecnologia della catena distribuita operano i soggetti cosiddetti miners, i quali sono dotati di alte capacità computazionali, e forniscono la potenza di calcolo per risolvere le transazioni.

Il proof of work, difatti, si basa su una formula matematica chiamata “crittografia”, da qui il nome delle monete digitali “criptovalute”, e viene utilizzata per determinare in che modo la blockchain raggiunge il consenso, o meglio il modo grazie al quale la rete può tutelare la validità delle transazioni.

La tecnologia della crittografia utilizza equazioni matematiche che solo i computer con più alto rendimento computazionale possono risolvere, come detto in precedenza quelli dei miners, e nessun problema matematico da risolvere è uguale allo stesso, in modo tale che la rete si assicuri l’autenticità della transazione.

Cos’è il proof of work

Il termine Proof-of-Work (PoW) indica l’algoritmo di consenso alla base di una rete blockchain. Questo algoritmo viene utilizzato per confermare le transazioni e produrre i nuovi blocchi della catena; PoW incentiva i miner a competere tra loro nell’elaborazione degli scambi, ricevendo in cambio una ricompensa. I miner risolvono il problema, danno vita a un nuovo blocco e confermano tutte le transazioni al suo interno.

Il nodo che per primo risolve il puzzle ha diritto di inserire il blocco sulla blockchain e ottiene una ricompensa per incentivare la continuazione del lavoro. Solo in questo modo un utente può essere sicuro che tutte le proprie transazioni vengano incluse nella blockchain.

Come funziona il proof of work

Nel proof of work le transazioni vengono verificate attraverso il mining:

– ogni qual volta viene inviata una transazione, la rete richiede circa 10 minuti per confermarla, e può gestire sino a circa sette transazioni al secondo. Nell’intervallo di tempo dei dieci minuti si forma un nuovo blocco;

– ogni blocco detiene diverse transazioni, che devono essere validate in modo indipendente.

– i miners, con piu alto rendimento computazionale, prendono una transazione alla volta e risolvono un algoritmo crittografico, altrimenti noto come proof of work;

– la transazione, a questo punto viene validata e pubblicata sulla blockchain pubblica affinché tutti possano vederla;

– i miners più veloci, i primi che risolvono l’algoritmo, vengono ricompensati in criptovalute, quella di utilizzo della blockchain su cui operano. Migliaia di computer gareggiano per diventare i primi a risolvere l’algoritmo crittografico, per cui uno dei maggiori problemi di proof of work è che non è un sistema corretto, perché gli utenti con hardware più potenti e costosi avranno sempre le maggiori possibilità di vincere il ricompensa.

Criptovalute minabili con il PoW

Le criptovalute “minabili” con il Pow sono il Bitcoin, prima criptovaluta a utilizzare tale tipologia di consenso. Utilizzano il Pow anche altre valute basate sul Bitcoin, come il Litecoin. Un’altra criptovaluta basata sul PoW è Ethereum. Su Ethereum si basa circa il 75% dei progetti di blockchain; quindi si può dire che la maggior parte delle applicazioni blockchain sfruttano il modello di consenso PoW. Tra le criptovalute basate su proof of work c’è anche Dash.

Il protocollo proof of stake

Il proof of work non è del tutto perfetto, in effetti non solo i computer ad alta capacità per essere prestanti consumano un’ingente quantità di energia, ma il numero delle transazioni che possono essere elaborate contemporaneamente risulta anche limitato.

Per questo sono stati realizzati altri protocolli di consenso, tra questi c’è il proof of stake (Pos), nato nel 2012 da due sviluppatori, Scott Nadal e Sunny King. Peecorin è stata la prima criptovaluta a utilizzare il Pos.

Il PoS ha dei vantaggi rispetto al PoW: un sistema di mining più equo, più alta scalabilità delle transazioni e mono consumo energetico. Il protocollo PoS adopera un processo differente per convalidare le transazioni e raggiungere il consenso. Si tratta sempre di un algoritmo crittografico, ma l’obiettivo del meccanismo è diverso.

Se il PoW premia il suo minatore più veloce, nel PoS il minatore che crea il blocco successivo conquista la transazione proporzionalmente a quanto ha “picchettato”, e non esiste un premio come in Bitcoin: semplicemente il guadagno consiste nella commissione della transazione.

Spiegando meglio, il modello proof of stake sceglie casualmente il vincitore in base all’importo che ha puntato, e congelato nella blockchain. I minatori della blockchain che si basa su algoritmo PoS vengono chiamati “forgers”, “falsari” perché non hanno una ricompensa dal blocco.

Come vengono verificate le transazioni nel proof of stake

– per convalidare le transazioni, l’utente deve inserire le proprie monete in un portafoglio specifico;

– questo portafoglio congela le monete, e vengono utilizzate per picchettare (stake) la rete. Le blockchain basate su protocollo proof of stake hanno un requisito minimo di partecipazione per iniziare a puntare, il che richiede un grande investimento iniziale;

– a questo punto la possibilità di vincita della ricompensa per l’utente è connessa strettamente alla percentuale totale di monete possedute dallo stesso;

Se il PoW richiede a tutti i miners di partecipare, con la possibilità di vincita più alta per i miners con più alte capacità, il protocollo PoS sceglie casualmente il vincitore in base all’importo che ha puntato, ragion per cui se un falsario tentasse di hackerare la rete o elaborare transazioni illegali, perderebbe l’intera posta in gioco. Più picchetti più guadagni.

PoW e PoS a confronto

Analizzando, in conclusione, i due diversi protocolli del consenso, possiamo definire diverse situazioni in cui la modalità del proof of stake risulta più idonea per gli utenti.

Tra i limiti del PoW troviamo:

  • la centralizzazione:

la blockchain del proof of work, come abbiamo visto in precedenza, premia i minatori più potenti, le persone che acquistano dispositivi con alto rendimento computazionale hanno una maggiore possibilità di vincere.

Ciò ha portato alla nascita di ASIC (Application-specific integrated circuit), organizzazioni centralizzate che acquistano migliaia di dispositivi, e attraverso il pool mining, che consente di mettere insieme risorse, hanno più probabilità di risoluzione. Un sistema non proprio corretto considerando che potrebbe creare oligarchie se non monopoli.

Il proof of stake impedisce a gruppi di persone di unirsi per dominare la rete, e premia chi ha congelato il proprio investimento contribuendo alla rete.

  • il consumo elettrico:

le blockchain basate su modello proof of work utilizzano ingenti quantità di elettricità, perché la somma crittografica che i minatori devono risolvere è molto complessa, il che non solo è dannoso a livello ambientale, ma rallenta l’intero sistema.

Il modello proof of stake non risolve algoritmi cosi complessi, non ha quindi bisogno di questo dispendio di energia.

  • il problema del 51%:

è ciò che si potrebbe verificare nella blockchain con protocollo proof of work, quando a un gruppo o a un singolo utente venisse dato per errore più del 50% della potenza totale di mining, rendendolo capace di modificare interi blocchi. Nel proof of stake può accadere che i ricchi diventino più ricchi, questo perché più monete si acquistano, più se ne possono scommettere e guadagnare.

Tra i limiti del PoS ci sono:

  • le persone con fondi consistenti hanno più possibilità di arricchirsi:

nel proof of stake può accadere che i ricchi diventino ancora più ricchi, questo perché più monete si acquistano più se ne possono scommettere e guadagnare.

  • visualizzazioni di transazioni su più catene:

la blockchain del proof of stake consente agli utenti di verificare le transazioni su più catene.

Il motivo per cui questo potrebbe rappresentare un rischio è che potrebbe consentire a un hacker di eseguire un attacco a doppia spesa, ovvero un utente potrebbe trasferire fondi a un altro utente, e prima che la transazione venga confermata, riuscire a spendere di nuovo quei fondi.

Per avere una comparazione fra i due protocolli potremmo così riassumere:

  • il proof of work è un requisito per risolvere un costoso calcolo al computer;
  • nel proof of stake il creatore di un nuovo blocco è scelto in modo casuale, a seconda della sua ricchezza, definita anche stake;
  • risolto il proof of stake viene data una ricompensa al primo minatore che ha risolto l’algoritmo;
  • nel sistema PoS non c’è ricompensa, quindi i minatori, detti falsari, possono prendere la transazione gratuitamente;
  • nel proof of work i miners competono per essere i primi a trovare una soluzione al problema matematico;
  • infine, il proof of stake può risultare il più efficace.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 5