Again on this "true randomization" issue. In general, what amount of randomization is desirable, i.e., how often should it happen? If not very often (e.g., several times a day), then the real world will take care of this (because nodes go online and offline, money are transferred, etc.).
I agree. I wrote the following to CfB:
If this is not enough, then the following procedure is possible. First X accounts (w.r.t. the inverse weights) choose some "random" numbers locally, and publish their hashes. X is supposed to be large enough so that the bad guy would never control exactly all of them. Then, they publish numbers themselves; if the published number does not correspond to the hash or is not published at all, then the corresponding account is heavily penalized. If that happens for at least one account, the whole procedure is invalidated (and we wait for the next try)..
The problem here still is: who belongs to X
if one of X is offline and who decides that? It is the very same consensus finding problem that block generation tries to solve.