These are assumptions, correct me if wrong. We have 101 slots reserved for elect delegates, rearranged every 101 blocks.
PROPOSAL:
Each batch of 101 blocks randomly assign 101 delegates based on certain total % (adjustable) of their total votes.
EXAMPLES:
A1-A10 have 20% of the votes (2% each)
B1-B20 have 20% of the votes (1% each)
C1-C40 have 20% of the votes (0.5% each)
D1-D100 have 20% of the votes (0.2% each)
E1-E1000 have 20% of the votes (0.02% each)
In our configuration each of the groups will technically have equal chance to get a delegate to "represent" them.
A typical example might be that each batch you could have a good distribution of delegates, should closely represent the following:
21 A (technically I only listed 10 delegates above)
20 B
20 C
20 D
20 E
This means that the delegates in the E section will have a very tiny chance of getting selected, but will have a very big chance of having a delegate picked out.
To Bytemaster, please consider this option. Otherwise whoever has the highest stake, dominates the delegate selection and nothing is stopping them from having 100% delegates even if they only have 20% of the BTSX.
---
IN SHORT:
We currently have 101 out of 101 elect delegates. Make elections every batch and pick 101 out of 1001, such that chance to get selected is proportional to vote count. Make the two numbers adjustable via proposals + shareholder voting.