Web2 vs Web3
Web2 refers to the version of the internet most of us know today. An internet dominated by companies that provide services in exchange for your personal data. Web3, in the context of Ethereum, refer to decentralized apps that run on the blockchain. These are apps that allow anyone to participate without monetising their personal data.
Many Web3 developers have chosen to build dapps because of Ethereum's inherent decentralization:
- Anyone who is on the network has permission to use the service – or in other words, permission isn't required.
- No one can block you or deny you access to the service.
- Payments are built in via the native token, ether (ETH).
- Ethereum is turing-complete, meaning you can pretty much program anything.
|Twitter can censor any account or tweet||Web3 tweets would be uncensorable because control is decentralized|
|Payment service may decide to not allow payments for certain types of work||Web3 payment apps require no personal data and can't prevent payments|
|Servers for gig-economy apps could go down and affect worker income||Web3 servers can't go down – they use Ethereum, a decentralized network of 1000s of computers as their backend|
This doesn't mean that all services need to be turned into a dapp. These examples are illustrative of the main differences between web2 and web3 services.
Web3 has some limitations right now:
- Scalability – transactions are slower on web3 because they're decentralized. Changes to state, like a payment, need to be processed by a miner and propagated throughout the network.
- UX – interacting with web3 applicactions can require extra steps, software, and education. This can be a hurdle to adoption.
- Cost – most successful dapps put very small portions of their code on the blockchain as it's expensive.
In the table below, we list some of the broad-strokes advantages and disadvantages of centralized and decentralized digital networks.
|Centralized Systems||Decentralized Systems|
|Low network diameter (all participants are connected to a central authority); information propagates quickly, as propagation is handled by a central authority with lots of computational resources.||The furthest participants on the network may potentially be many edges away from each other. Information broadcast from one side of the network may take a long time to reach the other side.|
|Usually higher performance (higher throughput, fewer total computational resources expended) and easier to implement.||Usually lower performance (lower throughput, more total computational resources expended) and more complex to implement.|
|In the event of conflicting data, resolution is clear and easy: the ultimate source of truth is the central authority.||A protocol (often complex) is needed for dispute resolution, if peers make conflicting claims about the state of data which participants are meant to be synchronized on.|
|Single point of failure: malicious actors may be able to take down the network by targeting the central authority.||No single point of failure: network can still function even if a large proportion of participants are attacked/taken out.|
|Coordination among network participants is much easier, and is handled by a central authority. Central authority can compel network participants to adopt upgrades, protocol updates, etc., with very little friction.||Coordination is often difficult, as no single agent has the final say in network-level decisions, protocol upgrades, etc. In the worst case, network is prone to fracturing when there are disagreements about protocol changes.|
|Central authority can censor data, potentially cutting off parts of the network from interacting with the rest of the network.||Censorship is much harder, as information has many ways to propagate across the network.|
|Participation in the network is controlled by the central authority.||Anyone can participate in the network; there are no “gatekeepers.” Ideally, the cost of participation is very low.|
Note that these are general patterns that may not hold true in every network. Furthermore, in reality the degree to which a network is centralized/decentralized lies on a spectrum; no network is entirely centralized or entirely decentralized.