CHAT.ixi

Utilizzare ICT per una chat senza autorizzazione Tangle di IOTA

Ho parlato in precedenza di ICT (IOTA Controlled agenT) qui, qui e sul mio articolo per installarlo su android.
Lukas Tassanyi (MicroHash) membro della IOTA Foundation spiega in questo articolo alcuni dettagli di ICT e del nuovo modulo CHAT.ixi.

L’IOTA Controlled agenT (Ict) è un progetto sviluppato dal team Omega della IOTA Foundation. Per la maggior parte della comunità, Ict appare piuttosto astratto, futuristico e difficile da comprendere appieno. Questo è il motivo per cui Lukas e Samuel abbiano deciso di rilasciare CHAT.ixi, un’applicazione di chat in esecuzione su Ict. Come proof of concept tangibile, dà ad Ict un volto e mostra di cosa è capace IOTA eXtension Interface (IXI)


Presentazione di CHAT.ixi

In superficie, CHAT.ixi non è altro che un’altra applicazione di chat. Ma c’è di più! Le cose diventano più interessanti quando si guarda più a fondo nella tecnologia che lo circonda. CHAT.ixi funziona sulla rete Iota Controlled agenT (Ict). Ict è un leggero nodo IOTA progettato per l’Internet delle cose (Internet-of-Things).

La rete Ict fornisce una Tangle testnet sperimentale. Così questa chiacchierata realmente sta funzionando sopra un Tange simile al mainnet di IOTA. Ma bene, chi se ne frega? Alla fine questa è solo un’altra cosa da nerd, non è vero?

È importante capire le implicazioni della scelta di un protocollo di integrità dei dati immutabile e senza permessi (permissionless), il Tangle, come infrastruttura per una chat. In CHAT.ixi, non ci sono né regole né moderatori che le applicano. Ovviamente, questo comporta alcuni rischi che bisogna capire prima di utilizzarlo. Allo stesso tempo, però, ci sono immense opportunità per coloro le cui opinioni sono altrimenti limitate o soppresse.

Mentre le grandi aziende capitalizzano il ruolo di intermediario nella nostra comunicazione, noi siamo costretti ad affidarci sempre più spesso a terzi ed a diventare sempre più dipendenti da loro. Il Tangle, invece, è libero di essere utilizzato per i nostri scopi. Non ci sono annunci pubblicitari in CHAT.ixi. E non vengono raccolti dati a parte i messaggi che sono inviati tramite l’applicazione.

Con un protocollo di base che dal design è in gran parte distribuito, non è necessario affidarsi a un hub centrale che si occupa dei vostri dati. A causa del funzionamento interno del Tangle, i messaggi sul Tangle non possono essere manomessi.

Rara schermata della fase di alfa test segreta.
Rara schermata della fase di alfa test segreta.

Cos’è questo Ict?

Iota Controlled agenT (Ict) è un nodo IOTA sperimentale per l’Internet delle cose (IoT). In contrasto con il nostro attuale Internet piuttosto statico, l’internet of Things sarà pieno di piccoli dispositivi direttamente collegati tra loro in una rete mesh dinamica. Alcuni di questi dispositivi si muoveranno, o si spegneranno o si accenderanno improvvisamente. Un ambiente in costante evoluzione richiede un protocollo di integrità dei dati con una ridondanza sufficiente per trasmettere messaggi e rendere i dati accessibili, nonostante la natura imprevedibile della rete.

Diventare un protocollo standard per l’Internet delle cose è sempre stata la visione di IOTA. Tuttavia, la maggior parte di ciò che attualmente viene comunemente chiamato IoT, esiste comodamente in un’infrastruttura Cloud all’interno di una normale architettura Internet. Negli ultimi anni abbiamo iniziato a vedere l’emergere del “vero” internet degli oggetti ai margini della rete (chiamata anche nebbia o fog), dove le risorse tecnologiche non sono abbondanti. IOTA non si limita ad accogliere questa nuova frontiera, ma mira a darle forma attivamente con la sicurezza e l’immutabilità come criteri di base. Invece di aspettare che la rete di frontiera cresca e poi riadattarsi, la IOTA Foundation mira a costruire il proprio microcosmo dell’internet degli oggetti, con Ict come elemento fondamentale.

