One and a half months after launch, NEM (New Economy Movement), has open-sourced their project and released their technical reference. The 54-page paper outlines the technical aspects of the cryptocurrency and theoretically explains the core concept of the technology known as proof of importance, a reputation-based enhancement to proof of stake.
NEM, like most of other cryptocurrency networks, is a peer-to-peer (p2p) network. P2P networks have the great advantage over centralized networks in that they are robust against failures of some nodes since eliminating some parts of the network doesn’t interrupt the operation. However, they are not flawless, as NEM’s technical reference describes:
“P2P networks also have their share of disadvantages. The participants of the network are anonymous and anyone can join. This makes it very easy to inject hostile nodes into the network that spread invalid information or try to disturb the network in some way.”
So how do we identify hostile nodes? This is a problem that Bitcoin also suffers. Some of these issues are addressed in the Bitcoin Wiki, and developers have been implementing multiple solutions to resolve the issue. One solution that hasn’t been discussed with other cryptocurrencies is a reputation system. NEM leverages the reputation approach by implementing an algorithm similar to the EigenTrust++ system.
In simple words, the NEM system creates a trusted network relative to each user, defining how much users trust one another by analyzing their interactions. Each node can ask its trusted zone to make sure a node he or she is interacting with is not a hostile node.
The technical reference indicates the benefits of this sort of reputation system:
“Having a reputation system for nodes allows nodes to select their communication partner according to the trust values for other nodes. This should also help balance the load of the network because the selection of the communication partner only depends on a node’s honesty but not its importance.”
Reputations could possibly be used in the core proof-of-importance protocol as well, though the NEM developers decided to keep the two systems separate. This theoretically enhances the proof of stake arrangement in which those who have more coins have a higher chance to choose which transactions to add to the blockchain.
The process of mining (creating blocks) in NEM is called harvesting. Each user needs at least 10,000 vested XEM in order to be eligible for harvesting. As of April 29, 2015, according to the technical reference, the NEM transaction graph had 1,456 harvesting-eligible accounts. This number seems extremely small for a stable blockchain platform created from scratch, but that is likely due to the large number of users who deposited their XEM into Poloniex. In the future, if the threshold of vested XEM needed for harvesting needs to change, it must be done so via a hard fork in the software.
Harvesters in NEM are chosen probabilistically based on their importance score. This is called Proof-of-Importance and according to the technical reference, the importance score calculation consists of:
- NCDawareRank, which is an algorithm similar to PageRank
- vested amount of XEM (stake)
- net ouflow of XEM
- topology of the NEM transaction graph
While using graph-theoretic information is common in social networks (e.g., Facebook) and web search (e.g., Google), NEM is the first project to make use of the rich information in the transaction graph to perform a task central to blockchain technology. The importance scores are based on the actions of an account over time and thus are a form of reputation. This allows importance scores to be applicable to much more than blockchain consensus, and NEM uses them for network spam protection and also the P2P time service. The full algorithmic details of Proof-of-Importance are described in the technical reference.
Despite some interesting mathematical proposals regarding to the reputation network, the cryptocurrency might suffer from some centralization issues.
According to the technical reference, NEM consists of three components. The first is NCC, (NEM Community Client) which is the open-source client software. The second is the core, which was open-sourced on April 19. And finally NIS (NEM Infrastructure Server), which is still run by the servers and is closed source. Typically, any user downloads NCC to run the program. But who runs the servers?
Servers are actually running the core program in which transactions are validated and verified and maintain the blockchain. A list of all the servers can be seen on the NEM NodeExplorer. The average number of online servers is currently 109 (at the time of writing), which is significantly low. In fact, anyone can run an NIS server but there is no incentive for individuals to run a server node. The fact that it’s not incentivized for users to run a server is quite problematic if a long-term sustainable solution is not offered.
So the question might arise: What harvesters are doing? Basically harvesters only inform server nodes that they want to participate in the process and get transaction fees based on their level of importance. Then as technical reference claims, NEM’s delegated harvesting feature makes it safe to share a delegated account’s private key with another node, thus, users are not encouraged to run a server on their own with this architecture, since they can get their transaction fee reward regardless of their contribution to the network by harvesting on the servers. This can, to some extent, be similar to a problem with running full nodes in Bitcoin, in which users are not incentivized to run a full node or perhaps the centralization trend in Bitcoin mining pools. However, the issue with NEM is a bit different since NEM faces this issue at the core of block generation, referred as mining in Bitcoin.
Nevertheless, when Cointelegraph asked Makoto, one of the lead devs on NEM, about the issue, he responded by saying that:
We are aware of it, we don’t think that it’s a practical problem in the long-term but we are trying to add a system to incentivize users to run server nodes sustainably into the future. Within the coming weeks this program will be announced, but already it is planned to use 2.5% of the currency (NEM is non-inflationary and so this money was set aside before launch) to give away to server nodes, as a way to bootstrap the network.
NEM — with proof of importance and their 54-page technical reference — clearly has some interesting ideas and innovations that can improve cryptocurrency as a whole, but they are just starting on their journey and still have a long way to go. All cryptocurrencies and altcoins are helping each other at this point to create a better way for people to transact, after all, and they can leverage each other’s genuine proposals at any time. This technical reference could be seen as another great contribution to the crypto space.