On the internet, the most common way computers talk to each other is through a fairly standard relationship; a client sends a request to a server, the server responds with a bit of data.
Some people see this as a central point of failure. There are many times more clients than servers, so if a server goes down, say in a Denial of Service attack, that's it. Until the denial ends, the server will be down.
Others see it as monopoly, which in many cases it almost is. Ask most people to name a micro-blogging service other than Twitter or Facebook, you won't get many responses. And ask a computer scientists how files are transferred, they may point you towards some variant of FTP, still with that client-server paradigm.
The solution? According to many, it is to decentralize the services and spread them out over more systems. This has effectively been done with how e-mail is handled. Today, there are three key approaches to decentralization we see and hear about.
The first is blockchain technology, where multiple nodes hold a common ledger, usually of cryptocurrency transactions but also possibly of parseable, workable data.
The second is federation. This is where, usually, a common source code for a special web server is installed that communicates back and forth with other servers. Examples of this include Peertube and Mastodon.
The third, and least well thought of, is peer to peer technology. This is where every computer on the internet effectively talks to however many others as part of a larger service. The most common implementation of this is the BitTorrent protocol, which aggregates the bandwidth of however many "seeders" and uses that to speed up the download of files.
In conclusion, there are many proposed solutions to the problem of "the common point of failure". In my own opinion, I think federation has the best shot, since it is a middle ground between full decentralization and some level of spreading the service load.
Comments
Post a Comment