Teleconsys Magazine Digital Innovation Ideas

IOTA: No Mining, No Fees

Chi segue le pubblicazioni di Teleconsys sa che per i motivi descritti abbiamo scelto un altro approccio, ovvero una rete decentralizzata che supporta un registro distribuito, senza bisogno di miners e senza richiedere fees. Questo sistema si chiama IOTA.

Eliminare il mining in una rete pubblica produce due importanti vantaggi pratici:
      >Abbattere il costo energetico della rete
      >Rompere la relazione tra costo energetico e livello di sicurezza                della rete

Abbattere il costo energetico è ovviamente un importante obiettivo anche per ridurre l’impatto ecologico del sistema. Esistono vari modi per ottenere questo risultato, come ad esempio passare da un modello di consenso basato su Proof of Work a uno basato su Proof Of Stake.

Nel Proof Of Stake i nodi che vogliono partecipare alla gestione della rete e ottenere una ricompensa devono mettere un capitale a garanzia della loro correttezza. Ovviamente perderanno il capitale se dovessero operare in modo scorretto.

Ogni approccio che riduce il consumo energetico per transazione senza sacrificare sicurezza e decentralizzazione è un buon approccio. L’elevato costo energetico di Bitcoin ha infatti un effetto collaterale molto pratico: rende impossibile scalare in termini prestazionali. Infatti, se si volesse mantenere invariato il livello di sicurezza della rete, di dovrebbe mantenere stabile il rapporto tra costo energetico e numero di transazioni per unità di tempo.

Scalando da 5 a 1.000 transazioni per secondo si raggiungerebbe un livello complessivo di energia necessaria tecnicamente insostenibile. Quindi, in sostanza, una rete basata su POW non può scalare senza rinunciare alla sicurezza.

Separare la sicurezza garantita dalla rete dal costo energetico speso è quindi indispensabile per ottenere scalabilità.

Non solo transazioni
Eliminare le fee nel modello organizzativo della rete decentralizzata è funzionale anche ad un altro scopo e mitigare un effetto collaterale: immettere dati nel registro distribuito e poterli rimuoverli per diminuire l’occupazione di spazio disco e quindi ridurre il costo operativo dei nodi.

Infatti, anche Ethereum e i suoi derivati premettono di immettere dati nel registro ma ogni scrittura essendo corredata di fee è sempre una transazione economica: da qualche parte le fee devono essere prelevate e quindi anche se la transazione non sposta token comunque deve essere verificata.

Ciò rende tutte le scritture di una blockchain (che richiede le fee) transazioni economiche e obbliga a conservare per quella transazione per avere una storia coerente di tutti gli spostamenti di token tra gli indirizzi. Questo problema è comune a tutte le blockchain che richiedono il pagamento di fee, anche quelle basate su Prof of Stake.

In IOTA invece le scritture che non contengono una transazione sono conservate per tutto il tempo che il nodo è in grado di gestire e poi possono essere rimosse senza impattare sulla coerenza del registro da un punto di vista monetario.

Come funziona IOTA 2.0
Nonostante IOTA sia un sistema molto complesso, non usi il mining e non richieda fee, di fatto la logica generale del sistema non è molto diversa da quella di una blockchain tradizionale.

Da un punto di vista organizzativo la partecipazione alla gestione della rete è incentivata in modo indiretto: avere un nodo performante permette di fornire un servizio remunerato a terzi e quindi ottenere un ricavo.

Le prestazioni di un nodo IOTA non dipendono (soltanto) dalle sue caratteristiche tecniche, ma anche dalla sua credibilità rappresentata con uno pseudo-token chiamato MANA.

A prima vista il sistema reputazionale basato su MANA assomiglia a un Proof Of Stake: più MANA si possiede maggiore credibilità si ottiene, analogamente alla credibilità ottenuta mettendo capitali in staking in un sistema basato su POS.

Il sistema basato su MANA, però, funziona esattamente al contrario perché non occorre MANA per diventare validatori: ogni nodo valida transazioni e ottiene MANA in proporzione al valore delle transazioni che crea.

Per capire il funzionamento di questo sistema occorre semplicemente comprendere che in una blockchain ogni operazione di validazione è essenzialmente un’espressione di voto. Un miner vota a favore di un blocco allungando la catena, vota contro creando un fork. In IOTA il voto è espresso da ogni nodo che genera una transazione: esprime un voto favorevole o sfavorevole su due o più transazioni precedenti collegandoci la propria. Un apposito campo indica il tipo di voto.

