It just takes longer to scan the blockclain. To avoid people voting for random hashes, the criteria could be that "eligible addresses are those that have voted for a motion/grant of which the maximum YES eventually exceeded 5%". This might be complicated to code or not. Let’s concentrate on the requirements. The devs may have better idea on the implementation.
Just limit the mint/vote counting period to be N days BEFORE the announcement.
I think if we can use dividends as an incentive to get someone to experience minting and voting once, it is already a big win to Nu.
But we don’t have to stop there. We could have a strategy to take advantage: we make a rule that 1. mint/vote are counted for the N days before the distribution day, and 2. Nu would pay dividends once ~N days on average but at random times. This incentivise continuous minting and voting.
Yes this is very important. Nu should not ignore those who test the water with small funds. We should do our best to convert them! I believe it takes 78000/1440=54 days for a 10,000 share chunk to mint a block, if all shares are minting. However there are only ~40% shares minting, so the average time is ~22 days. Not bad.
So to combine the ideas above, When Nu decides to distribute dividends,
- Nu splits it in 10 installments.
- An installment will be distributed after a Counting Period, defined as a random number of days between 22 - 60 days, until all installments are distributed.
- For each distribution, an address is eligible only if it has voted at least once for a motion/grant of which the maximum YES eventually exceeded 5%, in the preceeding Counting Period.
I imagin the dividends executer only needs to decide the timing, enter the number of days of the relevant Counting Period, enter the total amount of dividends, get the currrent elegible addresses, and distribute the dividends.