The section describing “hash backup” in this blog post on backup strategies made me wonder:
How well-situated Nix is for implementing a user data backup/restore toolchain?
Hash backup tools hash blocks and store them (similar to how Git works)
Garbage collection of expired backups is easy, as you just delete unreferenced objects. Deleting a backup in the middle of a backup timeline is also trivial.
Deduplication is easy since each block is hashed and stored once.
Data verification against a client can be done with hashes, which cloud providers can send via API responses, saving download bandwidth.
Possible to deduplicate data shared among multiple clients.