Esistono differenze fondamentali tra Blockchain e IOTA che dovrebbero essere considerate prima di scegliere quale soluzione utilizzare.
La prima e più evidente differenza sta nel fatto che IOTA non utilizza un registro strutturato per blocchi contenenti transazioni. Le transazioni sono connesse direttamente tra loro a formare un grafo aciclico diretto, chiamato Tangle.
Questa scelta fornisce un grado maggiore di libertà ai nodi IOTA rispetto a quelli delle blockchain: non devono sincronizzarsi perfettamente per essere in grado di pubblicare transazioni valide. Anzi, addirittura un nodo può restare attivo pur se isolato dalla rete e nel ricollegarsi propagare tutte le transazioni che ha prodotto nel frattempo. Saranno perfettamente valide, se ovviamente non avranno approvato transazioni invalide presenti nel Tangle.
Ciò spiega perché i nodi IOTA non devono essere molto potenti e svolgere un costoso Proof of Work e perché il costo energetico di una transazione IOTA è inferiore a 1 mWh, contro gli 1.544 kWh di una transazione Bitcoin e circa 1 KWh di una transazione Ethereum.
Nelle blockchain basate su Proof of Work, la sicurezza (ovvero la difficoltà di acquisire il 50% del potere computazionale) è proporzionale all’energia consumata. In IOTA invece la sicurezza è proporzionale alla quantità di transazioni che vengono immesse nella rete: maggiore è il numero di nodi attivi e maggiore sarà il numero di transazioni e maggiore sarà il lavoro che un attaccante deve svolgere per cercare di validare una propria transazione invalida.
Infatti, Il Proof of Work attualmente richiesto da IOTA 1.5 serve solo per evitare spam. In IOTA 2.0 non sarà più richiesto neppure questo inutile consumo di energia, permettendo ai nodi si pubblicare messaggi con una frequenza proporzionale a un parametro che rappresenta l’impegno del nodo nel partecipare correttamente alla sicurezza della rete, validando altre transazioni.
Infine, il Tangle garantisce al nodo la capacità di immettere nel registro nuove transazioni senza tempi di attesa, perché il nodo non deve avere una copia esatta del Tangle in possesso agli atri nodi.
Un’altra caratteristica peculiare della rete IOTA è la possibilità di inserire nel registro informazioni arbitrarie. Il protocollo di comunicazione dei nodi IOTA infatti gestisce semplici messaggi grandi fino a 32 KB. Il messaggio può contenere una transazione economica o semplici dati comprensibili solo ai proprietari.
Da un punto di vista organizzativo blockchain e IOTA sono costituite da nodi che vengono attivati da anonimi membri della comunità, tuttavia mentre in IOTA i nodi hanno tutti lo stesso ruolo, in una blockchain esistono almeno due ruoli: i nodi che mantengono una replica del registro e i nodi che partecipano al processo di validazione (miners o validatori).
Questa differenza è molto più significativa di quanto non possa apparire.
Il processo di validazione di un blocco di una blockchain è infatti partecipato da molti nodi, ma solo uno per blocco sarà effettivamente il produttore del nuovo blocco. In una blockchain POW è il nodo più veloce a risolvere un rebus matematico, in una blockchain POS è il nodo di turno tra i validatori che fanno “staking” di capitali.
Tutti gli altri nodi validatori pur partecipando al processo di validazione, svolgono di fatto un altro compito: creare un deterrente che impedisce al validatore prescelto di essere scorretto.
Questo scenario organizzativo è ovviamente poco democratico: su più di 10.000 nodi che compongono la rete Bitcoin, solo una decina sono attivi nel processo di mining. Lo stesso accade per reti POS.
La concentrazione di potere su pochi nodi è ovviamente un fattore di rischio in una rete decentralizzata: pochissimi validatori potrebbero accordarsi e mettere a fattor comune il loro potere computazionale o decisionale per creare blocchi invalidi e rubare fondi.
Un significativo miglioramento di questo scenario è stato proposto dal progetto Algorand. Nell’omonima blockchain POS, per ogni nuovo blocco il validatore è scelto a caso tra tutti i nodi connessi. La probabilità di essere eletto validatore è proporzionale al capitale controllato da nodo. Ciò comporta che il gruppo di potenziali nodi validatori sia molto più ampio delle reti POW e le “normali” POS, rendendo molto meno facile la creazione di cartelli di controllo.
In IOTA non ci sono blocchi e le transazioni sono legate direttamente tra loro nel Tangle, quindi non ci sono nodi che svolgono specificatamente il ruolo di validatore. Ogni volta che un nodo pubblica una nuova transazione diviene momentaneamente un nodo validatore di un numero variabile da due a otto transazioni antecedenti a cui collegherà la nuova propria transazione.
Ciò implica che in IOTA tutti i nodi sono potenziali validatori e pertanto un eventuale cartello di controllo potrebbe effettuare un attacco solo se in grado di controllare più della metà dei nodi della rete.
Questo schema è poi ulteriormente rafforzato in IOTA 2.0 dove il peso decisionale in caso di votazione tra i nodi per la validazione di due transazioni in conflitto, dipende anche dall’attività svolta dal nodo.
Vuoi saperne di più?
Visita il nostro Centro di Competenza IOTA