"Distribution logic
50% of the amount will be distributed top down and the other 50% will be distributed bottom up. "
This seems, even by their own example, awful! It penalizes the holders with an average number of coins
What could be better: for example, take 50% and pay at least X BTC to the holders. If the user has less than X BTC they receive their balance.
Then, from the other 50% pay proportional to the value. For example, 1BTC for each BTC in balance (minus what was payed in the first step)