IOTA: rilasciata la prima release di Pollen

IOTA Foundation ha rilasciato la prima release della nuova versione dell’omonima rete, con il nome in codice Pollen.

Si tratta del primo dei tre rilasci previsti per arrivare al completamento del progetto coordicidio, ovvero la completa e definitiva decentralizzazione della rete.

Come funziona Iota 1.0.

Per comprendere le novità di IOTA 2.0 occorre ricordare brevemente come funziona IOTA 1.0. 

IOTA nasce con l’obiettivo di superare i limiti delle reti basate su mining e blockchain che in sintesi sono limitata scalabilità e costi variabili dovuti alle fee e al mining.

IOTA non prevede mining e quindi non ci sono fee per pubblicare transazioni in rete. Al posto della catena di blocchi IOTA usa una struttura dati chiamata grafo aciclico diretto o Tangle

Questa tecnologia permette ai nodi di operare in modo asincrono e quindi virtualmente ogni nodo può immettere nel registro tutte le transazioni che necessita pubblicare. In pratica IOTA non ha limiti teorici di scalabilità.

Ovviamente l’assenza di fee e la mancanza di un sistema competitivo di mining, che evita lo spam, rende la rete attaccabile. 

In particolare, se venisse semplicemente implementato il modello di consenso previsto nel whitepaper originario, grazie allo spam si potrebbe avere la conferma di una transazione in double spending. 

Il nodo coordinatore

Per evitare questo problema, in attesa che il team di ricercatori e matematici trovassero la ricetta ideale, i developer di IOTA hanno deciso di adottare una soluzione temporanea molto semplice: attivare un nodo attendibile le cui transazioni fungono da riferimento per validità e conferma delle transazioni.

Questo nodo, chiamato Coordinatore, non ha funzioni di controllo della rete o degli altri nodi, non può alterare il registro, non può firmare transazioni per conto di altri nodi. 

Semplicemente le sue transazioni sono considerate attendibili perché prodotte da un nodo molto probabilmente non malevolo. 

Le transazioni approvate (a cui il coordinatore collega le proprie) sono considerate transazioni valide e dopo tre approvazioni consecutive sono considerate confermate. 

Si tratta ovviamente di una soluzione di compromesso che non rispetta lo spirito delle reti distribuite e che soprattutto potrebbe essere facilmente attaccata dall’interno della stessa Fondazione IOTA da un collaboratore infedele. Per questo motivo è sempre stata considerata temporanea dalla stessa Fondazione IOTA

Il problema del sistema

Il problema da risolvere era però molto sfidante: come si rimuove il Coordinatore senza limitare le prestazioni e senza introdurre una remunerazione dei nodi? 

La risposta ha dato che circa due anni fa il team di ricercatori della Fondazione IOTA sembra uno scherzo: basta rendere ogni nodo un coordinatore.

Non si trattava di uno scherzo, anzi, complessi strumenti di simulazione hanno permesso di verificare le varie strategie per creare un sistema distribuito dove ogni nodo della rete è effettivamente un’autorità, senza che vi sia una competizione, senza fee e senza colli di bottiglia. 

L’idea di base è semplice: il coordinatore è attendibile in quanto è possibile ricondurre a lui le transazioni di validazione perché il suo indirizzo è ben noto. 

Quindi se ogni nodo fosse identificabile e a ogni nodo venisse attribuito un parametro di affidabilità, ogni nodo potrebbe fornire una conferma “attendibile” di altre transazioni. 

Ogni nodo sarebbe un piccolo coordinatore.

Il primo passo di questo percorso è stata la modifica del protocollo con cui le transazioni vengono generate. Il nuovo modello rende molto più semplice ad ogni nodo verificare la correttezza della transazione e quindi lo stato generale del registro. 

Ovviamente questo accorgimento non è sufficiente per evitare conflitti. 

Per risolvere i conflitti è stata creata una tecnologia che fornisce un’identità digitale ai nodi. In questo modo le transazioni emesse da un nodo sono identificabili e attribuibili a una sorgente certa e non impersonabile arbitrariamente.

Il parametro MANA

Disponendo di un’identità digitale a cui attribuire le transazioni diviene possibile attribuire a ogni nodo un parametro qualitativo derivato dal suo comportamento. 

Questo parametro è chiamato MANA, terminologia in uso in molti giochi online che generalmente indica la quantità di forza o energia che il giocatore ha a disposizione.

La MANA non si compra, non si può vendere o cedere. La MAMA non è registrata sul ledger. La MANA si ottiene ricevendo IOTA e la si perde effettuando operazioni illecite, come un tentativo di double spending. 

Ogni nodo mantiene in memoria l’elenco delle identità digitali di cui viene a conoscenza e attribuisce a ogni identità una quantità di MANA in base alle attività che osserva.

Ogni nodo può quindi valutare autonomamente l’attendibilità di una transazione tenendo conto anche dell’identità digitale del nodo che l’ha prodotta e quindi della MANA di cui nodo dispone.

Se quindi un nodo collega le proprie transazioni a transazioni malevole può perdere MANA. Se valuta attentamente le transazioni a cui collega la propria contribuendo quindi alla qualità del registro distribuito e alla velocità di conferma, non perde MANA.

Si tratta quindi di un modello organizzato inverso rispetto al mining: invece di essere incentivato un comportamento corretto, che porta alla crescita dell’energia spesa complessivamente dai nodi della rete, è disincentivato un comportamento scorretto, approccio che non ha alcun effetto collaterale.  

La perdita di MANA può infatti produrre notevoli limiti ai nodi. In questa prima release la gestione MANA non è ancora attivata, ma il suo ruolo è fondamentale.

