Three Questions to Answer Before Choosing Web3 for Your Next Project

ProfilePicture of Raul Rodriguez
Raul Rodriguez
Senior Developer
Web3 logo

Web3 promised to be a revolution that would forever change the way we interact with the web. Its inception caused a sort of gold rush: entrepreneurs founded startups to build the Web3 version of everything out there, investors funded what felt like every Web3 project put in front of them, and developers chased juicy salaries and options packages in the hot new space.

But the romanticism of Web3 has faded, and somewhat dramatically. A weakening economy had VCs pumping the brakes on new technology investments, especially in the volatile Web3 domain. Even large, seemingly “safe” Web3 companies, such as those in the business of crypto wallets and online trading platforms, underwent massive layoffs. Recently, its left many developers, and the broader tech sector, wondering what kinds of products and services actually did fit into the Web3 infrastructure.

In this article, we’ll break down how Web3 works, as well as its advantages and limitations, through a series of questions aimed to help you answer the question: should I consider Web3 for my next project?

We’ve ordered these questions in chronological order.

Table Of Contents

A flow diagram to help decide if Web3 is a good fit or not for my project.

1. Is an Immutable Ledger the Best Fit for Your Back-end?

The defining technology of the Web3 platform is the use of a Blockchain, which is a data structure that keeps records of transactions as a ledger. Unlike traditional data storage solutions that allow for CRUD operations (Create, Read, Update, Delete), blockchains are designed to be immutable. You can’t edit or delete information from them, only add new information at the end. This makes it a great fit when traceability is needed, as no one will be able to modify the data in any way. 

The idea of a Blockchain has been around since the eighties, but it took decades to take off. That’s largely because it can be hard to find use cases that truly benefit from this feature. For instance, you probably wouldn’t want your social media posts to be immutable, as you may want to delete an old picture or defamatory post made about you.

For this reason, most people hadn’t ever heard about blockchains until 2009, when Bitcoin proposed building a peer-to-peer electronic cash system based on it. A ledger keeping track of transactions (in this case, cryptocurrency) is certainly a great fit for blockchain, as it really benefits from its immutability. 

DeFi is a fascinating world on its own but it was Ethereum’s proposal to extend the blockchain by allowing users to store arbitrary data that took it to the next level and resulted in the foundational stone of Web3 architecture. 

Ethereum records transactions of its cryptocurrency Ether, as well as all sorts of arbitrary data in their blockchain. These additional data types are called Smart Contracts, and they can be pretty much anything, from certificates of ownership of a certain image to actual agreements written in small programs that self-execute when certain conditions are achieved. 

a simplified overview of blockchain technology

These conditions can include a variety of different things, such as sending funds to recipients or verifying an email. Smart contracts can also support multiple conditions if they are required by the issuer of the contract. 

When considering Web3 for your next project, the very first thing that you should ask yourself is: will my project benefit from having an immutable ledger at the core of its back-end? 

If, when you ask yourself this, you determine a traditional CRUD application would work better, building in Web3 will likely not be the best idea. 

2. Does Your Back-end Work Best as Decentralized Computing?

The second most important feature of blockchains is their decentralized nature. Decentralized means that control over actions is distributed across many entities, rather than a single centralized entity. The main benefit of decentralization is that more power is given to the participants of a system, rather than in a single large entity.

But there’s another huge benefit, which is that decentralized computing has very high availability. A centralized system has a single point of failure, whereas a decentralized system has many backups for a process.

In traditional web infrastructure, you will usually see two main types of infrastructure. The first is a server processing all the requests in a simple website. The second is a network of servers distributed around the world, using a cloud-based solution like AWS. The cloud based solution has become more common, as it allows for higher availability.

But even these extensive cloud networks have the potential to fail. We’ve all seen the Meta network collapse occasionally, temporarily taking down all of their services (Facebook, Instagram, WhatsApp). Even Google Cloud or AWS, the most popular cloud services, can have occasional downtime.

cloud computing vs distributed computing: control over actions is distributed over many entities.

This is not the case with a decentralized network, as the work is distributed across many entities. If one fails, another entity can pick up where the failed entity left off. This can theoretically result in no downtime for a network. 

Just like the idea of a Blockchain, decentralized apps are not really new. Peer-to-Peer file sharing predates “Web 2.0” (herein referred to as Web2) and has long been popular for torrenting and file sharing. The BitTorrent network is another example of decentralized computing and has been running strong for decades. 
Although decentralization can be a benefit for availability, it can also have potential impacts on scalability and transaction times.

The question you should ask is: is my project’s need for high availability outweigh the importance of response time to users?

3. Do You Need Scalability or High Transaction Volumes?

One of the biggest challenges for Web3 is the limitations of the network, both in speed and energy consumption. 

Blockchain transactions are slow and incredibly resource-intensive by design due to the algorithms that maintain a consistent state throughout the network. A single Bitcoin transaction consumes more energy than 1.5 million VISA transactions. 

In some cases, though, Web3 is improving in energy efficiency. Recently, Ethereum completed a merge that reduced its energy consumption by around 99.95%. This improvement is significant in reducing the impact of blockchain applications, providing an overall more environmentally friendly model. 

