I think the buzzword you want is dedup.
dedup works at the file level. Here we're talking about files that are highly similar but not identical. I don't want to rewrite an entire file that's 99% identical to the new file form, I just want to write a small set of changes. I'd use ZFS to keep track of which blocks change over time.
I've been asking around, and it seems this capability doesn't exist *anywhere*.
Check this link.
https://blogs.oracle.com/bonwick/entry/zfs_dedup
...
*What to dedup: Files, blocks, or bytes?*
Data can be deduplicated at the level of files, blocks, or bytes. ...