Anche con un sistema di disincentivo è tuttavia possibile che si verificano conflitti. Allo studio ci sono due sistemi di gestione dei conflitti. In questa release è già stato rilasciato il Fast Probabilistic Consensus (FPC).

Il funzionamento del FPC è simile a un sistema di voto distribuito. Se un nodo riceve due transazioni in conflitto emette un messaggio sul canale di comunicazione tra i nodi con cui segnala il problema ed esprime la sua opinione su quale transazione si a suo parere quella valida. Ogni altro nodo nel frattempo avrà ricevuto le transazioni e risponderà con la propria opinione.

Sommando le opinioni ricevute ogni nodo ottiene una vista dell’opinione della maggioranza dei nodi pesata in base all’autorevolezza. Se la sua opinione iniziale era in disaccordo la cambia e la ritrasmette. Nel giro di pochi secondi si forma un consenso distribuito su quale delle due transazioni in conflitto è quella da considerare valida.

Il sistema FPC produce gli stessi effetti di un sistema POS o POW ma non ha una base economica speculativa, con tutti gli effetti collaterali ben noti.

Quando sarà disponibile il parametro MANA questo processo sarà ancora più affidabile permettendo di pesare le opinioni dei nodi in base alla loro attendibilità.

Dato che la MANA non si può comprare è sostanzialmente impossibile contrastare l’opinione della maggioranza dei nodi o eventualmente della minoranza che detiene la maggioranza della MANA.

Per tentare un attacco sarebbe necessario ottenere la maggioranza della MANA, ma questo significa ottenere in un tempo molto ristretto la maggioranza delle IOTA esistenti. Infatti la MANA non è persistente. Si perde MANA con il passare del tempo e la si riottiene solo ricevendo IOTA in egual misura.

La MANA non servirà solo alla gestione dei conflitti. Molte altre funzioni della nuova rete sono basate sulla MANA. Ad esempio è previsto verrà utilizzata nel rate control che potrebbe persino eliminare la necessità di effettuare il POW anti-spam previsto a carico dei nodi: più MANA si possiede e più transazioni si possono immettere in rete in un periodo di tempo. 

Questo meccanismo è particolarmente utile per applicazioni che gestiscono dati: vendendo dati in cambio di IOTA ottengo anche MANA e più MANA ottengo più transazioni (quindi dati) posso inviare.

La MANA potrà avere anche un ruolo anche nella gestione della connessione automatica dei nodi. Nella versione 1.0 della rete la connessione è manuale ma in questa nuova versione è completamente automatica. 

Dato che la MANA posseduta da un nodo indica la sua affidabilità, un nodo con poca MANA potrebbe essere rifiutato da nodi con molta MANA, limitando quindi il collegamento diretto di nodi potenzialmente malevoli a nodi autorevoli della rete, pur senza impedirne il collegamento effettivo di qualsiasi nodo.

Le altre novità di Iota Pollen 2.0

IOTA 2.0 introduce molte altre novità, tra le quali la possibilità di creare “colored coin”. Le colored coin sono un modo per creare una sorta di token ma a differenza dei token della rete Ethereum non richiedono uno smart contract per essere correttamente gestite: sono semplicemente IOTA a cui è stato attribuito un ruolo significato in un particolare contesto applicativo e che la rete impedisce vengano usate per altri scopi, ovvero che possano essere colorate o decolorate arbitrariamente. 

Sono il primo passo per supporto alle distributed app che saranno pienamente supportate dai successivi rilasci, anche con l’introduzione di un sistema di smart contract basato su oracoli distribuiti.

Le colored coin sono lo strumento perfetto per creare delle stablecoin di stato. Una stable coin è infatti un token che rappresenta un controvalore in fiat ma a differenza della fiat sono soggette a costi di trasferimento (tx fee) e limiti prestazionali indotti dalla blockchain. 

Non essendo emesse da autorità monetarie sono anche a rischio di insolvenza, rischio difficilmente calcolabile ma certamente non nullo. 

Se invece una stablecoin fosse emessa dalla stessa banca centrale che emette l’equivalente moneta fiat si avrebbe una coincidenza funzionale: 

  • non vi sarebbero costi di gestione per spostare le stablecoin come non vi sono per spostare fiat tra due conti della stessa banca o in una transazione in cartamoneta;
  • Il numero di transazioni effettuabili è virtualmente illimitato in entrambi i casi; 
  • Avere la garanzia dallo stesso emittente  rende queste stablecoin del tutto equivalenti alla moneta fiat.

È ovviamente ancora presto per considerare ogni problema risolto e ogni potenziale rischio previsto e gestito, ma la lunga fase di ricerca sperimentale, durata quasi due anni con un imponente lavoro di ricerca a livello teorico con strumenti di matematica superiore, seguito da un’implementazione concreta e oggi anche disponibile pubblicamente ci permette di dire che il progetto IOTA procede spedito verso l’obiettivo e se tutte le ipotesi saranno confermate fornirà strumenti fondamentali per realizzare le applicazioni oggi impossibili da realizzare.

Sorgente articolo:
IOTA: rilasciata la prima release di Pollen

User ID Campaign ID Link
d9a95efa0a2845057476957a427b0499 l-99999988 Primo su google
d9a95efa0a2845057476957a427b0499 l-99999987 Consulenza realizzazione Applicazioni Web
d9a95efa0a2845057476957a427b0499 l-99999981 Free Web Hosting
d9a95efa0a2845057476957a427b0499 l-99999985 Ugo Fiasconaro