Saturday, 8 July 2017

Today we are going to see the concepts include Peer to Peer network, Blockchain, Distributed computing and all the technological concepts behind Bitcoin.

Usually, when we use Facebook or Youtube, the information that we share and upload will go in the hand of Google or Facebook. This information will be stored in their big Hardware (computer), which is called a server. Those servers only protecting our information from getting lost. The owner of the server can access our files if they wish. When we use Youtube or Facebook, our computer becomes a client to their server. Our computer as a client receives information like videos from their server through request or search.

But we can create the same application like Facebook or Youtube etc. without server also. That means we have to connect all the computers that people are wishing to offer as the server where information like videos or photos etc. can exist (with the partial cooperation of every connected computer). Making use of volunteers' computers to act as a server is called 'Peer to Peer' technology. In peer to peer network, all computers perform the same job as a server and also a client. If we request some files using our computer from peer to peer network, other computers act as a server and give the requested file to us and vice-versa. Few popular applications that use peer to peer technology are BitTorrent, Gnutella etc.

Now the latest blockbuster technology is Blockchain. Before looking at blockchain, let us know what the distributed computing technology is. The distributed computing means performing a 'difficult time-consuming task' or 'any task' easily by dividing and distributing the same task to all the volunteers' computers and so each computer do very little part of that difficult task and so that difficult task can be finished easily. And finally, the result generated by each individual computers will be collected back and stitched together to get the proper result. The simple example application for distributed computing is 'sheepitrenderfarm' (which gives the output for blender3d software). It is free and easy to use.

Blockchain technology is the marriage between 'peer to peer network' and 'Distributed computing'. Bitcoin is the first and foremost cryptocurrency application which introduced this technology. Bitcoin program can exist in 'Peer to Peer' with the help of all the volunteers' computers and can also perform tasks like mining. It is not necessary that every volunteers' computers have to perform mining tasks. It's up to the wish of the individual either to give space in their computer for the Bitcoin program to exist or even more space in their computer for the bitcoin program to perform mining tasks also. Since Bitcoin can live well without any owner or server, we can say this application as 'Decentralized application'.

Let us make a look at Blockchain of Bitcoin. Blockchain contains a collection of blocks. New blocks will be added consistently as per the need of new transactions. Each block contains the transaction information and the address of its previous block to collect/check the transaction history (or) account value information of any individual from previous blocks. So this is the conceptual understandable explanation for Bitcoin's blockchain.