Improved bounds for Path ORAM

(Elaine Shi)

Path ORAM (Oblivious RAM) is a protocol to hide memory access patterns. A client wants to access memory from an untrusted server; Path ORAM “adds random noise” to the memory accesses so the server learns nothing about which memory was accessed.

A solution to this problem would improve the efficiency of Path ORAM.

We will analyze a random process on the following data structure. In a binary tree of depth , every node has a “bucket” that can store up to blocks. (Imagine is 3 or 5.) Additionally, the root note has a “stash” which has infinite capacity to store blocks.

You have a total of blocks; to start with, none of the blocks are stored in the data structure. After an “initialization” step, you want to perform a sequence of “read/write” operations. The sequence of read/writes is described as a sequence of blocks, where .

The problem is to prove that not too many blocks end up stored in the stash. Specifically, prove that the probability that the stash ends up holding more than blocks after steps is less than , for some constants and .

For , the result is known to be true. A proof can be found in Section 5 of this paper. Numerical experiments suggest that it is also true for . Can you prove it for or even ?