The Evolution of the Web
The web has evolved a lot over the years, and the applications of it today are almost unrecognizable from its most early days. The evolution of the web is often partitioned into three separate stages: Web 1.0, Web 2.0, and Web 3.0.
What is Web 1.0?
Web 1.0 was the first iteration of the web. Most participants were consumers of content, and the creators were typically developers who build websites that contained information served up mainly in text or image format. Web 1.0 lasted approximately from 1991 to 2004.
Web 1.0 consisted of sites serving static content instead of dynamic HTML. Data and content were served from a static file system rather than a database, and sites didn’t have much interactivity at all.
You can think of Web 1.0 as the read-only web.
What is Web 2.0?
Most of us have primarily experienced the web in its current form, commonly referred to as Web2. You can think of Web2 as the interactive and social web.
In the Web2 world, you don’t have to be a developer to participate in the creation process. Many apps are built in a way that easily allows anyone to be a creator.
If you want to craft a thought and share it with the world, you can. If you want to upload a video and allow millions of people to see it, interact with it, and comment on it, you can do that too.
Web2 is simple, really, and because of its simplicity more and more people around the world are becoming creators.
The web in its current form is really great in many ways, but there are some areas where we can do a lot better.
Web 2.0 Monetization and Security
In the Web2 world, many popular apps are following a common pattern in their life cycles. Think of some of the apps that you use on a daily basis, and how the following examples might apply to them.
Monetization of Apps
Imagine the early days of popular applications like Instagram, Twitter, LinkedIn, or YouTube and how different they are today. The process usually goes something like this:
- Company launches an app
- It onboards as many users as possible
- Then it monetizes its user base
When a developer or company launches a popular app, the user experience is often very slick as the app continues rising in popularity. This is the reason they are able to gain traction quickly in the first place.
At first, many software companies do not worry about monetization. They strictly focus on growth and on locking in new users – but eventually they have to start turning a profit.
They also need to consider the role of outside investors. Often the constraints of taking on things like venture capital negatively affect the life cycle, and eventually the user experience, of many applications that we use today.
If a company building an application takes in venture capital, its investors often expect a return on investment in the order of magnitude of tens or hundreds of what they paid in.
This means that, instead of going for some sustainable model of growth that they can sustain in a somewhat organic manner, the company is often pushed towards two paths: advertisements or selling personal data.
For many Web2 companies like Google, Facebook, Twitter, and others, more data leads to more personalized ads. This leads to more clicks and ultimately more ad revenue. The exploitation and centralization of user data is core to how the web as we know and use it today is engineered to function.
Security and privacy
Web2 applications repeatedly experience data breaches. There are even websites dedicated to keeping up with these breaches and telling you when your data has been compromised.
In Web2, you don’t have any control over your data or how it is stored. In fact, companies often track and save user data without their users’ consent. All of this data is then owned and controlled by the companies in charge of these platforms.
Users who live in countries where they have to worry about the negative consequences of free speech are also at risk.
Governments will often shut down servers or seize bank accounts if they believe a person is voicing an opinion that goes against their propaganda. With centralized servers, it is easy for governments to intervene, control, or shut down applications as they see fit.
Because banks are also digital and under centralized control, governments often intervene there as well. They can shut down access to bank accounts or limit access to funds during times of volatility, extreme inflation, or other political unrest.
Web3 aims to solve many of these shortcomings by fundamentally rethinking how we architect and interact with applications from the ground up.
What is Web 3.0?
There are a few fundamental differences between Web2 and Web3, but decentralization is at its core.
Web3 enhances the internet as we know it today with a few other added characteristics. Web3 is:
- Native built-in payments
In Web3, developers don’t build and deploy applications that run on a single server or that store their data in a single database (usually hosted on and managed by a single cloud provider).
Instead, Web3 applications either run on blockchains, decentralized networks of many peer to peer nodes (servers), or a combination of the two that forms a cryptoeconomic protocol. These apps are often referred to as dapps (decentralized apps), and you will see that term used often in the Web3 space.
To achieve a stable and secure decentralized network, network participants (developers) are incentivized and compete to provide the highest quality services to anyone using the service.
When you hear about Web3, you’ll notice that cryptocurrency is often part of the conversation. This is because cryptocurrency plays a big role in many of these protocols. It provides a financial incentive (tokens) for anyone who wants to participate in creating, governing, or improving one of the projects themselves.
These protocols often offer a variety of different services like compute, storage, bandwidth, identity, hosting, and other web services commonly provided by cloud providers in the past.
People can make a living by participating in the protocol in various ways, in both technical and non-technical levels.
Consumers of the service usually pay to use the protocol, similarly to how they would pay a cloud provider like AWS today. Except in Web3, the money goes directly to the network participants.
In this, like in many forms of decentralization, you’ll see that unnecessary and often inefficient intermediaries are cut out.
Many web infrastructure protocols like Filecoin, Yearn, Sia, and The Graph (which is what I work with at Edge & Node) have issued utility tokens that govern how the protocol functions. These tokens also reward participants at many levels of the network.
Tokens also introduce a native payment layer that is completely borderless and frictionless. Companies like Stripe and Paypal have created billions of dollars of value in enabling electronic payments.
These systems are overly complex and still do not enable true international interoperability between participants. They also require you to hand over your sensitive information and personal data in order to use them.
Crypto wallets like MetaMask and Torus enable you to integrate easy, anonymous, and secure international payments and transactions into Web3 applications.
A new way of building companies
Tokens also brings about the idea of tokenization and the realization of a token economy.
Take, for example, the current state of building a software company. Someone comes up with an idea, but in order to start building they need money in order to support themselves.
To get the money, they take on venture capital and give away a percentage of the company. This investment immediately introduces mis-aligned incentives that will, in the long run, not align well with building out the best user experience.
Also, if the company ever does become successful, it will take a very long time for anyone involved to realize any of the value, often leading to years of work without any real return on investment.
Imagine, instead, that a new and exciting project is announced that solves a real problem. Anyone can participate in building it or investing in it from day one. The company announces the release of x number of tokens, and give 10% to the early builders, put 10% for sale to the public, and set the rest aside for future payment of contributors and funding of the project.
Stakeholders can use their tokens to vote on changes to the future of the project, and the people who helped build the project can sell some of their holdings to make money after the tokens have been released.
People who believe in the project can buy and hold ownership, and people who think the project is headed in the wrong direction can signal this by selling their stake.
Because blockchain data is all completely public and open, purchasers have complete transparency over what is happening. This is in contrast to buying equity in private or centralized businesses where many things are often cloaked in secrecy.
This is already happening in the Web3 space.
One example is the app Radicle (a decentralized GitHub alternative) which allows stakeholders to participate in the governance of their project. Gitcoin is another that allows developers to get paid in cryptocurrency for jumping in and working on Open Source issues. And Yearn allows stakeholders to participate in decision making and voting on proposals.
How Identity Works in Web3
In Web3, Identity also works much differently than what we are used to today. Most of the time in Web3 apps, identities will be tied to the wallet address of the user interacting with the application.
Unlike Web2 authentication methods like OAuth or email + password (that almost always require users to hand over of sensitive and personal information), wallet addresses are completely anonymous unless the user decides to tie their own identity to it publicly.
If the user chooses to use the same wallet across multiple dapps, their identity is also seamlessly transferable across apps, which lets them build up their reputation over time.
How to Build on Web3
I’m a developer who recently transitioned into the Web3 space from a traditional development background. So I wanted to start building to get a sense of what the development experience felt like. And I wanted to get an understanding of the types of apps that we can build today.
I dove right in and decided to document some of the things I was doing in a couple of blog posts. If you are interested in learning more about this space, you can check out these two posts:
How to Get Into Ethereum, Crypto, and Web3 as a Developer – This is an introduction to the space in general, coming from a developer, for developers looking to break into the industry.
The Complete Guide to Full Stack Ethereum Development – This is a tutorial that teaches you how to build out your first dapp.
Software developer, author, Developer Relations Engineer at Edge & Node