I think it's better to make the limitation at a protocol level, IMHO it is just to have a healthier network.
Score will be in the protocol.
Amount of max allowed SN will also be controlled thru the protocol.
Ofcourse there will be a limiting factor on the side of your server's hardware.
Not well performing hardware will receive low score.
Otherwise you'll have a network with SN that will not be able to produce the asked service (or do it partially) ==> Unhappiness of the client of the service.
There will always be good and bad SNs,
and we will have a constant (deliberate) shutting down of SNs that don't behave well, (this could even include SNs that do everything right, but are nonetheless asked to improve themselves, because everybody else has improved...)
This is not unhealthy for the system, in the contrary it is where our health will come from.
If we constantly have nodes that are being shutdown and asked to register again when improved, it's like we keep our network fit by having it in a
constant state of emergency.
Netflix and chaos monkey comes to mind:
http://arstechnica.com/information-technology/2012/07/netflix-attacks-own-network-with-chaos-monkey-and-now-you-can-too/