Search
Mastodon logo
Instagram logo
Bluesky logo
Github logo
menu
11/21/24
News

Creating the First Decentralized Web Storage Backend for Mobile Media

In Spring 2024, OpenArchive joined forces with Hypha Worker Co-operative and Filecoin Foundation for the Decentralized Web to co-develop the first secure, usable Decentralized Web (DWeb) storage backend for mobile.

Let's Get Technical - How We Did It

To create a DWeb backend for the Save app, we started by reviewing and comparing numerous decentralized protocols, ultimately selecting a combination of Veilid and Iroh. We chose Veilid for its excellent peer-to-peer (P2P) networking functionality and secure, anonymous connections; the project is conceptually similar to Tor and I2P. Launched in 2023, Veilid provides encrypted P2P connections with only a 256-bit public key visible, ensuring user privacy by hiding IP addresses via a mix network. We then integrated Iroh since Veilid lacks robust data storage and verification. Iroh is the first IPFS implementation for mobile and excels at managing dynamic datasets, thus providing more reliable data storage solutions. Iroh's well-maintained Rust libraries also help streamline development across iOS and Android. Combining Veilid's capabilities with Iroh's data storage strengths allowed us to create an efficient and secure decentralized backend. You can read more about these protocols in the comparison document, as well as see how we assessed their strengths and weaknesses.

To use the DWeb backend, Save users initially create a new group by clicking the "Create" button, specifying a name, and generating a unique key for identification. The group has an "Invite" view with a copyable link and a QR code for easy sharing.

Users can join existing groups via shared links or QR codes, displaying group details and allowing them to participate as a peer in the network quickly and easily.

Home Screen → Create Groups

Name Groups

Add Files to Groups & Share Groups

Users share files by creating Data Repositories within the group and advertising their Veilid tunnel for others to access. When downloading files, users query who in the group has the blob and use Iroh's replication protocol to download files, verifying the integrity using the hash of the blob. Veilid ensures encrypted communication and anonymity, while Iroh securely manages data storage and retrieval. Group information and personal repositories are cached using Veilid’s Distributed Hash Table, ensuring secure access and updates.

Add Files to Groups & Share Groups

Future additions to the technical roadmap include an internal audit to improve app security and privacy, UI and UX enhancements, and a potential integration with the Filecoin ecosystem.