IoTeX: Intervista a Simone Romano


In queste settimane ho conosciuto una persona molto preparata che dedica la propria attenzione ad una nuova DLT che sta nascendo in questi mesi. IoTeX!

Buona Lettura!

Ciao Simone, presentati un po’: chi sei, di cosa ti occupi?

Ciao Fabrizio, e grazie per il tuo interesse nel progetto IoTeX! Ho 41 anni e sono un appassionato di tecnologie informatiche praticamente da sempre. Mi sono laureato in Ingegneria Informatica specializzandomi in Automazione e Robotica Industriale, e il mio percorso professionale ha poi seguito un binario di tipo più “industriale” che IT, sebbene in un settore molto innovativo. Da 10 anni ho una piccola società con cui progetto macchine automatiche avanzate, che eseguono il controllo di qualità in linea sul 100% della produzione industriale. In breve, macchine equipaggiate con telecamere digitali e un software di elaborazione immagini che "controllano" e “valutano” tutti i pezzi prodotti, eliminando quelli non conformi. Nello stesso settore ho anche realizzato alcuni brevetti industriali, italiani ed internazionali.

Come ti sei avvicinato alla blockchain e mondo IoTeX?

Poiché mi occupo più di automazione che di IT, sono venuto a conoscenza di questa tecnologia piuttosto tardi: solo a fine 2017, quando era impossibile non sentirne parlare! Da allora la blockchain mi ha catturato, ho cominciato a studiare whitepaper e a cercare di comprendere il codice. Pochi mesi dopo, ad Aprile 2018, una persona mi ha chiesto un’opinione tecnica su questo nuovo progetto dedicato all’Internet of Things, IoTeX appunto. Dopo pochi giorni passati nel loro gruppo Telegram ufficiale mi sono immediatamente accorto che si trattava di qualcosa di "diverso", non solo perché la soluzione tecnologica proposta sembrava perfetta per l'IoT, ma soprattutto per la professionalità, l'accuratezza, e la forte impronta accademica del team IoTeX.

IoTeX si dichiara come nuova DLT dedicata al mondo IoT. Ci puoi spiegare il funzionamento base, senza scendere troppo nel particolare?

