This post explores the performance of Nano with a TaaC/P4Q implementation as described here: Time-as-a-Currency & PoS4QoS - PoS-based Anti-spam via Timestamping
In particular, I was interested in performance with all TX in the Priority Queue during a spam attack if a strict linear distribution of available TX was made based on wallet balances. (i.e., if you own 1% of all Nano you get rights to 1% of available TX capacity.)
This differs from Rob's skewing in favor of smaller accounts to give regular users more TX. While it is a good goal to get them more TX, from repeated discussions here it's clear there is a concern that an attacker could spam millions of dust addresses and thus claim the majority of the PQ under such a skewing. In my proposal here that doesn't work - if the attacker wants to hog over 50% of TX capacity they would need to own over 50% of all Nano. (*Edit: This is without considering donated TX capacity. In that case they'd only need 50%+ of wallet balances attempting spending. Which is still a lot in any real-world context.)
Note that in my figures below I assume a current TX capacity of 100 TX/second. My goal is to understand what happens in the near future with this proposed implementation. Naturally if Nano goes global, the price of Nano rises and many accounts considered "dust" today will need a decent TX rate. But that's a general problem for Nano, not one particular to this model. We all know we need more TX capacity to gain large-scale adoption.
Using the data from Rob's pyramid, we see that wallets with 1000 Nano and higher would be able to transact every 22 minutes or faster. Going down to 100 Nano (~$500) the rate drops to every 222 minutes, or 6.5 TX/day. That would be adequate for light to moderate users of Nano, albeit users might have to plan out or delay some TX because of the 222 minute spacing.
Down to 10 Nano we see the rate drop to 1 TX every 1.54 days - enough to get funds to an exchange or make an occasional purchase but not use it heavily. But at this point we're only talking about $50 worth anyway. Below this we have the wallets of smaller users and then the numerous dust accounts, which would effectively be pretty well frozen if TX were only happening on the PQ. Note that this would limit a dust-wallet spammer to only impacting the NQ, which, since no TX would be happening on it, means the only effect a spammer would be having is in keeping all TX under PQ rules rather than NQ for the duration of the attack.
This isn't functional for smaller users and has some impact on moderate sized wallets, so what can be done to improve this situation? In his posts Rob outlines the possibility of the protocol automatically donating unused TX capacity to wallets seeking to transact. I think this would be extremely helpful.
For example, let's assume the "investor" class accounts require virtually no TX capacity (at least relative to their allocations); for simplicity let's say that inactive smaller accounts can donate an amount equal to that actually used by the exchange-sized accounts. This results in 93.31% of available TX capacity going unused on the PQ and donated to anyone who needs it.
That speeds up TX by a factor of 15. The user with a 10 Nano wallet can now make 10 TX/day instead of one every 1.54 days. Basically it works out that for every 1 Nano you have in your wallet you can make 1 TX/day. This isn't perfect, but for a near-future scenario this means only the dust-sized accounts really get frozen and anyone with enough Nano to buy a candy bar or use a parking meter could pretty much still do so.
Note that a spammer with huge numbers of dust wallets would still not benefit effectively from the TX donations unless they owned a large % of Nano relative to all the honest users' Nano balances. If 10% of Nano users by wallet balance were attempting to transact on the PQ and the spammer "only" owned 0.1% of Nano the spammer would only get 1% of the donated TX. The number of wallets they controlled would be irrelevant.
TL/DR: Allocating TX capacity in a strictly linear fashion (owning 1% of Nano gives you 1% of TX capacity), combined with automatic donation of unused TX capacity by the protocol, results in a workable solution for outlasting spam attacks or other network overload events. Skewing the base allocations towards smaller balances empowers the spammer, whereas a linear distribution with donation of unused TX capacity gives smaller users an acceptable TX rate (roughly 1 TX per day for every 1 Nano in their wallet) without giving the spammer enough TX to matter.