PoS: è davvero il futuro?

Pindol
7 min readNov 11, 2021

--

In questo articolo in italiano cerco di riassumere gli articoli di Hugo Nguyen (a fine articolo trovate gli articoli specifici) sulla Proof of Stake, dove vengono analizzate le principali problematiche relative a questo sistema di consenso.

Molte criptovalute sbandierano il sistema Proof-of- Stake come innovativo e sostitutivo della “vecchia” Proof-of-Work di Bitcoin. Tuttavia, non esiste ad oggi un modello PoS comprovatamente sicuro.
Il principale problema dei PoS è che se nel passato qualcuno ha avuto una quantità maggioritaria di coin in stake, può usarli per attaccare la rete in un qualunque momento nel futuro, anche dopo essersene sbarazzato. Se ad esempio al blocco 0 di una certa criptovaluta il suo creatore avesse il 100% dello stake, potrebbe riscrivere (tecnicamente “riorganizzare”) l’intera blockchain anche fra molti anni, pur avendo preventivamente venduto tutti i propri token. Questo significa avere il totale controllo sulla blockchain e nessun rischio finanziario associato all’attacco.
Per ovviare a questo tipo di attacco, in gergo chiamato “long range attack”, si è pensato di introdurre dei “checkpoint”, ovvero un meccanismo per impedire la “riorganizzazione” dell’intera catena nella PoS. L’introduzione di checkpoint però può essere fatta solamente attraverso due vie: decisa arbitrariamente da un ente centrale, oppure delegata ai singoli nodi. Questo però porta ad ulteriori problematiche:

  1. un nodo di nuova installazione non è in grado di determinare i checkpoint, deve fidarsi dei nodi a cui si collega (potenzialmente malevoli),
  2. se il checkpoint è troppo indietro nel tempo i tempi di conferma per essere certi di un pagamento si allungano perché di fatto il checkpoint è l’unica cosa che tiene in sicurezza la rete PoS
  3. se il checkpoint è troppo vicino c’è una certa probabilità che si generino biforcazioni e quindi “nascano” blockchain parallele con storie diverse, rendendo più aleatorie le conferme di transazione
  • In una biforcazione della catena per cause di forza maggiore (esempio blackout internet in alcune parti del mondo) nella PoW i nodi si “auto-organizzerebbero” e la catena con “lavoro” accumulato più grande verrà accettata come valida, una volta che la situazione sarà tornata alla normalità, mentre le altre verranno scartate. Nella PoS, il comportamento non è deterministico ed è impossibile da automatizzare senza introdurre alcune regole arbitrarie che aumentano di conseguenza le superfici di attacco. La divisione potrebbe diventare permanente, poiché alcuni protocolli PoS rendono impossibile tornare troppo indietro nel passato. I progettisti del protocollo PoS spesso fanno di tutto per “punire” gli attori che si comportano male, ma quello che non considerano è la possibilità che tutti i nodi agiscano onestamente, in una divisione della catena spontanea o per cause di forza maggiore.
  • In tutti i sistemi PoS che mettono a stake i token per le operazioni di mining, le chiavi private (che devono essere online per poter validare i blocchi) dei più ricchi stake holder potrebbero essere rubate a seguito di sofisticati attacchi di ingegneria sociale (rapimento, tortura, estorsione, ecc.). Rubando le chiavi invece acquistare monete sul mercato, l’attaccante evita di aumentare il valore della valuta durante l’attacco. Nella PoW chi detiene la maggioranza dell’hashpower può tentare un attacco di double spending o censurare delle transazioni ma non può riscrivere la blockchain se non con costi enormi ed esponenziali, nella PoS al contrario chi detiene la quota di maggioranza ha un potere illimitato. Oltre al “double spending” e alla censura delle tx senza può anche:
    - riscrivere la cronologia, se il protocollo non ha checkpoint
    - causare divisioni di catena inconciliabili, se il protocollo ha checkpoint. La modifica dell’algoritmo PoS non aiuta in quanto non ci sono praticamente costi di cambio, a differenza dell’investimento in hardware.
  • In tutte le varianti di PoS per attaccare la catena basta avere il controllo di ⅓ dei coin in stake, che è bene precisare non corrispondono ad ⅓ della supply, ma riguarda solamente i coin usati per la validazione, se supponiamo che nella PoS vengano impiegati il 25% dei coin, ad un attaccante basterà entrare in possesso delle chiavi che controllano 1/12 dei coin totali per poter manipolare l’intera blockchain (sia nel futuro che nel passato). Se la maggioranza dei ⅔ non viene raggiunta infatti nessun blocco può essere finalizzato e la catena si ferma di colpo. A questa problematica non esistono ad oggi reali soluzioni sicure al 100%, si pensa che la cosa migliore sia quella di usare una fonte di entropia esterna (esempio ottenuta tramite PoW) per assegnare in modo casuale un “turno” ad ogni validatore per ogni round di validazione di un blocco, questo però porta con sé altri problemi:
    - Non è chiaro se il “segnale casuale” possa essere veramente implementato in modo sicuro e decentralizzato.
    - Un blocco digitale non ha alcun peso reale è solo un insieme di 0 e 1, se la produzione non costa nulla, la falsificazione o la riproduzione non costerà nulla. La cosa che rende reale il peso di un blocco PoW è che esiste un collegamento diretto e dimostrabile tra l’hash del blocco e l’energia spesa per estrarre quel blocco.
    - Il peso di un blocco è soggettivo e quindi può essere manipolato. Questo peso fittizio diventerebbe privo di significato, se i nodi non fossero mai d’accordo sulla casualità, o ci fossero dei malfunzionamenti nella fonte di entropia.
  • Per riassumere la PoW rispetto alla PoS:
    - Protegge il futuro : quando c’è una divisione della catena, fornisce un meccanismo oggettivo e automatizzato per risolvere i conflitti, senza richiedere l’intervento umano o di terze parti fidate.
    - Protegge il passato : ottenere il controllo della maggioranza dell’hashpower non dà pieno potere di controllo sulla blockchain all’aggressore. Un attacco per riscrivere la cronologia (anche solo di pochi blocchi) avrebbe costi enormi ed insostenibili sia in termini di tempo che di denaro. L’energia spesa nel minare un blocco infatti non solo protegge gli UTXO appartenenti a quel blocco, ma protegge anche retroattivamente tutti gli UTXO dei blocchi precedenti . Questo perché sarebbe impossibile ripristinare gli UTXO precedenti senza prima ripristinare il blocco corrente. Ogni nuovo blocco “seppellisce” tutti gli UTXO esistenti “sotto il suo peso”.
    - L’investimento in hw di mining, rappresenta il potenziale flusso di ricompense che guadagneremo in futuro , scontate al presente. Quando un minatore investe in nuovo hardware, è come acquistare una quota di azioni che paga dividendi regolari. Ciò significa che l’hardware di mining nella totalità rappresenta approssimativamente il potenziale dispendio energetico dei blocchi futuri. Un modo per visualizzarlo è immaginare una sequenza temporale. Le unità di lavoro spese in passato si accumulano nel libro mastro. Le unità di lavoro che si spenderanno in futuro si accumulano nell’attuale hardware di mining.

