IDENTITÀ DEI NODI E MANA

In una rete senza il Coordinatore dobbiamo essere in grado di associare in modo affidabile le transazioni o altri messaggi con il nodo che li ha emessi. Ad esempio, per consentire ai nodi di votare dobbiamo essere in grado di identificare i nodi (ed i loro voti). Ogni nodo genera quindi un identificatore univoco che utilizzerà per firmare messaggi od esprimere voti, garantendo così l’autenticità.

Tuttavia, la dipendenza dalle identità dei nodi rende i sistemi distribuiti vulnerabili agli attacchi di Sybil. Un modo per proteggersi da tali attacchi è quello di collegare la quantità di voti che un nodo può esprimere ad una risorsa scarsa come il potere di hashing in PoW, od il valore posseduto in Proof-of-Stake (PoS).

A differenza delle DLT basate su PoW, i PoS non soffrono di problemi di scalabilità. Tuttavia, in un ambiente dal concetto “vince la catena più lunga”, il PoS è vulnerabile a certi attacchi, come il problema del “non c’è niente di posseduto” (dove le parti possono votare per due catene in conflitto allo stesso tempo senza rischiare od investire alcuna risorsa) e “attacchi a lungo raggio” (dove i grandi stakeholder possono minare una catena più lunga in segreto e poi trasmetterla in seguito). Questi due vettori di attacco rendono l’alogritmo PoS indesiderato nelle reti dove “vince la catena più lunga”.

Poiché la soluzione Coordicide non si basa sulla regola delle catene più lunghe, il meccanismo di protezione Sybil non è interessato da questi problemi.

Si propone un sistema di reputazione che chiamato mana:

  • Spostando il token IOTA in una transazione di valore gli utenti stanno dimostrando la proprietà della quantità di IOTA trasferita
  • Gli utenti possono “collegare” le transazioni di valore ad un nodo di loro scelta aggiungendo un ID nodo alla firma della transazione. In pratica, molto probabilmente si tratta dello stesso nodo utilizzato per emettere la transazione.
  • La transazione comporta lo spostamento di mana dal nodo al quale era stato precedentemente assegnato al nodo specificato nella transazione. Questo aumenterà il mana totale del nodo scelto.

Il sistema mana combina i vantaggi di un meccanismo di protezione Sybil basato su fondi con quelli di un sistema di reputazione. Mana non viene accreditato ad un nodo solo trasferendo i token IOTA al proprietario del nodo. Può anche essere ottenuto semplicemente fornendo un buon servizio alla comunità e propagando alla rete transazioni valide. L’importo totale di mana accreditato – che funge da misura della fiducia o della reputazione – può essere utilizzato per premiare ulteriormente gli attori “buoni” in altri modi (ad esempio nei moduli di controllo della velocità o di voto).

Mana si basa sul concetto che la reputazione è difficile da guadagnare, ma facile da perdere. Un aspetto chiave di qualsiasi sistema di reputazione è la capacità di punire gli attori cattivi revocando la reputazione precedentemente concessa. In IOTA, questo è semplice come riassegnare il mana concesso ad un altro nodo, se il nodo attualmente preferito dovesse “comportarsi male” (come la propagazione di transazioni non valide).

Infine, un vantaggio chiave di mana è che, a differenza di altri meccanismi di protezione Sybil in cui l’ID del nodo è collegato alla chiave privata del proprietario, costringendo gli utenti a partecipare a complesse e potenzialmente rischiose procedure di staking, il sistema di mana assicura che gran parte dei fondi venga utilizzata per assegnare la reputazione.