Menu
Home » Codice e sviluppo » Ethereum e Proof of Work: perché il divorzio è inevitabile

Ethereum e Proof of Work: perché il divorzio è inevitabile

18 Marzo 2018 12:48
Tempo di lettura: 4 min.
18 Marzo 2018 12:48
Giuseppe Brogna

In un articolo precedente, ho fornito una semplice spiegazione sulla tecnologia Sharding di Ethereum. Ho anche menzionato il modo in cui Sharding è stato uno dei fattori trainanti per il passaggio di Ethereum al protocollo di consenso Proof of Stake.

Nel presente articolo fornirò una breve e semplice spiegazione sul perché la Proof Of Work non è la scelta ideale per Sharding, e su come la Proof Of Stake affronta i problemi che Sharding causa alla blockchain.

Perché iniziare con lo shard?

Sharding è una tecnologia finalizzata alla risoluzione dei problemi di scalabilità di cui Ethereum soffre. Tutte le blockchain sono limitate dalla loro architettura e design. Come? Perché ogni nodo nella blockchain elabora ogni singola transazione. Mentre questo offre un elevato grado di sicurezza/affidabilità, limita però la scalabilità.

Sharding migliora la scalabilità della blockchain di Ethereum, suddividendo il network in “gruppi/pezzi” più piccoli (leggi l’articolo sulla spiegazione).

Cosa c’è di sbagliato nella PoW?

La blockchain di Ethereum attualmente funziona con un algoritmo di consenso Proof of Work.

Va ricordato che il consenso o “accordo” è raggiunto da una maggioranza che accetta lo stato del “libro mastro” (ledger).

La Proof of Work si basa essenzialmente sull’hash power per convalidare la catena. La blockchain è un sistema “senza fiducia” (trustless), quindi abbiamo bisogno di disincentivare le persone dall’essere cattivi attori. Come spiegato, un cattivo attore dovrebbe avere la maggioranza dell’hash power per manipolare la rete. È un sacco di hash power. La bolletta dell’elettricità e i costi dell’hardware saranno elevatissimi.

Quindi, nella Proof of Work la spesa per l’hash power rende proibitivo essere un attaccante.

Ricorda che se implementiamo Sharding in un sistema di Proof of Work, stiamo suddividendo la rete in “pezzi”. Quindi, ottenere una “maggioranza” di hash power in un particolare shard diventerebbe improvvisamente possibile (dato che ogni shard avrà solo un “pezzo” del totale di hash power).

A differenza dell’attacco all’intera rete, ogni shard richiederà solo una frazione dell’hash power. Un attacco non è più proibitivo dal punto di vista dei costi.

Infatti, se dividi la rete in 100 pezzi, hai solo bisogno dell’1% dell’hash power totale per prendere in pugno uno shard.

I validatori possono far convergere il loro hash power verso un singolo shard, e prendere il controllo di quel frammento. Un modo per prevenire questo attacco, consiste nell’impedire agli attaccanti di concentrare il loro hash power su un singolo shard.

Tuttavia, questo è difficile/non è possibile farlo in un protocollo Proof Of Work. In un sistema Proof of Work, non puoi impedire ai miners di lavorare su un determinato shard – È qui che entra in gioco la Proof Of Stake!

Proof of Stake

La Proof of Stake rimuove il costo estrinseco della convalida della catena: costi di hash power/elettricità. Ecco come:

Nella Proof of Stake, i “Supernodi” sono tenuti a “depositare” (stake) i loro Ether per poter eseguire le funzioni di validazione.

Ancora una volta, ricorda che:

I “Raccoglitori” (assistenti del professore): raccolgono le mini-descrizioni delle transazioni e lo stato attuale dello shard, e li inviano ai validatori del nodo.

I “Supernodi” (professori): prendono i dati dai “Raccoglitori”. Elaborano le transazioni e convalidano i blocchi.

La Proof Of Stake – insieme a questa struttura – consente ad Ethereum di fare qualcosa che non può fare (facilmente) in un sistema di Proof of Work. Si tratta dell’abilità che conduce alla selezione casuale.

Poiché i “Supernodi” depositano i loro Ether, possono essere assegnati casualmente a uno shard. Anche i “compiti” vengono rimescolati regolarmente.

Questo assicurerà che gli attaccanti:

Non possono scegliere lo shard su cui vogliono lavorare: non vogliamo che scelgano il loro shard, perché un piccolo gruppo di attaccanti può prendere di mira un singolo shard per controllarlo. Persino gli attaccanti con un piccolo stake totale possono concentrare le loro poste e finalizzare un attacco.

Non possono sapere in anticipo su quale shard lavoreranno: se non rimescoliamo, un attaccante potrebbe avere abbastanza tempo per individuare le altre persone che sono state assegnate al suo shard. Questo gli permetterà di colludere con loro e attaccare lo shard. Rimischiamo regolarmente per evitare questo.

I “Supernodi” vengono assegnati casualmente a uno shard. Non sapendo in anticipo a quale shard sono assegnati, non potranno attaccare il sistema.

Ricapitolando

Come puoi vedere, la Proof Of Stake rende la scelta randomica piuttosto banale. I validatori selezionati vengono rimescolati regolarmente.

Una citazione di Vitalik sul mio post precedente:

È molto importante accennare al fatto che i validatori vengono rimescolati molto frequentemente tra gli shards (possibilmente anche una volta per blocco), quindi in realtà è piuttosto difficile “bersagliare” uno shard specifico per un attacco. Questa è una parte importante del successo, almeno teorico, di Sharding nella rottura del trilemma.

Vitalik Buterin.

Quando Vitalik fa riferimento a “rompere il trilemma“, sta parlando di come in genere solo 2 su 3 dei seguenti attributi possono essere ottenuti in una blockchain:

  • Sicurezza
  • Scalabilità
  • Decentralizzazione

La Proof of Stake consente un facile campionamento e rimescolamento, che garantisce la “sicurezza” del trilemma – mentre la struttura di Sharding ci fornisce un livello di scalabilità e decentralizzazione. Quindi, in teoria, si rompe il trilemma della blockchain. Questa è un’impresa grandiosa!

Di Shawn Dexter.

Clicca qui per accedere alla guida gratuita su come comprare, vendere, trasferire e conservare in sicurezza gli Ether.

Condividi
  • 22
    Shares

CATEGORIE:

Codice e sviluppoMining Ethereum


Giuseppe Brogna

Giuseppe è laureato in giurisprudenza, da sempre appassionato di tecnologia e studioso di tematiche economiche. Stimolato dal potenziale impatto economico e sociale, si approccia al mondo delle DLT; matura particolari interessi nella nuova finanza hitech legata alle tecnologie del ledger distribuito.


  1. ha commentato:

    Salve, MongoDb pare che usi già la metodologia shard, per caso esso è usato nella ethereum Blockchain?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Condividi questo articolo

Invia questo articolo ad un amico