It seems to only cost $3m to centralize Nano (RaiBlocks)
(I changed “kill” to “centralize” in the title to make it more specific; although in my book it’s the same in context of decentralized cryptocurrencies)
Every few weeks there is a new “next big thing” coin or token shilled and taking over CoinMarketCap by storm. Recently, Nano coin (formerly RaiBlocks) seems to be the “wonder” cryptocurrency. Nano is only live since Oct 2017 and already valued over 2 billion dollars.
Nano does not feel like a scam. It’s a genuine 3+ years effort by a single programmer, a new codebase. The coin is reasonably well documented and has an actual whitepaper.
Nano “blockchain” growth is completely unconstrained
Nano coin equivalent of a blockchain is what they call a block-lattice.
Nano has a critical design flaw, allowing for unconstrained growth of the block-lattice data to be processed by all full nodes (the unpruned or archival ones).
Nano social contract is free transactions and instant confirmations. Currently, Nano does deliver on this promise, while keeping a blind eye on the consequences.
The obvious consequence of missing fees is that anyone can infinitely spam Nano with valid transactions, indistinguishable from the real ones.
To be fair, whitepaper transparently recognizes this attack vector, and offers a minor mitigation in a form of a lightweight PoW to send a transaction.
PoW to send transaction does not solve spamming
Nano requires Proof-of-Work to be calculated before one can send a valid transaction. The PoW cannot be prohibitively heavy or users won’t be able to transact, especially from mobile phones and common laptops. This might be even more problematic for the big exchanges if multiple users attempt to withdraw Nano coins, effectively DoS-ing the exchange from the inside. But let’s leave that for now.
Spamming Nano into total centralization
How much would it cost to force archival nodes to be only runnable on the supercomputers?
Let’s only use the official data cited in the whitepaper w/o any attempt to optimize the costs.
“RaiBlocks network has processed 4.2 million transactions with an unpruned ledger size of only 1.7GB” — says the whitepaper. That gives an average tx size of 405 bytes.
“Nvidia Tesla V100 — 6.4 tx/s” — according to benchmarks ran by the whitepaper authors. So we can spam with 6.4 tx/s using this example GPU.
The GPU costs 8400 USD retail. Let’s buy 300 of them and run for a year. That is $2.5m for the hardware + electricity bills.
300 GPU-s * 365 days * 86400 seconds-in-a-day * 6.4 tx * 405 bytes = 22.3TB blockchain equivalent to be stored.
Twenty two terabytes. Let that sink in for a while. And that accounts for the spam only. On top of that we might have some actual transactions.
Realistically, 22TB blockchain is not only beyond high-end PCs but also beyond most cloud hosting offerings. For the reference, the massively popular DigitalOcean cloud hosting only offers up to 16TB of disk storage, making it a no-go.
Developers will fix it…
No, they will not.
Nano is broken at the core with its free transactions and missing “block size” limit (or any limit for that matter).
Nano coin doesn’t solve any computer science problem and doesn’t make any progress in decentralized consensus research. It simply removes the key component of a complete system — the limits necessary to keep the whole shit together.
Nano naively relies on unconstrained data growth to temporarily offer free and instant transactions. This is simply unsustainable if Nano has any ambition to be decentralized and censorship-resistant currency.