Longcaller

Nano

Nano offers free, instant, and scalable payments.

Unlike most of the cryptocurrencies, Nano doesn’t use a blockchain to store transaction history. Instead, it relies on block-lattice method. Each account has its own blockchain, or account-chain. These account-chains start with a genesis block and are increased with each transaction made by account. In that system, each transaction is a block, and each block can be independently spread within the network.

As there are no fees in Nano, users can make hundreds or thousands of transactions for free. To protect from spam transactions and network flood, each transaction requires a small PoW. It can be done in advance to make a transaction instant. Currently, PoW runs in seconds, and in future, the difficulty can be adjusted based on the capacity increase.

There are 4 types of transactions: open, send, receive, and change.

The open transaction creates a new account. Upon creation, new blockchain is created for this account, and the open transaction is always the first transaction in this blockchain.

Each coin transfer consists of two transactions. First, when making a transfer, an account creates a send transaction. This transaction then is broadcasted to the network, and funds are considered pending: they can’t be refunded, but still doesn’t reach the receiver. Then, receiver creates a receive transaction, referencing the send transaction. Now, the transfer is considered complete.

As Nano is made for use with light clients, many of the accounts will not be constantly connected. To use their voting power, they can select a delegate to make votes on their behalf. They can make a change transaction, selecting the account of a delegate.

Nano uses DPoS as consensus mechanism. Each node can be a delegate, resolving network forks. Forks can occur in the event of double-spending when multiple transactions point to the same previous transaction. In that case, all delegates choose one of the two transactions. The transaction that got more votes considered valid, and another transaction considered invalid. Each delegate has vote power proportional to the sum of his balance and the balances of those accounts who selected him as their representative.

Transaction system in Nano made in such way that it doesn’t take a lot of space and can fit into one UDP packet. This helps to reduce network size and require small network bandwidth.

Network architecture allows multiple types of interaction. First, there are delegates who store the whole transaction history, validate blocks, and make consensus votes. Then, there are full nodes who observe the network traffic and can store the history in a pruned form, keeping only the last block of each account-chain. Finally, there are light clients that don’t contain blocks and doesn’t monitor the network.

All Nano coins were distributed by a faucet that was run for several months. The faucet is a program that automatically sends a small number of coins to the address specified by the user. Anyone could enter their wallet address and get some of the coins. To protect from spammers and bots, faucet required solving a captcha.

Timeline

  • May 1, 2014: Initial commit on Github. github.com
  • February 29, 2016: Release on Bitcointalk as RaiBlocks. bitcointalk.org
  • October 18, 2017: Faucet was closed and the distribution of coins was complete. twitter.com
  • January 31, 2018: Raiblocks rebrands to Nano. hackernoon.com
Hi. I write articles like this each week. You can subscribe and get them delivered to your email address.