IOTA abbatte i costi dei fornitori di energia del 50% … almeno
IOTA è una cryptomoneta nata specificatamente per supportare transazioni economiche tra dispositivi. Mi sono domandato se effettivamente questa tecnologia è in grado abbattere i costi di un operatore del mercato energetico di medie dimensioni.
Dato che parliamo di cryptomonete, ovvero di asset digitali che per il momento non sono normalmente trattate dalle banche, diventa inevitabile progettare un applicazione per permettere ai clienti di pagare in modo semplificato. Ciò comporta già un vantaggio: il pagamento può essere anticipato sotto forma di caricamento di un “crypto-conto”. Ciò comporta un vantaggio anche per il cliente: il pagamento potrà essere eseguito in modo progressivo permettendo di caricare il conto man mano che viene scaricato, potndo controllare in tempo reale i costi e i consumi.
Tuttavia questa nuova modalità di pagamento potrebbe non essere vantaggiosa sotto il profilo dei costi industriali, quindi voglio analizzare in dettaglio gli elementi di costo e i risparmi ottenibili.
Iniziamo dalla definizione del contesto di riferimento:
- Clienti: 1.000.000
- Prezzo medio della bolletta bimestrale: 100 €
- Fatturato annuo: 480 M€
Il contatore digitale permette di rilevare i consumi ogni 15 minuti e trasmettere i dati al sistema centrale.
Ipotizziamo che ogni rilevazione richieda 1 Kbyte di dati (compresi gli over head di sicurezza e database). Ne consegue che il sistema di fatturazione richiede circa 35 TByte di dati per anno, per la sola raccolta dati.
Il sistema di fatturazione deve ovviamente elaborare questi dati per poter applicare tariffe e produrre le bollette. Il fornitore ha indicativamente un mese di tempo per elaborare i dati e inviare la fattura.
Per questi volumi questa attività richiede indicativamente una trentina di server che svolgono vari compiti, dalla gestione di database, alla computazione dei costi, alla creazione delle bollette e il loro invio in modo digitale.
Ovviamente vi sono notevoli attività di supporto, come il backup ed ovviamente occorre una grande quantità di spazio per contenere tutte le informazioni raccolte e i loro derivati.
Il costo totale di questa attività comprende ovviamente il costo del personale amministrativo che gestisce il listino prezzi, il personale tecnico, le licenze d’uso del software di gestione e il costo dell’infrastruttura IT e di rete.
Cautelativamente si può ipotizzare un costo complessivo compreso tra i 10 e i 15 milioni di Euro.
Introduzione di IOTA nel sistema di gestione.
Come accennavo all’inizio di questo articolo l’adozione di una crypto moneta comporta la necessità di creare un crypto conto. Entrando in dettaglio, vi sono possibili diverse strategie alternative:
Si può optare per un conto controllato esclusivamente dal cliente che, come per il conto bancario, detiene le chiavi privare ed è quindi obbligato ad eseguire ogni transazione in modo esplicito. Questa modalità comporta che il cliente sia competente e in grado di gestire la complessità del sistema IOTA. Non è pertanto adatta ad essere usata dal “cliente medio”.
Si potrebbe optare per una soluzione nota con il nome di “side chain”. In questo caso il cliente possiede e controlla il proprio “conto” mediante un’apposita applicazione che autorizza automaticamente le richieste di pagamento che pervengono dalla controparte gestita dal sistema del fornitore. Si tratta a mio modo di vedere di una soluzione non efficiente e costosa.
La soluzione che preferisco prevede invece di attribuire il conto al cliente e che il conto sia associato e gestito da ogni contatore.
Il sistema di pagamento di energia e gas con IOTA
Con una app molto semplice ogni cliente è in grado di caricare il “conto spesa” del proprio contatore. L’app permette di effettuare il caricamento mediante carta di credito o mediante bonifico bancario.
L’app, in modo automatico, utilizza un servizio di cambia valuta online e ottiene l’importo richiesto in IOTA, indicando come conto di deposito l’indirizzo del conto del contatore del cliente.
Da questo momento il contatore è in grado di effettuare transazioni economiche in modo automatico.
Pagamento dei consumi
Ogni 15 minuti il contatore digitale calcola il consumo effettuato nel quarto d’ora precedente.
Il contatore ha in memoria una tabella tariffaria che gli permette di calcolare il prezzo in IOTA del servizio erogato.
Con una semplice API ottiene l’indirizzo a cui inviare l’importo in IOTA.
Prepara una bundle che contiene tre transazioni:
- TX di input che indica l’indirizzo che contiene l’attuale saldo.
- TX di output per l’importo da pagare verso l’indirizzo del conto del fornitore
- TX a zero che contiene i dati dei consumi
- TX di output che indica l’indirizzo dove spostare il resto rimanente del saldo.
Interagendo con un IOTA full node il contatore completa la transazione e la sottomette alla rete IOTA.
Notate che con una semplice operazione il contatore completa il pagamento e invia i dati che serviranno per eventuali controlli e per eventuali analisi statistiche o ricerche di mercato.
Aggiornamento della tabella tariffaria
Appare evidente che la semplicità del sistema è legata alla disponibilità della tabella tariffaria nella memoria del contatore. La domanda è scontata: come veficare il prezzo della fornitura?
Esistono molte soluzioni, come ad esempio il protocollo MQTT, ma IOTA ci permette di indirizzare anche questo problema in modo molto più semplice attraverso una funzionalità chiama Masked Authenticated Message o in sigla, MAM.
Il MAM permette di realizzare un sistema di messaggistica protetta mediante l’uso di chiavi simmetriche. Come dice il nome, permette di inviare messaggi autenticati a determinati destinatari, via IOTA.
In sintesi la tabella viene inviata come dati in una transazione a valore zero e sarà pertanto disponibile per essere letta da ogni nodo che conosce l’indirizzo di destinazione.
In pratica:
- Ogni giorno ad un orario casuale il contatore attiva il programma aggiornamento della tabella.
- Il programma usa una semplice REST API per chiedere al proprio full node se esiste una transazione per l’indirizzo XYZ su cui si aspetta di ricevere un aggiornamento.
- Se effettivamente esiste una transazione per l’indirizzo XYZ il full node la invia in risposta.
- La TX contiene la nuova tabella e l’indirizzo del prossimo aggiornamento.
Questo approccio ha una serie importanti vantaggi:
- L’indirizzo a cui è associato l’aggiornamento funziona come un canale radio. Solo chi lo conosce in anticipo è in grado di ricevere il contenuto.
- Cambiando indirizzo ad ogni messaggio solo i contatori che hanno ricevuto il precedente aggiornamento sanno dove trovare il prossimo.
- La tabella può essere anche più lunga della dimensione massima dei dati trasmessi da una transazione. In questo caso sarò divisa su più messaggi che verranno ricevuto in sequenza.
- La sicurezza del sistema può essere ulteriormente aumentata mediante la preventiva configurazione sul contatore dell’indirizzo sorgente da cui arrivano i messaggi. In questo modo eventuali messaggi “pirata” sono ignorati.
Ovviamente la tabella conterrà un aggiornamento che diverrà valido da un certo momento in poi, pertanto dividendo i contatori in gruppi (per area geografica, tipologia di cliente, caratteristiche tecniche, ecc) è possibile schedulare l’aggiornamento in modo progressivo evitando il picco di invio in messaggi in rete.
Architettura di rete
Grazie al uso del MAM il sistema di pagamento è semplificato tuttavia sarebbe impensabile basare l’intera attività economica di un fornitore di energia su una rete pubblica governata da una entità legale non identificata.
IOTA tuttavia ha una importante caratteristica: i nodi della rete possono essere controllati dagli stessi utenti, ovvero possono essere nodi privati. In questo modo l’operatore è in grado di controllare l’affidabilità del sistema senza rinunciare ai vantaggi di un sistema pubblico e decentralizzato.
La strategia di progettazione della rete è semplice:
- Tre nodi pubblici sono attivati su tre server. Ogni nodo è in peering con gli altri e con 4 o 5 nodi pubblici. Questo gruppo di tre nodi costituisce il primo livello dell’architettura, altamente ridondato ed affidabile.
- Al secondo livello c’è una serie di full node in peering con quelli di primo livello. Ogni nodo di secondo livello vede due di primo livello e due dei suoi vicini pari livello. Ci sono pertanto molteplici link che garantiscono la propagazione affidabile delle transazioni in ingresso e uscita.
- Infine sui contatori è installato un light node che punta a uno dei full node di secondo livello. In caso di problemi di comunicazione con il suo full node, il light node può cambiare nodo e puntare a un altro predefinito.
L’obiettivo di questa configurazione è garantire che ogni contatore abbia un full node a supporto e che i tempi di risposta del full node siano deterministici. Non importa infatti che la risposta avvenga in pochissimi secondi. Ogni tx deve essere completata prima che scatti la successiva ovvero ha 15 minuti di tempo per essere immessa in rete.
Ovviamente i livelli posso essere aumentati e la topologia della rete resa più articolata per ottimizzare la distribuzione del carico.
Dimensionamento della rete e costi
Un recente stress test ha dimostrato la capacità della rete IOTA di raggiungere le 182 TPS (transazioni per secondo) confermate con 250 full node.
Si tratta di un dato interessante ma sicuramente una stima conservativa delle potenzialità della rete ed in particolare di una realizzazione dedicata. Il comportamento del nodo è infatti ottimizzabile per risparmiare notevoli operazioni, senza che ciò comporti alcun effetto collaterale.
In ogni caso per rimanere conservativi possiamo definire i seguenti parametri:
- Ogni full node è in grado di processare 1 tx ogni 1,3 secondi (250 nodi/186 TPS)
- 100 nodi producono quindi circa 73 TPS, pari a 65.520 Transazioni per quarto d’ora
- 1527 nodi producono conseguentemente 1 milione di transazioni ogni quarto d’ora, soddisfacendo la necessità del nostro sistema industriale
Se ipotizziamo che ogni transazione richieda 4 KB di dati (quattro volte di più del puro dato misurato dal contatore) avremmo un totale di circa 11.000 TB di traffico mensile, pari a circa 8 TB per nodo.
Apparentemente non sembrerebbe esserci un vantaggio, ma quello che non si nota è che per supportare un Full node non serve una macchina estremamente potente. Anzi, occorre un server molto contenuto.
Un VPS con 8 GB di RAM, 80 GB di disco (più che sufficiente per ospitare la propria copia del tangle), 4 CPU e 10 TB di traffico ha un costo mensile di circa 80 Euro (stima su Digital Ocean).
L’intero sistema ha pertanto un costo pari a 1,5 Milioni di Euro.
A questo costo va aggiunto il costo del traffico di rete e il costo del personale di gestione, che tuttavia è molto ridotto rispetto a un sistema tradizionale. Infatti l’intero sistema è omogeneo e tutti i server sono cloni di un unico full-node.
Direi che cautelativamente si può stimare quindi un risparmiamo del 50% rispetto ai costi ipotizzati all’inizio dell’articolo.
Bollettazione
No, non mi sono dimenticato della bolletta. Semplicemente non serve.
Infatti tutti i costi sono stati pre-pagati quindi l’emissione della bolletta non è più necessaria. Può essere sostituita da un documento prodotto direttamente dall’app con cui è stato effettuato il pagamento.
La stessa app, interrogando il Tangle è in grado di recuperare i dati di ogni singola transazione e presentare in modo chiaro e deragliato i consumi, le tariffe applicate e i costi.
Conclusioni
Ovviamente questi costi sono il risultato di una valutazione molto cauta e dove è stata presa in considerazione l’ipotesi di eseguire una transazione ad ogni quarto d’ora. E’ evidente che semplicemente passando da 15 a 60 minuti di avrebbe una riduzione proporzionale dei costi.
In ogni caso anche nel caso peggiore l’adozione di IOTA come sistema di pagamento per i servizi di energetici che dispongono di un contatore digitale in grado di ospitare un light node IOTA garantisce notevoli vantaggi:
- Evoluzione del modello di business verso un pre-pagato reale
- Nessun costo derivante dal sistema di pagamento.
- Controllo di consumi in tempo reale
- Riduzione del costo dell’infrastruttura IT di almeno il 50%
- Aumento dell’affidabilità grazie a una architettura semplice, distribuita, privata ma basata su un sistema pubblico e ampiamente collaudato.
Credo quindi si possa concludere che il progetto è interessante e meriterebbe un approfondimento.
Resta aggiornato con la Newsletter Settimanale

Localflow.com Decentralized Technology Strategist