4.8
(33)
The architecture of Web 3.0 applications (or "DApps")

What Goes Behind Web 3.0 Architecture?

6th April, 2022

There is no doubt that Web 3 is the future of the internet. The promise of a decentralized internet built on blockchain indeed solves a number of problems that users faced with Web 1 and Web 2, because the technology is Open, Trustless and Permissionless

The concept of Web 3 makes the applications safe because the data is not stored on a single server, but on decentralized networks, making the apps safer, and free from attacks and hacks. 

This is because the architecture of Web3 is entirely different from the other two. In the early days, there was only Web 1, mostly static pages with no interactivity at all. There were just personal pages, and some simple business websites. 

And when Web 2 came into prominence, you have social media networking websites kicking in because there was plenty of interaction going on, and everything that you save on these websites can be viewed later.  People were able to publish content of their own, and there was a lot of activity. The major drivers of growth here were smartphones and cloud computing. And with the metadata, the machines would understand what your data is all about, and hence indexed correctly to reach the right people. 

However, the one major downside to Web2 was that people had to surrender their personal and sensitive data to tech giants like Amazon, Google and Microsoft. All the information that the customers type will be used by third parties and a good portion of that will be used for sending them targeted ads whether they like it or not. 

With Web 3, the entire Web is altered into a database. It was Gavin Wood, one of the founders of Ethereum Cryptocurrency that coined the term Web 3.0 in 2014, and ever since then, anyone talking about next generation internet or decentralized digital infrastructure would refer to Web3.  

While Web 2 was all about Ajax, tagging and several other innovations in front end user experience, Web 3 focuses on various other evolution points of web interaction and usage. Data, instead of being stored on servers as it was with Web2, would be saved on the network with Web3. The data will be safe, in the sense there will be a record of where it will be moved, what is done to it, and who is accessing it. Every movement of data will be recorded on the blockchain, making it virtually impossible to misuse data. This gives birth to the era of a blockchain-centric internet, just like cryptocurrency blockchains help in preventing ‘double spending’. 

The major difference between Web3 and its predecessors is that data is not owned by one entity, but rather shared across networks. Before going into the architecture, check out the major features that define Web 3.

Web 3.0 Features

Semantic Web

When Web2 evolved into Web3 it included Semantic Web, where the capability to comprehend the meaning of words, and not just on the keywords and numbers is much higher in creating, sharing and connecting content. This is done through an intelligent method of search and analysis. 

3D Graphics

Incredible three-dimensional designs have come into vogue with this technology. These can be used with great success practically everywhere to give the real feel of what businesses are trying to portray. The engagement level is quite high.

Connectivity

Users are taken to a whole new level of connectivity, thanks to incorporation of semantic metadata. 

It’s Ubiquitous 

The best thing about Web3 is that you can access the content from multiple applications, because it has the capacity to be omnipresent, be everywhere at the same time, across networks, devices and geographical regions.

Artificial Intelligence

AI is already used with limited capabilities in Web2, but with the evolution into Web3, you have access to a series of computers that are far more intelligent to comprehend user requirements, and give them accurate and precise results with increased quickness. 

The Architecture Behind Web 3.0

The architecture of Web3 allows for peer-to-peer payments without bank mediation. The payments are done using a decentralized app, and before a transaction is completed, it would first be verified by the network, then coded into the blockchain through a digital ledger. The best thing about this system is that not only is it highly secure, but people without bank accounts can also make payments. 

How is that possible? Instead of opening a bank account, people can make use of Dapp or Decentralised apps to pay for goods and services. Web3 uses tokens to allow users to make payments directly in the browser. 

Web3 architecture is definitely more than a rigidly defined standard and because of its characteristic, it can take almost any form, because the user has ownership of the data. 

Once the user logs in front of the computer, and types a request it will be taken up by the internet browser and into the front end server, using Javascript, HTML or CSS. The request would be sent to the Ethereum Virtual Machine in the Ethereum Blockchain, where you have Metamask, a tool that makes it possible for applications to handle and sign the transactions that’s happening. However, it is not a very simple and easy setup because a lot of things are involved in the architecture. 

In Web2, we are all familiar with the three aspects of its architecture: Frontend, Backend and Database. In Web3, the architecture is different because there is no centralized database and server. There are two main aspects, the Frontend and the Blockchain. 

The Frontend has the same function as it works in Web 2, what the user sees and interacts within the application. The Blockchain is a distributed network that stores data. Every action is done on and around the blockchain and once the data is written, it cannot be changed.

Since there is no centralized server, what do you do to query the data, and manage the business logic? This is where Smart Contracts come into play. Smart Contracts is a program that runs on Ethereum blockchain. It is written in high-level languages like Vyper or Solidity and defines the logic. 

Solidity is very similar to Javascript, but it was inspired by ECMAScript too. The codes for the Smart Contract are stored on the Ethereum blockchain, and hence, open to all. Anyone can inspect the application logic of these Smart Contracts because they are on the network. 

 

However, there are some complications to be aware of:

It is not at all about scaling up Dapps because the more the application is used, the more the cost of running on Ethereum. When each transaction happens on Ethereum, there will be a fee and since everything in cryptocurrency is subject to price volatility, this fee would go up too. 

There is another process known as “signing” the transaction. However, it is this cryptographic process that keeps the blockchains secure. 

Since storing on the blockchain gets expensive, you need to have another decentralized off-chain storage solution, a peer-to-peer (p2p) network architecture to manage. There are solutions like Swarm, a distributed storage platform and content distribution service for this. This is a native base layer of Ethereum and acts as a decentralized redundant store for blockchain, Dapp code, state data and user data.

The Front End Layer in Web3 Dapp

In Dapp, the communication is with Smart Contracts or Decentralized programs. However, it is not like the normal front-end communication that you’ve seen till now. There are several nodes in the blockchain network, and they carry the state of the program. When you communicate with the Smart Contract, you communicate with one of these nodes. The nodes could be something that you have set up by yourself or third-party nodes like the ones provided by Infura, Alchemy and Quicknode. 

If you use one of these third-parties, you don’t have to worry about having to deal with running the full node yourself. Setting up your own Ethereum node takes up a lot of time, bandwidth and storage. 

This is also a bit complicated, especially when you want to scale up and add more nodes. For this purpose, you can use user providers. These providers communicate with blockchain networks using JSON-RPC specifications. RPC is short for Remote Procedure Call, a protocol that defines the rules needed for a client to send the message, and for the remote machine to perform the function and send response. 

The communication happens through web sockets or HTTP. Security is ensured in Web3 because all the communication or write request transactions have to be signed with the client’s private key. As explained earlier, this will cost a gas fee to the client. The tool, Metamask, acts as a transaction signer and provider, it connects to the blockchain network and stores the private key in the browser.

 

Final Thoughts.

The architecture of Web3 is indeed overwhelming, and there is nothing similar about the architectures of Web1 and Web2. But you can expect more tools in the future to make the process simpler. 

If you are building an app where all the data and the Smart Contracts live on the Ethereum blockchain, this architecture would be the perfect solution. The downside is the expense, because the user has to pay each time new data is added.

Recent Posts

  • January 22, 2024
  • November 2, 2023
  • August 11, 2023

Talk to Our Team for Expert Opinion.

Scalan Labs is a full-service product engineering company that provides dedicated teams for full stack development. We have the top1% talent for product engineering and dedicated teams to help you reach your business goals. Contact us today to learn more about how we can help you!

Click on a star to rate this article...

Thanks for rating this article.

To stay updated, please follow us on LinkedIn!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?