I nodi sono il vero e proprio motore di una blockchain. Non stupisce quindi eccessivamente il fatto che esista un attacco che li prende espressamente di mira. Il riferimento è all'attacco Eclipse, un raid abbastanza semplice nella sua concezione, il quale si propone di andare a interferire coi nodi con l'intento di oscurarli del tutto. In tal modo sarà possibile causare disturbi di carattere generale al network, oppure preparare il terreno in vista di attacchi più sofisticati. Andiamo quindi a cercare di capire meglio cosa siano e la loro effettiva pericolosità.
Gli attacchi Eclipse presentano alcuni punti di somiglianza con quelli Sybil, ma hanno un obiettivo finale differente, mirando di fatto a colpire un solo nodo, invece che l'intero network. Se l'attacco Sybil è concepito in maniera tale da aggirare il sistema reputazionale del protocollo colpito, quello Eclipse si ripropone di fare in modo che tutte le interazioni dell'obiettivo abbiano luogo con nodi controllati dall'hacker.
L'attaccante, infatti, provvede a inondare il bersaglio con i suoi indirizzi IP, cui è probabile che la vittima si connetterà al riavvio del proprio software. Riavvio il quale può essere del tutto naturale, oppure essere forzato dallo stesso hacker tramite un attacco DDoS ai danni della vittima.
Una volta che l'attacco sia andato a buon fine, la vittima si ritrova praticamente in balia dei nodi controllati dall'attaccante, senza alcuna possibilità di interagire con il network, dandogli modo di indurlo ad accettare dati non corretti, in vase di validazione.
Per condurre un attacco a danno dei nodi, occorre investire del denaro. Con ogni probabilità, quindi, l'attacco ha un obiettivo finanziario. Tra quelli più frequenti, vanno ricordati i seguenti:
In teoria, un raid di tipo Eclipse potrebbe fornire la base per un attacco 51%. Nel caso di Bitcoin tale eventualità è un'ipotesi di scuola, in quanto servirebbe il noleggio di hash power per miliardi di dollari. In altri casi, invece, l'ipotesi è tutt'altro che remota, come il suo possibile utilizzo per il cosiddetto selfish mining.
Se l'attaccante possiede un numero sufficiente di indirizzi IP, è in grado di eclissare qualsiasi nodo. Le reti, però hanno la possibilità di attuare strategie difensive in grado di mitigare il pericolo. Quella più semplice in assoluto consiste nel blocco delle connessioni in entrata, oltre all'effettuazione di connessioni esclusivamente verso alcuni nodi, in particolare quelli che fanno parte di una white list.
Il problema è stato oggetto di un documento del 2015, intitolato "Eclipse Attacks on Bitcoin’s Peer-to-Peer Network", elaborato dai ricercatori di Boston University e Hebrew University. Al suo interno sono indicate anche le possibili contromisure contro questi attacchi e si spiega che le contromisure che abbiamo ricordato hanno scarsa validità su larga scala, impedendo ai nuovi nodi di unirsi alla rete.
Nel caso di Bitcoin, invece, per impedire attacchi Eclipse bastano piccole modifiche al codice, per effetto delle quali gli attacchi diventano estremamente costosi. Tra i metodi già implementati su BTC per evitarli, occorre ricordare la selezione casuale di nuove connessioni e una maggiore capacità per l'archiviazione degli indirizzi.