Privacy-Preserving Filesharing Track: Testnet v0.4
1. Use Service Discovery
Storage currently requires its mixnet and DHT-proxy pools to be manually configured, which rules out user participation. We want to integrate Anon. Comms service discovery implementation so that users can contribute to both pools (and perhaps to NAT relay and AutoNAT pools too).
2. Block Protocol and Mix Transport Optimizations
For v0.3, we’ve created an initial implementation of a libp2p Mix transport and made our existing block protocol work on top of it, mostly unmodified. This is about:
- tailoring block protocol parameters so as to bring it closer to the maximum performance that mix transport can provide;
- improving efficiency of the Mix transport itself.
3. Use Mix Transport for DHT Proxies
We’re currently using a legacy request/reply mechanism for routing DHT queries over Mix. With Mix transport, this is no longer necessary. We want to retire this and use Mix transport for everything instead.
4. Evaluate Mix Transport and Private Downloads Over an RLN
We currently run our own mixnet, and do not have RLN enabled. We expect RLN to impact things broadly - performance should degrade significantly, resource usage should go up significantly, and the onboarding will become a lot more complex with RLN registration and the need to run a blockchain node alongside storage. Before we understand the amount of work required to get this working properly, we need to evaluate it.
Assuming that evaluation turns out positive, we might optionally deliver (5) as part of testnet v0.4.
5. Optional: Use RLN for Private Downloads
6. Naming Service
Content-addressed file storage means addressing is linked to content, but often one wants to provide a stable identifier to content that can change. We intend to deliver a flavour of IPNS in which self-verifiable name records can be used to point to different CIDs over time, effectively allowing addressable mutable content.