Although energy efficiency has improved in some cases, it is important to note that blockchain is slow. Transactions take 5 seconds to be recorded, and the blockchain has a very tight processing power of 7 to 15 transactions per second. This may sound like quite a bit, but it’s important to put things in perspective: VISA regularly handles 24,000 transactions per second. 

There are multiple approaches to tackle this issue, from using layer 2 blockchains (auxiliary blockchains that interact with the base one) to alternative blockchains with much higher processing power, such as Solana.

But even then, storing everything in the blockchain is not a realistic expectation: blocks are limited to 1Mb, and transaction costs above this size would make it unviable anyway.  This is where off-chain solutions come into play. Even images are normally delegated to external storage, ironically enough, as URIs pointing to a traditional web server.

While scaling regular web applications presents its own challenges, good developers are able to design solutions that simply work using well-established practices, and cloud services automatically handle most of the potential pitfalls without requiring any intervention from your team.

Scaling Web3 solutions require a much more intensive, proactive and creative team, and even then, they may find themselves entangled in an architecture that simply can’t be scaled to suit your needs. Exponential growth can bring in exponential costs and performance issues, and your app’s success can be at the same time its demise. 

When you consider scalability and transaction, you should ask yourself: Do you need the core of your application to be able to handle many users making requests at once? If your answer is yes, Web3 is likely too slow for your use case.

Additional Considerations for Web3 vs Web2

Is Web3 Right for Your Business?

When you consider if Web3 is a valid solution for your business, you should consider your use case carefully. Web3 has taken off with the expansion of cryptocurrencies and decentralized finance. Although cryptocurrencies are popular, Web3 is sometimes seen as a “solution searching for a problem.” You should ensure that your product gets meaningful benefits from the Web3 infrastructure before choosing it.

It’s also worth considering if Web3 fits with your stance on environmental issues. With the incredibly high energy demands of most cryptocurrencies, trying to offset your carbon footprint as a Web3 business would not be feasible, and even if it was, it’s still doing unnecessary harm. It is worth noting that Ethereum’s move from proof-of-work to proof-of-stake should reduce its energy consumption by over 99%, but it is still unknown if this move will succeed in the long run.

The impact on energy consumption and the environment is one of the strongest arguments against Web3. This is such a huge issue that we believe it deserves an article of its own, so we are going to explore this issue, as well as some of the proposed solutions, in a follow-up post. 

Are You Simply Trying to Build “The Web3 Version of Something”?

In recent years, it’s been common for projects that would work best in a Web2 environment instead be developed in Web3.

But that’s not how the big names in the industry were built in the first place. The next Instagram is probably going to be something that no one has even thought about yet, rather than a literal copy of Instagram built with a different technology. 

When deciding on whether to use traditional web architecture or Web3, the main consideration should be whether your app is really taking advantage of the Web3 features. If you’re trying to shoehorn in a web app into the shiny new architecture, it’s probably best to stick with Web2. 

For instance, traditional ticketing systems for shows and festivals are examples of projects that fit poorly in the Web3 infrastructure. 

Why? Well, from the fit perspective, there’s really no point in having a ledger for a single-use item such as a festival ticket, especially considering that they’re usually not transferable. It doesn’t make sense from a network capacity perspective, either. Big shows and festivals can see hundreds of thousands trying to buy tickets every hour. It’s hard enough to prevent flooding in traditional web infrastructure. Imagine trying to keep up with an alternative that’s thousands of times slower. A big event like this could single-handedly occupy all of the network capacity.

It’s also worth noticing that in Ethereum, the cost of transactions goes up according to demand. So saturating the network with transactions will only increase their fees. Some may say that this is actually good, as it could work as an incentive for people to get their tickets throughout a wider time span, but it’s unlikely that people would change their behavior so drastically. In practice, this will mean that only those who can afford the higher transaction costs will get a hold of the tickets. Even if this may sound tempting from a business perspective, you need to remember that those higher fees go to the miners, not to you. 

It is possible there are projects related to ticketing systems that would work well in Web3, however. For instance, token-based ticketing solutions could create alternative models like tickets that unlock exclusive content or could be reused in related or upcoming events. 

Examples of Projects That Work Well With Web3

Web3 provides value for situations where an immutable ledger is of value. We have seen a large rise in the use of cryptocurrencies, which take advantage of an immutable ledger to trace financial transactions on a network. Immutable ledgers can also provide value in situations where you want to have permanent proof of an action occurring. An example of this could be contract signatures, where you can store signed contracts in an immutable fashion. 

Logistics and distribution tracking is another great use of a Web3 application. The blockchain enables transparency, allowing funds to be automatically released when items are received at their destination. The visibility of the blockchain also provides better protection from fraudulent actions. 

Closing Thoughts

Web3 comprises a fascinating tech stack that defines a whole new way to interact with the web, but we should consider it a complement for the Web2 instead of a replacement.  Not everything we do on the web translates well into the world of blockchain and crypto. 

There are many things to consider, from scalability and availability to your target audience and the business model itself. We hope that this article helps you decide whether Web3 is the right platform for your next project. 

Originally published on Oct 28, 2022Last updated on Mar 9, 2023

Looking to hire?

Join our newsletter

Join thousands of subscribers already getting our original articles about software design and development. You will not receive any spam, just great content once a month.