Recentemente, Coinbase ha osservato che una mining pool chiamata ViaBTC controlla attualmente oltre il 50% dell’hashrate di Zcash, mettendo la rete a rischio di un “attacco del 51%”.

In breve

  • Finora non è stato osservato alcun attacco del 51% sulla rete Zcash.
  • Se siete miner (o minatori) di ZEC che utilizzano il pool ViaBTC, passare a un altro pool vi aiuterà a prevenire un possibile attacco del 51%, proteggendo il valore delle vostre ricompense di mining.
  • Se siete utenti di Zcash e volete proteggervi da eventuali attacchi futuri al 51%, aspettate più di 100 conferme.
  • I nodi Zcash si fermeranno se vedranno un rollback di 100 blocchi o più, dando agli sviluppatori il tempo di indagare e rispondere a qualsiasi attacco del 51% che tenti di rollbackare così tanti blocchi.
  • Electric Coin Company sta lavorando alla transizione di Zcash da proof of work a proof of stake, che dovrebbe contribuire a decentralizzare il consenso della rete, riducendo il rischio di attacchi al 51% in futuro.

Cos’è un attacco del 51%?

In una blockchain proof-of-work come Zcash, la rete raggiunge un consenso sull’inclusione e sull’ordine delle transazioni attraverso un processo di estrazione di “blocchi”.

I miner raccolgono le transazioni in sospeso in un blocco e poi competono per essere i primi a risolvere un cripto-puzzle relativo al blocco proposto. Il primo minatore a trovare una soluzione viene ricompensato per i suoi sforzi: il suo blocco diventa il blocco successivo nella catena dei blocchi e riceve una parte dei nuovi fondi creati dal suo blocco. I miner risolvono questi rompicapo con la forza bruta, e la velocità con cui possono provare a indovinare è nota come “hashrate”.

Quando i minatori eseguono questo processo, ci possono essere “rami” della catena di blocchi in competizione tra loro. Ad esempio, se due miner trovano una soluzione nello stesso momento, non è chiaro quale dei loro blocchi sia il blocco successivo. In questo caso, gli altri miner decidono su quale ramo proseguire l’estrazione, di solito scegliendo il primo ramo che ricevono in modo da poter continuare l’estrazione il più rapidamente possibile.

I nodi della rete decidono quale ramo della catena seguire sommando la quantità totale di lavoro necessaria per risolvere tutti i critto-puzzle lungo il ramo. Alla fine, qualsiasi ambiguità su quale ramo seguire viene risolta quando un ramo ha chiaramente la maggior quantità di lavoro applicata ad esso.

Questo rende difficile l’inversione delle transazioni che sono state estratte a una profondità sufficiente. Ad esempio, supponiamo che una transazione sia stata estratta in un blocco e che dopo di essa siano stati estratti altri 10 blocchi. Per poter annullare la transazione, un aggressore dovrebbe superare la concorrenza di tutti gli altri minatori, producendo una catena alternativa che non include la transazione che si vuole annullare e alla quale è stato applicato un lavoro totale superiore a quello necessario per produrre i 10 blocchi della catena originale. Quindi, finché nessuno controlla la maggioranza dell’hashrate della rete, le transazioni non possono essere annullate.

Quando un singolo miner o un gruppo coeso di miner controlla più del 50% dell’hashrate, ha il potere di annullare le transazioni. Questo perché possono superare la concorrenza di tutti gli altri miner e produrre una catena alternativa con più lavoro totale.

Il rollback delle transazioni può essere utilizzato per compiere furti. Ad esempio, l’aggressore potrebbe effettuare una transazione che invia token ad un exchange, vendere quei token per contanti e poi annullare la transazione in modo che lo scambio non riceva i token. L’aggressore se ne va con i token originali e con il denaro per cui li ha “venduti”.

Come ha sottolineato Coinbase, ViaBTC, che controlla più del 50% dell’hashrate di Zcash, si trova in una posizione tale da poter effettuare un attacco di questo tipo.

Quali difese ha Zcash contro gli attacchi del 51%?

Ciascun nodo Zcash implementa una regola in base alla quale il nodo si spegne se compare una nuova catena con un numero di lavoro totale superiore a 100 blocchi o più.

