Web3 in Simple Language

 


If you are on social media, you have definitely come across the New Buzz word in tech and internet community — Web3. If not web3, you would have read about MetaVerse or blockchain or Crypto currency etc.

So What are these terms exactly ? Are they same ? Are they interconnected ? And the most important question, are they Illegal ?

While there are many questions encircling Web3 and MetaVerse, not all answers to these questions are same. There are a lot of grey areas in these which needs to be addressed.

I have been studying Web3 since a few weeks now. In this story, I will try to explain an overview of what Web3, Meta Verse or Cryptocurrency is.

Was there a Web1 and Web2 ?

Internet was invented when USA decided it was unsafe for its army to have all data stored in a centralized computer. They invented “APRANET” in 1969 which served as a precursor to Internet we know today. Initial Internet was a bunch of computers connected to each other and served files to each other. It wasn’t until 1993 that HTML was invented and until 1996 that CSS was invented when “Web Design” came into picture. The internet became usable to public.

This was the initial version of internet. The Web1. It required setting up your own servers. Paying internet and electricity bills to power those servers. Hosting a webpage required a lot of technical knowledge about web infrastructure. Ensuring a near 100% uptime was a challenge and a big deal. Traffic wasn’t all luxury for webmasters as that crashed the servers.

With the advent of Operating Systems and Cloud Computing however this changed. Developers can now only focus their time and energy only on Developing the Software. Infrastructure management can now be outsourced to Cloud Service Providers. Two largest of these as we know are Microsoft Azure and Amazon AWS who collectively makes up 90% of Cloud Service Market. Cloud Computing ensured a distributed and on-demand availability of resources. A near 100% uptime became possible. Traffic based upscaling and downscaling became cheap and easy. Cloud Computing Technology powered the Web2 — The internet as we use today.

Web2 and Monopolies of Tech Giants

Facebook and Twitter banned Donald Trump’s account from their platform. Trump asked his followers to follow him on Parler. In the next move, Apple and Google delisted the Parler App from their respective App Stores.

The final blow was given by Amazon AWS when it removed the Parler Website from its infrastructure. The digital footprint of Donald Trump vanished.

As you can see above, the ownership of everyone’s digital footprint today lies in the hands of handful of Tech Companies. These tech companies have been known multiple times for spying on their users, manipulating data for their profits and what not.

Apart from Monopoly of Tech Giants, there is a strong government surveillance on online activities of its citizens. The Great Firewall of China for example, have banned Facebook and YouTube access to Chinese citizens. When India decides to do the same, more than 75% of world’s population would have government restricted flow of information.

These are the problems that Web3 solves using the decentralized approach to internet.

Decentralized File System

The word Decentralized means there is not absolute authority or owner. Everyone is equally responsible and authoritative. As discussed above, in Web1, internet was a bunch of Computer systems downloading files from one another while in Web2, it was a bunch of Computers downloading files from common Servers.

In Decentralized internet, there is no server. Everyone is the server and everyone is a client. If you have used BitTorrent to download movies (Ahem!), you have indirectly used a decentralized file sharing system. The torrent file actually contains a meta data of file and folder to be shared. The files would be broken down into multiple small pieces. The downloader would request file pieces and upon downloading it would save it in the local memory. This chunk of file saved is available for other downloaders to request and download. Hence a BitTorrent client is not only a downloader but also an uploader of same file. More the number of clients downloading a file, faster would be the overall download speed. Also it is important to note that files are no more being downloaded from a common server.

In my Alma Matter, Manipal University, a peer file sharing system known as DC++ was experimented on the university LAN. Students can stream a file and other peers can download the file and then stream it back to other students.

Interplanetary File System (IpFS)

IpFS is an open source project which facilitates distribution of File System in a decentralized manner.

However, there is one very important feature that separates IpFS from decentralized file systems like DC++ or Torrent. It’s the cryptic hashing used while storing and distributing the file.

