# Various PIR Families
### [Plinko](https://eprint.iacr.org/2024/318)
- "Will need a [~70mb hint on the client side with most active wallets](https://gist.github.com/igor53627/a3e3b258af454309dd6a4941b60cce5b)" -Igor
### Piano
- Fast (sublinear online time)
- Client-side preprocessing
- Client stream through the entire DB
- Client stores DB-dependent hint
- Problematic if DB update is frequent
### SimplePIR
- Fast (But still takes linear to the size of DB)
- Client stores DB-dependent hint
- Quite large
- Problematic if DB update is frequent
### HintlessPIR, YPIR
- Server-side preprocessing (DB-dependent)
- Problematic if DB update is too frequent
- Moderate speed
### FHE-based PIR ([SealPIR](https://github.com/tlepoint/fhe.rs/blob/main/crates/fhe/examples/mulpir.rs), [MulPIR](https://github.com/apple/swift-homomorphic-encryption/blob/main/Sources/_TestUtilities/PirUtilities/MulPirTests.swift), Spiral, Respire, ...)
- Moderate speed
- Brechy used Respire for scaling Semaphore
- Used by Apple for 'is this tel number spam' (MulPIR)
- Registered model: Server maintain evaluation keys for each client
- Does not play well with anonymity
- Easily exceeds the size of the database, even for reasonable number of users
### [WhisPIR](https://eprint.iacr.org/2024/266.pdf)
- Server-side preprocessing, but DB-independent
- DB updates OK
- Is code available already?
- Slow
### Multi-server PIR
- Fast (But still takes linear to the size of DB)
- Coordination & Trust Assumption Issue