Abbiamo visto in un precedente articolo in cosa consista IOTA, la crittovaluta di nuova generazione espressamente nata per supportare l’Internet of Things (IoT). Accanto ad alcune caratteristiche di assoluto rilievo, quali scalabilità, leggerezza ed elevata efficienza, IOTA offre una serie di strumenti (alcuni già presenti by-design, altri previsti nella roadmap di sviluppo) atti a garantire un elevato grado di sicurezza.
Introduzione
Gli scenari futuri per l’Internet of Things prevedono un numero sempre crescente di dispositivi connessi (alcune recenti stime ipotizzano oltre 50 miliardi di dispositivi IoT), la cui aspettativa è quella di migliorare e semplificare molti aspetti della nostra vita. Affinché questa previsione si avveri, è tuttavia necessario superare numerosi ostacoli, tra i quali il principale è la necessità di supportare le micro-transazioni. I dispositivi IoT devono cioè essere in grado di eseguire in modo autonomo il pagamento di piccoli importi, gestendo la transazione in modo rapido e sicuro, senza richiedere l’introduzione di hardware aggiuntivo. Questa esigenza rappresenta il principale motivo che ha condotto alla nascita di IOTA. Oltre ad essere più veloce e semplice da gestire rispetto ad altre crittovalute, IOTA mira anche ad essere più sicura.
La funzione Curl
In Figura 1 possiamo osservare una rappresentazione tridimensionale del Tangle, il grafo aciclico diretto (DAG) utilizzato per gestire il libro mastro delle transazioni in IOTA. Nel grafico, ciascun punto rappresenta una transazione, mentre le linee verdi rappresentano le verifiche (o validazioni) eseguite sulle stesse. Affinché un nodo della rete possa creare una nuova transazione, è necessario che esso verifichi due transazioni già presenti, scelte dal sistema in modo arbitrario. Questa operazione di verifica, nota con il termine tecnico di Proof of Work (PoW) consiste nella risoluzione di un algoritmo di una certa complessità e richiede quindi una discreta potenza computazionale.
Al fine di validare le transazioni, IOTA utilizza una funzione di hash (chiamata Curl) particolarmente innovativa. Curl è infatti basata sulla tecnologia ternaria, un sistema che offre un meccanismo di protezione superiore rispetto ai tradizionali metodi basati sulla logica binaria. Nella logica ternaria non esistono soltanto lo 0 e l’1, ma si utilizza anche il -1, elevando a 3 il numero di simboli elementari utilizzati. Al posto dei bit della logica binaria si utilizzano i trit, mentre al posto del byte si utilizza il tryte, composto di 3 trit. I progettisti di IOTA hanno scelto di rappresentare il tryte utilizzando le 26 lettere dell’alfabeto, con l’aggiunta della cifra 9 (il set completo di simboli è quindi il seguente: 9ABCDEFGHIJKLMNOPQRSTUVWXYZ). Si noti come il range di valori decimali associati a un tryte sia compreso tra -121 e +121, corrispondente a un insieme di 243 valori (121x2 + lo 0 centrale=243). Ciò significa che in un byte sono presenti 5 trit, in grado di rappresentare 3^5 = 243 differenti valori. Il numero 5 si ottiene dalla formula n = 8 / log2 3≃ 5. La funzione Curl è stata progettata in modo tale da essere compatibile sia con i processori tradizionali (basati sulla logica binaria) che su quelli ternari (come il computer JINN, espressamente sviluppato per supportare IOTA). Anche il numero totale Nc di coin disponibile in IOTA è stato calcolato, utilizzando la logica ternaria, secondo la seguente espressione:
Nc = (3^33 – 1 / 2) = 2779530283277761
Curl è la prima funzione di hash ternaria utilizzata al mondo, basata sullo stesso schema utilizzato per il SHA-3 (quindi con un grado di sicurezza molto elevato) e particolarmente indicata per il mondo IoT. Il computer JINN, una volta operativo, sarà in grado di risolvere l’algoritmo ternario di IOTA in modo più efficiente rispetto ai sistemi tradizionali. In futuro, si ritiene che il processore ternario JINN sarà integrato nella maggior parte dei dispositivi IoT, consentendo lo scambio sicuro di beni e servizi attraverso la moneta IOTA.
Attacco spam
Abbiamo visto come la funzione di hash Curl sia di per sè uno strumento già in grado aumentare la sicurezza di IOTA. Numerosi e diversificati sono tuttavia i tipi di attacchi perpretati dagli hacker, i principali dei quali saranno esposti nel presente e nei successivi paragrafi. Un attacco particolarmente insidioso per ogni crittovaluta è quello compiuto da gruppi di spammer. In questo tipo di scenario, gruppi coalizzati di hacker creano all’interno del sistema dei veri e propri mini Tangle, con l'obiettivo di guadagnare un peso cumulativo superiore rispetto a quello della rete Tangle “onesta”. La strategia impiegata consiste nella creazione aggressiva di transazioni di importo ridotto che, una volta validate, potranno far aumentare il peso cumulativo in modo considerevole. Questa possibilità è già stata esaminata nel documento ufficiale di IOTA, in cui si afferma che la protezione da questi attacchi è garantita imponendo che nessuna entità (nodo) possa generare transazioni di peso accettabile entro un intervallo temporale ridotto. In altre parole, la contromisura scelta è quella di limitare il tasso con il quale ogni nodo può creare le micro transazioni.
Attacco di Sybil
Con questo termine s’intende un tipo di attacco in cui un unico hacker (o gruppo di hacker) controlla contemporaneamente più nodi della rete, camuffandone la reale identità con l’impiego di differenti computer, macchine virtuali, indirizzi IP e utenze. L’obiettivo è quello di far credere alla rete che i nodi creati siano indipendenti e scorrelati tra loro, collocati in zone [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2277 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.