I wonder if the fractional restriction is any useful now that we have the absolute restriction. In most cases the absolute restriction will take priority over fractional restriction (20% of total guards is like 110 guards right now).
I feel like the absolute restriction is more accurate and powerful. Maybe we can kill the fractional one to reduce code?
Perhaps it would make sense to introduce the fractional restriction if it was based on guard bandwidth and not just number of guards.
Maybe. I'm thinking that there are network sizes where the fractional restriction matters more -- like on a 30-node network, for instance. At least, that's what I had in mind.
Hmm I can see how that makes sense. However, if we are trying to provide security for such tiny networks (30 nodes) we would probably have to change the rest of our guard picking strategy quite a bit as well.
Anyhow, no strong opinions here and the code seems reasonable.