How about this scenario:
Say you have 10 "users" (but lets say instances) mining with the following IPs
1-65.25.42.63
2-126.154.98.22
3-65.25.42.64
4-25.68.36.45
5-65.25.42.65
6-87.22.55.89
7-65.25.42.66
8-45.22.36.59
9-65.25.42.67
10-65.25.42.68
We dont *know*, except for in this scenario, that "users" 1,3,5,7,9, and 10 are the same person trying to commit an attack.
What if every block randomly generates a random number set each new block that corresponds to "instance ID's" assigned to every mining instance such that 49% of instance ID's are randomly picked to ACCEPT work from, and 2% of ID's are maintained from the previous 10 blocks to accept work from...
is there some variant of that in which you can exponentially decrease the odds of 51% of the network being under control by the same group? or is it impossible?