L’Internet delle cose è uno dei principali motori della quarta rivoluzione industriale. Proprio come il suo precursore, la rivoluzione digitale, ci saranno cambiamenti radicali che trascendono tutti gli aspetti della nostra vita quotidiana. Per esempio, sta cambiando la nostra percezione della proprietà. Con le tendenze emergenti come il car sharing o il bike sharing, ci si sta muovendo verso un mondo pieno di servizi. Ed è qui che Ict gioca il suo ruolo, fornendo una piattaforma per i servizi.

Lo stesso cliente principale dell’Ict rimarrà snello, fornendo funzioni di base come il protocollo gossip e l’integrità dei dati. La parte davvero interessante, tuttavia, è IXI


IXI — Interfacciamento con l’internet of things

IXI, abbreviazione di IOTA eXtension Interface, è un’interfaccia per le applicazioni che utilizzano il Tangle. L’interfaccia è mantenuta piuttosto snella e modulare dal punto di vista progettuale, in modo da disaccoppiare il più possibile quelle applicazioni, chiamate moduli IXI, dal protocollo di comunicazione Ict sottostante. Questi moduli IXI non hanno bisogno di sapere come vengono tecnicamente scambiate le transazioni tra i nodi Ict. Tutto quello che vogliono vedere sono le transazioni effettive.

Astraendo dal livello di comunicazione, IXI offre agli sviluppatori un facile accesso al Tangle e fornisce loro un protocollo tollerante, in modo che possano implementare applicazioni basate sulle loro idee piuttosto che adattare le loro idee in modo che corrispondano alle complesse proprietà di rete dell’internet delle cose. Cosa ancora più importante, non devono reinventare la ruota sviluppando le proprie soluzioni di comunicazione, il che si traduce in una moltitudine di protocolli diversi ed incompatibili. La mancanza di standard di compatibilità è attualmente uno dei principali problemi dell’Internet delle cose. E Ict fornisce una soluzione.


All’interno di CHAT.ixi

CHAT.ixi estende il modello del modulo IXI che si collega ad Ict. Questo modello è stato progettato per facilitare lo sviluppo dei moduli. L’interfaccia è mantenuta leggera, pur dando accesso all’intera funzionalità Tangle pertinente. Remote Method Invocation (RMI) attualmente fornisce il collegamento tra Ict ed il modulo IXI.

Come dimostra il primo modulo di chat a riga di comando (vedi repository), diverse applicazioni IXI possono essere realizzate con pochissime righe di codice. Al fine di demistificare IXI e mostrare di cosa è effettivamente in grado di fare, Samuel e Lukas hanno deciso di impegnarsi maggiormente in questa applicazione di chat. In questi ultimi giorni hanno lavorato molto duramente per dare forma questo proof-of-concept.

Dimostrazione di chat.ixi
Dimostrazione di chat.ixi

Il backend Java del modulo fornisce un’interfaccia REST per visualizzare i messaggi nella GUI web, che è implementata in JavaScript.

Lo schema di firma utilizza RSA — un algoritmo crittografico asimmetrico che può essere utilizzato sia per la crittografia che per la firma digitale. Ogni partecipante possiede una coppia di chiavi composta da una chiave privata ed una pubblica. La chiave privata viene utilizzata per firmare i messaggi, mentre la chiave pubblica consente ad altri utenti di verificare tali firme e di autenticare l’origine di un messaggio.

Mentre il nome utente può essere scelto liberamente, l’hash della chiave pubblica (chiamato user id) è unico e permette agli utenti di identificarsi a vicenda. È possibile aggiungere l’id di un utente alla lista dei contatti per contrassegnare i loro messaggi con un bordo bianco che consente di individuare più facilmente i tentativi di impersonificazione. Inoltre, l’immagine del profilo di ogni utente è un identificativo derivato dall’id utente.

Ci sono più di ottantasette quintrigintillion (8.7x1⁰¹¹⁵) diversi canali di chat. Questo perché ogni canale è realizzato internamente da uno specifico indirizzo IOTA dal quale il modulo chat ascolta e invia messaggi. Si può anche vedere chi è online perché la GUI web invierà regolarmente una transazione heartbeat, notificando gli altri utenti che siete lì per chattare. Infine, per chiarire le priorità, è stato aggiunto anche il supporto per emojis. 😉d

