Nano’s latest innovation — feeless spam-resistance.

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.

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

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 accounts with 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”?

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 Nano would take roughly $100,000 a day, while the corresponding figure for Bitcoin is roughly $4,000.

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.