I guess that this would be the next-best thing after FHE?.
The catch is the performance, right? I mean, the paper says:
"In order to make the database end-to-end encrypted yet still capable of performing queries, the client encrypts the buckets (at the time of creation or modification). The server, which stores the buckets, never knows the encryption key used. The objects referenced by the leaf nodes of the B-Tree indexes are also encrypted client-side. As a result, the server doesn’t know how individual objects are organized within the B-Tree or whether they belong to an index at all. Since ZeroDB is encryption agnostic, probabilistic encryption can ensure that the server cannot even compare objects for equality. When a client performs a query, it asks the server to return buckets of the tree as it traverses the index remotely and incrementally, as in Fig. 2b. The client fetches and decrypts buckets in order to figure out which buckets in the next level of the tree to fetch next. Frequently accessed buckets can be cached client-side so that subsequent queries do not make unnecessary network calls."
Which would suggest that it might be a bit slow to do many round-trips for each query.
I'm guessing there could be some specific use-cases where this is not so relevant?
I would love to have some more knowledgeable people comment on this as it would be really neat to be able to start using a DB with these features.