Proof of Work vs Proof of Stake



La Proof of Work e la Proof of Stake sono due protocolli che permettono di generare nuovi tokens in un sistema distribuito e decentralizzato. Sono entrambi quindi collegati con l’attività del minare nuovi blocchi.

Proof of Work (PoW)

Come abbiamo scritto per la sezione della blockchain di Bitcoin, esistono dei full nodes speciali, chiamati nodi minatori che attraverso la potenza computazionale (CPU/GPU) dei loro hardware specializzati aggiornano il registro pubblico e distribuito. Aggiornare vuol dire quindi generare nuovi blocchi alla sequenza precedente. Il processo si chiama minare, proprio per il fatto che come per l’oro, i minatori attraverso il loro tempo e la loro energia estraggono l’oro, generando nuova ricchezza.

Quando un nuovo blocco viene annesso nella blockchain, equivale al fatto che un nodo minatore in giro per la rete è riuscito a trovare l’hash value corretto. Inoltre come ricompensa del suo lavoro, il vincitore riceverà dei nuovi tokens.

Dopo tutto, anche gli hardware per estrarre nuovi bitcoins utilizzano del tempo e della energia, eseguono un lavoro esattamente alla pari in un minatore in carne ed ossa. La prova di lavoro è così necessaria ed è anche l’unico modo per generare nuova ricchezza. Ecco il significato del termine Proof-of-Work. Il controvalore di un token è allora la prova che a monte si sia trovato un hash value univoco che permetta il legame dei due blocchi. Questo lavoro non può essere duplicato o falsificato, risolvendo il problema del double spending.

Il protocollo di Bitcoin è settato in modo che ogni 10 minuti, almeno un nodo minatore nella rete, possa essere in grado di generare l’hash value corretto, per unire alla catena il blocco di transazioni in attesa e generare nuovi bitcoins.

Tuttavia, questo un protocollo esiste già dal ’98. Adam Back è uno crittografo che inventò questo sistema inizialmente come antispam per le mail, ovvero per evitare che un indirizzo di posta elettronica fosse invaso di email spam. L’idea è questa. Prima che 3 email possano essere inviate verso il destinatario, il computer del mittente deve risolvere un puzzle crittografico per la prima, un funzione algoritmica per la seconda, un problema matematico per la terza, molto difficili da svolgere, ma molto facili da risolvere dalla controparte. In questo modo, le 3 mails potranno arrivare al destinatario solo se il computer svolgerà una prova di lavoro per tutte e tre, che equivale a sprecare energia elettrica e tempo. Questo protocollo inoltre venne utilizzato precedentemente da altri progetti di monete virtuali, come HashCash e BMoney. 



Proof of Stake (PoS)

Tuttavia, alcuni crittografi e informatici notando che il protocollo Proof-Of Work incentiva il dispendio energico globale e favorisce l’accentramento di potenza di calcolo in pochi punti del globo, hanno introdotto il concetto di Proof of Stake (PoS). Quest’ultimo, invece di utilizzare il lavoro e l’energia per garantire e minare il blocco, usa un meccanismo chiamato tempo-moneta (coin-age). Le caratteristiche necessarie affinché questo protocollo possa funzionare sono:

  • Un numero sufficiente di nodi minatori all’interno della rete
  • Una quantità minima di tokens associati al profilo di ogni utente
  • La necessità che ci siano già in circolo dei tokens nella rete

Se le tre caratteristiche sono soddisfatte, la Proof-Of-Stake può realizzare un sistema pseudo-causale, dando a tutti gli utenti la stessa probabilità e possibilità di minare un blocco.

Nel PoS si utilizza proprio il coin-age come garanzia per ogni blocco. Attraverso questo nuovo protocollo si intuisce come la conferma delle transazioni non dipenda più dal consumo di energia bensì dalla quantità di tokens posseduti e da un fattore di casualità. La Proof of Stake ha il principale problema che per funzionare debbano già esserci monete in circolo, mentre ha il grande vantaggio che anche chi non dispone di grandi strutture hardware per il mining possa entrare nel circuito anche con piccole quantità di moneta e minare blocchi.