With the advent of the third-generation Internet in our lives, such a type of Web 3 user identification as a “digital identity” appeared. This means that any user can obtain his own electronic key, thanks to which he has the right to log in to any site, service, or Internet platform and perform any actions necessary for him.
Moreover, such a “digital identity” can receive any documents recognized by government agencies, and at the same time can remain in the zone of anonymity, if it desired, . Each electronic key in the form of a multi-digit code is stored in a crypto wallet. This is one example of directions in the development of Web 3, and several such directions already exist, not to mention prospects in the future.
In order not to go into excessive detail about the prospects of the third-generation Internet, it will be enough to accept the statement that Web 3 is, first of all, creating opportunities for users to get the best product in any area of their interests, and changing the conditions for providing this product from centralized to decentralized. If today any product is formed on the basis of certain internet platforms, then in Web 3 the protocols take on this function. The protocols do not depend on centralized companies, but their implementation is impossible without the appropriate web3 infrastructure.
The definition of Web 3 infrastructure invariably includes blockchain technology. Many people mistakenly understand blockchain as equivalent to cryptocurrency, but this technology is actually not just a financial instrument. And today there are a large number of niches into which a wide variety of blockchain solutions are integrated.
We can imagine a world where everything is constantly changing and at the same time remains not only transparent and anonymous but also completely protected. And it is blockchain technology that provides us with ample opportunities in this direction. Of course, at the moment, basic projects based on blockchain are still more related to cryptocurrencies, investments, etc., but in the future, this technology can become truly a breakthrough.
Smart contracts in blockchain
It is impossible to imagine the functioning of blockchain technology without smart contracts. Many users know that a smart contract is a certain code written in the Solidity language, however, not everyone understands how this code operates within the blockchain. In simple terms, a smart contract is a kind of message to perform some action.
For example, in the case of transferring money from one account to another without the participation of a smart contract, the message will be worded as the command: “Transfer money.” If a smart contract is involved, such a message will be formulated as a command: “Execute the program.” The developer of this code stipulates what should be in this program and with what parameters it should be called.
It may also contain some mechanisms for checking, validation, error handling, etc. By compiling the smart contract code into byte code, the necessary information is transmitted to all blockchain participants in order to explain to them how requests to this smart contract will be processed.
If we compare the usual way of writing and receiving information with a similar implementation in the blockchain, the picture will look like next. With the usual (backend) method, writing information will be free, its receiving will also be free, but not independent. In the case of blockchain, any information is written for a fee so that a virtual machine of some platform can perform certain actions related to a smart contract. At the same time, obtaining information will be free and independent.
Are the differences in data storage on the backend and on the blockchain? On the backend, there are many services for storing data that facilitate convenient work with it. Storing data on the blockchain has nothing similar to the backend. In this case, within the framework of a smart contract, the value of a certain variable is declared, which can be stored inside the blockchain for as long as necessary. In other words, there is no external storage and no traditional way of storing data in blockchain.
In blockchain technology, there is a problem with external calls, since they can violate the immutability of blockchain data, which is contrary to its basic principle. Therefore, external calls from a smart contract go through at least two transactions: request-response and requests are paid. And if something goes wrong when answering, the money will not be returned. Due to the fact that there is no possibility of generating the current time, it is set by the block miner. And, of course, there is no full-fledged random inside the blockchain.
The security of the blockchain is also not unconditional. For example, before the investment in some projects, audits require open-source code. And since in the world of financial systems, many people want to earn money as quickly as possible, they are often ready to give up some basic principles and break rules and laws. Such people can actively look for any vulnerabilities in the blockchain code in order to make money for themselves.