Very nice. Content addressable storage has a number of wonderful properties. At Blekko we would hash 'keys' (like a URI) which would identify a 'bucket' where that URI was stored. This spread crawling the web evenly across multiple servers.<p>At Netapp I worked for a bit on a content addressable version of a filer where each 4K block was hashed and the hash became the block address. Unlike Ugarit the block hashes were in an SSD based metadata server rather than being hashed into directories. The feature that fell out of this was you got content deduplication for 'free' since any block that hashed to a particular code you already had stored you didn't need to store again. (and this exploited the fixed length defense against hash collisions).
Sounds very close to bup/git and borg. In many ways, git is a content addressable storage with a couple of metadata, remote synchronization and merging features mixed in. bup uses git's internals to great effect for a backup system, and borg drops git compatiblity and elegant multi-client support, but goes farther by providing other backup functionality such as efficient pruning and built in encryption.