Building Blocks — Part 2.2
What is the Internet? — Part Two
Blockchain is part of a new set of technologies collectively called Distributed Ledger Technology (DLT). DLT adds an entirely new infrastructural layer to the internet which allows the transfer of value rather than just information. To understand Blockchain, we first need to understand the internet.
In the late 1960’s the U.S. Defence Department funded the development of the Advanced Research Projects Agency Network (ARPANET). Its initial purpose was to link computers at Pentagon research institutions over telephone lines. At the height of the cold war, the military was seeking a computer communications system without a central core; with no headquarters or base of operations that could become a central point of failure should there be an enemy attack. Robert Khan, working at the government agency overseeing the project, described the problem as “needing a way of controlling the network from the computers that are connected to it.” Khan began working with Vint Cerf, of Standford University, on a solution where they did not want any one machine to have more control than any other*. They wanted all sorts of machines on the network, computers on mobile vehicles, ships, aircraft and fixed installations, all operating in a decentralised manner.
In May 1974, Vint Cerf and Robert Khan published the design of something that became revolutionary: The TCP/IP Internet Protocol. A protocol is an agreement between two communicating parties on how communication will proceed — it is like manners. When a person greets another person by extending their arm for a handshake, the normal response it to shake the person’s hand. Violating the protocol will make communication difficult if not impossible. In computing, protocols specify the standards for communication and provide detailed information on processes involved in data transmission. Such processes include Type of task, Process nature, Data flow rate, Data type, and Device management. The TCP/IP protocol functions across many disparate networks and connects to all kinds of machines and its conception is widely regarded as the birth of the internet.
The Internet
TCP/IP decentralised communication over a computer network. However, it wasn’t until web browsers were introduced in the early 1990s that widespread use of the protocol took place. The Internet is now a computer network that interconnects billions of computing devices throughout the world. Strictly speaking, the internet is a network of networks — encompassing home networks, enterprise networks, mobile networks and so on. The internet is made up of both hardware and software. Hardware being desktop PCs, workstations, smartphones, laptops, gaming consoles, home appliances and more. Software is what allows the information to be presented to us, via web pages, email, streaming videos etc. With such complex architecture, understanding how the internet works can at first seem unfathomable.
In computer science, network architecture is organised as a stack of layers — this reduces complexity and allows designers to build software or hardware that can be specific to a single layer while maintaining co-operation to layers above and below it. When a layer on one machine carries a conversation with the same layer on another machine, it is a protocol that determines the rules and conventions of the conversation. The protocol will be distinct to that particular layer.
Protocols & Layers
A protocol defines the format and order of messages exchanged between entities, as well as the actions to be taken on the delivery of a message. The purpose of each protocol layer is to offer services to the higher layers while hiding from them the details of how the services are provided. A single process can be handled by more than one protocol simultaneously. The ‘protocol stack’ is the list of protocol layers used by a particular system. Hundreds of different computer network protocols have been developed each designed for specific purposes and environments, however, the base technologies have remained unchanged (i.e. TCP/IP).
IP (Internet Protocol) acts as a unique postal address that allows any device to identify itself on the internet. The Transmission Control Protocol (TCP) adds the capability of being able to send data in one or both directions between two endpoints. The two protocols are almost always paired together and are known as TCP/IP. Applications on the internet have sometimes implemented their own protocols on top of TCP/IP. For example, HyperText Transfer Protocol (HTTP) is used by web browsers to communicate with web servers. Whole suites of protocols work together to provide us with the internet experience we see today — such as email, search engines, web pages and other internet services.
In general, higher level protocols interact more closely with applications like web browsers, while lower level protocols interact with network adapters and other computer hardware. A group of network protocols that work together at higher and lower levels are called a Protocol Family. Students of networking traditionally learn about the ‘OSI model’ that conceptually organises network protocol families into specific layers for teaching purposes.
The seven layers of the OSI reference model are the application layer, presentation layer, session layer, transport layer, network layer, data link layer, and the physical layer. The OSI model took shape when the internet protocols were in their infancy and remain conceptual rather than the protocol stack most commonly used. The Internet protocol (TCP/IP) stack, shown in the diagram, is only five layers.
The five layers functionally equal the same as the similarly named OSI counterparts.
The Missing Layers of the Internet
The Internet protocol stack is missing two layers — the presentation layer and the session layer. The presentation layer is to provide services that allow communicating applications to interpret the meaning of data exchanged. This includes data compression, data encryption, and data description/format. The session layer provides for synchronisation of data exchange, including the means to build a checkpointing and recovery scheme.
The fact that the internet lacks these two layers found in the OSI model means application developers need to decide if the services those layers provide are essential and to build that functionality into the application. Therefore, it is now common that there is no distinction between the presentation or session layers with the application layer. For example, HTTP, generally regarded as an application layer protocol, has presentation layer aspects. A web-conferencing application is an example of using the session layer, in which streams of audio and video must be synchronous to avoid lip synch problems and ensure visual integrity.
Distributed Ledger Technologies add further new protocols on top of the internet stack. In part three of “What is the Internet?”, we will build on the concept of protocols and layers, leading to how Blockchain works ‘under the hood’.
*Robert Khan and Vint Cerf “did not want any one machine to have more control than any other”.
The physics of information betrays this design principle. As the internet has grown, ‘control’ has escaped the boundaries of hardware and software and into the hands of those who own information. The internet was designed to be decentralised, but the data carried on it has become trapped in centralised silos (data centres), creating ‘information monopolies’. Now the internet is increasingly controlled by only a handful of companies, who record everything we watch, read, write and transact on it.
References
Bob Kahn, the Bread Truck, and the Internet’s First …. https://www.wired.com/2012/08/bob-kahn-internet-hall-of-fame/
Andrew S. Tanenbaum, David J. Wetherall
Computer Networks, Fifth Edition, 2014