Since monero forks every 6 months and no one knows each other's transaction history or balance anyway. Why can't we just start from scratch and with a much smaller blockchain size due to bulletproofs. Why can't we just do a new genesis snapshot?
Technically, you could create a new snapshot that would be smaller than the current chain, but not necessarily by much. Remember, there are a few very important qualities of a blockchain (and Monero's, in particular) that you would likely not want to overlook when considering a snapshot.
- The only outputs you could remove from the chain would be provably spent outputs. There are some pre-RingCT outputs and very, very few post-RingCT that eventually were proven to be spent. The vast majority of outputs are not provably spent (otherwise Monero would be much less appealing as a "privacy coin").
- There is proof of work in every block that goes into creating every subsequent block. The proof of work is the only reason we rely on the chain as a source of proof. As a result, only so much data is able to be pruned. And even though pruning some data is possible, pruning is something that only safely happens once a lot of POW is stacked on top.
Okay, so you can prune some data and have a "new" - yet still pretty big - snapshot. Then there are the logistics of the snapshot. If you shouldn't prune recent data, then what should you prune? How far back do you go? People might disagree on that. Due to the disagreement, maybe there would be multiple implementations of the snapshot resulting in multiple forks (perhaps at least two forks, the second being the original chain for folks who didn't want to do a snapshot in the first place). It's a gamble that the miners would follow and the community would remain intact.
Changing gears... It has already been mentioned that the ability to prune the existing chain has recently been coded up and is coming soon. As a rough, easy-to-remember estimate, the blockchain on a full node could be shrunk from 60 GB to 20 GB. Note that the pruning is implemented in such a way that the pruned data isn't permanently destroyed. Rather, each node that enables pruning retains 1/8th of prunable data; and with a robust network of full nodes each holding a random 1/8th, the network will collectively retain all data required to reconstruct a full, "original" blockchain.
The pruning method that is coming soon™ already works. Aside from the fact that it does not prune provably spent outputs, its pro/con ratio arguably outweighs the pro/con ratio of the snapshot method, not only because it's ready (aside from further testing), but also because it is not inherently contentious like a snapshot of the Monero blockchain might be.
Without the history of transactions, you would have no way of verifying other users transactions. Remember, you own outputs of previous transactions, not some "balance" that is stored. Your "balance" is calculated by scanning transactions on the blockchain looking for outputs sent to you, then decoding the amount with your private view key. Which leads onto the issue of modifying past transactions to say, make them all use bulletproof range-proofs - the only person who could do this would be the sender of a particular transaction. Therefore it's infeasible to modify all past transactions like this.
What is coming very soon to Monero is pruning. This will prune approximately 7/8 of your nodes transaction data (if you opt-in to pruning). It does this by preserving a "slice" of the full chain's data, which other nodes can still sync from, and prunes the rest. Should your node need any of this pruned data, it will be grabbed from another peer that has the data.