I'm looking into using the incremental diff/snapshot feature of btrfs to implement a more efficient solution :P
https://en.wikipedia.org/wiki/Distributed_Replicated_Block_D...
https://en.wikipedia.org/wiki/Distributed_Replicated_Block_D...