How does the storage layer maintain replicas?
Basically, the same way that DHASH does, as described in “Robust and Efficient Data Management for a Distributed Hash Table” by Josh Cates [Master’s thesis, MIT, May 2003 (PDF)]. We uses replicas instead of erasure codes, and we sort values by timestamp rather than key before building Merkle-tree summaries, but other than that they’re virtually identical.