This is the problem. 100K account does have advantage over 100x 1K accounts. But this advantage is small. In ur example it's noticeable coz u use conventional dice. If u used dice with 2^64 faces u would get other results.
1) Wow! You admitted it! Now tell me how you're going to fix this.
2) It is not small. In fact it is rather huge. Consider one 100K and 100x 1K accounts:
from random import random
from operator import itemgetter
NBLOCKS = 100000
N = 100
W = [100000] + [1000] * N
z = [0.] * len(W)
wins = [0] * len(W)
for x in xrange(NBLOCKS):
for i in xrange(len(W)):
z[i] = random()/W[i]
[position, value] = min(enumerate(z), key=itemgetter(1))
wins[position] += 1
print float(wins[0])/sum(wins[1:]), float(wins[0])/(sum(wins[1:])/N)
1.71835159159 172.242506812
An wallet of 100K is 172 times more likely to forge a block than any single wallet of 1K (instead of 100 times expected) and 1.7 times more likely to forge a block than any of 100K wallets (instead of having the same probability).
That is HUGE enough to be called a flaw.