Blockchain is defined as distributed and decentralized technology used for data management. It stores data securely. It has a number of properties that make it trustworthy for keeping the records safe. It is composed of cryptographically secure blocks of information. Each process that is done using blockchain technology is stored in the form of transactions in a block. It is a kind of database where a user cannot edit or delete a transaction but can read, append and validate the data.
It is any computer that keeps the copy of the whole blockchain and can participate in the network to make transactions or to mine blocks.
Information is exchanged between nodes on a P2P network. All the necessary details about the information like its sender, receiver, and time are transferred in the form of a file. This information exchange is termed a transaction like in Bitcoin it is the transfer of cryptocurrency from one node to another.
All the transactions are grouped in the form of blocks. Each block has two main components 1) Block header 2) Block body. Block header further contains the following information like Hash of the previous block, nonce, time, root hash of the Merkle tree, Current difficult level, and version number. Block body contains all the transactions.
It is an ever-growing sequence of blocks. These blocks are cryptographically linked. Each new block is appended at the end of this block and by doing so it becomes a permanent part of the blockchain.
It is an application by which users interact with blockchain to make transactions. These are named as DApp (Decentralized applications). These applications are installed on the user’s computer according to the type of blockchain platform. Many platforms are available for the development of these applications like Ethereum, Hyperledger fabrics, and many more. Ethereum uses the term smart contracts for them. Hyperledger calls them chain codes. Users are able to spend cryptocurrency to make transactions or to perform other activities according to the context of applications.
These are the specific nodes in the blockchain which put all their computational power and time to validate a block of transactions to make it part of the blockchain. They solve mathematical problems (puzzles) to do this task. When a miner is able to mine a block then other miners stop working on that block and put their powers to mine the next block so that they can earn the record.
This technology does not use any central authority to validate the transactions because there are rules defined to this task automatically. These rules are termed consensus algorithms or protocols. These rules are defined by all the nodes as the agreement so that a block can be made a part of the chain.
Blockchain transactions are validated and trustworthy due to the complex computation and cryptographic proof among involved parties. Public key cryptography is used for the secure operations of the blockchain. Users install an application known as a wallet to perform transactions. Private keys and digital signatures make transactions reliable and secure. By using a public key anyone can send transactions to a user.
Any records made in blockchain cannot be updated or deleted. It is impossible to change transaction data once it becomes part of the blockchain. A new transaction is generated to make changes in the previous transaction. The data about the previous transaction still exist in the chain. Tampering of data is not possible because this data exists on all the nodes participating in the network. A history of each and every transaction is made in this way.
This property shows that it is possible to track the origin of every transaction inside the blockchain ledger. Because each and every record is kept in the form of blocks and it can never be deleted. History is maintained and whenever there is a need to find the information about a certain transaction, it is available at hand.
Blockchain is decentralized in terms of nodes participating in the network. These nodes can be anywhere in the world. They just need a full copy of the blockchain and certain soft wares like wallet and DApp to become part of its network. Blockchains have enabled people to come up with systems that do not rely on a centralized third party to keep money safe. As there is no central database, it is not possible to hack the system to get sensitive information from people with bad intentions. Proof of work is one of the famous consensus algorithms used today. It uses computational power to solve the puzzle so that a block can be made a part of the chain. More computational power means more chances to mine the block and get the reward.
Each node in blockchain makes participation using an address. His/her original credentials are never revealed to other participants thus making them anonymous to the world.
It is transparent as history is maintained. Information about all the transactions is publically available.
A public blockchain is a distributed and public ledger, which maintains the records of all the transactions. It is a decentralized network and it does not require a central third party to verify all the transactions and other procedures. Therefore, it creates trust in a network through a consensus mechanism.
Anyone can become a participant in it by submitting a transaction. They are not required to trust each other. It is trustless since the central authority is involved.
Transactions are publically available and anyone can view information anytime, anywhere. When a transaction becomes part of a chain then there is no way to delete or update that transaction unless a node has most of the computational power in the network. Blocks are appended at the end of the chain without any conflicts due to the consensus mechanism.
All the nodes have the same blockchain structure across the network. Computational power increases when more miners join the network. Sometimes, miners start to leave due to some reasons, then computational power decreases. These permissionless blockchains are slow due to a large number of participants and transactions. It requires a lot of time for the network to come to a point so that a transaction can become a part of the block. Proof of work uses a lot of electrical power to do cryptographic tasks. Bitcoin uses as much electricity as it is used by the whole of Ireland.
A single organization is used to control the whole network. This organization decides the rules for all the participants and how to reach the consensus. A single entity controls access to the blockchain. This type of blockchain has fewer nodes and miners as compared to the public blockchain. It processes transactions with more speed. Organizations decide which nodes will become part of the network.BFT is the famous consensus algorithm.
Central authority should be trustworthy so that so the authentication process is done fairly. Additionally, the validity of records cannot be independently verified. If most of the nodes agree to act badly then they can gain control of the network. A private network is much more vulnerable to the risks of hacks and data manipulation. This type of blockchain leads to centralization which is tried to be avoided in this technology.
This type of blockchain is known as a semi-decentralized blockchain. A consortium blockchain is not granted to a single entity as a private blockchain; rather, it is granted to a group of approved individuals. Moreover, a consortium blockchain is a group of pre-defined nodes on the network. Therefore, consortium blockchains provide security that is inherited from public blockchains.
This decided by the consortium whether read or write permissions would be public or limited to the network participants. Also, the restriction of consensus to a set of nodes does not guarantee immutability and irreversibility, since control of the consortium by a majority can lead to tampering with the blockchain
Comparison of types of blockchain
|Efficiency||Low||High||High||There is a large number of nodes in the public blockchain. Transactions and blocks propagate slowly in the public blockchain. Transaction throughput is very low in the public blockchain. Private and consortium chains contain a relatively small number of nodes which results in high transaction throughput. These transactions are propagated and validated in less time.|
|Scalability||Low||Medium||High||As there is a large number of nodes in a public blockchain, transactions get clogged in the network. Transaction throughput is low. Private blockchains is more scalable due to the high rate of transactions and extending its network of validators is easy. Scalability varies in public blockchain as anyone can become a part of it or leave it anytime.|
|Time complexity||High||Medium||Medium||Time complexity will be high in public blockchains as a large number of nodes will be validating the transactions. One organization is responsible for validating the transaction which results in a medium level of time complexity. The same is the case for consortium blockchain.|
|Portability||Low||Low||Low||Application portability is low in all types of blockchain. When underlying technology collapses then applications running over these are not portable from one blockchain to another. Because each blockchain uses a specific type of middleware that provide their own application programming interfaces. Applications are also written for specific middleware. Hence it becomes difficult to port applications between different middlewares.|
|Reliability||High||Low||Low||Public blockchains are considered more reliable as full copies of the blockchain ledger are maintained by all the active nodes. It becomes low in private and consortium blockchain when validators start acting in malicious ways.|