The idea of a Merkle tree[0] is used in Git and Bup[1] actually splits files into ~8k blobs, using Git as its data store.
Edit: what would be the state-of-the-art Git store format ?
[0]: http://en.wikipedia.org/wiki/Merkle_tree [1]: https://github.com/bup/bup