After some investigation and benchmarking, it looks like the best PIR protocol for this use case is YPIR+SP (from February). On a single compute- and network-constrained server, with users on constrained (and possibly metered) networks, this would amount to providing service to up to 1000 users while keeping latencies reasonable; by (quadratically) scaling the server(s) enough, that could become up to 100,000. That means this method of message routing could definitely work, although I look every day in case new protocols are published.

  • brvslvrnst@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    25 days ago

    Y’all had me looking up how you could transfer data over Passive InfraRed lol gd acronyms…carry on!

  • solrize@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    25 days ago

    Do you have a link about your messaging app? And PIR doesn’t conceal the existence of traffic, so it doesn’t seem like the right thing for messaging. It’s more for databases as the name implies. What exactly are you trying to do?

    • pancake@lemmygrad.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      24 days ago

      No, sorry, I haven’t uploaded anything yet, I’ve only coded the protocols and some benchmark code. The idea is for each client to send and receive data continuously. Since text messages are pretty small and YPIR+SP doesn’t have a lot of overhead, that could be a reasonable way to conceal all metadata, as long as there are not enough people connected to overwhelm the server.