oooh so the generationSignature is a digest of the previous generationSignature + the time-stamp of the previous block?
No. It's digest of prevGenSignature only.
How determined the generator (account) of the next block:1. X = digest of prevGenSignature gives 256 bits
2. First 64 bits is a HIT
3. Target = BaseTarget (which is the same for all accounts) * Balance * Time_since_previous_block
4. If HIT < Target then next block can be generated
Edit: Target grows each second until it "crosses" HIT of one of the accounts
All you would have to do is brute force the creation of a key pair that digested the 1440th genSignature to a hit that was below everyone elses target. It would be totally doable.
This problem is super solvable though. BTNext should make the BaseTarget adjustable with an algo similar to bitcoins re-target algo. Then Increae the 1440 block (24 hours) restriction for effectiveBalance out to about 43200 (1 month) just to be extra super safe (its best to pick absurdly safe parameters when dealing with billions or possibly even trillions of dollars someday). Then finally make the nextGenSignature a digest of the prevGenSignature + the public key of the author of the last block. You couldnt game it with intentionally selected keys because you would have to pick the key 1 month ahead of time and there would be no way to predict who would author which blocks 1 month out since miners drop in and out of the network at random.