GORAM: Graph-oriented ORAM for Efficient Ego-centric Queries on Federated Graphs
<|reference_start|>GORAM: Graph-oriented ORAM for Efficient Ego-centric Queries on Federated Graphs: Ego-centric queries, focusing on a target vertex and its direct neighbors, are essential for various applications. Enabling such queries on graphs owned by mutually distrustful data providers, without breaching privacy, holds promise for more comprehensive results.   In this paper, we propose GORAM, a graph-oriented data structure that enables efficient ego-centric queries on federated graphs with strong privacy guarantees. GORAM is built upon secure multi-party computation (MPC) and ensures that no single party can learn any sensitive information about the graph data or the querying keys during the process. However, achieving practical performance with privacy guaranteed presents a challenge. To overcome this, GORAM is designed to partition the federated graph and construct an Oblivious RAM(ORAM)-inspired index atop these partitions. This design enables each ego-centric query to process only a single partition, which can be accessed fast and securely.   To evaluate the performance of GORAM, we developed a prototype querying engine on a real-world MPC framework. We conduct a comprehensive evaluation with five commonly used queries on both synthetic and real-world graphs. Our evaluation shows that all benchmark queries can be completed in just 58.1 milliseconds to 35.7 seconds, even on graphs with up to 41.6 million vertices and 1.4 billion edges. To the best of our knowledge, this represents the first instance of processing billion-scale graphs with practical performance on MPC.<|reference_end|>
@article{fan2024goram:,
    title={GORAM: Graph-oriented ORAM for Efficient Ego-centric Queries on
  Federated Graphs},
    author={Xiaoyu Fan, Kun Chen, Jiping Yu, Xiaowei Zhu, Yunyi Chen, Huanchen
  Zhang and Wei Xu},
    journal={arXiv preprint arXiv:2410.02234},
    year={2024},
    archivePrefix={arXiv},
    eprint={2410.02234},
    primaryClass={cs.DB cs.DS}
}