Comincio subito col dire che IoTeX non utilizza un’architettura basata su DAG, ma su Blockchain. Per capire i motivi di questa scelta,dobbiamo ricordare che l’IoT non richiede solo una rete in grado di scalare massivamente, ma anche di gestire la grande eterogeneità dei dispositivi e dei casi d'uso possibili, il tutto garantendo massima sicurezza contro la violazione dei dispositivi stessi: non dimentichiamoci che i dispositivi IoT, interagendo con la vita delle persone in modi molto diretti e spesso "invisibili", espongono gli utenti a rischi non solo di tipo finanziario, ma anche “fisico”: rischi di sicurezza domestica, ad esempio.
La tecnologia Blockchain, grazie soprattutto a Bitcoin, è stata largamente testata per oltre 10 anni, e ha dato prova di estrema sicurezza ed affidabilità. E’ vero che ha limiti di scalabilità e di efficienza, ma è altrettanto vero che nuove tecnologie di consenso e nuove architetture proposte negli anni si sono dimostrate molto promettenti nel superare questi limiti, aprendo nuove possibilità per l'uso della blockchain. Il team IoTeX decide di partire da queste innovazioni, mantenendo così tutti i benefici della blockchain, e aggiungendo il proprio contributo per superare i problemi di scalabilità, eterogeneità dei dispositivi, e privacy degli utenti. Questo si traduce in una architettura a sotto-reti ("subchains") specializzate, raccordate da un meccanismo di consenso innovativo chiamato Roll-DPoS("Randomized Delegated Proof of Stake"): insieme forniscono scalabilità massiva, configurabilità, transazioni quasi istantanee, e il tutto senza sacrificare la sicurezza, la decentralizzazione e l’affidabilità garantite a monte dall'architettura blockchain. Su questo nucleo principale flessibile e scalabile di "Subchain+Roll-DPos", si inseriscono caratteristiche uniche e che possono essere aggiunte o meno a seconda dei casi d'uso, come le transazioni private, algoritmi crittografici “leggeri” per i dispositivi IoT a bassa potenza, gli smart contract, o l'SPV ("Simplified Payment Verification"in versione sicura(spoiler!!) che consente anche a quei dispositivi IoT estremamente limitati di interagire direttamente con la blockchain in tutta sicurezza.

Com’ è organizzato lo sviluppo di IoTeX? Come riesci a reperire le informazioni?

Il progetto IoTeX è partito pubblicamente solo ad Aprile 2018, con l'emissione del token temporaneo ERC20 (IOTX) in sostituzione di quello nativo fino al completamento della blockchain. Il team è compostao da circa 30 persone, tutte di grande esperienza, ed è alla continua ricerca di nuovi talenti. Rimando al sito web www.iotex.io per informarsi sui componenti principali del team, in particolare sui 4 cofondatori: essi da soli portano un bagaglio di esperienza incredibile: Raullen e Quevan, scienziati ricercatori in sicurezza, crittografia e machine learning provenienti da società del calibro di Google, Facebook e Uber; Jing, una venture capitalist esperta di investimenti in società tecnologiche, avvio di startup e di ecosistemi; il professor Xinxin Fan, che con i suoi oltre 50 articoli accademici sulla crittografia (inclusi quelli su crittografia leggera e sul PBFT scalabile, utilizzati in IoTeX) è considerato una celebrità nell'ambiente accademico della crittografia.
Ho cominciato quasi da subito a collaborare con IoTeX: come Community Leader per l'Italia gestisco gli eventi e il gruppo Telegram italiani, come Brand Ambassador rappresento IoTeX in fiere, conferenze o altri eventi del settore. Perciò ho la fortuna di lavorare a stretto contatto con il team: con loro e con gli altri Brand Ambassador ci organizziamo quotidianamente sia in chat che in video-call di regolari.
Lo sviluppo della blockchain procede a ritmo incessante: la release Testnet Alpha è stata rilasciata già a Giugno insieme a un wallet web  e un explorer della blockchain; ad Agosto è arrivata la Testnet Beta, che ha aggiunto il supporto agli smart contract e Solidity; infine la Mainnet Preview rilasciata il 15 Novembre, dimostra una prima implementazione dell'architettura a "subchain", comprensiva di transazioni "crosschain". Il tutto insieme alla pubblicazione degli articoli accademici rilevanti e di codice sorgente impeccabile.
Se pensiamo che funzionalità come subchain, consenso D-PoS, transazioni private, rappresentano singolarmente concetti attorno a cui ruotano interi progetti (ad. es. le subchain per Cosmos, o il DPoS per EOS, la privacy per MONERO) e che IoTeX le sta implementando in versione "potenziata", tutte insieme in una architettura che non è un concept, ma che è realmente funzionante già in Testnet, si può forse intuire qual è la visione di questo team

Rispetto a tecnologie rodate come per esempio IOTA, sei riuscito a capirne i difetti e i pregi?

IOTA utilizza un'architettura dove le transazioni sono organizzate in un unico grande grafo aciclico orientato (“DAG”), mentre in IoTeX sono organizzate in blockchain gerarchiche. Il vantaggio di IOTA è certamente la semplicità concettuale della topologia di rete: eliminando il concetto di blocchi, di consenso globale, e di mining, si ottiene molta snellezza, ma non mi sento di definire IOTA una tecnologia “rodata”, al contrario: sebbene sviluppata da 4 anni, un tale stravolgimento richiede molto lavoro di ricerca e sviluppo. Infatti, per compensare la mancanza di quelle caratteristiche di sicurezza e affidabilità che avevano originariamente imposto l'uso dei blocchi e del mining nella blockchain, è necessario realizzare in IOTA tecniche sostitutive adeguate, in grado di garantire la stessa sicurezza e affidabilità. 
Dal canto suo IoTeX, sfruttando la blockchain, si “porta a casa” tutte quelle garanzie, e da lì parte con le proprie innovazioni: un'architettura a sub-chain configurabili, ognuna con tutte e sole le caratteristiche richieste dai vari casi d'uso a cui essa è deputata, i cui nodi interagiscono istantaneamente tra loro mediante il meccanismo di consenso Roll-DPoS che, ispirandosi al DPoS di EOS, si evolve per diventare più democratico, più decentralizzato, e soprattutto scalabile: letteralmente “replicandosi” mentre la rete cresce, gestisce in parallelo il consenso per le nuove subchain, queste ultime possono essere personalizzate tanto da avere anche un proprio algoritmo di consenso, eventualmente a zero-fee se richiesto dall'applicazione.
Questa architettura basata su sotto-reti configurabili e su un meccanismo di consenso scalabile, consente a IoTeX non solo di proporre una tecnologia affidabile perché basata su blockchain (questa sì, rodata), ma anche di itegrare direttamente funzionalità quali  smart-contractSPV, e privacy.

Riesci a fare un confronto?

Fare un confronto tecnico tra due architetture così diverse è un’impresa quasi impossibile: il famoso paragone tra mele e arance! Inoltre, per comprendere a fondo la tecnologia di IOTA sono richieste competenze teoriche che pochi hanno, ed è difficile comprenderne il funzionamento nella realtà, anche alla luce dei nuovi progetti annunciati quest'anno, come QUBIC, MAM, Local Snapshots. Credo che il nodo del confronto tra IOTA e una qualsiasi altra tecnologia DLT sia tutto qui: IOTA deve dimostrare che è effettivamente in grado di realizzare una rete decentralizzata, sicura e scalabile, e deve farlo nella realtà oltre che su carta, solo allora si potrà capire per quali applicazioni essa è utilizzabile e quindi fare un confronto sul campo.
L'Internet of Things infatti, non è solo M2M, ma comprende per definizione infiniti dispositivi e casi d'uso. IoTeX fornisce un framework completo per l'Internet of Things: progettato per essere utilizzato fin da subito, fonda le sue radici in una tecnologia affidabile come la blockchain, e la innova fornendo tutte le caratteristiche che servono in ogni applicazioneIoT. Privacy dei dati, tempi di conferma real-time, smart contracts, algoritmi crittografici leggeri, SPV sicuro, sono tutte funzioni che l'SDK IoTeX mette a disposizione dei produttori di dispositivi e degli sviluppatori di dApp IoT. Queste funzioni sono fondamentali per realizzare reti di dispositivi a coordinamentoautonomo eterogenee, e non possono essere implementate nativamente su un'architettura come quella di IOTA proprio perché in essa manca il concetto di consenso globale. In IOTA vengono quindi realizzate con soluzioni di secondo livello (QUBIC, MAM): questo significa che esse sono applicazioni, ovvero fanno usodel DLT IOTA, ma che non vengono imposte da un meccanismo di consenso decentralizzato e immutabile: in un caso non si risolve il problema della privacy (i dati degli utenti restano in mano alle capacità e alla buona fede costruttori dei dispositivi o fornitori dei servizi che sanno/vogliono usare MAM), dall'altro la sicurezza degli smart contract che dovrebbero essere realizzati con QUBIC è ancora tutta da verificare.

Non credi che IOTA, almeno in termini di scalabilità, sia più performante di IoTeX?

Partiamo dal concetto che la comunicazione tra dispositivi e macchine necessita di tempi di conferma brevi e transazioni certe al 100%. Infatti per moltissimi casi d'uso tempi di attesa per il coordinamento dei dispositivi superiori a una frazione di minuto non sono accettabili: si immagini la chiusura della porta di casa quando usciamo, del box auto, oppure il coordinamento di un incrocio semaforico.
Come fa IoTeX? Poiché IoTeX utilizza la blockchain, sappiamo che le transazioni vengono confermate in blocchi con cadenza fissa. Qui entra in gioco la scelta di un meccanismo di conferma basato sul Delegated Proof of Stake, che consente frequenze di blocco molto elevate (in IoTeX si ipotizza un blocco ogni 3 secondi, da definire) e grazie alla scalabilità del Roll-DPoS che è in grado di "replicarsi" dinamicamente per soddisfare volumi di transazioni crescenti, questa frequenza non limita il numero di TPS, che di fatto può scalare all'infinito. E' vero però che questi "pochi secondi" costituiscono il limite inferiore del tempo di conferma di una transazione: se una blockchain genera un blocco ogni tre secondi, una transazione non potrà mai essere confermata prima di tre secondi. Bisogna considerare però che in IoTeX le transazioni hanno finalità istantanea e non probabilistica, cioè sono confermate con certezza definitiva al primo blocco, e si può ben dire che pochi secondi per una conferma sicura soddisfano ampiamente l'esigenza di real-time nella dinamica di ogni applicazioni IoT immaginabile.

Cosa succede invece in IOTA? In IOTA non c'è una "frequenza di blocco" perché il concetto di blocco come contenitore di transazioni valide non esiste, ma una transazione inviata su IOTA, così come quelle inviate su IoTeX, deve comunque subire un processo di conferma, che necessariamente richiede del tempo. Mentre nella teoria l'espansione della rete IOTA dovrebbe portare questo tempo a valori sempre più bassi, nella pratica ciò non è ancora stato confermato poiché si ritiene che il volume di transazioni non abbia ancora raggiunto un livello sufficiente. La conferma delle transazioni IOTA ad oggi quindi richiede ancora in media diversi minuti, e soprattutto non è costante, con transazioni che potrebbero anche rimanere non confermate richiedendo un reinvio. Tutto ciò tenendo sempre presente che, al contrario di IoTeX, per avere la ragionevole certezza che una transazione IOTA sia valida, bisognerà sempre attendere conferme multiple, almeno finché essa non raggiunge un "peso" sufficiente a rassicurarci: infatti nell'Internet delle cose, ad una transazione confermata corrisponde spesso un'azione nel mondo reale (una porta che si apre, una telecamera che si accende, un'auto che passa ad un incrocio), e se una transazione dovesse successivamente risultare invalidata, i suoi effetti nel mondo reale quasi sicuramente non potranno essere invece essere "invertiti".
Insomma, il punto è sempre lo stesso: IoTeX propone una soluzione valida e immediatamente applicabile: ci si può scommettere che la blockchain genererà blocchi di transazioni valide con frequenza costante, semplicemente perchè lo fa da 10 anni, e lo fa nel modo più sicuro del mondo. Tempi di blocco inferiori a 1 secondo sono ampiamente dimostrati in progetti come EOS, mentre l'architettura scalabile di IoTeX è del tutto plausibile, quasi ovvia nella sua concezione, e la conferma arriverà con la mainnet a breve. Dall'altra parte, le prestazioni, la sicureza e la convenienza di IOTA sono ancora da confermare nella realtà.


Quando sarà attiva la MainNet IoTeX?

Oggi 15 Novembre, proprio mentre ne parliamo, sta per essere rilasciata l’ultima versione della Testnet, che è una “Mainnet Preview”, e comprenderà quelle innovazioni che daranno il via allo sviluppo della Mainnet, attesa in versione Alpha entro il Q1 2019 (probabilmente a febbraio). Con questa release sarà già possibile convertire il token ERC20 IOTX nel token nativo della blockchain. Da quel momento in poi, durante tutto il 2019, e fino al rilascio definitivo della Mainnet GA a fine anno, insieme all'ottimizzazione del codice, vedremo l’implementazione delle caratteristiche più avanzate, come la crittografia leggera, e le transazioni private, fondamentali per moltissimi casi d’uso dell’IoT, ad es. quelli che coinvolgono la raccolta e la trasmissione di informazioni e dei dati personali, fino all'implementazione di un linguaggio per smart-contract appositamente pensato per l'Internet of Things.

Hanno già pubblicizzato partnership o progetti collaterali?

Agosto è stato il “mese delle partnership” per IoTeX, nel senso che da Agosto è stato inaugurato il portale “IoTeX Partnership”, e da allora sono state annunciate diverse partnership, ed è stato realizato anche un Proof of Concept. Anche in merito a questo aspetto, la politica del team è "di lungo termine": non si cercano partnership "che fanno rumore", e il motivo è che tutti questi nomi che le persone vorrebbero sentire, come Samsung, Microsoft, o LG, se da un lato hanno un effetto immediato sul prezzo del token (che poi si rivela sempre evanescente), dall'altro bisogna capire che tutti questi grandi gruppi sono assolutamente inadeguati per lo sviluppo di concept funzionanti in tempi brevi. Arriverà il momento in cui una partnership con queste multinazionali avrà senso, ma per arrivarci IoTeX h bisogno di partner snelli, che condividono la stessa visione e le stesse tempistiche, creando prototipi funzionanti in fretta che dimostrino di produrre un valore funzionale reale.
In questa ottica sono state annunciale ad esempio le partnership con Lineable, una azienda che sfrutterà la blockchain IoTeX per i propri dispositivi wearable di tracciamento dei dati di salute delle persone a rischio, con l'obiettivo della pre-diagnosi di diverse condizioni mediche. SmartHab utilizzerà blockchain IoTeX per la loro piattaforma HAB, un registro decentralizzato che archivia i dati critici di edifici e città intelligenti, con l'obiettivo di creare una fonte di dati verificabile e certificata da utilizzare ad esempio in caso di richieste di risarcimento verso assicurazioni, e altri usi. Oltre a questi e agli altri partner pubblicati sul portale, il team IoTeX sta stringendo partnership con altre compagnie, alcune di esse già confermate, ma che al momento non possono essere ancora rivelate.
Vuoi concludere con qualche altra informazione interessante?
Sì, vorrei evidenziare che il team IoTeX incoraggia proposte di partnership di diverso tipo, le aziende e gli individui interessati a collaborare con IoTeX possono visitare il  portale www.iotex.io/partnership da cui si può accedere a un form di richiesta.

Inoltre, con il recente rilascio del codice sorgente dell'Explorer IoTeX, e con l'arrivo imminente della Mainnet Alpha, e degli SDK, vorrei invitare gli sviluppatori interessati a farsi avanti per testare e realizzare applicazioni su IoTeX già da subito. Mi piacerebbe anche che si formasse una communiti di sviluppatori: ogni idea e contributo in merito è benvenuto e chi vuole può contattarmi direttamente sul gruppo IoTeX italiano, cui tutti siete invitati a partecipare!

Commenti

Post popolari in questo blog

Hadoop, how to create a single node cluster using docker

How to install IOTA node with docker

Apache Spark - Try it using docker!