Regarding just purging accounts, what about when the value of .99NXT is extremely high, as we do expect it to? Or if an account with only .01 NXT in it has many aliases? Then I dont think this would be feasable and I think we must design for the worst case of .01 NXT (or .001 or .0001 or whatever we go with) in many accounts, and write a new genesis block with public keys coupled with balances and aliases, coded in binary format.
Obviously we would completely purge any public keys for accounts with zero balance and with no aliases.
At a minimum you would need to store the account # (64 bits) plus the public key (256 bits) plus the balance (64 bits?) which would be 384 bits or 48 bytes per account.
Account id is a sha of public key. It doesn't need to be stored, except as an optimization.
Since there are less balances (44721 max) than accounts its better to have balances with accounts, not accounts with balances.
thanks Ciyam for doing that math, I was away from home reading on my phone and was gearing up to do it myself when I got back
Actually it's 44720, sorry, didn't notice the rounding.
There are only 44720 different balances possible at the same time, for one billion coins, starting from 1, for integer balances. It's the sum of an arithmetic sequence summing to one billion.
For smallest increase 0.01, it's 447114 different balances possible at the same time, still with 1 NXT minimum balance.
Im not following, what is the signifigance of the number 44720 in regards to 1 billion? I feel dumb for not knowing, it seems like I probably should not have to ask this question

EDIT: wait i figured it out, you are trying to save space on storing balances. i r not completely dumb
Obviously we would purge