Il libro mastro accumula il lavoro passato; l’hardware di mining accumula il lavoro futuro.

Con il passare del tempo, le unità di lavoro sul lato destro si materializzano e si spostano sul lato sinistro. L’hardware minerario può anche essere visto come un “buffer”, un luogo in cui le unità di lavoro si depositano prima di raggiungere la loro destinazione finale: il libro mastro.

Al contrario, nella PoS questo meccanismo non esiste. Gli stake passati (lato sinistro della sequenza temporale) non si accumulano nel libro mastro, poiché lo stake viene svincolato dopo un periodo di vincolo arbitrario. Il “long range attack” è la manifestazione di questa debolezza: funziona a causa dell’incapacità di PoS di proteggere il passato. Questo tipo di attacco è al centro dei problemi della PoS, perché mostra che a lungo termine la PoS non riesce a garantire l’integrità del libro mastro, ovvero la risorsa più importante per una blockchain. Anche la posta in gioco futura (lato destro della linea temporale) non si accumula nei miner nel tempo presente, poiché ancora una volta l’atto di puntare ha significato solo all’interno della breve finestra in cui si verifica — ciò che accade in futuro non conta oggi — .

Il fatto che il costo (in termini di hw ed energetici) del mining PoW sia irrimediabilmente affondato e si accumuli sia nel libro mastro che nell’hardware di mining, è una caratteristica importante, non un bug. La ricerca sulla PoS si basa spesso sul malinteso fondamentale che questo sia un bug e una fonte di inefficienza.