Ciò significa che, mentre un attacco del 51% che arretrasse di 99 blocchi o meno non verrebbe automaticamente rilevato, un attacco del 51% che tentasse di arretrare di più blocchi non si propagherebbe attraverso la rete o causerebbe l’arresto della rete.

Il comportamento di arresto garantisce che qualsiasi attacco al 51% di grandi dimensioni venga rilevato e possa essere affrontato dagli ingegneri che si occupano di Zcash. Ciò significa che un utente può ridurre il rischio di perdere fondi a causa di un attacco del 51% aspettando almeno 100 conferme. Se poi subisce un attacco del 51%, è improbabile che la catena alternativa diventi la catena principale, ed è probabile che gli ingegneri che gestiscono Zcash rispondano manualmente e risolvano il problema.

Cosa possiamo fare per ridurre il rischio di attacchi del 51%?

Come già detto, gli utenti di Zcash possono ridurre il rischio di perdere fondi a causa di un attacco del 51% aspettando 100 o più conferme. Gli utenti avanzati possono anche rilevare grandi rollback di meno di 100 blocchi, dopo che sono avvenuti, esaminando l’output del comando getchaintips sul proprio nodo.

I miner di Zcash che utilizzano ViaBTC possono ridurre immediatamente il rischio di un attacco del 51% cambiando pool. In questo modo ridurranno la quantità di hashrate controllata da ViaBTC e aumenteranno l’hashrate controllato da altri pool, riducendo la capacità di ViaBTC di portare a termine un attacco. I miner sono incentivati a farlo, poiché proteggere Zcash dagli attacchi del 51% significa anche proteggere il valore delle loro ricompense di mining.

Vale anche la pena notare che ViaBTC è incentivata a non attaccare il 51% della rete Zcash, poiché se lo facesse, probabilmente verrebbe scoperto e rischierebbe di infangare il proprio marchio e di perdere miner per tutte le altre blockchain che supporta. Detto questo, la sicurezza di Zcash dovrebbe avere basi più solide che fare affidamento sugli incentivi di una sola organizzazione.

Come soluzione più completa, Electric Coin Company sta studiando e sviluppando una transizione verso la proof of stake per la rete Zcash.

La proof of stake è un’alternativa alla proof of work in cui il consenso non è più determinato dalla velocità di risoluzione dei cripto-puzzle, ma dai validatori, selezionati in base all’ammontare dei fondi che sono stati loro affidati (“staked”). I validatori scorretti vengono “tagliati”, così gli utenti sono incentivati a delegare i loro fondi solo a validatori affidabili.

Anche gli algoritmi di consenso Proof of stake possono soffrire di rischi di centralizzazione. Attacchi simili a quello del 51% sono possibili contro una blockchain proof of stake quando una singola entità controlla la maggioranza dei validatori della rete. Tuttavia, la proof of stake dovrebbe essere un miglioramento rispetto alla proof of work, poiché apre la porta a un maggior numero di utenti che partecipano al consenso della rete.

Per partecipare al consenso su una blockchain proof of work, è necessario possedere o noleggiare un costoso hardware per il mining. Non tutti possono farlo. Con la proof of stake, invece, ogni possessore di ZEC potrà delegare i propri token a un validatore per la partecipazione. Con l’abbassamento della barriera per la partecipazione al consenso, più persone saranno in grado di partecipare, il che dovrebbe aumentare la decentralizzazione e migliorare la sicurezza di Zcash contro tali attacchi.

Conclusione

Per riassumere, il pool di mining ViaBTC controlla attualmente più del 50% dell’hashrate di Zcash, consentendo loro di eseguire l’attacco del 51% alla rete qualora decidessero di farlo. Finora non è stato osservato alcun attacco.

Gli utenti possono proteggersi dai furti aspettando più di 100 conferme ed i miner di Zcash che utilizzano ViaBTC possono proteggere il valore delle loro ricompense minate cambiando pool.

Electric Coin Company sta lavorando alla transizione di Zcash alla proof of stake, che dovrebbe consentire una più facile partecipazione al consenso della rete, aumentando così la decentralizzazione e la sicurezza di Zcash.

Articolo precedenteZcashd — Inizializzazione
Articolo successivoBrave, Electric Coin Co. e Filecoin Foundation annunciano una partnership per portare nuovi strumenti per la privacy sul Web3