Una delle domande più frequenti su IOTA è: “Perché qualcuno dovrebbe gestire un nodo?” CHAT.ixi sottolinea l’incentivo a mantenere un Ict ben collegato: perché tale nodo è necessario per connettersi correttamente al Tangle ed utilizzare tutti i moduli IXI che lo utilizzano. Ora che probabilmente volete provare CHAT.ixi da soli, seguite semplicemente le istruzioni fornite nel repository ufficiale

Ict vs. IRI — Qual è la differenza?

L’IOTA Reference Implementation (IRI) è il software di riferimento attualmente utilizzato per l’esecuzione dei nodi completi IOTA, ed è uno dei principali progetti sviluppati dall’Alpha Team della Fondazione. Mentre Ict ed IRI mirano entrambi a fare la stessa cosa: fornire un protocollo IOTA, lo fanno per ambienti diversi. IRI è stato progettato pensando all’attuale Internet, mentre Ict è destinato al futuro Internet of Things.

Più succintamente, l’IRI è l’attuale software per un nodo completo, funzionante e ben collaudato. Ict è un concetto sperimentale nella sua infanzia. Poiché ci sono fondi reali in gioco, c’è ancora molta strada da fare prima che Ict possa sostituire IRI. Per il prossimo futuro l’Ict potrebbe fornire un banco di prova per molti proof of concept, che sarebbe più complesso da implementare nella grande base di codice IRI. Inoltre, Ict non si affida ad un coordinatore, che lo avvicina alla visione finale di IOTA, e lo rende un ottimo strumento per testare altri meccanismi di consenso.

Quali sono i componenti finali previsti in Ict?

  • Gossip Protocol — per ricevere ed inoltrare le transazioni IOTA, più la convalida delle firme, ecc. simile a quanto sta facendo attualmente IRI.
  • IOTA eXtension Interface (IXI) — un’interfaccia semplicistica come approccio modulare, per rendere l’Ict core client estensibile con vari plugin ed applicazioni — i “moduli IXI”.
  • Swarm Logic — per raggiungere obiettivi condivisi in uno sciame, dove i singoli Ict regolano il loro livello di ridondanza, per filtrare le transazioni non rilevanti per tale obiettivo.
  • Economic Clustering — sarà l’unico meccanismo di consenso integrato nel core client Ict. Altri meccanismi di consenso devono essere implementati come moduli IXI che ci girano sopra.

Ict — Sviluppo & Road Map

Nelle tre settimane dall’inizio dello sviluppo dell’attuale base di codice Ict, sono stati implementati il protocollo gossip di base ed IXI. Inoltre, un primo meccanismo di protezione dallo spam e la potatura delle vecchie transazioni sono stati recentemente abilitati con la versione più recente. CHAT.ixi, come primo proof-of-concept, è operativo e dimostra che le cose stanno funzionando come previsto. Si sta lavorando per portare Ict ad un livello stabile ed affidabile entro la metà del 2019.

Tabella di marcia per il Q1/Q2:

  • migliorare il design dell’interfaccia generale di IXI
  • estendere il supporto del modulo IXI oltre Java ad altri linguaggi
  • aumentare l’affidabilità e proteggere Ict contro i vettori di attacco di base
  • completare le specifiche del protocollo implementando le firme, ecc.
  • costruire un ecosistema di moduli IXI intorno ad Ict

Rimani aggiornato con lo sviluppo di Ict nel canale #omega-ict (categoria Sviluppo) del Discord ufficiale IOTA. Per provare CHAT.ixi personalmente, segui semplicemente le istruzioni fornite nel repository ufficiale.



È possibile supportarmi su Patreon https://www.patreon.com/antonionardella

Per ulteriori informazioni in italiano o tedesco trovate i miei contatti a questa pagina.
Se avete trovato utile la mia libera traduzione, accetto volentieri delle donazioni ;)

IOTA:
QOQJDKYIZYKWASNNILZHDCTWDM9RZXZV9DUJFDRFWKRYPRMTYPEXDIVMHVRCNXRSBIJCJYMJ9EZ9USHHWKEVEOSOZB
BTC:
1BFgqtMC2nfRxPRge5Db3gkYK7kDwWRF79

Non garantisco nulla e mi libero da ogni responsabilità.


Originally published at Antonio Nardella.