Hello world!! This is Naveen and welcome to csopensource, Your opensource guide for computer science.
Directly or indirectly you may have came across the term Bitcoin. Yeah Bitcoin took the world by a strom these few years. Bitcoin is a crypto currency through which we can transfer or buy asserts online and coming to Blockchain, It is the technology that runs bitcoin. So Blockchain is the core for Bitcoin . Here comes the thing now “Is blockchain used only for Bitcoin??” The answer is no!! Block chain is very consistent and path breaking technology which is used to built decentralized applications. Trust me Block chain will be the future technology. Many of my friends asked me to tell them how to get started with block chain and i wanted to make a series of articles which will take a person from absolute beginner to advanced . So, in this discussion I will take you through the basics of blockchain and how it is used to run Bitcoin. All the advanced concept will be discussed in later posts.
TO get started will time travel to year 2008 where bit coin started by a person or a group of people like we don’t know exactly. They were with a pseudo name “Satoshi Nakamoto”. There is a big conspiracy theory around this person and we actually don’t want those. Bitcoin is an online currency which works on a peer-peer network also called as distributed network. Here there is no centralized system like the banks we have. The two major problems that occur for these kinds of currencies are
For security we use asymmetric cryptography, But coming to Trust this is the major problem to think about. How can one trust others by just transferring bitcoins which does not have a centralized authority like banks.
How to get started with machine learning:
Here arises the question,
Who maintains and stores the transactions ??
Here comes Ledger, Ledger is the place where all the transactions are stored and here arises another question where this ledger is stored as there is no centralized database ? . Ledger is stored in each and every node in the network. Hell what !!if everyone has the ledger what if they tamper with it ?. Ledger cannot be tampered, Once the transaction was recorded into the ledger it cannot be changed and even if it is changed the information is broadcasted to all the nodes in the network and we can trace them down.
So, Blockchain is a Ledger, Blockchain is combination of nodes that are connected to a peer to peer network where there is no centralized server.
Lets break into Blockchain node:
Block chain Block is a storage unit which can store any kind of data, for Bitcoin its transnational data. This block will be stored in every node so what now if everyone has access to block so they can read contents? No, Every data stored in block chain is a hashed data, Before entering into block chain the data is gone through some hashing algorithms such as MD5. We get a hash key for our data. Length of key is same for any kind of data. For example if we use SHA-256 algorithm it uses 256 bit hash key for all kinds of data. This key is used for accessing your data if any tampering of data results in tampering of key so tampering is easily identified.
Here, the second node will have data of the second node and hashkey of the previous node and this is how the chain is formed. Even if someone tampered with data in node 1 then hashkey for node 1 also changes and node 2 cant find key of node 1 so then link is broken.
Even this is not safe as it looks, There are few fast computing resources which calculate the hashes of all the blocks after tampering a block within a no time.
SO here comes the concept Proof-of-work, This will slow down the creation of new block and give a proof of work time. like in the case of bitcoins it is 10 min So new block cannot be added until proof of work is successful. So even the block is tampered it takes proof of work time to get into network. so Block chain is now more secure.
All the advanced concepts will be discussed in the coming articles.