Cos’è il Selfish Mining su una Blockchain?
Non tutti i minatori di criptovalute agiscono per un bene comune.
La decentralizzazione è cruciale nella maggior parte dei progetti e delle reti sulla blockchain. Bitcoin delega la convalida delle transazioni a nodi con potere computazionale invece di fare affidamento su un’autorità centrale. Su una blockchain Proof of Work (PoW) come Bitcoin, il processo è chiamato mining. I partecipanti convalidano le transazioni crittografiche e ricevono premi.
La sicurezza sulla blockchain PoW dipende dal presupposto che i nodi rimarranno onesti e condivideranno nuovi blocchi sulla catena. Ma è impossibile garantire l'onestà di ogni nodo. Alcuni potrebbero non pubblicizzare i blocchi appena scoperti per vincere più premi in un processo chiamato selfish mining.
Che cos'è l'estrazione egoistica?
Il mining egoista prevede che un minatore o un gruppo di minatori trattengano ingannevolmente nuovi blocchi sulla blockchain per monopolizzare i premi per la convalida dei blocchi. Il mining si riferisce alla convalida delle transazioni sulla rete Bitcoin in cambio della ricompensa per il blocco e delle commissioni di transazione, ecco come funziona il mining di Bitcoin.
Il mining egoista si verifica quando un minatore mantiene segrete le informazioni su un blocco appena scoperto per accumulare più blocchi rispetto alla catena pubblica e ottenere la maggior parte dei premi del blocco.
I minatori egoisti, se riescono nel loro attacco, possono alterare la traiettoria della blockchain. Il loro scopo principale è indebolire la catena pubblica creando più blocchi, sufficienti a dominare la catena principale e monopolizzare le ricompense dei blocchi. Una volta che possono sostituire la catena principale con la loro catena privata, i blocchi e le transazioni all'interno dei blocchi sulla catena sono completamente diversi da quelli che normalmente avrebbero dovuto essere registrati.
Come funziona il mining egoista?
Per comprendere il mining egoista, è fondamentale capire come funziona il mining blockchain. Quando invii criptovalute da un portafoglio a un altro, la transazione viene raggruppata con altre per formare un blocco crittografato con un numero esadecimale di 64 cifre chiamato hash. I minatori competono per risolvere con il potere computazionale di indovinare l'hash. Il minatore di successo ottiene il diritto di convalidare le transazioni in quel blocco, aggiungerlo alla catena pubblica e ricevere la ricompensa.
Un minatore egoista competerà con altri minatori per indovinare l’hash e ottenere il diritto di aggiungere il blocco alla blockchain. Ma invece di aggiungere (pubblicare) il nuovo blocco, un minatore egoista nasconde quel blocco e continua a estrarre blocchi sopra di esso. I blocchi estratti egoisticamente vengono divulgati solo per ottenere la massima ricompensa sui blocchi.
Il processo di mining avviene contemporaneamente, non simultaneamente. Su una rete di grandi dimensioni come Bitcoin vengono elaborate migliaia di transazioni. Per risparmiare tempo, le transazioni sono raggruppate in blocchi. I minatori competono per essere i più veloci nel risolvere l’hash di un blocco, quindi saranno loro ad aggiungerlo alla catena.
Tuttavia, quando un minatore egoista scava e nasconde un blocco, non lo nasconde sotto il moggio. Invece, il minatore non riesce ad aggiungerlo al registro distribuito creando quello che viene definito un "fork accidentale". Un fork accidentale è semplicemente una serie di blocchi che corrono accanto ma non fanno parte della blockchain. Anche se nel caso dell'estrazione egoistica, in realtà non è casuale.
Mentre gli altri minatori di criptovalute lavorano continuamente sulla parte pubblica della blockchain, i minatori egoisti costruiscono il loro fork con l'intenzione di accumulare più blocchi della catena pubblica, dopodiché lo pubblicizzano.
A questo punto potrebbe succedere una di queste tre cose; se la catena pubblica è più lunga del fork del minatore egoista, perde e i minatori (onesti) sulla catena pubblica ottengono le loro ricompense. Se la catena pubblica è più corta, vincono e il fork accidentale viene adottato come catena valida. Questo perché una blockchain proof of work si basa sul presupposto che la catena più lunga sia quella valida. Il fork "egoista" diventa quindi parte della catena principale e i blocchi duplicati sulla catena principale vengono scartati, facendo sì che i minatori che hanno contribuito a quella catena perdano le loro ricompense.
La blockchain PoW richiede molta potenza computazionale per convalidare le transazioni, quindi un gruppo di minatori spesso svolge un'attività di mining chiamata pool, che combina la loro potenza computazionale per aumentare le loro possibilità di ottenere ricompense. Un minatore egoista deve detenere tra il 5 e il 10% dell’hash rate della rete.
L’estrazione egoistica è pericolosa?
Un effetto di un attacco minerario egoistico è la centralizzazione della rete. I nodi sulle blockchain PoW devono adottare la catena più lunga come versione valida della blockchain. Poiché i nodi onesti rischiano di perdere i loro premi se la catena egoista risulta essere più lunga al momento della pubblicazione, è più probabile che si uniscano al pool di minatori egoisti. Alla fine, il pool egoista cresce fino a diventare la maggioranza sulla blockchain ed elimina la decentralizzazione sulla rete.
Anche la centralizzazione del mining sulla rete Bitcoin può portare a un ritardo nelle transazioni. Quando un pool egoista diventa la maggioranza su una rete, può dettare quali transazioni verranno aggiunte alla catena pubblica. I minatori egoisti hanno maggiori probabilità di dare la priorità ai blocchi con ricompense più elevate. Questa selezione di transazioni porterà a un accumulo di transazioni e renderà la rete inefficiente.
Inoltre, il mining egoistico introducendo la centralizzazione nella blockchain crea l’ambiente perfetto per gli attori malintenzionati. Problemi come la doppia spesa potrebbero essere affrontati anche perché il compito di convalidare le transazioni risiede nel potere dei nodi disonesti.
Strategie per combattere l’estrazione egoistica
Sono state proposte diverse strategie per combattere il mining egoistico sulla rete Bitcoin e ciascuna strategia adotta un approccio diverso. Mentre alcuni suggeriscono di apportare modifiche alla rete, altre strategie includono fornire ai nodi incentivi per rimanere onesti.
La prima soluzione proposta è una tecnica di randomizzazione. Questa è nota come modifica compatibile con le versioni precedenti. Richiede ai minatori che si imbattono in più di un fork sulla blockchain di selezionare in modo casuale su quale fork continuare a lavorare. Oltre a selezionare i blocchi in modo casuale, i minatori devono pubblicare informazioni su tutti i blocchi e i fork scoperti. Poiché l’estrazione egoistica dipende da una catena privata e dall’estrazione deliberata e continua su tale catena, l’introduzione di un processo di selezione casuale mina l’attività.
Una strategia separata prevede di marchiare ciascun blocco con un timestamp. Il timestamp includerà informazioni su quando ciascun blocco è stato estratto, quindi quando un blocco viene estratto privatamente e successivamente aggiunto alla catena principale con il suo timestamp obsoleto, può essere facilmente separato dal resto e scartato.
Il mining egoistico riduce il valore di Bitcoin
Indipendentemente dal loro interesse redditizio, gli attacchi minerari egoistici possono influenzare negativamente la rete blockchain. Possono portare alla centralizzazione e a ritardi nelle transazioni, creando l’ambiente perfetto per gli autori malintenzionati.
Sono state proposte diverse strategie per combattere il selfish mining, tra cui apportare modifiche al protocollo e incentivare i nodi a rimanere onesti. In definitiva, affinché i minatori siano redditizi, è nel loro interesse agire onestamente e mantenere la proposta di valore della criptovaluta.

