Nei tradizionali modelli blockchain, le transazioni vengono raggruppate in ciascun blocco dopo essere state verificate dai minatori. Quindi, con l'aumentare del numero di transazioni, aumenta anche il lavoro per i minatori. In IOTA, invece di una blockchain globale, abbiamo il cosiddetto grafo aciclico, chiamato Tangle. Questo grafo è il libro mastro per la memorizzazione della cronologia di tutte le transazioni.
Il numero in aumento esponenziale di dispositivi connessi, insieme all'aumento previsto delle applicazioni IoT in tempo reale, metteranno a dura prova le prestazioni delle reti odierne. Al fine di fornire esperienze di alta qualità tra gli utenti IoT, è assolutamente necessaria una riduzione massiva della latenza end-to-end tra le transazioni machine-to-machine. Lo IOTA è decentralizzato ed è indefinitamente scalabile, permettendoci di costruire un'economia autonoma on-demand che si adatta perfettamente ai modelli di business della prossima generazione. IOTA ha una gamma di funzionalità che sono abilitate in modo univoco grazie alla sua architettura:
- Scalabilità: IOTA può ottenere un elevato throughput delle transazioni grazie alla convalida parallela e senza limiti sul numero di transazioni che possono essere confermate in un determinato intervallo.
- Nessuna commissione di transazione: IOTA non ha commissioni di transazione.
- Decentramento: IOTA non ha minatori. Ogni partecipante alla rete che sta effettuando una transazione partecipa attivamente al consenso. In quanto tale, IOTA è più decentralizzato di qualsiasi Blockchain.
IOTA ha determinati nodi. Un nodo fa parte della rete IOTA globale e scambia costantemente informazioni con i suoi vicini. L'IP del nodo deve essere statico per poter rimanere connesso. Altrimenti, i vicini dovranno aggiornare l'IP ogni volta che cambia. Per quanto riguarda il futuro dell'IoT, vediamo milioni di transazioni o meglio microtransazioni. Entrando lentamente nelle necessità delle transazioni in tempo reale, la maggior parte delle soluzioni di blockchain disponibili non si ridimensionano in quanto non sono in grado di scalare a un numero maggiore di transazioni al secondo, e allo stesso tempo fornire un'infrastruttura stabile e lavorare su un hardware leggero.
IOTA Sandbox è un servizio fornito dalla Fondazione che consente di iniziare a utilizzare IOTA senza dover passare attraverso il fastidio di installare e configurare il client locale. Grazie alla configurazione di nodo ridondante e una farm GPU dedicata, si può subito iniziare a testare e sviluppare nuove applicazioni, anche con piccoli dispositivi IoT, semplicemente facendo chiamate API all'ambiente Sandbox. Il modo più semplice per usare l'ambiente Sandbox è quello di usare una delle librerie ufficiali. Con le librerie non ci si deve preoccupare dei diversi endpoint o della coda stessa, il che significa che puoi utilizzare direttamente la Sandbox senza problemi. Attualmente c'è il supporto Sandbox per Javascript, ma le librerie Python, Java e C# sono in corso di sviluppo. Dopo aver installato correttamente la libreria, è abbastanza facile iniziare semplicemente lanciando una nuova istanza dell'oggetto IOTA. Quando si crea un'istanza dell'oggetto, si ha la possibilità di decidere il provider API utilizzato per inviare le richieste e si può anche connettersi direttamente all'ambiente Sandbox.
// Create IOTA instance with host and port as provider
var iota = new IOTA({
'provider' : 'http://sandbox.iotatoken.com/api/v1/',
'sandbox' : true,
'token' : 'EXAMPLE-TOKEN-HERE'
});
La libreria Javascript si prende cura di implementare alcune logiche per interagire facilmente con l'ambiente Sandbox. Basta installarlo via npm, o direttamente nel browser. Se si desidera interagire direttamente con Sandbox e non utilizzare una delle librerie fornite, è possibile inviare direttamente una richiesta HTTP POST (per comandi) o GET agli endpoint API.
Una curiosità: Il token di Iota, l’unità di misura iota, è chiamato Miota.