Blockchain is a P2P network. But what is a P2P network. We need to have a decent understanding of the computer networks, its types, its components, etc. in order to decode the Blockchain concept better. Lets begin:)
Computer or IT Network
To begin with a Computer or IT Network is a collection of devices also known as nodes or hosts which are interconnected to send/receive data or media. The network also includes devices which help two devices in the network to communicate. These devices are routers, switches, hubs and bridges.
Hence to conclude an IT network has devices which communicate with each other (computers, smart phones, tablets, etc.) and devices which help the first category of devices to communicate (routers, switches, hubs and bridges).
Types of Computer Networks
As you might know or at least heard, there are two types of networks, wireless (Wi-Fi) and wired.
The Wired Network uses the Ethernet protocol, uses wires to connect devices, are faster, but cumbersome to use. We cannot connect our phones and tablets in a Wired Network.
The Wireless Network which was introduced post 2008, doesn’t use wires, are slower but provide the ease of use, as you can connect your laptop. mobile and tablets from anywhere in the range of the network.
In simple terms the structure of the network or the way in which the devices or nodes or hosts (sending and receiving data) are connected in a Network is known as the Network topology. Lets explore the types.
All the computers or the network devices are connected via a single cable.
Though this network topology is simple and cost effective one major disadvantage is that if the cable fails then the complete network fails. Also if the traffic is heavier then the performance of the system reduces.
In this type of network arrangement each node is connected to its two neighboring nodes. The network resembles the structure of a Ring.
- In a network with a large number of nodes, a number of Repeaters are used to prevent the loss of data. For example in a network of lets say 100 nodes if some node wants to send data to the 100th node then it needs to pass through 99 nodes. Repeaters help to send the data without any loss in its content.
- Data passes in a sequential manner that is the data has to pass through each node of the network till it reaches the destination node.
- Cheaper to install and expand.
- Only nodes with tokens can transmit data.
- Failure of one of the nodes disturb the whole network.
- Troubleshooting the network is difficult.
- Adding or deleting nodes to the network impacts the network activity.
Each node of the network is connected to a Central node through a cable. This means each of the node of the network has a dedicated line of connection to the Central Node.
- Every node has its own dedicated connection to the Central node or hub. It can use twisted pair, optical fiber or coaxial cables to connect to the Central Node.
- Hub or the Central node acts as the Repeater via which all the transmissions happen.
- In case of the failure of any one node the whole system is not impacted.
- Easy to troubleshoot, set up and modify. Hub can be upgraded easily.
- If the hub fails then the whole system fails.
- Comparatively expensive to set up and use.
In this arrangement all the nodes are connected to all the other nodes in the network. This means there are n(n-1)/2 connection lines in a Mesh network with ‘n’ number of devices or nodes.
This kind of arrangement is usually found in the wireless networks.
- The network can manage large traffic of data as the network devices can transmit data simultaneously.
- The failure of any one node can not cause the failure of the network.
- Adding or deleting additional devices does not impact the performance of the network.
- The cost of set up is higher.
- Building and maintaining the topology is difficult.
Peer to Peer Network (P2P)
Something like a Mesh topology, in a P2P model (Ex: BitTorrent) each node can communicate directly to any other node in the network. No node is a special node. Each node is a Client and a Server itself.
Client Server Model
In a Client Server network a server has a special role e.g file server, domain controller, web server etc.
A client connects to a server to use the appropriate services.
This is the networking model used on the web and the Internet and on modern large Windows networks.
To understand more about the P2P and the Client server architecture and how are these concepts used in the Blockchain technology please refer to my article here.
The world of Internet is a collection of computers, smart phones, i-pods and other devices (Internet of Things) connected to each other such that they are able to communicate data and files. If a person from India wants to communicate with someone in New Zealand then there should be a common language which both can comprehend well. Likewise with computers and devices in the Internet, regardless of their structure, technology, geography, there should be a common set of rules or protocols in order for them to communicate. These are known as the Network Protocols and are in built in the software and hardware of the devices in the Internet.
Network Protocols are developed by various networking and IT organizations. These are
- The Institute of Electrical and Electronics Engineers (IEEE)
- The Internet Engineering Task Force (IETF)
- The International Organization for Standardization (ISO)
- The International Telecommunications Union (ITU)
- The World Wide Web Consortium (W3C)
In large computer networks, there are usually multiple channels in which data can be shared from the sender to the receiver. This selection of the best route to send and receive data is called Switching.
Types of Switching Techniques
There are two types of Switching techniques followed.
When a dedicated path or route is established between two nodes of the network for sending and receiving data, it is called Circuit Switching. Before sending any data (text, video, audio, etc.) a Call Request for Signal sent to the receiving node which when acknowledged back ensures the availability of the dedicated path.
- Since there is a dedicated path set up, there is no congestion encountered in sharing data between two nodes.
- Long set up time is required before any data can be transmitted.
- Line may be held up for a long time as a request token must be first acknowledged by the receiver before any data is sent to it.
Examples: Circuit switching are generally used in voice and video connections like phone calls.
In this technique the data or message to be sent is divided into smaller packets and the algorithm of the network decides for the most efficient way in which these smaller chunks of data packets can be sent from the sender to the receiver. For example a 5MB of data will be broken down into 5 data packets of 1 MB each. The Network devices (servers, data centers) decide the best route suited separately for each of the packets at the time. The receiver then reassembles the packets to form the complete message.