it is confirmed by other nodes the same way transaction blocks are. aka a miner would have to generate 6 (or more) blocks in a row to insert his how balance block, which is highly unlikely.
You start up your client. Someone hands you a balance of transactions block. How does the client know that block is valid? Currently, the client validates a block by checking its history all the way from the genesis block, which is hardcoded into the client.
I see. but I don't think this is unsolveable.
a) I'm not entirely sure how this works, but if you can verify blocks back from block nr 5->4->3->2->1->genesis, it would be possible to verify 50000 -> 40000 -> 30000 -> 20000 -> 10000 -> genesis by adding another hash, wouldn't it? downloading 5 blocks vs. 50000.
b) if I'm missing something under a), the client could at least hardcode the hash of the latest "balance of accounts" block at the time the client was published.
that way, a new user doesn't have to download gigabytes of data on first use in the future but still have a confirmed balance.
the client has to be trusted anyway.
I've been downloading the block chain for 2 hours now and I'm halfway through. I guess my network somehow throttles p2p.