Terms and Definitions
Today, the term “blockchain” has acquired several interpretations, a large number of experts explain its meaning by their own vision and experience and practically all of these explanations are correct. The main thing is that in their explanations the experts agree on one thing: blockchain is, first of all, a logging system. This means that a blockchain is a chain of blocks, built in a certain way, according to certain rules in a certain sequence, that stores information. Most often, this information is reproduced on different computers, which are interconnected by a certain algorithm, and these algorithms are also different for different blockchains. Just like thirty years ago, when the Internet became the property of almost every corner of our planet, blockchain today is increasingly becoming part of our lives.
The next term, which has also gained popularity in the IT field, is the term “decentralized application” (DApp). What makes DApps so special in the general family of applications? Essentially, DApp is a regular open source application that runs on a P2P network of computers. These applications have acquired the status of decentralized, since they are launched by several computers on the network at once, so ownership of the DApps is distributed among network users.
Are blockchain and DApps related? Of course, since it is just on the blockchain that DApps are created. Today there are a sufficient number of blockchains on the basis of which it is possible to create applications, the most famous of which are Ethereum and Binance Smart Chain. Therefore, the implementation of the task of creating DApps will be much easier and faster if it is handled by professionals of blockchain app development services.
About applications of Web 2
If we carefully analyze the IT world today, we will see that in its most popular part, the blockchain, new technologies and decentralized systems are constantly appearing. If we compare the popularity of the Internet thirty years ago and the popularity of decentralized technologies today, the picture will be similar. Decentralization is now experiencing exactly the same rise as the Internet at one time. This suggests that decentralized technologies are useful, in demand, and extremely exciting for their promising potential. We already know a lot about blockchain, but along with this, there are many “blind spots” in this technology; there is a wide scope for innovation and invention.
Before we start talking about Web 3 applications, let’s remember that users have been interacting with Web 2 applications for a long time. Web 2 applications are, in fact, everything that users are accustomed to and interact with on today’s Internet. In simple terms, interaction occurs according to the following scheme. For example, any social network in which the user is registered has its own data center, in which there are many server racks. When a user interacts with this social network, a request is made to the data center servers, this request is then processed and then returned to the user in the form of a specific response. This is an example of a classic Web 2 application, which has a backend on servers, a frontend in the user’s browser, and they exchange the necessary data with each other. At the same time, all data is stored on servers and all algorithms are executed there too; this is the so-called client-server architecture, which is extremely clear and natively familiar to users.
About applications of Web 3
Returning to Web 3 applications, it is necessary to immediately note that there, first of all, there is no backend as such, or, in some cases, it is minimal. After all, in Web 3 applications there is no single server that processes the user’s request and generates a response for him. Web 3 applications run simultaneously on all nodes connected to the blockchain, or, to say it more precisely, smart contracts run on the blockchain`s nodes. How then does the application itself work? First, let’s remember the term “thick client” and what it means. This is a data processing mode that runs directly on the user’s computer and requests more high resource requirements. Using the term “thick client”, we can safely say that a web 3 application is a kind of “thick frontend client” in which almost all the logic of what is happening is implemented. Interaction with smart contracts occurs only when the user needs to save some data, perform some operation, etc. Classic web 3 applications are often made on serious frameworks that require working with a “thick client”.
The interaction between the “thick client” and the blockchain most often occurs through various wallets. The wallet is a kind of entry point into the blockchain network, through which the user can request information from the blockchain, as well as send his information there by confirming transactions. Speaking about requests in Web 3 applications, we can draw an analogy with HTTP requests in Web 2 applications. In HTTP requests there is one block with unchangeable data and there is another in which the data can be changed. In relation to Web 3 applications, immutable data is generated when a user simply accesses a blockchain node and reads some information from it. If the user wants to change or save something, then such operations are impossible without smart contracts and transactions. Simply sending an HTTP request will not work, since web 3 applications do not have a central server where you can place your data. Therefore, data changes occur through transactions. The user forms transactions, they are processed by a smart contract and then saved in the blockchain.
About smart contracts
What are smart contracts? These are applications that run not on just one computer, but on all computers in the network. Unlike other applications, smart contracts have some distinctive properties.
1) Smart contracts have an unchangeable code, and from the moment this code is uploaded to the network, it remains there forever, and this is a very important feature. The smart contract code is visible and accessible to all network participants, and when users interact with the smart contract, there is an absolute guarantee that everything will happen exactly as specified in the smart contract.
2) Smart contracts are written in various languages. One of the most popular languages on the Ethereum platform is the Solidity programming language, but recently languages such as Rust and Move have become popular too.