Venturing into the Web3 world can be overwhelming initially. If you’ve watched the news or social media in the last few years, influencers, celebrities, tech CEOs, and others have made it abundantly clear that Web3 is the next “internet” revolution, and they’re not wrong. Let’s learn more about Web3 Stack in this blog.
But for a Web2 developer or a commoner with no knowledge of Web3, jargon like gas fees, interoperability, and even blockchain can discourage you from taking a glimpse into Web3.
This write-up aims to eliminate this hesitation.
Primarily intended for developers who wish to transition from Web2 to Web3, this article starts by explaining what Web3 is and dives deeper into the nitty gritty of this accelerating universe. So, let’s begin by addressing the elephant in the room.
What is Web3?
For novices, Web3 may seem like another fancy name for blockchain technology, but nothing’s farther from the truth. When you draw a comparison, it is the “database” in a typical Web2 setup, whereas Web3 is the whole ecosystem of the internet. To attain more clarity, let’s compare all three generations of the Web.
Web1 – also called “Syntactic Web,” happened between the years 1990 & 2000. This is when people could consume information written by a handful of content producers of the era. These were HTML CSS sites that were
Web2 – also known as the “Social Web,” started taking over the internet in 2000 and is going strong even today. As we all know, Web2 is the read-write era in which we’re all used to utilizing social media sites, commercial websites, eCommerce, and more.
Web3 – referred to as the Semantic Web, is where users gained the power to not only read & write but to own, trust, and verify content, which approximately came into being in 2010.
When we define Web3 as a platform to “read, write, own, trust, and verify” content, we’re talking about decentralized internet or decentralized applications (dApps) which are quite a few steps away from reach. This is where we understand the Web3 stack.
The Elusive Web3 Stack
To begin with, take a good look at the graphic below. The area mentioned as Network Layer, also known as Layer 1 (L1), is what you’ve heard as “blockchain” technology. Here, you find famous names like Ethereum and Polygon, which constitute the foundation of Web3.
The Network Layer or Layer 1 (L1)
L1 is the foundation stack of Web3, where decentralized applications are built on permissionless and trustless access. To better understand this from a Web2 perspective, L1 is similar to servers and centralized databases.
When a developer or an enterprise wishes to build their business (dApps) on Web3, they start from L1, and the first question you need to ask is, “should I go with EVM or Non-EVM blockchains?”
What are EVM Blockchains?
If you’ve known Ethereum as one of the popular cryptocurrencies, you have barely scratched the surface as it is much bigger than that. EVM, or Ethereum Virtual Machine, has been the go-to framework for Web3 business development as it offers a robust infrastructure for storing vital information. Ethereum Virtual Machines provide a framework for developers to create, execute and store smart contracts which undertake crucial tasks for a business. But EVMs come with limitations.
Limitations such as scalability and cost of transactions are mitigated by “EVM compatible blockchains,” and they function on the same programming software to run smart contracts. One of the most prominent software is “Solidity.”
Some popular EVM blockchain names are Ethereum, Polygon, Avalanche, and Cronos.
Top Web3 Development & Deployment Software
Just like Javascript, Python, C++, and other programming languages are used in Web2, Web3 has its own tried & tested software & tools to help developers build blockchains. The top 3 development options EVM-compatible chains utilize are Brownie, Truffle, and Hardhat.
Brownie – functions on the developers’ favorite framework, “Python,” offering full-suite dev tools to compile, test, and deploy dApps.
Truffle – is based on three javascript tools “Truffle, Drizzle, and Ganache,” and they help developers in deploying, connecting frontend functionality to smart contracts, and creating local blockchains, respectively.
Hardhat – on the other hand, is a javascript-based tool that enables developers to compile, test, and deploy smart contracts and debugging.
What are Non-EVM Blockchains?
EVM was the only available framework where engineers could build blockchains for many years, but it wasn’t without its set of problems. As scalability, higher transaction fees, and other issues rose, engineers broke out of the restrictions and started embracing non-EVM blockchains.
Designed transaction and data scalability options from the ground up, most non-EVMs also have high TPS (transaction per second) compared to EVMS.
Some of the popular non-EVMs are Solana, Terra, and Flow.
Solana – is an L1 non-EVM blockchain that uses Rust C and C++ to deploy smart contracts.
Terra – uses Rust to deploy smart contracts on L1.
Flow – is another popular L1 non-EVM that uses Cadence to debug smart contracts.
If you’re now wondering which network to go with, EVM or non-EVM, let me give you clarity. Ethereum went from a PoW to a PoS consensus system in September of 2022, which was a monumental event for EVM advocates. This has given the EVM framework a bigger diversity of interoperable tools, and EVMs were always better at transacting liquidity via cross-chain dApps, unlike non-EVMs. EVMs are tried & tested with robust tools, infrastructure, and developer support.
On the other hand, non-EVM chains are for experienced developers, and more businesses are willing to sacrifice the benefits provided on Ethereum L1 to build their own dApps on non-EVMs. Non-EVMs also allow companies to reach a larger audience and expand their dApps.
The Blockchain Layer or Layer 2 (L2)
Once you choose between EVM or non-EVM, the next step is selecting the blockchain interaction layer, which is where it gets exciting and tricky. Layer 2 is where you get the liberty to read & write data to the blockchain of your choice, and there are plenty of options to choose from.
A blockchain fundamentally works in 4 steps.
- A blockchain is made of data itself, in blocks.
- These blocks are stored in various distributed nodes of your choice.
- Every single node acts as a server that enables you to read, write, and access information from the block.
- When a new block is added, all the nodes must propagate said block to work in sync.
If you assumed L1 consisted of big names, it must be stable to build upon, but this isn’t the case. Despite developer and industry efforts, scalability & functionality issues still persist on L1, making the job of L2 even more critical.
L2 mainly consists of scalability solutions that they resolve for L1 without tampering with its features, modifying its security, or decentralization. They alleviate the stress on L1, compute transactions off the mainchain, and return it for storage, making them a crucial component of overall operations. This process increases TPS speeds considerably, lowers transaction costs, and provides scalability even with the constant increase of L1 users.
Besides this, the L2 blockchain often utilizes a process called “data rollup” to make the transaction verification process faster. A data rollup is when numerous transactions are verified, rolled up into a handful of batches, and sent back to L1 for storage. And rollups are of two kinds; Zero-knowledge rollups and Optimistic rollups.
What is the Scalability Trilemma?
Well known as CAP in the blockchain community, the consistency, availability, and partition tolerance trilemma has bothered the industry for quite some time. In simple terms, no one network can resolve all three problems together, but many L2 solutions zealously claim to be able to resolve them all. So when looking for a robust L2 solution, ensure at least two of the three issues are resolved, or all three if you’re lucky.
Running a Node
When Ethereum and other blockchains were in their infancy, it was a common practice for businesses to run self-hosted nodes. However, as Ethereum L1 started to bear more weight, private nodes providers such as Zeeve nodes were created across the globe to alleviate stress and speed up transactions. With Zeeve, businesses can utilize nodes strategically situated in every continent of the world to reduce the cost & latency of development & development of smart contracts.
The Presentation Layer or Layer 3 (L3)
If you’re a Web2 developer, you may find the Web3 presentation layer familiar, as both generations use the React.js library to create & deploy frontend programs.
On the other hand, instead of using the traditional HTTP libraries, dApps lean towards Ether.js or Web3.js while interacting with the data layer.
If you’re now deciding between utilizing Ether.js or Web3.js, these differences may help, but thorough research regarding the same is advised.
Ether.js – is considerably lighter, easier to develop, and has robust documentation. You won’t be wrong to call this a legacy javascript library as veteran devs use it but ironically, it lacks developers maintaining it.
Web3.js – on the other hand, is the predominantly used javascript library, but the drawbacks follow. Web3.js may not be feasible for newer Web3 developers and lacks documentation depth & breadth.
Storing Files on Blockchain
Blockchains are predominantly used for management, transactions, and executing smart contracts, but storage constraints immediately creep in, prohibiting users from storing bigger content like images, GIFs, and videos. Again, decentralized storage comes to the rescue, and thanks to this, we can happily store and transact NFTs, music, and others.
IPFS, BitTorrent File System, Arweave, and FileCoin are currently the top decentralized storage networks in the world.
The Decentralized Application Layer
The last layer is also considered layer three, and this is where the fun starts. This is the frontend portion of Web3 where users interact with NFTs, DeFi, authentication, analytics, and other dApps, and popular Web3 organizations like OpenSea and Uniswap reside on L3.
For developers, L3 is the most interesting layer to flex their creativity by combining dApps with robust primitives to make bigger & complex products that change the world.
The application layer improves users’ lives at the end of the day, and most users are oblivious to what it takes to run three layers of Web3 efficiently. An attractive UI and intuitive UX are what users gravitate towards, and as you can see, there is much work to be done in the first two layers of Web3.
Conclusion
When you notice everything that goes into operating the complex world of Web3, it may feel intimidating, even if you’re a developer. But when you consider the leaps & bounds of advances that have been made only in the past few years, it becomes obvious that Web3 is still in its infancy.
DeFi will grow significantly, robust smart contracts will be created, Ethereum will become even more powerful after “sharding,” and many more advancements are on the way.
Web3 is here to stay and provides oodles of opportunities to developers and users alike. So, start your Web3 development journey today, and make utmost use of Zeeve in the process.