Privacy-Preserving File Sharing
Estimated date of completion. Oct 2026
Privacy-preserving file sharing means that:
- neither publisher or downloader of a file can be identified by third parties when querying and/or retrieving data;
- cache nodes should be able to convincingly deny knowledge of or responsibility for content they cache (plausible deniability).
This is key for Logos. Our starting point for this are:
- Tor’s1 specs for hidden services;
- Tribler’s specs for anonymous seeding2, downloading and streaming3;
- our own internal specs for a libp2p mixnet4;
- lessons from Freenet Routing.56
We then need to build an understanding of the characteristics and tradeoffs for each approach. Tribler for instance explicitly states in their website that their routing is not meant to protect users from government-grade adversaries, so we must develop a good understanding of what that means. There is also abundant literature describing how Tor might be vulnerable to powerful adversaries.[^johnson_13][^gegenhuber_23]
This understanding, together with what compromises we are (and are not) willing to make should ultimately dictate how we balance performance, privacy, and a timely release schedule in providing this.
Risks
| Risk | (Accept, Own, Mitigation) |
|---|---|
| We take an approach of building filesharing first and then enhancing it with privacy, and figure out that we need an different protocol altogether. | Try to identify this as early as possible and fail fast. |
| Anon comms team builds something that does not work for us. | Close collaboration with anon comms, with the embedding of a logos storage researcher within their effort. Employ strategic and small multidisciplinary team including both cryptography and networking researchers and engineers. |
| Dependency on DST team for benchmarking and iterative improvements | Develop test strategy/simulations from the outset in collaboration with DST team |
Deliverables
Feature: Serving Frontends, Modules, and Files
A list of detailed deliverables will be specified soon.
Footnotes
-
https://github.com/Tribler/tribler/wiki/Hidden-Services-Specifications-for-anonymous-seeding ↩
-
https://github.com/Tribler/tribler/wiki/Anonymous-Downloading-and-Streaming-specifications ↩
-
Mix Protocol. https://github.com/vacp2p/rfc-index/blob/main/vac/raw/mix.md ↩
-
Oskar Sandberg. Distributed routing in small-world networks. In 2006 proceedings of the workshop on algorithm engineering and experiments (ALENEX). https://doi.org/10.1137/1.9781611972863.14 ↩
-
https://freenet.org/resources/manual/architecture/irouting/ ↩