← All posts

A Blockchain Server: A thought...

·4 min read
technologyscience

Working on blockchain for several months gave me several ideas on how we can change the scenario of the web and how any use case can leverage the concept of trust and immutability in distributed systems. There are various aspects of blockchain that we can think of as separate use case material, and every component building a blockchain can also be altered to give us a solution to a very specific problem.

The immutability and trust in transactions gave us digital currencies like Bitcoin, which is permissionless. Making it permissioned and bringing smart contracts brought Ethereum into the market. Then Hyperledger, started by the open source community under the Linux Foundation for enterprise blockchain, introduced a modular components-based architecture which is still in progress with various projects building under it. There are various projects in the market working for enterprise-grade blockchain, leveraging one type or another and changing architecture according to a specific use.

Now coming to the web part -- how web technologies evolved in a span of 20 to 30 years is also fascinating. Web 1.0 was the time when CGI scripts generated templated content on a server and delivered it to the client in final form. This was a monolithic centralized model. However, this basic form of interactivity was a huge improvement over the basic post-and-read format that comprised much of internet content at that time. It was the time when you wanted to click something, you needed to reload the entire page.

As browsers got advanced, there were experimentations with AJAX calls, allowing us to asynchronously perform actions without having to reload the whole page. This movement to separate content from presentation, given by CSS, pushed the web to Web 2.0. Today we are dealing with front-end technologies like Angular.js and React.js which ask the designer to generate a client-side application with specific holes to be filled with some type of backend. This is a step towards Web 2.5 only.

Web 3.0 is yet to come and can be expected to deliver technologies which provide the notion of separating content from presentation by removing the need to have servers at all. Web 3.0 will deliver a pure decentralized internet. You can think of it as the replacement of typical content delivery networks (CDN) with distributed hash tables (DHT) pointing to file blobs, much like how BitTorrent works.

We can use the ledger qualities of blockchain to implement Web 3.0. Smart contracts are a very powerful component of blockchain and they can be leveraged for massive internet disruption. We can give a block in the blockchain its own URL. It can have its own IP address. If in the future blockchain becomes scalable enough and handles big data efficiently, we can simply query the block by sending an HTTPS request and get the contents of the block. It does not matter who sees the block as it is made to be transparent and immutable.

But suppose you design a smart contract that delivers up the data in the block formatted in HTML whenever you query the block. We have created an effective and efficient data layer and presentation layer. And the big part is -- we have eliminated the need for a web server. Every single block in the blockchain has the ability to show its own web page. We can design smart contracts as chatbots also. Smart contracts can be the heart and soul of the blockchain and they can revolutionize web apps, mobile apps, and enterprise applications. And since we need public and private keys to interact, we can securitize the whole application.

We have a total distributed architecture with every web page served up using smart contracts. This can be Web 3.0.