Read this article in the English version here.

NEM è stato lanciato il 31 marzo 2015; è scritto in Java e l’attuale block time è di circa 60 secondi.

La criptovaluta nativa della rete è XEM: ci sono 9 miliardi di XEM in circolazione e non ce ne saranno mai di più; il portafoglio ufficiale si chiama nano wallet.

NEM vuole essere una moneta criptata guidata dalla comunità e questo focus ha influenzato pesantemente l’architettura di rete.

Proof of Importance

L’algoritmo di consenso di NEM è chiamato Proof of Importance (POI) e ha alcune somiglianze con l’algoritmo di Proof of Stake (PoS). Questo algoritmo non ha elevati requisiti di potenza di calcolo per i suoi nodi, quindi è possibile eseguire un nodo completo della rete con meno di 5 watt di potenza.

I nodi hanno bisogno di maturare (vest) una quantità di valuta per avere diritto alla raccolta (harvesting) – simile al mining – e la selezione per la creazione di blocchi si basa su un punteggio.

Il saldo viene assegnato automaticamente al 10% del saldo non maturato e le transazioni spendono in parti uguali il saldo maturato e quello non maturato.

Gli input primari per il calcolo del punteggio sono:

  1. Quanto l’indirizzo ha speso nell’ultimo mese
  2. L’importo di XEM maturato
  3. Se l’indirizzo è un nodo cluster

L’architettura di rete

Ai nodi – chiamati NEM Infrastructure Servers (NIS) – viene assegnato un punteggio basato sulla qualità del servizio.

Una conseguenza di questo progetto è che i nodi che si comportano in modo disonesto dovrebbero essere catturati ed esclusi dalla rete.

L’algoritmo è stato progettato in questo modo per affrontare quelli che molti credono essere i due principali difetti dei punti vendita. Il primo problema evitato da questo è quello del nothing at stake (niente in ballo).

L’altro problema risolto (o almeno alleviato) da questo algoritmo è la concentrazione della ricchezza.

L’accumulo di monete per raccogliere più ricompense si risolve avendo il punteggio di importanza basato su fattori che non sono il numero di monete conferite. Il punteggio è stato progettato in modo tale che essere un commerciante potrebbe pagare di più che possedere semplicemente una grande quantità di XEM.

La comunicazione della rete p2p è basata sul protocollo HTTP. C’è sia una mainnet che una testnet disponibile come anche la rete Mijin che è una blockchain NEM privata.

Caratteristiche

Tra le caratteristiche più importanti della blockchain di NEM troviamo i suoi sistemi di messaggistica, domain naming e smart asset system.

NEM supporta i messaggi che fanno parte delle transazioni come la maggior parte delle altre blockchain. NEM supporta anche l’invio di un messaggio senza inviare alcuna transazione effettiva, pagando solo una tariffa basata sulla lunghezza del messaggio.

Il sistema di domain naming – che viene chiamato Namespace – è integrato con il sistema di reputazione. I namespace possono ospitare mosaici che sono beni personalizzati. Quelli combinati costituiscono un sistema che è abbastanza simile al sistema dei domini internet.

I mosaici possono essere configurati in un modo che ricorda molto da vicino i token ERC dell’ecosistema Ethereum.

Supporto per smart contract esterni

Con NEM gli smart contract sono trattati come una risorsa esterna. Trattandosi di contratti esterni, i contratti impiegati sulla rete sono software in esecuzione off-chain scritti in qualsiasi linguaggio di programmazione.

Questo approccio, se paragonato all’EVM di Ethereum, è meno inaffidabile in quanto il codice del contratto stesso non è sulla catena e può cambiare.

Dal lato positivo, dover registrare solo i saldi e le transazioni rende la rete NEM più efficiente e abbassa i requisiti hardware per l’esecuzione dei nodi della blockchain.