Blockchain is one of the top trending topics in 2017. Media tell us that Digital Currencies based on Blockchain e.g. Bitcoin or Ethereum skyrocket. Everyone talks about Blockchain but only a few know what its all about.
Even though blockchain seems to be rocket science, the basics are easy to understand. In this blog post I would like to explain the Blockchain Basics.
Blockchain is the counterpart to the cloud. Information is not stored in one central location (e.g. an SAP Data Center, AWS or Dropbox) but it is stored locally on all clients participating the Blockchain. In easy words Blockchain is a decentralized network. In order to manipulate data hackers have to get access to a majority of the participating clients.
Think about it as a distributed Excel sheet
Everyone knows how Microsoft Excel works. To simplify Blockchain for the cryptocurrency usecase you can think about it like a Excel sheet with three columns. The first column represents the anonymized sender, the second column represents the anonymized receiver and the third column represents the amount being transferred from the sender (1st column) to the receiver (2nd column).
Each participating client has a copy of the Excel sheet. Every single transaction is added to the Excel sheet saved on each client i.e. all clients track all transactions. The Excel sheet does not have infinite resources. Therefore the Excel sheet is sealed after a predefined (block-)size is reached. The process of sealing the block is called mining. Miners use all the information provided in a block plus some additional information and apply a cryptographic function on the data. Only one miner can seal the block. Therefore the miners get a cryptographic challenge. The one first one that solves the challange is allowed to seal the block. The miner gets a reward in form of the cryptocurrency for sealing the block. The result is a series of characters and numbers with a predefined size – a so called the hashvalue.
After the Excel sheet (block) is sealed, a new Excel sheet (block) is started. It is linked with the hash of the last Excel sheet. As a result we have a chain of Excel sheets (blocks) on all clients aka “The Blockchain”.
To use blockchain clients need a piece of software allowing to access the blockchain. In the explanation with the Excel sheet the software is Microsoft Excel. In the cryptocurrency usecase you need a so called wallet installed on your client. The wallet is linked with a keypair representing your user account. The keypair consists of a public key and a private key based on the principles of asymmetric cryptography. No one except yourself knows the identity behind your public key. The public key is visible to all clients in the blockchain network. It is the piece of information that is stored in the sender- or receiver-column in the excel. To conduct transactions you need the private key. If a 3rd party gets access to your private key, they can purge your account.
What is your account balance
Your account balance is visible to all clients as they have the complete transaction log. To determine the account balance you have to sum up all the transaction values where the clients is listed as receiver and subtract all transaction values where the client is listed as sender. To get started with blockchain the client has to exchange money e.g. USD or € into the desired cryptocurrency. This is done via a cryptocurrency exchange.
What happens when you lose your private key ?
When your private key gets lost your cryptocurrency stays in the blockchain but you have no more access to it. This is equivalent to having a safe with money in it and you losing the key. Hence it is vital that you backup your keypair or that you use a hardware wallet or a secure cloud wallet e.g. one with two-factor authentication. If you store your keypair on a local device it is vital to apply appropriate security measures to your device.
I hope that this explanation is easy to understand. I highly appreciate feedback on this blogpost and hope to come up with more blog posts as soon as SAP has released the blockchain service on the SAP Cloud Platform.