← Latest papers
💻 computer science

SPIDER: Two Server Functionality for the Cost of Zero

This paper introduces SPIDER, a novel single-server Private Information Retrieval (PIR) scheme that achieves privacy on standard database interfaces without server cooperation by transforming a stateful client-side protocol (baseSPIDER) that offers improved constant factors and conceptual simplicity over existing solutions.

Original authors: Ofir Dvir, Kali Hale, Javin Zipkin, Divyakant Agrawal, Dahlia Malkhi

Published 2026-05-22
📖 5 min read🧠 Deep dive

Original authors: Ofir Dvir, Kali Hale, Javin Zipkin, Divyakant Agrawal, Dahlia Malkhi

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are at a massive, public library (the Server) that holds millions of books. You want to borrow one specific book without the librarian knowing which one you picked. If you just ask for "Book #4,592," the librarian knows exactly what you want. If you ask for every single book in the library to hide your choice, you'd have to carry a mountain of books home, which is impractical.

This is the problem of Private Information Retrieval (PIR). The paper introduces two new solutions, baseSPIDER and SPIDER, to solve this.

Here is how they work, using simple analogies:

The Core Idea: The "Redacted" Puzzle

Both solutions rely on a clever trick involving hints and XORing (a math operation that acts like a secret code where two things cancel each other out).

Think of a "hint" as a mystery box containing a random selection of books. The client (you) knows exactly which books are in the box and what their combined "secret code" is.

  1. The Setup (Pre-processing): Before you even go to the library, you download the entire library's catalog and create thousands of these mystery boxes. You store the "secret code" for each box in your pocket.
  2. The Request: You want Book #4,592. You find a mystery box that contains Book #4,592.
  3. The Trick: You tell the librarian, "Please give me all the books in this box except for Book #4,592."
    • The Catch: The librarian doesn't know which book you are hiding. To them, you just asked for a random list of books.
  4. The Reveal: The librarian hands you the remaining books. You take your secret code for the full box and combine it with the books you just got. Because of the math, the books you got cancel out, leaving you with only the one book you actually wanted.

The Two Versions

The paper presents two versions of this system, depending on how cooperative the library is.

1. baseSPIDER: The "Helpful Librarian"

This version works when the librarian is willing to do a tiny bit of extra work.

  • How it works: You ask for the mystery box minus your target book. The librarian takes all those books, mixes them together (XORs them) into a single, tiny piece of paper, and hands it to you.
  • The Benefit: You only download one tiny piece of paper, no matter how big the books are. This is incredibly fast and efficient, especially if the books are huge (like movies or large data files).
  • The Catch: The librarian must be willing to mix the books for you. If the library has a strict policy of "we only hand out books, we never mix them," this doesn't work.

2. SPIDER: The "Strict Librarian" (The Default Server)

This is the paper's big breakthrough. It works even if the librarian is uncooperative and refuses to do any mixing. They only follow a rule: "If you give me a list of numbers, I will hand you the books at those numbers, one by one."

  • How it works: You ask for the mystery box minus your target book. Instead of mixing them, the librarian hands you every single book in that list, one by one.
  • The Trade-off: You have to download more data (the whole list of books) instead of just one mixed piece.
  • The Magic: Because you already have the "secret code" for the full box in your pocket, you can mix the books yourself on your computer. You get your target book, and the librarian still has no idea which one you wanted.
  • Why it matters: This allows you to use PIR on any existing website or database (like Wikidata) without needing to ask them to install special privacy software. You just use their standard "give me book #X" interface.

The "Continuous Refresh" Feature

One of the cleverest parts of the paper is how they handle the fact that you can't use the same mystery box twice (if you use it twice, the librarian might figure out your pattern).

  • The Problem: Once you use a box, it's "spent." You need new boxes.
  • The Solution: In the SPIDER version, because you are downloading all the books from the list anyway, you use those downloaded books to build new mystery boxes while you are at it.
  • The Analogy: It's like going to the library, getting a stack of books, reading the one you wanted, and then using the other books in the stack to build a new mystery box for your next visit. You never have to stop and download the whole library again; you just keep recycling the books you already have.

Summary of Claims

  • baseSPIDER is the fastest way to get private data if the server is willing to help mix the data. It is faster than previous methods, especially for large files.
  • SPIDER is the first method that works on any standard server that doesn't want to help. It requires you to download a bit more data, but it removes the need for special server software.
  • Both methods allow you to keep asking questions privately without the server knowing what you are looking for, using a system of "mystery boxes" and "secret codes" that refreshes itself as you go.

The paper does not claim these methods are for medical records, voting, or specific future technologies; it strictly focuses on the mathematical and engineering improvements for retrieving data privately from a single server.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →