Evolving architectures
The evolution of the web has had a lot of airtime with all of the discussions around Web3. However, there are also some key technological trends that whilst haven't moved in lockstep with the evolution of the web, they have provided the plumbing that enabled the web to thrive. I’m talking about client-server architectures, smartphones and cloud computing.
During the 1960s and 1970s, large, expensive mainframe computers were the mainstay of organisations that wanted to use computers. They were far too expensive for individuals to own, and it was only well-funded organisations that could afford to invest in the cutting-edge technology of this era.
Terminals were used to connect with them, however, resources were very scarce, and the UNIX operating system was developed to provide better time sharing access to these platforms.
During the late 1970s, the personal computing era began and coupled with the emergence of UNIX workstations, we saw client-server computing gathering momentum. Instead of having dumb terminals talking to mainframe computers, work started to be split between a client and a server machine.
This model was heavily adopted by businesses where the client machine had enough grunt to perform work locally, and the server could be used to manage clients and perform more heavyweight tasks.
The client-server model continued to grow during the following decades, driven initially by the success of Microsoft’s Windows platform, and then Linux. Accompanying this we've seen a gradual industry-wide shift away from high-performance computing hardware to low-cost commodity hardware being used more and more to power the vast majority of computational needs of organisations.
In the 2000s, two further major trends emerged. The first of these was built upon virtualisation technology. Virtualisation technology is a type of software emulation that enables you to run a computer operating system on top of another computer.
Although Amazon did not pioneer this technology (VMWare holds that accolade) they created their general-purpose platform for launching virtual machines — Amazon Web Services which went on to power many of the tech unicorns that emerged during the following decade.
Cloud computing massively reduced the barriers to entry for firms to launch web-scale (millions of users) products. Prior to the cloud, you had to build and manage your own servers either in your own or someone else's data centre, which was time-consuming and expensive. It also wasn't something you could do quickly, doubling or tripling capacity could take weeks or even months.
Cloud technology completely removed the infrastructure management complexity and allowed infrastructure services to scale up as well as down at the touch of a button. This enabled web businesses to thrive and removed the competitive advantage large organisations previously had with their own dedicated data centres and infrastructures.
The other trend that emerged was the arrival of the smartphone, starting with the iPhone. There had been smartphones and productivity devices before this point — the Blackberry, and personal digital assistants (PDAs) such as the Palm Pilot.
However, they'd always offered a cut down version of the web. You had protocols such as WAP that were designed for mobile consumption of websites, rather than simply providing a native web experience that was on a par with what you saw when using a computer.
The iPhone rewrote the rulebook as far as what the web-browsing experience should be like on a mobile device, and with it redefined the smartphone. The subsequent smartphone revolution brought billions of users online, and we're now at a place where over half of all online activity takes place using a smartphone.
Cloud technology was the backbone that allowed smartphone adoption to thrive. With the millions, then billions of new users coming online, it was the highly scalable back-end services provided by cloud infrastructures that underpinned it all, allowing new products and services to come to market.
Most of the web-based services we use today use these same cloud back-ends, whether these are for social networks, software as a service (SaaS) platforms, or API based services. One can view it still as a client-server model, where there is a centralised service residing on the cloud servicing all of the client requests.
This brings the downside of silos of data being built up across different products and services with the service provider being the one that benefits from being able to harvest the data being generated by its users.
Centralised gateway Web3 services such as cryptocurrency exchanges use similar architectures to host their users, providing plumbing to decentralised networks on their platform.
The decentralised Web3 services, such as public blockchains do not rely on client-server architectures. They rely upon peer to peer connectivity (P2P) between network participants. This approach, popularised with file-sharing applications such as Napster and BitTorrent treats participants on the network equally, and this is a core tenant of decentralisation with Web3 services.
So where does this leave us with respect to the evolution of architectures as we transition to Web3? The client, be that a computer or smartphone will remain, it is in the back-end that the technology will evolve.
The most Web3 aligned view will be that clients talk directly to Web3 networks, which is what already happens if you're using your own cryptocurrency wallet and want to send funds to someone else.
However, there are limits to what can be achieved with pure Web3 applications, as blockchains cannot store large volumes of data, nor are they as performant as dedicated databases. In addition, most people do not want to have to run their own peer on the network (which access to the network is performed via), so are happy to pay for a service such as Alchemy or Infura to take care of this for them. This applies even in the use case of sending cryptocurrency that I've just mentioned, it's very tempting to use a service provider in the mix.
As such, as I've previously argued, we will likely see a hybrid approach emerge, where value-added services are built on top of Web3 platforms to take much of the complexity away from users, rather than there being pure Web3 services.
This means you'll likely end up with the following architecture for the majority of Web3 services, where Web3 is the back-end that sits behind the server your client talks to.
Client (smartphone/computer) -> Server (Cloud service) -> Web3 network (blockchain)
It's important to recognise that there will be assets that reside on the Web3 networks that belong to the users, and for this reason, users will be able to migrate between different services with far lower friction then is currently possible.
This shifts the power in the relationship into the hands of the client, as the service provider, does not own the underlying Web3 assets, the client will. Hence client-server architectures powered by cloud computing will remain, but users will exert more control in the relationship than they do currently which is likely to result in greater standardisation in the provision of Web3 services, which is a good thing for everyone.