Nano is a cryptocurrency that supports feeless and near-instant transactions. It uses a radically different data structure and consensus algorithm than Bitcoin. Whereas Bitcoin's ledger is a single, sequential list of blocks containing transactions (i.e. a blockchain), Nano uses what's called a block lattice data structure where each Nano address has its own blockchain. In Bitcoin, consensus is maintained through Proof of Work. In Nano, consensus is maintained through voting.
Colin LeMahieu started developing the project in 2014 and the production network was launched in 2017. It was originally called Raiblocks before rebranding to Nano in early 2018. In the the span of a month during the 2017 bull market, the price of NANO skyrocketed from a few cents to more than $34.
How does Nano work?
Bitcoin's ledger is represented as a single linked list and Proof of Work is used to both maintain consensus and advance the ledger. Although this setup can maintain consensus in an open and distributed system, where anyone can join or leave at any time, the trade-off is that it's very slow and the maximum transaction throughput is limited to about 7 transactions per second.
To support feeless and near-instant transactions, Nano uses a different architecture called block lattice. With block lattice, every Nano address has its own blockchain and the blockchain can only be updated by the address. The Nano network consists of validators that store the full state of the network and users who own addresses. Validators have high storage and bandwidth costs since each validator needs to keep track of every address's blockchain, vote on transactions, and relay them to the rest of the network. Since new blocks do not create new NANOs and transactions are feeless, validators do not earn a reward for their work. When asked about disk space and bandwidth usage, the team has stated that both are being improved by pending protocol updates which are expected for deployment in late 2018. It will be possible to run ‘light’ and ‘pruned’ nodes then.
Sending and receiving NANO
To send NANO, an account needs to append a "send" block to its blockchain. Next, it needs to request votes from "representative nodes". Votes are essentially aggregated cryptographic signatures. After receiving votes, the block is ready to be published to the rest of the network, and the recipient can be confident that the money is sent. The whole process spans a few seconds. Since an address’s blockchain can only be updated by at most one address, updates can happen immediately without fear of conflicts. This is fundamental to Nano’s speed and scalability.
To receive funds from a “send” block, the recipient needs to append a corresponding “receive” block to its blockchain and propagate the block to the rest of the network.
Network consensus is maintained through voting. If a node disagrees with the state of the network, it can start a vote by announcing the conflict to validators connected to it and these validators will relay the conflict to validators connected to them until the entire network is aware of the conflict. The voting process occurs over a predefined period where each node votes on a state of the network it believes is correct. The number of votes a validator has equals the number of NANO it owns plus the number of NANO delegated to it. When a state has more than 133,248,289/2 votes (133,248,289 is the total number of NANOs in existence), it’s automatically accepted as the state of the network.
Since Nano supports feeless and near-instant transactions, the network is vulnerable to spam. A user can cheaply issue a large number of useless transactions and overwhelm validators. To protect against spam, an address needs to perform a quick proof of work problem to send a transaction.
The team behind Nano
Nano is the brainchild of software developer Colin LeMahieu. LeMahieu first discovered Bitcoin in 2010 and quickly realized that the network had a problem with speed and scalability. After following and researching the cryptocurrency for four years, he decided to start developing Nano in 2014 as a cryptocurrency that improved on Bitcoin. LeMahieu launched the production network in 2017. Nano was not distributed through an ICO and, instead, was distributed through a captcha-protected web faucet.
Nano was launched with the name RaiBlocks. During the bull market in late 2017, the price of NANO skyrocketed from a few cents to more than $34. In late January 2018, RaiBlocks rebranded to Nano. Today, Nano's price has fallen from its peak of $34 to $1.62 at the time of writing.
Although mostly a solo-developer building Nano prior to its launch, LeMahieu has since built a small team of operational staff and software engineers to continue improving Nano and expanding its ecosystem. LeMahieu continues to serve as the project’s lead developer.
Nano's validators are very expensive to run. The costs consist of a high storage and bandwidth costs. A validator needs to store the entire state of the network, which consists of blockchains for every address that's been used. A validator also needs to relay any new transaction to every validator it's connected to. This can be incredibly expensive since Nano's transactions are fast, free, and the network scales well. Since there's no reward for running a validator, it's completely uneconomical for the "average" Nano holder to run one and validator operations are prone to centralization.
Some argue that this isn't a problem since businesses that rely on Nano and wealthy Nano holders are incentivized to run validators to secure the network. We have yet to see whether this is true in the long run or if it will keep the network decentralized.
Nano has feeless and fast transactions and this makes it highly vulnerable to spam. For example, a malicious actor could run a simple script that has multiple accounts constantly send transactions between each other. This puts heavy load on validators and bloats the network with useless data. It's problematic when creating spam is cheap, yet spam is very costly to the network.
That said, Nano does have a system to mitigate spam: an address needs to solve a simple Proof of Work problem to send a transaction. However, this system is untested and may not be costly enough to deter spammers.
Lack of smart contracts
Smart contracts are a powerful extension to the foundation that Bitcoin established for cryptocurrencies. Smart contract support is arguably critical for every cryptocurrency’s long-term survival. When evaluating Nano, I have reservations on whether it can ever support smart contracts because of its radically different architecture.
Unlike many cryptocurrencies, Nano doesn't follow Bitcoin's single blockchain architecture and instead uses a block lattice architecture to support feeless and near-instant transactions. Additionally, the production network is live and working as advertised. Unfortunately, Nano is not free from trade-offs. To support fast and free transactions, validators are uneconomical to run and the network is vulnerable to spam. Nevertheless, this is an exciting project that's pushing the boundaries of cryptocurrency architecture and network performance. The protocol is actively being developed, so there's no reason to believe that its flaws can't be attenuated or fixed.