Il ruolo di validatore in IOTA è quindi proprio di ogni nodo della rete IOTA e il MANA rappresenta esattamente il livello di attività dei nodi: più un nodo è attivo e maggiore MANA ottiene.

Questa ricompensa, a differenza delle di ciò che accade nelle blockchain, non ha un valore economico, quindi la sicurezza della rete IOTA non è legata a un modello economico speculativo.

L’approvazione e successiva conferma di una transazione dipende dai voti ricevuti e dal peso dei nodi che hanno votato. Il “peso di un nodo” deriva dal MANA che possiede. Una transazione con un elevato numero di voti negativi espressi da nodi con molto MANA non sarà scelta per collegarci nuove transazioni. Questo significa che una transazione invalida non potrà essere approvata senza la collaborazione della maggioranza dei nodi autorevoli, il che è statisticamente improbabile.

Il sistema reputazionale basato su MANA fornisce molti altri vantaggi pratici.

Ad esempio fornisce alla rete una protezione anti-spam senza alcun consumo energetico. Ogni nodo ha un limite di messaggi per secondo che può immettere in rete proporzionale al MANA che possiede. Gli altri nodi, ricevendo i suoi messaggi, calcolano il throughput utilizzato e gli impediscono di superare il limite concesso dal MANA che possiede, parcheggiando o ignorando i messaggi in eccesso.

MANA è usato poi per impedire attacchi al sistema di consenso. Il voto dei nodi con minore MANA ha minore influenza sul processo di conferma di una transazione vanificando ogni tentativo di nodi malevoli di creare un double spending o altri attacchi analoghi.

MANA impedisce anche il Sybil attach, dove un nodo impersona un altro e ottiene dei vantaggi. Il MANA è associato all’identità del nodo quindi cambiare identità comporta la perdita del MANA posseduto.

Più IOTA si spostano più MANA si ottiene tuttavia il MANA non è persistente: si consuma per immettere transazioni in rete, si ottiene nel tempo dopo ogni transazione economica immessa e poi si perde con il passare del tempo.


Figura 1: rappresentazione dell'andamento del MANA di un nodo

I parametri che governano l’algoritmo di ottenimento del MANA sono scelti in modo che un nodo possa mantenere elevato il MANA posseduto, quindi i vantaggi che ne derivano, continuando a spostare un quantitativo di IOTA senza impatti negativi sulle prestazioni generali della rete. Spostare troppo frequentemente le IOTA non produce il massimo livello di MANA ottenibile, quindi sebbene incentivato a immettere transazioni valide e validarne altre, un nodo non può abusare della rete.

Se si posseggono IOTA ma non si vuole attivare un nodo, si possono prestare a un nodo altrui affinché possa produrre più MANA. Questa opportunità di guadagno avvantaggia la rete: la distribuzione di IOTA che vengono spostate da più nodi, rende più rapida e sicura la rete rendendo praticamente impossibile che un nodo acquisisca il controllo della rete.

A parte per il possibile prestito di IOTA, il sistema di gestione della rete IOTA non è speculativo. MANA non è memorizzato sul registro quindi non può essere ceduto o negoziato. Al massimo si può offrire un servizio di nodo gestito con prestazioni certe derivanti dal MANA che può produrre (node as a service).

Il tangle
La struttura del registro è un’altra differenza tra IOTA le blockchain che produce un vantaggio significativo.



Figura 2: rappresentazione del Tangle della rete IOTA

In IOTA i messaggi non sono inseriti in blocchi concatenati, ma sono connessi direttamente a due o più precedenti. Questo schema logico è chiamato Tangle.

Ogni nodo ha una propria copia del Tangle. Se deve inserire una transazione economica può scegliere a quali transazioni o messaggi collegarla. Affinché la nuova transazione sia considerata valida dalla rete le due transazioni scelte dovranno anch’esse essere valide. Dovrà quindi analizzare le transazioni scelte e verificare che a loro volta validino transazione precedenti valide fino a una certa profondità a ritroso nel tempo.

Questo processo non richiede alcun coordinamento con altri nodi e non richiede di attendere la creazione di blocchi. Messaggi e transazioni immesse sono immediatamente memorizzati nel nodo e in pochi secondi su ogni altro nodo della rete.

Questa assenza di sincronizzazione risolve tutte le problematiche specifiche delle reti in cui il registro è basato sulla catena di blocchi e viene gestito con un processo di mining. Il Tangle garantisce scalabilità virtualmente non limitata. Ovviamente esiste un limite dato dalla banda passante tra i nodi che limita il volume di messaggi propagati.

Per saperne di più su IOTA,
visita il nostro Centro di Competenza IOTA


Condividilo su: