What is Blockchain that we all hear about?
If I had to infer something from it, I'd say blocks chained together. Okay, but blocks, what are they? Some sort of data structure?
A structure to store something. That Something is the transactions within a certain period.
@Data
@NoArgsConstructor
@AllConstructor
@Builder
/* Block data structure*/
class Block {
private String hash;
private String previousHash; // the previous hash of the block
private String data; // all the transactions
private long timeStamp;
}
From what we have discussed so far, can I assume it is similar to LinkedList? Are they the same? Because linked lists are also chained together, and they often contain data.
But seriously, tell me, are they the same? Linked list and blockchains on a high level? @Data
@NoArgsConstructor
@AllConstructor
@Builder
/* Linked list Node*/
class Node {
private String data;
private Node next
}
Is it LinkedList?
I'd say yes if I were to explain this to a fresher. But No, to a working professional.
See, they have similarities, such as they both store data in a linear sequence of blocks (blockchain terminology) or nodes (LinkedList terminology), and they both are linked together by references or pointers.
However, it wouldn't be wise to say an apple is the same as an orange just because they both taste sweet. Would it?There are some critical differences between them, such as:
- Hash function a blockchain uses a hash function to chain itself to the previous block. In layman's terms, a hash function crunches data to a fixed-length output. No matter how big your data is, if you put it in a hash function, you'll get a fixed length output, say 256 bits. This fixed-length output is called a hash or a digest. Note: The output length is the same, not the content. A hash function has the property that finding two different inputs producing the same output is challenging. This makes Blockchain more secure and resistant to tampering as compared to linked lists-for example, SHA256, a hash function.
- 0xkishan -> SHA256 (0xkishan) ->e5d46429ffb1df390f6411e8763b75f77f68c745973d4e80932d0f8c2423f514
- 0xkishaN -> SHA256 (0xkishaN) ->00f3ee615ddfadb168801ba451244e0dc3123b6600a34d99f40e9d34cf3f5afa
- Data Immutability: A blockchain has the feature that once a data block is added to the chain, it cannot be changed or deleted by anyone, whereas a linked list doesn't have such constraints. But why is data immutable? The block's content is primarily transactions, such as Alex paying $10 to Bruce. If it were mutable, anyone would come and alter the transaction such that Alex had to pay $100 instead of $10. Does it make sense? Furthermore, the block contains the previous block's hash, which means that any change in the data would alter the hash and break the chain. This makes Blockchain more reliable and permanent than a linked list.
- Application Standpoint: Linked List is used in applications that require efficient insertion, deletion, and traversal of data elements. Representation of sparse matrices (who is a friend of whom on Facebook). Mailing list (each node can store the email address and the name of the subscriber) and Memory Management (A file is usually broken down into small chunks, these chunks are like an entity that are stored in a disk at a particular address, and they refer to the next chunk so that when accessing the file, the program can aggregate the chunks back into a whole file).
Lego Blocks. It looked cool, so I added it
Let's recap; Blockchain is a type of data structure that stores data in blocks that are linked together by cryptography. However, it'll be unwise to call it a data structure. It is more than that. It is also a system that enables the secure and decentralized sharing of information among the participants of a network.
Blockchain is a combination of data structure, network protocol, consensus mechanism, and application layer that creates a distributed ledger technology that can be used for various purposes.
Here's an in-depth overview:
- The Blockchain is an ordered list of blocks containing transactions.
- It can be stored as a flat file or in a database like Google's LevelDB.
- Blocks are linked together, with each block referring to the previous block.
- Each block has a unique hash generated from its header using the SHA256 algorithm.
- The header of each block also includes the hash of its parent block.
- This chain of hashes creates a sequence linking all blocks back to the genesis block, the first block ever created.
You may ask where this blockchain part fits in Bitcoin.
I Gotchu. Bitcoin consists of the following:
- A decentralized peer-to-peer network (the Bitcoin protocol)
- A public transaction ledger (the Blockchain)
- A set of rules for independent transaction validation and currency issuance (consensus rules)
- A mechanism for reaching globally decentralized consensus on the valid Blockchain (Proof-Of-Work algorithm).
Blockchain is the underlying technology that powers many applications and innovations, such as cryptocurrencies, smart contracts, digital identity, supply chain management, healthcare, and more. Blockchain has the potential to transform various industries and domains by enabling new business models, services, and products that leverage the power of distributed networks and trustless systems.
Applications
Cryptocurrencies
- Cryptocurrencies: We often confuse the Blockchain with crypto; the crypto is a byproduct of Blockchain. It is an underlying technology for digital currencies like Bitcoin, Ethereum, etc. Cryptocurrencies use Blockchain to create a decentralized system of peer-to-peer transactions that the network records and validates.
- Digital Identity: Blockchain can provide a secure and decentralized way of storing and managing personal data and credentials. One can use IPFS to host and share their data with their peers.
- NFTs: NFTs are a unique application of Blockchain; they are called Non-fungible tokens, which is a unique and indivisible digital asset that represents something of value, such as art, music, collectibles (like Pokemon cards), or even virtual items. They are created and stored on a blockchain, which ensures their authenticity, ownership, and scarcity. NFTs can be bought and sold on platforms and marketplaces that use Blockchain to facilitate transactions.
- Defi: It stands for decentralized finance. The decentralized emphasizes that there is no central authority or someone in charge. Defi uses public blockchains like Ethereum to enable peer-to-peer transactions and access various financial products and services, such as lending, borrowing, trading, investing, etc.
I am hoping, you are still with me!
umm, yeah. We are with you
Limitations
You might have heard of high gas fees while thinking of transacting on Ethereum or were confused about getting started with it. Blockchain in itself is such a great technology, but it almost always goes over the head of general masses like us. That is why I have thought of explaining the Blockchain so that many of us can know and easily use it. Some of the limitations are:
- Scalability: Ethereum, for example, can only transact ~10 transactions per second, whereas if we compare it with the Visa network, they transact around ~2,000 transactions per second. Indeed, there is a lot of room for improvement, which is why there is such a demand for Layer-2 solutions, like Polygon, Arbitrum, etc.
- Interoperability: It lacks a common standard or protocol that allows different blockchain networks to communicate and exchange information. This limits the compatibility and integration of blockchain applications across various domains and industries. Did you know the Bitcoin and Ethereum networks resemble the North and South Poles? Ethereum is Turing complete, whereas Bitcoin is not.
- Regulation: Blockchain operates in a largely unregulated and uncertain legal environment that poses various risks and challenges for its users and developers. It also faces resistance from existing institutions and authorities that may perceive it as a threat or a disruption to their established practices and interests. That is why some countries refuse to accept it and eventually ban it.
- Adoption:Blockchain requires a high level of technical knowledge and expertise to understand and use effectively, and that is why I have determined to share my knowledge as much as possible to bridge the gap. It also faces social and cultural barriers that hinder its acceptance and adoption by various stakeholders and communities.
I hope this article has given you an insight into what Blockchain is, its applications, and its limitations.
I hope you enjoyed this article!
Stay tuned for more such articles. You can also subscribe so that whenever I post an article here, that will go directly into your inbox. So that you'll never miss an insightful article.
Thank You
Thanks a lot for taking your precious time to read my article. I highly appreciate it.
. . .