TIL: NEM cryptotoken consensus algorithm and blockchain features

in #til7 years ago (edited)

This post is a compilation of concepts, facts and links I've researched to understand NEM better.

Context: history

NEM (New Economy Movement) was announced on BitcoinTalk forum by user utopianfuture. While the initial plan was to create a fork of NXT payment network, NEM codebase was built from the ground up.

NEM's "100% original code" is often used in the promotional materials and has some important implications:

  • developers are competent enough to produce a new blockchain consensus
  • NEM's consensus algorithm wasn't battletested by years of running in production

NEM is built by developers based in Japan and is popular within the country.

NEM capabilities

  • XEM public chain token
  • Vesting and Harvesting (mining)
  • Namespaces and mosaics (assets)
  • Encrypted messaging

“NEM was started to rectify some of the problems with not only the world economy, but also with other cryptocurrencies. One of the problems is of course distribution of wealth”, - Makoto, Lead developer, NEM

"Yes, we are certainly a Blockchain solution that can have multiple vertical applications. We have converts from Ethereum and Bitcoin that were amazed at how easy it is to develop in NEM. For example, we put together a land title registry solution in less than five days, whereas we can see a competition who’d have an army of programmers to do similar things in months using the Bitcoin core technology. We also heard that this similar project would take 1 month to do in Ethereum. This bodes well for the future of NEM," says NEM.io Foundation’s President Lon Wong.

Context: XEM price

I've found several possible reasons for price increase (apart of the general altcoin growth):

NEM blockchain concept map

PoI or Proof-of-Importance

The main distinguishing feature of PoI algorithm is that block rewards are determinted by user level of participation in the NEM economy. Participation is defined as a combination of account vested balance and its' graph of inbound and outbound transactions.

This is where NEM comes in. Its POI system not only rewards those with a large account balance, but also takes into account how much they transact to others and who they transact with.
This means that those who actively help the economy and therefore NEM benefit, meaning the right people, are rewarded. Each user is given a trust score, the higher it is, the more chance they have of being rewarded.
Source: NEM official blog post

Each account is assigned an importance score that proxies its aggregate importance to the NEM economy. Accounts with higher
importance scores have higher probabilities of harvesting a block (see section 5: Blocks and the block chain). Because all transactions are publicly available in NEM, the transaction graph of the NEM economy can be calculated exactly. The topology of the transaction graph can be used as an input into the importance of an account. The insight that the transaction graph can be used for elucidating the importance of an account is the key innovation of Proof-of-Importance.
Source: NEM technical reference

NEM founders claim that "the main aim [of PoI] is to empower regular people.". I'm not yet sure about that. If "importance" is defined by transaction graph of a node(vertex) in a network, most "important" will be hubs. By definition hubs are not regular uses.

EigenTrust and EigentTrust++

NEM PoI is based on EigenTrust++ algorithm, a modified version of EigenTrust. EigenTrust is a reputation system originally designed to reduce the number of downloads of inauthentic files in a P2P network. It measures how well different computers on the network interact with each other based on the peer's history of uploads and directs network traffic to the most trusted sources. Eigentrust was developed by Sep Kamvar, Mario Schlosser and Hector Garcia-Molina from Standford university. Eigentrust++ is supposed to have a stronger resilience against Sybil attacks.

Mijin

Mijin is a private blockchain solution that uses NEM sofware.

The name Mijin comes from a ninja weapon made from 3 chains that would tear an enemy apart into tiny piece. Mijin similarly destroys the cost of conventional infrastructure.
Source: http://mijin.io/en/.

"A key difference compared to Bitcoin is that Mijin will allow private blockchains. This is profoundly interesting because of the potential to completely change financial, logistics, and governance systems," - Mori Hamada & Matsumoto Legal Office, Tech Bureau Legal Adviser.

“Essentially, instead of having a fully public and uncontrolled network and state machine secured by cryptoeconomics (eg. proof of work, proof of stake), it is also possible to create a system where access permissions are more tightly controlled, with rights to modify or even read the blockchain state restricted to a few users, while still maintaining many kinds of partial guarantees of authenticity and decentralization that blockchains provide” - Vitalik Buterin about generic permissioned chains.

Some articles about Mijin use:

Harvesting

Harvesting in NEM is the process of generating blocks and earning the transaction fees in that block as a reward for the contributed work. The POI (Proof-of-Importance) algorithm determines who is allowed to generate a block (or more precisely: which generated block is considered as valid). To be able to harvest, the account needs a vested(!) balance of at least 10,000 XEM.

There are two types of harvesting: local and delegated. Local mode requires a private key and always-on computer/server while delegated setup can be done remotely without exposing a private key. Remote harvesting requires a simple ceremony to initiate.

Vesting

User deposits tokens into an account and after 24 hours 10% of the balance becomes vested. Then after 24 hours 10% of the unvested remainder XEM is converted to the vested balance.

To be eligible for entering the importance calculation, an account must have at least 10,000 vested XEM. All accounts owning more than 10,000 vested XEM have a non-zero importance score.

NEM forum "what is vesting" thread

Mosaics and namespaces

Mosaics are a NEM's solution for providing user issued tokens for public and private blockchains.

To create an asset, a user is requred to register a root namespace, like a website domain or a folder. Namespaces are:

  • namespace creation has a defined XEM price
  • limited to 16 alphanumeric characters
  • user can create as many sub-namespaces as wanted

User defined mosaic properties:

  • name of the mosaic, up to a size limit of 32 characters; must be unique
  • description, a free-text description of the mosaic up to 128 characters
  • namespace
  • divisibility (like satoshis in bitcoin)
  • transferable/not transferable
  • possible transaction levy (tax)

Other useful links

Sort:  

Thanks. It was very helpful post for me about NEM.

This post is so useful and I have always liked NEM cryptocurrency :)
Upvoted and resteemed, thank you for sharing !

You're welcome :)

I love those kind of posts and researches that I can learn from. I had to bookmark it because it's too long for now. Thanks!!!

Cool, let me know if you'd like me to add something :)

I would need the whole stories behind every coin and blockchain 😜☺️ I just bought into peerplay and have no idea if peercoin is related. I am a total newbie with trading. Kind off.

Excellent research!

I own XEM, looking for make delegated harvesting. Until i read this post was i understand this:

Then after 24 hours 10% of the unvested remainder XEM is converted to the vested balance

And always i was questioning me, Why my funds don´t are vesting yet?...

well, I am happy the post was useful then :)

That you for sharing this information with us, it is truly useful, @ontofractal! I upvoted & Followed you as well.