Lo scorso fine settimana, al blocco numero 11.380.000, la community di Ethereum Classic (ETC) ha introdotto un aggiornamento per prevenire i 51% attack. Diversi attacchi di questo tipo hanno recentemente messo in enorme difficoltà ETC, e l’incertezza minava la sopravvivenza stessa della blockchain. Nelle settimane successive a questi attacchi, la community ha lavorato duramente per valutare diverse potenziali soluzioni

La prima che è stata implementata si chiama MESS, che sta per Modified Exponential Subjective Scoring: una sua versione precedente fu suggerita per la prima volta da Vitalik Buterin nel 2014. Questo protocollo si basa sul presupposto che, mentre le piccole riorganizzazioni che risalgono a pochi blocchi addietro sono perfettamente normali, quelle che propongono modifiche a transazioni distanti centinaia o addirittura migliaia di blocchi sono molto sospette.

Nella maggior parte delle blockchain basate su algoritmo di Proof-of-Work, la catena valida è quella più lunga: ciò significa che i malintenzionati dovrebbero creare separatamente una catena e poi caricarla sulla rete. Durante i recenti hack è successo proprio questo: i partecipanti al network hanno perso milioni di dollari.

Curva polinomiale MESS
Curva polinomiale MESS. Fonte: Ethereum Classic Improvement Proposal 1100.

MESS disincentiva l'attività di shadow mining soppesando le chain in modo diverso a seconda del momento della pubblicazione. Isaac Ardis, uno degli sviluppatori di ETC Core, ha spiegato questo meccanismo a Cointelegraph: 

“L'intenzione è quella di soppesare le chain che si verificano prima con quelle che vengono dopo. E così, in questo modo, c'è un incentivo a pubblicare il proprio lavoro online ed un disincentivo ai blocchi di transazioni privati.”

L'algoritmo impiega un moltiplicatore che determina la difficoltà richiesta da una qualsiasi chain per essere considerata credibile. Il moltiplicatore va da 1 a 31 e dipende dal momento del broadcast. Maggiori sospetti ci sono sulla riorganizzazione proposta, più alto è il moltiplicatore. Quindi una shadow chain dovrebbe fornire molteplici Proof-of-Work per essere considerata canonica. 

Quanto esposto chiarisce come il MESS non rende impossibili i 51% attack, poiché si tratta di una soluzione probabilistica e non deterministica, ma li rende estremamente costosi. Questo è uno dei motivi per cui la community ha discusso la sua attuazione in concomitanza con una soluzione di checkpointing. Ardis ha affermato che, sebbene sia una possibilità, non sembra che questa duplicazione sia molto vantaggiosa:

“Anche se si possono usare insieme, potreste non doverli usare insieme e potreste anche non volerli usare insieme.”

MESS ha diversi vantaggi. La codebase è compatta e non richiede un hard fork per essere implementata. I nodi che scelgono di eseguire MESS sono compatibili con quelli che non lo fanno. Secondo Ardis, qualsiasi discordanza entrerà in gioco solo nel caso in cui dovesse verificarsi un altro 51% attack:

“Se ci fosse un grande attacco, allora speriamo che i miner, gli operatori e i nodi che hanno attivato MESS riusciranno a dissuadere l'assalitore, mentre i nodi che non sono stati aggiornati si spostano sulla catena dell'assalitore.”

L'idea alla base di questa idea è che gli attacchi 51% tendono ad essere di brave durate ed opportunistici. Una volta che il malintenzionato desiste dal suo proposito, i miner onesti rimasti si ricongiungeranno alla chain canonica. 

MESS sembra essere una soluzione a breve e medio termine. Sebbene Ardis ritenga che nessuna blockchain sia immune da un 51% attack, egli sostiene che l'unica protezione possibile sia la crescita del network. A tal proposito, alcuni nella community credono che i miner di Ethereum (ETH) si uniranno ad Ethereum Classic dopo la prevista migrazione di ETH ad una forma di consenso Proof-of-Stake.

Secondo altri sarebbe importante approfittare della compatibilità tra le due reti, che permetterebbe semplici spostamenti da una rete Ethereum sempre più congestionata ad Ethereum Classic. Ardis ha concluso dicendo che ora che questo problema è risolto, il team può concentrarsi sullo sviluppo di nuovi tool per ETC.