Doesn't that reveal information to the server based on which B-trees the client accesses?
The server actually knows which pieces of B-Trees you access. But no more than that.
Though, observing access patterns, it could probably deduce which data belong to the tree and some info about ordering (which will hold true until we re-balance the tree, which happens on inserts).
I think, if we change objects each time we do queries, we can prevent this data leak.