To respond to your points.
Validators: limiting slots/stakes. I really think the whole issue with keys and slots is a red herring, it is an indicator for a problem much more insidious, but it is not a problem itself. I think the issue with slots can be broken into 2, one related to elections and fairness and the other related to network security and stability. For the fairness issue, fairness can be resolved completely via an updated election process (i.e. randomization). The definition of what fair is can be voted on, and can change to mirror changing priorities, but whatever the community collectively decides is fair can be implemented via a randomized election process. For stability, it is possible that the distribution of keys across shards can be managed via randomization as well, but that would depend on technical details about the blockchain that I’m not familiar with. Finally, for concerns about an attack related for keys, limiting keys or anything like that ill have zero impact. If you are intending to do an attack, and you find yourself in a position to do so, then buying a server and setting up a bunch of VMs to make multiple validators is not going to stop you.
Delegators. Under EPoS, there are so many issues that everyone has their ideas on how to tweak things and fix it. Again, I do not see delegator stake as an issue at any fundamental level, it is merely a superficial band aid on top of a much worse problem. As validators, do we really want to spend all of our time putting out fire, or do we just want to go and arrest the arsonist? With randomization, any validator that gets disproportionately powerful can be dealt with in manner ways. One option, which may be unneeded depending on all parameters used for election, is to just reduce the probability of election for validators that get too big. This way, it’s hands off, it “just works”…a validator gets too big (in relation to all others), and their election probability begins to drop. If this does not limit their growth enough, it will drop more, and this will continue until either their growth stops long enough for others to catch up, or until their election probability is low enough that delegators begin to move their stake elsewhere.
Randomization: This solves all issues that I am aware of. It can be made as simple or sophisticated as desired, but realistically a pretty basic model is probably good enough (total stake, bid, uptime). A critical distinction is that in the current EPoS, as long as you are not at the 800th slot, you can add or remove keys and you have 100% certainty you will be elected; this almost complete control of ones own destination is the heart of the problem. The collective action of 100+ validators making small tweaks means that new validators who do not control their own destiny are at the mercy of those actions. With randomization, each slot will be bid independently, so if a validator wants to create 100 keys they can, but there is no way they are going to win all of those bids. The more keys they create, the lower the bid and therefore probability of election, and so they need to find the sweet spot where they balance the risk of losing a bid against the reward of a higher return for the bids they win. Any individual validator can play this game and decide where within this risk/reward space they want to park themselves, but collectively the system will behave according to the parameters voted on and used for in the election process.
This idea (or similar ones) is dead in the water if randomization cannot occur on Harmony. It has been suggested, but technical details about why have not been given. It feels very much like the limitation isn’t technical, but more of a desire to go down this path. any technical details about why randomization cannot be done would be useful to hear.