In this article I describe Nano’s latest innovation — a prioritization method which leads to a feeless, yet spam-resistant network. If you’d like the full background, I highly recommend the original proposal: Rob’s (Reddit user u/ — orb) brilliant Time-as-a-Currency & PoS4QoS — PoS-based Anti-spam via Timestamping and Nano’s practical implementation of this through the Election Scheduler and Prioritization Revamp.
A history of spam incentives.
Spam (or DoS — Denial of Service) attacks have been a part of the crypto world since the beginning. Bitcoin was spam attacked, repeatedly, Ethereum was attacked, and more recently Nano was attacked. An uncensored system that is open, accessible to anyone in the world anonymously, 24 hours a day, inevitably means giving bad actors this same access. Given that cryptocurrencies are competing with central banks, payment processors, and other cryptocurrencies, there is no lack of parties with incentives to reduce performance of a network. On top of that, cryptocurrencies can be traded and - more importantly - shorted at any time, allowing anyone to profit from a decrease in price of a specific cryptocurrency.
Given blockchain’s throughput limitations where transactions are prioritised based on fees paid, a user willing to flood a network with cheap transactions (say $0.01) forces others to pay twice as much. Since Bitcoin does roughly 400,000 transactions per day, if you are willing to spend $400,000 a day you can make the network unusable for anyone willing to pay less than $1 per transaction. With Bitcoin’s trillion dollar market cap, if you can decrease the perceived value of Bitcoin by even 1% through such an attack, going short on Bitcoin and spamming can be very profitable.
Nano had this exact same problem. While Nano uses a small Proof of Work instead of fees (like Bitcoin), it is still possible in theory to spend the PoW equivalent of $8 million per day to force all network users to effectively pay more than $1 per transaction, making Nano unusable for small transactions.
As explained in other articles on this topic, Nano incentivizes decentralization by having no fees. Those that hold Nano decide on the decentralization of the network, and when you hold Nano you are (financially) motivated to help decentralize the network. In an ideal world, a similar (dis)incentive would be implemented for discouraging spam on the network. This is essentially what Rob, a member of the Nano Community, proposed on the Nano Forums.
His proposal is to disincentivize spam through prioritizing on timestamps and balance, therefore requiring a large investment into the network to be able to spam effectively. In its simplest implementation, transactions are prioritised by the sum of the balance and the time since the last transaction. For a spammer to get their transactions prioritised over legitimate actors’ transactions, they would need to either hold a large Nano balance, in which case they are strongly disincentivized from trying to harm the network, or use smaller sums but only be able to spam infrequently or ineffectively.
A practical example
Currently, the Nano network can handle ~100 transactions per second (TPS) with actual usage around 2 TPS, meaning 98 TPS are idle. To outspam those with a 10 Nano balance ($100, or 0.000008% of all Nano) in the new system, who transact twice a day, would mean getting a higher priority than 10 x 43,200 x 98 accounts (the balance X the number of seconds in 12 hours X the idle TPS that need to be saturated). This amounts to 42,336,000 Nano.
While it therefore is still possible to push a certain group of users out of the network (those with small balances that transact often), the incentives to do so are no longer there. Outspamming balances of 10 Nano ($100) transacting twice a day takes 42,336,000 Nano, roughly 30% of the total Nano supply. In doing so, one would buy up 30% of all Nano, to make it unusable for 0.1% of total Nano holdings, while 99.9% of Nano would still be prioritised over the spammer. Even disregarding the difficulty of buying up 30% of all Nano, any resulting price decrease would hurt the spammer, being by default one of the largest Nano holders, moreso than any short position would gain them.
One might think that if Nano were to be become a more commonplace currency, less spam would be needed to saturate the network, as out of the 100 TPS that the network can handle, 50 TPS might already be used by legitimate participants. However, Nano’s scalability makes this a future-proof solution.
An increase in legitimate network usage is most likely to be caused by increased adoption, through for example more merchants accepting Nano or FX businesses increasingly utilising Nano for cross-currency payments. As we have seen so far, legitimate businesses tend to run strong validators, which can handle more TPS than the current nodes. This general increase in network strength means the max TPS that the network can handle is increased, which increases the number of transactions a spammer would need to do to saturate the network.
Isn’t this “power to the rich”?
This is a very fair concern. Making the network unusable for small transactions would defeat the purpose of a feeless, open and inclusive blockchain. The way this proposal helps, rather than hurts, those making small transactions is through herd immunity.
The current prioritisation methods in most blockchains, as mentioned before, lead to a global battle for priority through the highest cost transactions coming first, perpetually. By spamming the network, one can make transactions completely impossible or prohibitively expensive for regular payments or those unwilling to pay more than $0.01 in fees, effectively devaluing the network and profiting from the ensuing price decrease by shorting the crypto. Raising fees to above $0.01 per transaction in Bitcoin would take roughly $4,000 per day, for example.
The new proposal takes the incentive to perform such an attack, as such an attack would now, at worst, increase waiting times for those with low balances, still allowing them to transfer feelessly, only less often. It would have little to no impact on regular users of the network with more than dust in their accounts. While it therefore is still possible to push a certain group of users out of the network (those with small balances that transact often), the incentives to do so are no longer there.
The new prioritization method disincentivises spam, by removing the rewards to be gained from spamming, and through making spam orders of magnitude more expensive in the first place. Nano was already feeless, instant, energy efficient and had the best game theory for ensuring decentralisation over time, and can now also boast strong spam resistance. As I’ve said before in posts — the future of money is here, and it’s called Nano.