The random number provided by this procedure is supposed to be known to everyone (say, from time to time we insert it to the blockchain) and used to "break" the determinism.
The random numbers the accounts provide cannot be precalculated, they are just outputs of rand() or smth similar. In principle, there should not be any "errors" in the procedure: the account first publishes the hash, and then (if required) the number itself. The error can only appear if the guy is deliberately cheating; but, in this case, he doesn't get nothing for it: his account is banned, and the procedure is repeated after some time.
I'm writing this now in a more detailed way; will post the new version of the paper by tomorrow.
Additional thought on the network topology randomizer:
it is about breaking the determinism. In order to break the determinism, we must
hide information from a malicious forger. As you do not know, who the bad guy is, we need to randomly exclude forgers from having the same information as another group of forgers do.
Eventually, we need to find consensus, i.e. some forgers forged for nothing and have to join another group that had based their decisions on a different piece of information.