Ultimo, ma non per importanza è un problema più di carattere “politico-sociale”, in un sistema proof-of-stake, più token si hanno, più potere di voto si ha, guadagnano nel contempo anche nuovi token dallo staking. Dal momento che i miners nella PoS non hanno bisogno di spendere risorse del mondo reale per “puntare”, possono semplicemente aumentare il loro staking (per semplicità si può paragonare a chi reinveste i dividendi nelle stesse azioni che glie li hanno staccati) guadagnando token in continuazione grazie alle ricompense per aver minato il blocco, aumentano così esponenzialmente la loro influenza. In parole povere chi è più ricco diventa sempre più ricco e allo stesso tempo ha più peso ed influenza nella rete stessa.

Sarebbe come un sistema politico in cui si ottiene un voto per ogni cento dollari che si hanno, e poi al contempo si venisse pagati un dollaro dal governo per esprimere ogni voto. Mary, l’insegnante di scienze del liceo con $ 20.000 di patrimonio netto, ottiene 200 voti e guadagna $ 200 dal governo per il voto. Jeff Bezos, con un patrimonio netto di $ 200 miliardi, ottiene 2 miliardi di voti e guadagna $ 2 miliardi dal governo per il voto. Jeff è quindi un cittadino più prezioso ed influente di Mary per il governo, di un milione di volte, e non solo, viene anche pagato di più dal governo per essere già ricco.

Non è un sistema in cui molte persone vorrebbero vivere. Alla fine probabilmente si consoliderebbe in un oligopolio (se non lo fosse già), con una manciata di multimiliardari che controllano la maggior parte dei voti e governano tutto. Se diventa troppo centralizzato, questo ovviamente vanifica lo scopo di una blockchain, ovvero essere decentralizzata e incensurabile.

Ulteriori link per approfondire:

Video di Yungfi che riassume in modo eccellente le principali perplessità riguardo alla PoS: https://youtu.be/aJSv6B1R0d4 (qui anche sottotitolato in italiano ➡️ https://youtu.be/_WFxDjvp9LI )

https://download.wpsoftware.net/bitcoin/pos.pdf

https://www.truthcoin.info/blog/pow-cheapest/

https://medium.com/@hugonguyen/proof-of-stake-the-wrong-engineering-mindset-15e641ab65a2?fbclid=IwAR1tTaLLWnMF1I3KOiJuSvE-HkDfr3yvVx0zLsj4h8Pgw6IiG0QNI4G5Fls

https://medium.com/@hugonguyen/proof-of-stake-private-keys-attacks-and-unforgeable-costliness-the-unsung-hero-5caca70b01cb?fbclid=IwAR0u84nrWpoc68Kx4E-EM3wr_9EwoxORRKk_U0jyJlvNBuP5n7i2lPPiPh8

https://blog.positive.com/rewriting-history-a-brief-introduction-to-long-range-attacks-54e473acdba9?fbclid=IwAR3p7HRjxz4TQDBH80As4TVVLwMmxJdVabpNqIf0Gn5NSFJzYs1Dowc4Mds

https://medium.com/@hugonguyen/work-is-timeless-stake-is-not-554c4450ce18?fbclid=IwAR184es8McDCpyXRoJSlMbK7Y22zDyRbGDGE2N0QzE1vF5gyj5UjXys0mBI

https://www.lynalden.com/proof-of-stake/

--

--

Pindol
Pindol

Written by Pindol

Bitcoin maximalist and technology enthusiast

No responses yet