Thanks Eric. That link (and Jay's link beyond) are fascinating!
I've briefly looked at Tahoe in the past, and your comment makes me wonder if building a blob server on top of a Tahoe grid might be another way to approach this. It does have fault tolerance and a manual repair feature (although no auto-correction either so you'd have to monitor/maintain the Tahoe grid).
My basic concern is that I'm running Perkeep on filesystems/disks that just do not guarantee to give me back the same bytes I wrote, and worse, may silently give me back different bytes (HFS+/APFS).
I believe S3 and B2 do guarantee correctness (using some sort of erasure coding), but I'd like my primary storage to be local disks for various reasons.
Regarding the auto-correcting replica idea: it was my understanding that it wouldn't be possible to write this as a composable blob server since there is no way to delete or replace existing blobs on underlying replicas. However, looking through some of the blob server implementations it seems maybe there is a way to remove blobs?
Another possibility: perhaps the (planned) garbage collector could periodically delete corrupt blobs that don't match their hash (is there any valid reason to keep them?), which would then permit future syncs to replace them with correct copies.