Blockchain is a public ledger.
A ledger in accounting terms means you record all your transactions there. In a blockchain, transactions are stored in blocks, and those blocks relate to a link to its previous block. As new transaction happens, blocks grow, and hence the chain grows.
Blockchain has the following characteristics
It uses Asymmetric cryptography for user security and a consensus algorithm for ledger consistency.
Blockchain is a chain of blocks as shown in the above diagram. It is an overview diagram of typical blockchain architecture.
Let us see the characteristics of a blockchain now.
A block contains a block header and block body. In the block header, we have the following.
Block Version — block validation follows a set of rules, and this indicates the version of that rules to follow.
Merkle Root Hash — is the hash of all transactions that get stored on a particular block.
TimeStamp — current time.
nBits — the threshold of a valid block hash.
Nonce — a 4-byte field is called nothing and usually starts with 0. Then increases with every hash calculation.
Parent Block Hash — a 256-bit hash value that points to the previous block is also called a parent block.
The block body consists of transaction counter and transactions. The actual size of the number of transactions stored in a block depends on the block size and size of each transaction.
Asymmetric cryptography is used to validate the authentication of transactions. A digital signature based on the asymmetric transaction is used for this, let us see that next.
Each user will have a private and public key. The private key should be kept safe it is used in signing transactions. Digitally signed transactions are broadcasted across the blockchain network.
This signing is a two-phase activity, Signing, and Verification.
For example, user A wants to send a message to user B, then A encrypts the data with his private key and sends the encrypted result with the original data.
User B then verifies the encrypted value with user A public key. By doing this, user B can check whether the data has been tampered with or not.
Characteristics of Blockchain:
Decentralization — Blockchain’s core principle is there should be no single point of authority. To maintain data consistency in a decentralized network, blockchain uses a consensus algorithm.
Persistency — All transactions will be validated quickly, and once a transaction is stored in a block, there is no way to delete or rollback that transaction. Any tampering or malpractice can be easily identified by miners and rejected.
Anonymity — Users can interact with the blockchain using a generated address for them, which will hide their identity.
Auditability — To conduct a transaction price should be paid. Every user will have unspent and spent details based on their transactions. Once a transaction is added to a block, an amount will be moved from unspent to spend and this helps in auditing transactions.
Types of Blockchain:
There are three types of blockchain today. They are public, consortium, and private blockchain.
As the name denotes, public blockchain is where everyone can participate in that blockchain network. In the consensus process, every node will participate. All transactions are visible to all. Since transactions are stored in a large number of blocks tampering is impossible. When it comes to efficiency, public blockchain is not that efficient as it needs to propagate records across very large participants.
This is a blockchain network that is created by two or more organizations. So only those who are allowed to join this network will be able to join, hence this is not 100% decentralized. When it comes to records access, it depends as to whom organizations have given access will be able to view transactions. When it comes to security, data can be tampered with because of the limited number of participants. These are efficient due to the same point of few members. Consensus will happen with designated nodes agreeing on the transactions.
A single organization can create a blockchain and add entities that are related to its business. There will be a single point of authority, the organization that has created this network, and records access is also decided by the single authority the same goes for consensus also. A private blockchain is efficient but not tamper-proof due to the limited number of participants.
Right now, the IBM HypherLedger framework provides features to create consortium or private blockchain.
We have covered a lot in this article. Do not worry if you don’t get certain keywords, or concepts, one by one everything will be covered in the subsequent sections.