Madhavan Malolan

Posted on Dec 31, 2021Read on Mirror.xyz

Explaining Web3 tech to a Web2 engineer

from a conversation with abhilash

A question we get asked again and again and again is what is web3 and how is it different from web2?

Open database

Balaji S tweeted about blockchain being a database where everyone is a master. This is a database where everyone can read the database, it’s open by design. And, also anyone can write to the database too. But the write is protected not by user roles but by rules written in code. As long as the write passes the rules written in the code for that application - anybody can invoke a write command.

Payable keyword

Money and money management is a primitive in the programming language (Solidity). Just like you have visibility modifiers like public, private etc., you can have an additional modifier to functions you write in Solidity to have a modifier called payable that enables functions to accept payments. You don’t need any external APIs or security measures to accept payments - making it a great fit for creating finance applications.

API First

The reason Ethereum was successful IMO was that it was inherently composable. Unlike in web2, where you build something and then expose APIs to make your stack composable, here your software is composable the moment you deploy it. Being able to use your software to build more interesting projects on top is not an afterthought, it is not possible to write code that cannot be used by other softwares.

Every software that you write, is an API that another software can use immediately. People have built 200+ games on top of loot project within a week of launch of the Loot Project NFTs.

This is an API you can be sure will never be shut down, because a software once deployed cannot be changed. There doesn't exist a primitive called "update deployment". So once a software is deployed, you can always look at the code and be sure of what it does - and that it will never change. Ever. So you can safely make business level bets on software that others have created without having to worry about the underlying layer changing making your project irrelevant (as has happened with many apps built on Twitter and Facebook APIs).