Research Article

Practical Suitability and Experimental Assessment of Tree ORAMs

Table 3

Similarities and differences between Path ORAM, Ring ORAM, XOR ORAM, and Onion ORAM.

Path ORAMRing ORAMXOR Ring ORAMOnion ORAM

Server storage size [9] [18] [18] [13]

Number of blocks in a bucket ZZ + SZ + SZ

Use of meta-dataNoYesYesYes

Client storage sizeStash size .Stash size .Stash size .No stash [13]
blocks [9]blocks [11, 12]blocks [11, 12]
Position map size = O(N)Position map size =O(N)Position map size = O(N)Position map size = O(N)

Communication Bandwidth [9] [19] [19] O(1) [19]

Read all buckets along the path YesNo, only read all the meta-data on a path, then read one block from each bucket along the pathNo, only read all the meta-data on a path, then read one block from each bucket along the pathNo, only read all the meta-data

Number of blocks returned to client after a read or a write operation blocks of meta-data and blocks of size B all of which are dummy but one blocks of meta-data and one block of data blocks of meta-data and one block of data

After a read/write operation all buckets along the path are rewritten backYes, and may contain new blocks from stash if they satisfy the invariant.Only the meta-data of all the buckets on the path are written back.Only the meta-data of all the buckets on the path are written back. The meta-data of all the buckets along the path are written back and a AHE
select operation on the root.

Bucket reshufflingNoYes, when the bucket
epoch ends
Yes, when the bucket
epoch ends
No

Separate eviction process No Yes Yes Yes