Fortunately, CouchDB commander and community leader Adam Kocoloski recently explained this on the mailing list.
Here is what he said:
"Each sheet in the btree identifier [stores] a revision tree containing pointers to all available versions of the document. Getting the old version (before compaction) or a conflicting version of the document requires exactly the same amount of IO as getting the current one."
If I understand correctly, shadow copying is not used to hide old versions of a document at all, but rather entire revision trees that no longer make sense.
source share