Attacchi Basati Sulla Rete Di Nodi

Capitolo 4 di Breaking Cryptocurrencies

“Anche la spada più bella, posta in acqua salata, finirà per arrugginire." –Sun Tzu “L’Arte della Guerra”

Iniziamo ad entrare nel capitolo che tutti aspettavamo: gli attacchi alla rete di una cryptocurrency. Il network di una criptovaluta è vitale per la sua esistenza: infatti essa costituisce l’unico mezzo per i nodi per scambiare informazioni. Se grossi attacchi venissero eseguiti, si potrebbe avere, oltre che un danno di immagine, un danno economico per miliardi.

In questo capitolo, punto per punto, analizzeremo le dinamiche di ogni attacco e le effettive contromisure per evitare che non accada. Si darà molta importanza a tutte quelle operazioni che aggravano implicitamente lo stato di un attacco.

Consensus

Prima di iniziare il nostro viaggio, è bene precisare un paio di concetti tecnici: il consenso e la rete P2P.

La fiducia nella tecnologia blockchain si basa sulla sicurezza del meccanismo di consenso distribuito il cui ruolo è quello di determinare, secondo regole comuni tra i partecipanti, il contenuto del prossimo blocco che sarà collegato alla blockchain.

Un meccanismo di consenso è un insieme di regole e procedure che validano un insieme coerente di fatti tra partecipanti. Gli algoritmi di consenso permettono ad un insieme di nodi che formano un gruppo di concordare il contenuto del “libro mastro” comune condiviso assicurato dalla crittografia. Permette anche di essere tollerante ai guasti (resiliente), proprietà che garantisce il continuamento della funziona quando alcune macchine si guastano.

Lo scopo del meccanismo del consenso distribuito è quello di designare il nodo (più legittimo) per generare in un dato momento il prossimo blocco di transazioni, collegarlo alla blockchain esistente e garantire che:

Il consenso è l’elemento chiave, perché in assenza di un’autorità centrale di certificazione, i partecipanti devono concordare le regole e condividerne l’applicazione ferrea. In aggiunta, i criteri da verificare sono fissati e mirano al controllo della correttezza e completezza delle informazioni, il rifiuto di transazioni duplicate e la conferma di requisiti tecnici.

Proprietà del consenso

Nel 1985, Fisher, Lynch (MIT) e Patterson hanno dimostrato che nessun algoritmo di consenso deterministico può soddisfare contemporaneamente le tre proprietà di Consistenza, Disponibilità e Tolleranza alle partizioni in una rete distribuita asincrona (vedi definizione di “modello asincrono”). Qualsiasi sistema di calcolo distribuito può garantire in un dato momento solo due di questi vincoli, ma non tutti e tre simultaneamente.


Altro contenuto per Breaking Cryptocurrencies:

Questo tipo di contenuto non è stato revisionato o editato. Se trovi qualsiasi imprecisione tecnica o grammaticale, ti prego di scrivermi un'e-mail a: hi@serhack.me.

Biografia

Sono un security researcher, scrittore, contributore per il progetto Monero, una criptovaluta che è focalizzata nel proteggere le informazioni sulle transazioni. Il libro che ho pubblicato Mastering Monero è diventato una delle migliori risorse per padroneggiare Monero. Più informazioni su di me

Seguimi su Twitter o scrivimi una e-mail. Le donazioni sono molto apprezzate, mi permettono di continuare a lavorare e a scrivere.

Mastering Monero Book