The Future of Decentralized Apps: A Q&A with Guardian Project
A Q&A series with an FFDW project partner focusing on different aspects of the building blocks of the decentralized web
With recent shake-ups at companies like Twitter, there has been increased awareness of centralized versus decentralized platforms and the benefits that decentralization can offer. For instance, the changes at Twitter led to over a million new signups on Mastodon, a decentralized social media alternative. Yet, social media isn’t the only place where new use cases for decentralized technologies are emerging.
To learn more about decentralized apps and what we can use them for, we turned to FFDW project partner Nathan Freitas, Guardian Project’s Founder and Director. Guardian Project creates easy-to-use secure mobile apps, open-source software libraries, and customized solutions that can be used around the world by any person looking to protect their communications and personal data from unjust intrusion, interception, or monitoring. Their pioneering work in secure code for mobile devices has been utilized by the Tor Project, Signal, Facebook, and even Tencent. In 2021, FFDW announced an award to Guardian Project to support their Decentralizing Veracity and Distribution (DVD) project.
Read on for more insight into decentralized app alternatives, including what they are, common use cases, and what the future of decentralized technology might look like.
What is a decentralized app and how are they different from the web apps and services we know today?
Decentralized Apps provide a specific function that you can control. One way to think of a dApp is like driving a car instead of taking a train. When you’re driving a car, you can choose where you drive the car, who drives it, what kind of gas you put into it, and what you carry in it. Alternatively, a train runs on a track, requires a ticket to use, and has other restrictions as to what you can do on it. On a train, there are fewer options to choose from – besides which route to take. Riding a train is a more centralized process in comparison to driving your own car, where you have more control over where it goes, what you put in it, how it drives, etc.
To continue the analogy between a dApp and a car, where you drive is akin to what services you choose to connect your dApp to. Who drives it, relates to the identity provider you use, and is often referred to as a public key or crypto wallet. What kind of gas is almost an exact parallel to "gas fees" on distributed ledgers or blockchains that depend on the cost of computation and storage - just like in real life, you also have this choice within a dApp. Finally, you choose what to carry - what data you have and where you take it is in your control.
As we've seen too many times, decentralized services that claim to be "on chain" or served up through decentralized storage often still rely on brittle bottlenecks or centralized servers in some capacity. Ultimately, if a dApp can still function when the user gets a new "driver’s license" and buys gas from a new gas station, then it is truly decentralized.
What are the most common types of dApps?
A dApp is just an application or "app", and what kind of functions and features a dApp has can vary. A simple dApp might be a news reader (Anynews), podcast or music player (Audius), or social media app (like Mastodon). A more complex dApp might utilize a wallet for signing in with credentials, may be used to store data on something like IPFS or Filecoin, and can be used to tap into a smart contract and compute services on Ethereum. A dApp could even power a governance structure for a decentralized autonomous organization (DAO) and can handle functions like voting on how to spend funds.
The most popular dApps today are related to the direct task of managing tokens, chains, wallets, and so on. After that, come NFT marketplaces and games, some of which have become very popular in the last year or two and offer incentives to participate through blockchain transactions and cryptocurrencies.
The work we’re doing at Guardian Project is focused on bringing the communities we’ve worked with in the human rights and humanitarian space into the decentralized web. For instance, we are building a dApp called F-Droid to distribute mobile FOSS apps. F-Droid’s catalog of apps is served up through a global set of mirror repositories, some of which are stored on IPFS and Web3.storage. This can help people have more reliable and private access to apps, even if the internet is not fully available in their location due to nature or conflict.
Another project we’re working on is called ProofMode, which utilizes mobile camera apps, web dApps, Filecoin storage, and blockchain notarization services to create a global system for photo, video, and audio verification and chain-of-custody. With our partners at Starling Lab, this work has already been used to document potential war crimes in Ukraine that were submitted to the International Criminal Court as a cryptographically-verified evidence dossier. The ProofMode dApp we are building is ProofCheck, a photo and video verification tool. It analyzes digital signatures, timestamp notaries, and media metadata, running fully locally on the user's computer or phone without requiring media to be uploaded to a centralized server. It can be used by journalists, human rights advocates, or anyone trying to decide whether or not to trust an image or video they have received.
This is work we've done for many years in the mobile space, already in a decentralized way, and we are now moving towards updating how software applications and mobile media are stored, verified, and distributed onto IPFS and Filecoin.
Why would someone use a dApp?
dApps are equally as functional as centralized web, mobile, and desktop applications. The difference is that if the provider of the dApp decides to stop distributing it – or any of the services that it builds on become blocked or shutdown, there is less of an interruption for the dApp user. As mentioned in the ProofCheck app, once a dApp is locally installed from decentralized storage, it processes all media locally on the user’s computer without dependence on a centralized server.
On a dApp, the data is also portable between services, and any functionality that may require a centralized service can be supported by migrating to a new domain. With the F-Droid dApp, the user can choose what app store repositories they want to subscribe to, and can update those over time if the repositories move, or they change their mind about what kind of apps they are interested in. Again, not all dApps are created equally decentralized, so users should do their research before adopting one.
What advice would you give to people using or exploring dApps?
Just like the term “application” or "app", what a dApp is, how it is built, distributed, and secured, is constantly changing. That said, the primary value of a dApp is that you, as the user, are in control of the data and the functionality. You may not actually know when you've switched from using an App to a dApp, but you should always try to find services that support the core values of a dApp. You should be in control of your data and identity and have the ability to drive your car wherever you'd like it to go!
At FFDW, our ultimate mission is to ensure the permanent preservation of humanity’s most important information. We’re working with multiple organizations and dApp developers that are leveraging the Filecoin network to store its data, offering unique benefits including enhanced privacy, security, and stability. This is just the beginning of what could lead to more widespread adoption of dApps and decentralized technologies in the coming years.
To learn more about Guardian Project’s work with decentralized app stores, check out F-Droid. If you are interested in contributing verifiable photos and videos of interesting and historic places and events in the world, consider participating in the ProofCorps project by ProofMode.