A Blockchain Server: A thought…
As working on blockchain for several months gave several ideas on how we can change the scenario of 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 a 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 on transactions gave us the digital currencies as bitcoin which is permission less but making it permissioned and bringing smart contracts brought Ethereum in the market. Then Hyperledger started by open source community under Linux Foundation for enterprise (of course permissioned) blockchain started modular components based architecture which is still in progress and there are various projects building under it. There are various projects in market working for enterprise graded blockchain leveraging one or another type of blockchains and changing in its architecture according to specific use.
Now coming to the web part, how web technologies were evolved in a span of 20 to 30 years is also interesting. Web 1.0 was the time when CGI scripts generating templated content on a server and delivering to the client in a 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 want to click something, you need to reload the entire page. As the 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 asks the designer to generate a client side application (browser based) 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 replacement of typical content delivery networks (CDN) with distributed hash table (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 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 that much scalable and handles big data efficiently, we can simply query the block by sending a HTTPS request and you get the contents of the block. It doesn’t matter who sees the block as it’s made to be transparent and immutable. But suppose you design a smart contract that delivered 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 of web server. Every single block in the blockchain has the ability to show its own web page. We can design the smart contracts as the chat-bots also. The 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 total distributed architecture with every web page served up using Smart contract. This can be Web 3.0.