One example method includes performing various operations while a stream of IOs is being applied to a source dataset and replicated to a target dataset, and the operations include receiving a replicated IO that was previously applied to a source dataset Merkle tree, applying the replicated IO to a target dataset Merkle tree by entering an updated hash value in the target dataset Merkle tree, and applying a timestamp to the target dataset Merkle tree.