IOTA Selective Permanode
We will help your business
IOTA, un registro distribuito diverso
L'uso dei DLT per scopi economici e finanziari è sempre più frequente ma in ambito industriale questa tecnologia stenta ad affermarsi.
Ciò deriva da tre fattori:
- in ambito industriale non sempre è essenziale pubblicare tutti i dati con terze parti
- è fondamentale avere sistemi che forniscano prestazioni e costi prevedibili
- il costo del servizio deve essere proporzionale al valore dei dati che spesso, singolarmente, è molto limitato.
In sintesi, i DLT sono troppo costosi e lenti e queste caratteristiche li rendono non adatti a supportare processi real time, dove comunque la sicurezza di un DLT sarebbe utile.
Ciò tuttavia non è vero in assoluto.
I progettisti dei DLT più noti sono partiti dall’esigenza di garantire la sicurezza di transazioni economiche e abilitare la maggiore partecipazione possibile (di nodi) per ottenere una elevata robustezza del registro.
Nelle applicazioni industriali l’elevatissima robustezza del registro è una caratteristica desiderabile ma non ha discapito di costi e prestazioni. Inoltre, i dati immessi nel registro non sono mutevoli e solo in minima parte posso essere rappresentativi di spostamenti di valore, proprietà di beni, ecc. ovvero gestiti come “transazioni”. La maggior parte dei dati raccolti da un sistema industriale può beneficiare del registro semplicemente come un contenitore affidabile.
Infine occorre considerare che in DLT non è una alternativa funzionale a un database: “distribuzione” e “decentralizzazione” indicate dalla D di DLT sono caratteristiche organizzative da cui deriva inevitabilmente la natura pubblica del registro, dove “pubblico” significa che non può esserci un sistema di coordinamento che limita gli utenti, anche nel caso questi siano selezionati. In pratica non si possono definire restrizioni all’uso del registro perché ciò renderebbe il sistema un semplice storage. L’effetto inevitabile è che il quantitativo di scritture immesse (transazioni) può tendere all’infinito.
Ovviamente non si può realizzare un sistema che può raggiungere dimensioni infinite, quindi un DLT (pubblico) non potrà mai soddisfare le esigenze di un numero indeterminato di utenti che possono immettere un quantitativo illimitato di dati.
IOTA è un DLT nato appositamente per superare questi limiti.
IOTA, no mining, no fees
IOTA è un sistema estremamente sofisticato e nel tempo è stato adattato per soddisfare le esigenze di molteplici casi d’uso che non possono essere facilmente risolte da un classico DLT.
Impossibile sintetizzare in poche righe l’amplissima quantità di caratteristiche particolari che possono produrre vantaggi per la progettazione di sistemi e applicazioni, incluse quelle industriali.
Tuttavia, IOTA ha tre caratteristiche specifiche che la distinguono da tutti gli altri DLT:
- Non c’è un vero e proprio processo di mining, ovvero non c’è competizione tra i nodi validatori per ottenere delle ricompense, quindi la scrittura di un’informazione nel registro richiede una quantità di energia estremamente contenuta.
- La validazione delle dei blocchi avviene dopo che sono già state pubblicati ed è eseguita dai nodi nel momento in cui pubblicano un proprio blocco. Ciò comporta che la scrittura nel registro non è soggetta a ritardi dovuti al processo di validazione.
- La possibilità che i nodi hanno di immettere direttamente blocchi in rete (e nel registro) elimina la la loro scarsità e quindi la necessità di pagare fee per definire la priorità d’inserimento delle transazioni nei blocchi.
IOTA permette pertanto di pubblicare dati su un registro con un costo prevedibile (in termini energetici, meno di 1 mWh) e con una latenza prevedibile (tipicamente inferiore ai 500 ms). Ciò rende adatto il DLT per trasmettere dati tra diversi end-point in modo asincrono, sicuro e affidabile, esigenza molto comunque in contesti applicativi complessi.
Conservazione dei dati
Anche se IOTA non è affetta dai limiti delle blockchain classiche non può comunque immagazzinare illimitati dati.
Pertanto i nodi eliminano ogni blocco, che contiene una sola transazione o semplicemente dati, non più necessario a validare nuove transazioni. Quindi i blocchi che contengono solo dati, prima o poi, saranno certamente eliminati da tutti i nodi.
Si può ovviare a questo inserendo i dati come allegati di una transazione economica. Fino a quando la transazione non sarà “spesa”, resterà nel registro e quindi anche i dati saranno conservati. Questo metodo richiede tuttavia di immobilizzare una piccola quantità di token e non è pertanto adatto a gestire grandi volumi.
Una soluzione alternativa consiste nell’attivare un selective permanode che Teleconsys ha creato appositamente (link alla descrizione del servizio). Si tratta di un plug-in da installare sui nodi che può essere programmato per copiare in un object storage blocchi ricevuti dal nodo che rispecchiano specifici criteri di selezione. Il nodo potrà fornire al client i blocchi memorizzati anche quando questi non saranno più reperibili dagli altri nodi della rete.
Si potrebbe obiettare che, sei i dati sono conservati in un unico object storage gestito da un solo nodo, l’uso di IOTA è del tutto inutile, ma non è così. Il nodo, infatti, prima di memorizzare il blocco nel suo storage produce la “proof of inclusion”, ovvero una firma digitale prodotta mediante le informazioni strutturali dalla porzione del registro che contiene il blocco. Questa firma viene memorizzata insieme al blocco e fornita a client quando il blocco verrà richiesto.
La firma, ovvero la prova che il blocco è stato acquisito dal registro IOTA, è verificabile da client con i dati pubblici della rete IOTA.
Grazie a questa informazione aggiuntiva lo storage privato del nodo diviene una estensione persistente delle porzioni di registro utili ad una specifica applicazione.
Ovviamente memorizzare i blocchi in un solo storage può essere pericoloso. Per risolvere anche questo ultimo elemento Teleconsys fornisce un servizio di Distributed Selective Permanode basato su un comitato di nodi dOra (link a dOra) che implementa le logiche del selective permanode, ma replicando i blocchi su molteplici storage gestiti da nodi indipendenti.