Il mondo IoT (Internet of Things) e le sue sfide sono attualmente motivo di grande interesse e studio da parte dei ricercatori di tutto il pianeta. In particolar modo, per garantire decentralizzazione, è divenuto necessario introdurre e sviluppare tecnologie per la gestione di ledger distribuiti (DLT). IOTA, caposcuola in questo contesto, ha rielaborato i principi esistenti della tecnologia DLT e ha fornito un protocollo per lo scambio sicuro di dati e di transazioni finanziarie, senza commissioni e open-source. Una delle sfide più complesse per la comunità scientifica e il mondo IOTA è quella ora di riuscire a gestire e garantire le funzionalità del registro distribuito in una rete priva di qualsiasi coordinatore.
Cos’è IOTA
IOTA è un progetto open-source fondato nel 2015 da David Sønstebø, Sergey Ivancheglo, Dominik Schiener, e Serguei Popov. IOTA è una criptovaluta (o, per l’esattezza, un distributed ledger) nata per permettere pagamenti e transazioni nelle comunicazioni Machine-to-machine. L’idea è quella che nel mondo IoT (Internet of Things), dove tutto è connesso, i dispositivi siano in grado autonomamente di scambiarsi denaro e informazioni attraverso microtransazioni. IOTA, differentemente da Bitcoin che usa una tecnologia chiamata blockchain, è basata su Tangle: il protocollo di IOTA richiede che ogni transazione, per essere correttamente inserita nel sistema, debba validarne due precedenti; tale processo di validazione forma un grafo aciclico diretto, chiamato appunto Tangle. Questo meccanismo, differentemente dalla blockchain dove particolari nodi (miners) hanno lo scopo di controllare e validare le transazioni, garantisce l’omogeneità tra le componenti del sistema. Le conseguenze più importanti di un approccio di questo tipo sono le seguenti:
- Non essendoci più nodi incaricati e retribuiti al fine di validare le transazioni, questa criptovaluta non prevede nessun tipo di commissione. Questo è un punto cruciale in ambito IoT dove c’è spesso l’esigenza di micropagamenti, su cui l’introduzione di una “tassa” avrebbe un peso considerevole, dato l’esiguo valore dell’importo scambiato.
- IOTA è teoricamente un sistema completamente scalabile, perché all’aumentare del numero di transazioni aumenta anche il numero di transazioni validate. Questa caratteristica lo rende ancora una volta molto appetibile per il mondo IoT, nel quale con miliardi di dispositivi connessi la scalabilità del sistema diventa un aspetto cruciale.
Il progetto Coordicide di IOTA
Con l’obiettivo di diventare leader nella tecnologia DLT, IOTA ha già mostrato le potenzialità del suo protocollo IOTA 1.0. Tuttavia, la comunità di ricerca IOTA non ha smesso di innovare e si sta preparando al passo più importante mai compiuto fino ad oggi, per garantire piena maturità ed efficienza al suo progetto. La prossima versione del protocollo IOTA, infatti, sta per realizzare il sogno di creare un DLT permissionless, decentralizzato, scalabile e senza commissioni da pagare. Tutto questo sta per accadere grazie al progetto Coordicide che permetterà di rimuovere il coordinatore presente in IOTA 1.0 e rivoluzionerà la tecnologia DLT. Oltretutto, questo nuovo approccio punta a fornire una soluzione al cosiddetto “trilemma della scalabilità” in modo da garantire tutte le caratteristiche fondamentali di un sistema DLT allo stesso tempo, cioè scalabilità, sicurezza e decentralizzazione. Attualmente il progetto Coordicide include le seguenti tematiche di ricerca:
- Node accountability. Coordicide assegna un’identità a ogni nodo, in modo da essere in grado di identificare le varie componenti che costituiscono la rete. É stato inoltre sviluppato un nuovo meccanismo di protezione per tutelare i proprietari dei nodi per contrastare i cosiddetti attacchi Sybil. L’identificazione del nodo di emissione di un messaggio risulta inoltre fondamentale per garantire, tramite il processo di autopeering, una specifica topologia di rete o per penalizzare comportamenti illeciti.
- Autopeering e node discovery. Un processo automatizzato per scoprire i propri vicini e connettersi a quelli che vengono ritenuti affidabili è la proposta di autopeering formulata per la rete IOTA.
- Rate control. Si tratta di un meccanismo per controllare il tasso di transazioni che vengono propagate attraverso la rete, per evitarne la congestione. Questo metodo filtra in modo selettivo alcune transazioni in base alle statistiche del nodo di emissione.
- Consensus e Voting. Eventuali conflitti vengono risolti attraverso il voto. Il meccanismo scelto per coordicide si chiama fast probabilistic consensus (FPC) e consente a tutti i nodi di partecipare a una votazione pubblica fino a quando un certo quorum (variabile) sia stato raggiunto.
- Tip selection. L’algoritmo di selezione delle transazioni ha il compito di mantenere un buono stato della rete, motivare i nodi ad assumere comportamenti adeguati e spingerli ad approvare rapidamente nuove transazioni oneste.
- Mana reputation. Diverse parti del prossimo protocollo IOTA 2.0 utilizzeranno Mana per la protezione dagli attacchi Sybil. Mana è un valore associato a ciascun nodo. Ogni transazione monetaria, che contiene l’identificativo del nodo che l’ha emessa, assegna una quantità di Mana pari al valore effettivamente trasferito durante la transazione. Mana, nel protocollo IOTA, viene utilizzato anche da altri moduli tra cui rate control, voting, il generatore distribuito di numeri casuali (DRNG) e l’autopeering.
Lo Spritz Security and Privacy Research Group dell’Università di Padova ha partecipato alla proposta di studio per la convalida del progetto Coordicide ed è stato premiato con l’assegnazione del progetto da parte di IOTA. Con il titolo “Validating the Security and Efficiency of the IOTA 2.0 Consensus Protocol” il progetto sarà un ponte di conoscenza tra IOTA e Spritz Research Group e verrà sicuramente considerato per gli interessanti risultati che nasceranno da questa collaborazione. Questo progetto è coordinato e diretto dal professor Mauro Conti, fondatore e leader dello Spritz. La finalità della collaborazione mira a produrre una revisione indipendente e accademica del progetto Coordicide di IOTA con particolare attenzione alla definizione di un sistema di reputazione efficiente e sicuro. Gli obiettivi base di questo progetto possono essere suddivisi in due parti.
Gli obiettivi di Coordicide
In una prima parte, i membri di Spritz lavoreranno per convalidare i protocolli di consenso del Coordicide (Fast Probabilistic Consensus), grazie alle loro abilità nella gestione di varie cryptocurrency e nella conoscenza degli attacchi di rete. Inoltre, svolgeranno anche una valutazione sulla progettazione del Coordicide con particolare attenzione ai seguenti temi: il grado di equità nell’approvazione delle transazioni, il deadlockfree-ness, la finalità del consenso e la sicurezza contro la sovrascrittura dei blocchi proposti, l’aggiunta di blocchi non validi, e la sicurezza contro gli attacchi di censura all’interno del framework Coordicide. L’altra parte del progetto riguarderà l’analisi e la progettazione di un sistema di reputazione efficiente e sicuro. Gli sforzi di Spritz si concentreranno attorno all’uso di diversi schemi di reputazione all’avanguardia nel contesto di Coordicide, analizzandoli in termini di requisiti chiave ed essenziali per una rete IoT. Sarà anche possibile investigare lo stato dell’arte del Coordicide andando eventualmente ad aggiungere qualche nuova proprietà. L’efficienza e la sicurezza della reputazione esistente, basate su Mana, saranno il punto di partenza per lo studio di nuovi approcci di reputazione.
Conclusioni
IOTA e le caratteristiche uniche di Coordicide hanno già attratto le DLT e la sua comunità di ricerca. L’analisi del gruppo Spritz su Coordicide, quindi, può aprire ulteriori dimensioni di ricerca per permettere alla comunità scientifica di continuare a guardare avanti all’insegna dell’innovazione e del continuo progresso.