How Decentralized Apps Will Make Web3 a Reality
Jun 03, 2021Share this article:
Web3 is a vision of how the online world could function. It requires us to establish layers of technology and protocols in order for the Web3 vision to be realized. However, these two crucial elements, the vision, and the infrastructure could revolutionize the way developers and users experience the web.
Perhaps one of the most challenging aspects of the shift from Web2 to Web3 is the transition from building apps in the old way. Developers need to find alternative solutions to creating something with a decentralized point for storage and retrieval. Often that includes a steep learning curve. Plus, there’s a lot of work to index data for on-chain information and off-chain integration.
Before anyone can even consider that, they need a clear understanding of where Web3 is heading. Any infrastructure that is built, including decentralized apps and systems, needs to consider the core principles of the new version of the web. It’s about changing the way we view the trade-offs for access to platforms and services. That also means moving away from some of the current processes.
With the right pieces in place, app developers have a clearer path to realizing Web3. Let’s take a look at the vision, the journey ahead to move from Web2, and the integrations that are being put into place to make a new Internet possible.
Moving From Web2 to Web3
The vision for Web3 takes its influence from Web2. Of course, there are things that will remain the same. However, for the most part, the ideas focus on what could be done better. They aim to solve the issues that we currently face with the version that has evolved in the last 15 to 20 years.
For those who want to play a part, there’s a specific desire to change where the control lies. Web2 sees the power, and the data, in the hands of large companies. The currency of Web2 is the users’ data and attention. We’re encouraged to participate and share. However, with all of our accounts, purchases, and profiles, Web2 is now full of details about us. We give our data to companies in exchange for access to their services.
The Status Quo
Currently, there aren’t many options for controlling who gets that data, where it is stored, or who else might gain access to it. These privacy and inefficiency issues are magnified as we see even more smart devices connected to the Internet. We don’t access our accounts from one computer. We have watches, phones, tablets, smart home hubs, and other appliances that are all online. However, all of our data is still centrally stored, creating one vulnerable point that could fail or be targeted.
Web3 aims to tackle those problems by giving the user control and ownership of their data. It ensures that transactions are secure and decentralized exchanges of information. It necessitates a solution that reimagines the current infrastructure and systems of Web2.
The Future
Decentralization is key to giving the user control and creating a fair online space. This new infrastructure also allows for opportunities to make transactions more secure. There isn’t one vulnerable point in this future vision. Plus, mechanisms are put in place to remove intermediaries and issues of trust.
Moving away from central servers is a process that will take time and needs to be built into new systems, services, and apps. The good news is that examples already exist to show us that it’s possible to do it a different way. Blockchain and decentralized apps (dApps) are changing the way that data is stored and managed. They’re removing intermediaries, disrupting existing systems, and creating new models.
The set of data that is collectively managed through blockchain is referred to by some as a universal state layer. State gives identities to those involved in a transaction, establishes who owns what, and what they can and can’t do. With that information, it becomes easier to manage values and our own transactions without platforms stepping in to hold the state and act as brokers.
Instead, Web3 offers a world where data is stored and shared at multiple points of P2P networks. This would be complemented by consensus protocols that store the management rules in them, allowing all participants to have control, trust, and security.
Digital Identity on Blockchain
One of the principal concerns of Web3 is the storage and transfer of personal information. It’s acknowledged that we need to use and keep this data online. However, we can mitigate the risks of having a digital identity and make it work for us, instead of against us. This alternative is much more appealing than surrendering it to platforms every time we connect and perform an action online.
What blockchain offers is the collection, storage, and sharing of data that doesn’t rely on external sources. Secure management means transparent, tamper-proof structures that are interoperable. Acknowledging that we need a digital identity means we create and manage them on our own terms. Blockchain makes that possible in a number of ways, as it already works using a decentralized approach.
As blockchain addresses are unique, they give us the opportunity to create decentralized identifiers or DIDs. These are cryptographically secured, user-generated, and stored on the immutable ledger. That leads us to the concept of self-sovereign identities or SSI, where we own and control our identities without needing any outside administration. Blockchain also gives us the options for approval and access through credentials. They allow us to share our identities when we want and need to.
Using blockchains in this way leads to data-rich environments. That means we require a bridge for the gap between larger amounts of data and user interfaces and experiences. When developers need to tackle that code individually, we repeat the same patterns of Web2, creating vulnerable and centralized points in the dApps. Fortunately, there are solutions emerging for this setback.
Smart Contracts
Another critical piece of the puzzle when it comes to blockchain and the decentralized approach is smart contracts. Their attributes align with the aims of Web3, as they are anonymous and public as part of the blockchain and secure as the terms and conditions are written as code directly into the contract.
The code of a smart contract includes the rules and values involved. It makes them self-executing, meaning that once the terms are met, the value is released, and the transaction is recorded and validated on-chain. It exists on a public ledger that is distributed, meaning that entries in multiple locations would need to be amended simultaneously to change the record.
Smart contracts aren’t just about financial transactions. They can be used to release your digital identity, or the relevant parts, to all kinds of institutions. The most obvious example is making a purchase at an eCommerce site. It could also provide your identity to banks, schools, and lawyers. They become more than a transaction, as they can also serve as background checks. They don’t involve gathering large amounts of paperwork that inevitably pass through the hands of several third parties.
In this way, smart contracts bring about the secure, decentralized, and user-controlled approach that is the vision of Web3. Now we know how it can be done; the next step is to smooth the way for building apps that utilize these tools. For that, we’ll need the right infrastructure that doesn’t take us back to the same platforms and central points of weakness.
Decentralized Middleware Infrastructure
Understanding that blockchain technology and smart contracts are part of the solution is a crucial part of the process. However, how can this interoperability link to dApps and work in practice? It brings us to two essential parts of the infrastructure, indexing the data and connecting smart contracts to information outside the network.
Blockchain Data Indexing
As previously mentioned, using blockchain in this way leads to a lot of data, which needs to be indexed. This requires time and money for developers to create and maintain infrastructure and leads to servers and databases that are centralized, creating the same issues experienced in our current system.
There’s another way, and it involves open APIs that make data easily accessible. Decentralized protocols for indexing blockchain data can be deployed, and the builders of dApps can use it to keep data secure, open, and in the user’s control.
Smart Contract Data Access
For the smart contracts to function, they’ll need information from outside of the network. This real-world information is crucial to the agreement but needs to be provided in an electronic format and be current. To do this, it needs to be fed by oracles. They connect to software or devices as part of the internet of things (IoT) to supply external information once a contract has been invoked.
There are different types of oracles. They include hardware, software, consensus, inbound, and outbound versions. Hardware draws information from the physical world; and the software takes it from online sources, the inbound delivers it to the smart contract, whereas outbound creates a reaction in the real world. A critical one to focus on is the consensus oracle, which draws information from different sources. It’s beneficial, as it avoids that same problem of relying on one potentially weak data point.
Like a consensus oracle, you might also find value in oracle networks. They use multiple data inputs to avoid any centralized or single point of origin for the information supplied to smart contracts. It’s a secure and decentralized way of accessing off-chain data that aligns with the values of Web3.
The Graph’s API
When it comes to building apps, they can be truly decentralized without developers having to reinvent the wheel. The Graph has built a decentralized protocol for indexing blockchain data. Developers can deploy the APIs, or subgraphs, through The Graph’s hosted service and the decentralized network. You can use it for querying networks like InterPlanetary File System (IPFS) and Ethereum.
The Graph solves several problems that those building dApps face and prevents the need for centralized data indexing. The protocol also provides public infrastructure that developers don’t have to manage. The open-source query language GraphQL means that in a single request, developers can combine data from several sources and find what they need to build an app that embodies the values of Web3.
The API and indexing capabilities of The Graph make it possible to process and access verifiable data, which can be used and stored on blockchains, P2P, and storage networks. It doesn’t require the hardware and significant engineering resources that compromise security and make other solutions centralized.
The Graph Network is made up of delegators, curators, and indexers. Having these multiple service providers creates the decentralized nature of the system, meaning that data is open and dApps won’t encounter a weak point and fail to run.
As a vital part of the infrastructure, The Graph needs to work with the other pieces of the puzzle, including oracle networks. Fortunately, these integrations already exist. Plus, new ones are being considered as Web3 emerges.
Chainlink Decentralized Oracle Network
While The Graph has been busy considering APIs and indexing, Chainlink has created a decentralized oracle network. The good news is the integration means that indexed data from subgraphs can be relayed to smart contracts through Chainlink oracles.
This interoperability tackles two of the core issues when it comes to building dApps that use Web3 protocols. The data for smart contracts is secure, indexed, and accessed through decentralized networks.
The blockchain oracles from Chainlink are open-source technology. The decentralized network uses cryptographic proofs to provide trustworthy inputs and outputs that are tamper-proof. It can connect with any API and systems to supply accurate data for smart contracts.
Using Chainlink and The Graph together allows you to integrate off-chain data in your app. You can also calculate gas fees by cataloging the average amount of gas consumed per block. It’s also useful for on-chain transactions, including calculating slippage on decentralized exchanges (DEX) or decentralized finance (DeFi) apps.
Mitigating Risks By Imagining Another Way
Blockchain can create decentralized ways of collecting, storing, and transferring information. However, it’s the infrastructure that uses Web3 protocols that are required to make these solutions secure, manageable, and trustworthy.
Processing blockchain datasets through decentralized APIs and indexing is a crucial first step through The Graph’s open-source subgraphs. It means the large amounts of data required to create and manage DIDs, and build dApps can be stored, queried, and used. When combined with Chainlink oracle networks, it allows smart contracts to remove centralized intermediaries that could compromise the security and integrity of the data.
Supplying our data as a trade-off to gain access to a platform will soon be a choice rather than a necessity. With Web3, the right integrations, interoperability, and decentralized infrastructure can make user control, secure transactions, and decentralized exchanges a reality.
Start Building Your Web3 App
It's time to start bringing the Web3 vision to life, and we have the tools to help you get started. We’ve integrated with The Graph to provide a new, easier, and much more flexible way for developers to build new applications for blockchain domains, such as our NFT gallery. You can get started with our subgraph here.
We have also integrated with Chainlink for our Twitter Verification process. This is one use case for verifying identities in decentralized ecosystems, but the potential doesn't stop there. You can find the next brilliant way to integrate Chainlink and The Graph to build rich and complex applications with blockchain domains.
Check out our Documentation or join our Developer Community to connect with other Web3 builders and start building the future internet.