So the typical file URLs (online or offline) is derived from the path of the file. For example the URL:

https://www.carwale.com/hyundai-cars/venue/price-in-mumbai/

indicates that the page is showing your price in Mumbai for Venue model of Hyundai Cars on Carwale’s server. Same goes for file structure in Computers too. For example a file URL could be

C:/users/anubhav.kumar/somedocuments/mypic.jpg

Here it is important to note that the files served from these URLs are not immutable. As in, the owner (Carwale in case of Price in Mumbai URL and myself in case of “mypic” file) can change the content of the files.

In IpFS however, the file URLs is not determined by File’s path, but by the content of the file itself. A file can be very large file. But when encrypted using a suitable algorithm, it generates a unique hash. (Read about SHA2–256 Algorithm for example). Whenever the content of this file changes, the hash changes are well. And hence the URL will be no longer valid.

For example consider the following Wikipedia page:

https://en.wikipedia.org/wiki/Aardvark

It’s an article about Aardvark. If Wikipedia decides to change the information in this page, the new information will be available in the same URL. In IpFS however, the URL of this file would contain a Hash which is computed from Hash of content of the page i.e the information about Aardvark itself. Consider the following file distributed on IPFS.

https://ipfs.io/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Aardvark.html

Notice the Hash, QmXo….uco ? If the content of this file changes, the hash would no longer be valid. Thus making the information on this page immutable.

The Non Persistence Problem of IpFS

As discussed earlier, in a distributed file system, the responsibility of hosting and sharing the files lies with every client on the network. Every time you download a file, you download them in pieces. You will then upload these pieces to other peers in network as and when they request. If there is no request for a particular file piece for a certain time, you can delete the file piece to clean your storage out. If you do not want to clear a particular piece, you need to “pin” the file.

This means, it is possible that contents of the file can get wiped out forever from the network. In order to save the file forever, the file needs to be pinned. To help with this, IpFS offers paid pinning services.

There is a lot more to IpFS. Delivering the right content, hashing and persisting the file is managed by several complex algorithms. For addressing the file, the IpFS specifically uses Merkle DAG (Directed Acyclic Graph) data structure. I shall be discussing the IpFS in detail in another Story.

Ethereum

If you have tried investing in Cryptocurrency or even read blogs about Cryptocurrency, then you might know Ethereum as one of the Cryptocurrency along with BitCoin, Dogecoin, Tether etc.

But Ethereum is far more than just a Cryptocurrency. Its a complete Web3 infrastructure service in itself. “Ether” is the native cryptocurrency coin of Ethereum which is often misperceived as Ethereum itself.

Analogous to our legacy internet — Web2, which has a backend stack running on servers and a frontend Stack running on client machines, Ethereum has Smart Contracts deployed on distributed Ethereum Nodes and UI which are files served from IpFS.

Just as Web2, running the code requires resources and hence needs to be paid, in Ethereum this payment is done in Ether.

For deploying Smart Contracts, Ethereum has its two language as its native languages — Solidity and Vyper. While there are other languages too that are gaining support for Ethereum. I shall be discussing Ethereum Development in another Story as well.

Meta Verse

Meta Verse is term adopted from a 1993 Science Fiction Novel.

Meta Verse as a technology is a social media using very advance AR and VR capabilities. It is intended to provide a life like experience on Social Media beyond just chatting and sharing images and files.

As a concept, Meta Verse is not Web3. However, to restrict the monopoly of Meta Verse with a handful of tech giants just as social media of Web2, it is expected that Meta Verse shall be based on Web3 Infrastructure.

Using Web3, Meta Verse can use Cryptocurrency to trade beyond boundaries and users can have a real life experience without any corporation’s monopoly or government surveillance.


Comments

Popular posts from this blog

Authentication in Node.js

Complete RoadMap of DSA in 120 ( 4 Month's ) Days

How to write a FACTORIAL PROGRAM in Java using the for loop