Blockchain Leading towards development of Web 3.0
The invention of Bitcoin and Blockchain technology creates the foundations for the next generation of software applications. The applications which run on peer to peer network models with existing network and routing protocols. The applications where centralized Servers would be obsolete and data will be controlled by the entity whom it belongs, i.e., the users.
The decentralized nature of data distribution and effective peer to peer sharing of Blockchain inspires the development of a World Wide Web the way Sir Tim Berners Lee imagined. The internet controlled by people, not centralized entities such as Government or regulators.
History of Blockchain
The invention of Blockchain came to the mainstream after the boom of the Bitcoin in 2018. Bitcoin was at its peak at around $20,000. The technologies that power the Blockchain network is not something new. These concepts were researched and developed during the ’90s.
Techniques, such as proof of work, peer to peer network, public key cryptography and consensus algorithms for distributed computing which powers the Blockchain have been researched and developed by various universities and computer scientists during the ’90s. These algorithms and concepts are mature and battle-tested by various organizations. Satoshi Nakamoto combined these technologies and ideas together and built a decentralized, immutable, peer to peer database primarily used for financial purposes.
Initially, we all thought that Blockchain is suitable only for cryptocurrencies and not for other applications. This thought was challenged when Vitalik Buterin developed the Ethereum cryptocurrency with a new Smart contract feature. Smart contracts changed everything. The ability to code your own application and run on top of Blockchain was the answer to critics who thought that Blockchain is only for currencies.
“Cryptocurrency is a small subset of the Blockchain, like the Email of the internet.”
The smart contracts open up the wave of new applications. The viral game crypto kitties showcase how Blockchain can handle large end applications such as games.
Smart contracts are written in Solidity language and can be executed on the Ethereum network. The protocol and design of Etherum inspired the engineers to build an open source and Blockchain agnostic platform to build decentralized applications.
As I have mentioned earlier, Etherum smart contracts were among the first such technology that can be used to program the decentralized applications. The issue was that smart contracts were written by keeping transactions or money in mind.
Developers need multiple tools to build a full-fledged web application such as storage (database, files, index, etc.), message queues or event queues to facilitate communication. Etherum addresses these problems by introducing Ethereum Swarm and Ethereum Whisper projects.
As you can see in the diagram above, With Etherum Smart contracts for writing contracts and swarm to store files that can be associated with contracts. To make the decentralized apps communicate with each other, Whisper can be used. All of these can run inside the decentralized browser such as Dbrowser.
Swarm is a distributed storage platform for an Ethereum stack. The core objective of Swarm is to provide decentralized storage for Ethereum public records. Swarm is supposed to save the DApps code base and data associated with it. Swarm allows public participants to pool their storage and bandwidth resources to make the network robust and get paid in Ethereum incentives. Fair deal.
Ethereum whisper, in a nutshell, is a protocol for DApps running on Ethereum Blockchain to communicate with each other, similar to message queues or event queues. Whisper provides low-level API’s to support communication between DApps. You can learn more about it here.
However, do you sense the limitations here? Well, the main issue is that this is entirely Etherum agnostic, i.e., all apps are written and run on top of Ethereum Blockchain. This change will increase the size of the chain significantly, and scalability will be an issue.
Other than scalability, adaptability will be an issue as well. We need a smooth shift from the centralized web to the decentralized web. A shift where masses do not need to change everything for the sake of the decentralized web.
This is where our new protocol comes in, called the IPFS (Interplanetary file system) stack by Protocols labs.Protocols labs are dedicated to building the decentralized web which runs in parallel to TCP/IP stack. This will make the shift from existing web to web 3.0 very smooth, and the masses do not need to make a significant change to use the web 3.0.
Check out the stack.
The IPFS stack is divided into three essential layers:
Networking layer: This layer provides the modular stack which one can use to build a peer to peer network in conjunction with existing protocols such as WebRTC or any new transport layer protocols. Hence, Libp2p is transported agnostics.
Data definition and naming layer: This layer provides the provides a unified namespace for all hash-based protocols.
Data layer: This layer uses IPFS to provide data related services.
Decentralized web or Web 3.0 is the future. There is a need to design a robust, secure and peer to peer network to tackle the issue in the existing web. Etherum and IPFS are leading the path to develop the development suite for developers like us to start developing core applications that are needed to make a smooth transition from the existing web to the decentralized web.