There are currently 10,000 queue nodes waiting to join the cycle and there are 1000 in-cycle verifiers, the amount of nodes allowed to join the cycle is currently 7 per day.
The bad actor first has to get a probabilistic advantage in the queue in order to join the cycle faster. Let’s say that the actor manages to successfully spin up 20,000 nodes, hereby gaining a 66% chance that he will join the next time.
The actor will now have to wait 30 days before all his nodes become eligible of joining the cycle at all, this preventive measure ensures proper resilience against botnets, proxies and credit card fraudsters looking to solidify their illegally-funded servers into a currency.
The 30 days have passed, during these 30 days the Nyzo community has had the opportunity to witness one entity spin up a large amount of nodes, they are able to respond before even a single node of the actor makes it in. (In the defense of the actor, he could choose to drip feed his nodes to become active over the period of one month, resulting in a 45 day incubation period.)
We have now reached a point in time where the actor has made a substantial investment to attack the network and has not earned anything by doing so.
The estimated cost at this point (20,000 * 4 dollars[30d]) = $80,000. A fair estimate considering the cost of servers and the intrinsic value of an IPv4 address.
The actor has piqued the interest of people involved with the project whom are able to respond to his actions.
Let’s say the actor is very lucky, nobody of the community took action and his nodes are now eligible to join the cycle at the same 66% advantage rate he had before. There are now 1210 (1000 + (7*30 days)) nodes in the cycle. At this point we drop down to 6 new additions a day.
Let’s say the actor is yet again very lucky and nobody of the community has noticed the actor’s nodes joining, resulting in the same advantage rate throughout the whole process from here on as well.
The actor is getting in +3.6/7 nodes every day.
After a week, +25/42 nodes.
After a month, +100/160 nodes.
After a year (still at the same unimaginable status quo!) +1200/1920 nodes.
At this point in time the attacker has spent more than one year of his time, there are currently more than 3000 nodes in the cycle and he has yet to reach the 40% mark. The attacker has spent more than $1 million and 1 year of his time and has not been able to attack the system.
The unpredictability of actions imposed by the network participants through blacklisting or other preventive measures makes the proof-of-diversity consensus mechanism fully resistant against such a bad actor .
In the mean time the attacker has figured out that he can in fact earn some Nyzo for participating in the network and make profit from participating instead of destroying the thing which earns him money.
The incentive structure ensures conformity of all network participants — the detectable nature of a blockchain re-organisation, the unrealistic luck in favor of the actor in this story and the ever-changing status quo make a 51% attack on Nyzo an unrealistic, time-consuming and costly feat.