By: Akash Takyar
Blockchain is a chain of data blocks, containing time-stamped digital records. Initially described by a group of researchers in 1991, this technique was intended to timestamp digital records so that no one could backdate or tamper them. The Blockchain concept went unused until Satoshi Nakamoto revived it again in 2009 to create a digital cryptocurrency, Bitcoin.
A Blockchain is a set of technologies and processes (protocols) that allow a master database of all transactions (ledger) to be stored, processed, and updated by all members (nodes) where communication can be independently coordinated between nodes (peer to peer – P2P) and all transaction data is verified by multiple trusted members or processors using an agreed (consensus) algorithm which can be added and linked to other blocks in database (hash cryptography) .
Figure 1 shows that a Blockchain Contains Ledgers (Databases), Nodes (Processing), Direct P2P Communication (Internet), Consensus Process (Majority Approval), and Hash Cryptography (Irreversible Security). In this example, a data transaction is submitted to multiple nodes for validation. When a majority approval consensus is achieved, it is added to the ledger database in a new block which is linked by a hashcode to the previous block. This new block is copied (synchronized) to all the databases at the other nodes.
Distributed Ledger Technology (DLT)
A blockchain contains a database (ledger) which holds all the transactions that are part of that Blockchain. The ledger is a master database that holds all the transactions in the Blockchain and each processing node maintains a full copy of the database. The full database is made accessible to all nodes in the Blockchain.
Blockchain nodes are computers that maintain an updated copy of the ledger (transaction database). Some nodes have ledger mining capabilities to find, validate, and create new blocks that can be added to the Blockchain database (ledger).
Peer to Peer Communication (P2P)
Blockchain communication is independent direct peer to peer (P2P) which allows each node to discover and synchronize its ledger information with other nodes. All nodes do not need to be connected all the time. When nodes are connected or reconnect, they must gather (synchronize) with other nodes to get the latest blocks to be able to process new transactions.
Consensus protocols are used to gather, validate, and distribute (add) transactions to the participating nodes. The consensus protocol is managed by software that is stored in each node. To change the consensus software program (transaction validation rules), a majority of nodes must agree. If a change is agreed by a majority, the consensus protocols on all nodes is updated. However, it will result in creating a new branch or fork of a new Blockchain.
To protect data in a Blockchain ledger, each block of data is linked to the previous block using a Hash code (fingerprint). Because each block in the Blockchain is linked to the previous block and nodes in the Blockchain have copies of all transactions, change of data on any block will result in change of the calculated hash and eventually invalidate the hash code.
The data recorded in a block depends on the blockchain type. It can be coin value (such as Bitcoin wallet value) or it can be measurement or transaction data (such as data from a Smart contract).
Types of Blockchains
There are three types of blockchains; public, private, and permissioned.
A public blockchain allows any user to become a member of the blockchain network. Since the data stored on blockchain is accessible to everyone in the world, anyone can have the right to read and write data. A public blockchain is completely decentralized as the permissions to write and read data are shared by all involved nodes equally who reach consensus before data gets stored on the blockchain.
For a private blockchain, only the owner of the Blockchain can control the permissions to send, write and receive data. Private blockchains can only have a few users who are allowed to access and perform transactions on the blockchain network. Only, the organization that has all controls can change the rules of the private blockchain and cancel transactions based on the deployed regulations.
A permissioned Blockchain (also called a consortium Blockchain) can be a hybrid model between highly-trusted entity model of private blockchains and the low trust offered by public blockchain. Rather than enabling any user to participate in the validation of the transaction process but in a consortium blockchain, a few selected participants are predetermined.