Web 3.0 Stack 101 for Web 2.0 Developers
Web is only a small part of the web developer ecosystem, but it is growing, and growing fast. Hence, for those willing to progress, it is a good idea to get a good understanding of the Web 3.0 tech stack, in order to keep their skills relevant and up-to-date. Obviously, one can easily name blockchain and cryptocurrency wallets as part of the stack, possibly, together with distributed storage solutions. So what else do you need to know if you are considering an upgrade of your Web 2.0 skill-set to Web 3.0?
Web 3.0 stack classification:
Here’s how the stack can be broken down into categories:
- blockchain development environment;
- file storage;
- P2P databases;
- API (Indexing & querying);
- Client (frameworks and libraries);
- Other protocols.
Compared to traditional Web 2.0 architecture, this stack is different in many aspects, from which one can highlight blockchain and cryptocurrency-based identity as the two most obvious differences. It makes sense to examine the difference for front and back end separately as there is a difference on how they differ from Web 3.0 tools, although it is usually more common to talk about it in terms of ‘protocols’.
Another place, where you could find difference on the frontend is how the identity is dealt with. Reading data doesn’t require any info about the user, but writing data normally needs a connection to the user’s wallet. This can be done both on a desktop app (often as a wallet browser extension) and on mobile, allowing you to authenticate in a wallet app.
One of the most used wallets, MetaMask comes as a browser extension for Chrome, Firefox, and other Chromium-based browsers. MetaMask is owned by ConsenSys, “the leading Ethereum software company” as they call themselves. It also owns Truffle, one of the leading IDE (integrated development environments) in Web 3.0. It is an environment for development and testing framework and asset pipeline for blockchains using EVM (Ethereum Virtual Machine). It also offers “smart contract lifecycle management” and “automated contract testing”.
The really interesting stuff starts happening here. This is where the more complex aspects of the Web 3.0 stack emerge. The concept of a blockchain, a distributed ledger of data, should be familiar to most developers. But there is no single type of blockchain. The two most significant are Bitcoin and Ethereum. But the two are quite different and it was very well stated by Ethereum researcher Justin Drake: whereas Bitcoin is about as programmable as a calculator, Ethereum is a fully programmable “Turing-complete” computer.
The very paradigm of a blockchain-focused Web 3.0 development stack grew from the programmable nature of Ethereum. Ethereum, as per one of the tenets, is said to allow for building theoretically anything on top of it. It play the same role as a web platform for Web 2.0. Being the largest Web 3.0 platform, Ethereum is also compatible with some of the other blockchains. This is why learning Ethereum and how to use it is the most natural way to becoming a Web 3.0 developer.
💡 Learning Solidity and EVM may be the best path to start working as a blockchain developer. Using this skill set (and technology stack) will enable you to build not only for Ethereum, but also for other Ethereum Layer 2, sidechains and even other blockchains such as Avalanche, Fantom and Celo.
Data Storage and Queries
Experienced users can reasonably question storing and using data under Web 3.0. Blockchains are good for safety of data, but they are also extremely inefficient at storing and processing large amounts of data, especially for dapps. This is where file storage protocols like IPFS, Arweave and Filecoin step in.
Arweave is an open source project, “a protocol that allows you to store data permanently, sustainably, with a single upfront fee.” It’s a peer-to-peer (P2P) network, but has its own crypto lingo like “Succinct Proofs of Random Access (SPoRAs)”; developers can deploy apps to the “permaweb” (“a permanent and decentralized web built on top of the Arweave”).
Further, dapp developers can also use “off-chain” solutions, allowing for storing data not on the main blockchain. The two common types are “sidechains” (secondary blockchains) and so-called “Layer 2” (L2) solutions, like Bitcoin Lightning Network and Ethereum Plasma.
A few words on decentralization
Web 3.0 has not finished its quest on fully moving away from the dependency on centralized services like Coinbase, OpenSea and Alchemy. This is the trickiest part, because true decentralization is really hard to achieve for dapps.
2022 can show how Web 3.0 stack can evolve, searching for ways to live up to its own decentralization hype.