Over the course of the last three decades, the internet has become nearly ubiquitous and has revolutionized the computer and communications world like nothing before. From the early ages of circuit & packet switching, to dial-up connections, to our relatively reliable 4G networks and endless options for free public Wi-Fi, the advancement of networked computers and the Internet has enabled a kind of digital paradise never before imagined. However, the Internet is far from perfect, and if we want to build a world where our entire global population has fast, reliable, and affordable access to information, there are a number of problems we need to solve.
The predecessor of the internet was the ARPANET, which was originally created to act as a packet switching network between research facilities. In those early days, the way in which information was transferred between nodes was by way of a Host-to-Host protocol called Network Control Program (NCP). However, NCP did not have the ability to address networks (and machines) further downstream than the destinations Interface Message Processors (IMP’s) on the ARPANET and thus limited the range of interaction and communication between networked nodes.
As the ARPANET expanded and evolved, it soon became apparent that eventually there would be multiple independent networks. First beginning with the ARPANET as the pioneering packet switching network, but soon thereafter to include packet satellite networks, ground-based packet radio networks and other types of networks. An evident conclusion of this multi-network expansion was that the continued evolution of ARPANET, and all connected networks, would best be served by open-architecture networking. As explained by the Internet Society, in an open-architecture network:
“the individual networks may be separately designed and developed and each may have its own unique interface which it may offer to users and/or other providers. including other Internet providers. Each network can be designed in accordance with the specific environment and user requirements of that network. There are generally no constraints on the types of network that can be included or on their geographic scope, although certain pragmatic considerations will dictate what makes sense to offer.”
To alleviate the challenges experienced by NCP, two Internet pioneers, Bob Kahn & Vint Cerf, teamed up to develop a new version of the protocol which could meet the needs of an open-architecture network environment. What they developed was a set of communications protocols, commonly referred to as the Internet Protocol Suite, of which the Transmission Control Protocol (TCP) and the Internet Protocol (IP) are the most widely recognized.
It was through the early development and adoption of these communication protocols that began a series of long-term experimentations to evolve and mature the concepts and technology underlying ARPANET & other networks that eventually morphed into what we now refer to as the Internet.
A seminal moment of this evolution occured on January 1, 1983, in what is known as a "[flag day](https://en.wikipedia.org/wiki/Flag_day_(computing)", when ARPANET changed its core networking protocols from NCP to the more flexible and powerful TCP/IP protocol suite, thereby officially rendering NCP obsolete & marking the start of the modern Internet.
As the Internet began to proliferate, it’s growth was complemented by a major expansion in the global community. A plethora of new organizations, both from the public and private sectors, began developing various projects, protocols, and improvement proposals to advance specific areas of research and development.
One such project, developed by English scientist, Tim Berners-Lee (TimBL), while he was working at CERN was for a global hyperlinked information system based on links embedded as text. The project stemmed from TimBL’s frustrations with the inefficiencies and difficulties posed by finding information stored on different computers.
The problem was apparent, but gaining support for his proposed solution proved to be difficultl. In his book Weaving The Web, TimBL explains that he had repeatedly suggested to members of both technical communities that marrying links embedded as text to the Internet was possible and would solve multiple challenges associated with sharing information on the Internet. But, when no one took up his invitation to collaborate, he finally assumed the project himself.
So, in 1989-90, with help from his colleague (& fellow hypertext enthusiast) Robert Cailliau, TimBL published a formal proposal to build a "Hypertext project" called "WorldWideWeb" as a "web" of "hypertext documents" to be viewed by "browsers" using a client–server architecture.
Commonly known now as ‘the Web’, the World Wide Web (WWW) is an information system where documents and other web resources are identified by Uniform Resource Locators (URLs) (such as https://example.com/), which may be interlinked by hyperlinks, and are accessible over the Internet.
The WWW was significantly different from other hypertext systems available at the time. The Web required only unidirectional links rather than bidirectional ones, making it possible for someone to link to another resource without action by the owner of that resource. It was in this process of marrying hypertext to the Internet that TimBL made a major breakthrough. In the process, he developed three essential technologies:
-
a system of globally unique identifiers for resources on the Web and elsewhere, the universal document identifier (UDI), later known as uniform resource locator (URL) and uniform resource identifier (URI);
-
the publishing language Hypertext Markup Language (HTML);
-
the Hypertext Transfer Protocol (HTTP), an application layer protocol for distributed, collaborative, hypermedia information systems.
HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can easily access. The original vision for the Web was a decentralized, collaborative read-write space. In fact, the first browser (called WorldWideWeb) was also an editor.
Unfortunately, as the development of the Web progressed, the design of web applications began to centralize for a variety of reasons. One of the primary issues associated with the early design of the Web was that the hyperlinks created by HTTP were not bidirectional. The requirement of only unidirectional links rather than bidirectional ones was an intentional decision of TimBL when designing the WWW, as a way to better facilitate the ease of finding information across the Internet.
This seemingly well-intentioned design choice led to an unintentional issue that now plagues the modern Web in that it created incentives that do not accurately identify & attribute the original versions of information and data, and instead rewarded those that have the means to accumulate user data.
There are of course means of identity and access control built into the modern Web, but those reside at the application layer, and not at the protocol layer. What this means is that independent platforms control the identity & access control features, which, through time, has ultimately resulted in user data becoming highly centralized. This centralization of user data is the source of power and income for behemoth internet companies such as FB, GOOG, AMZN, AAPL, MSFT.
The internet as we know it today is dominated by companies that provide services in exchange for your personal data. Additionally, as we have recently seen in countries such as Turkey, Russia, Myanmar, China, Tunisia, Senegal, & many other locations, the centralized Web of today provides central authorities the means to censor data, potentially cutting off parts of the network from interacting with the rest of the World.
In recognition that the modern Web is (1) highly centralized, (2) participation in the network is wholly controlled by the central authority, and (3) that an individual's relationships with network participants change from positive-sum to zero-sum as data extraction occurs, a plethora of new and exciting projects are being developed to correct the deficiencies of the modern Web.
Two of the most exciting projects focused on redistributing the Web are:
-
The Solid Project: is a mid-course correction for the Web spearheaded by none other than Tim Berners-Lee. This project aims to bring your data together into a decentralized data store called a Pod, that is wholly owned and managed by you. In that way, it’s like a personal Web server for your personal data.
-
InterPlanetary File System (IPFS): a peer-to-peer hypermedia protocol designed to make the web faster, safer, and more open. IPFS is a distributed system for storing and accessing files, websites, applications, and data that relies on cryptographic hashing. In this way, IPFS provides a high throughput content-addressed block storage model, with content-addressed hyperlinks.
In future posts, I will dive into both of these awesome projects to further explore the merits and tradeoffs of their approaches. Until then, adiós.