An Introduction to Blockchain

An Introduction to Blockchain

·

19 min read

In an era defined by digital transformation, there exists a technological marvel that's rewriting the rules of trust, transparency, and innovation: Blockchain. Imagine a world where trust is no longer a commodity to be questioned, where transactions are not just secure but immutable, and where the very fabric of our digital interactions is woven with unparalleled transparency. This is the promise, the essence, and the disruptive power of blockchain technology.

At its core, blockchain is more than a buzzword or a complex web of cryptographic jargon. It's a revolutionary force reshaping industries, redefining security, and reimagining the way we perceive trust in a hyper-connected world. From its inception as the backbone of cryptocurrencies like Bitcoin to its evolution as a decentralized ledger technology with applications spanning finance, healthcare, supply chain, and beyond, blockchain's impact knows no bounds.

But beyond the technical intricacies lies a story of innovation, collaboration, and the pursuit of a future unshackled by limitations. Join us on a journey through the intricate pathways of this decentralized landscape, where nodes, hashes, and consensus algorithms converge to form the foundation of a paradigm shift. Whether you're a seasoned tech enthusiast or a curious mind venturing into the realm of digital transformation, this exploration into blockchain's tapestry promises to unravel the mysteries and unveil the boundless possibilities that lie ahead.

Embark with us as we demystify the layers of blockchain, explore its real-world implications, and uncover the transformative potential that's revolutionizing industries and reshaping the very fabric of our digital existence.

Blockchain

It's a trust in the fact that the records of what happened cannot be changed, modified, removed, censored or decorated in any way.

With blockchain this trust can be created between people that have no reason to trust each other.

Blockchain is nothing but a distributed list of transactions, using a massive log that keeps track of everything that has been registered to the chain since the chain was started.

The logs of transaction is shared between a lot of parties, making it almost impossible to change since all parties continuously compare their versions to the version that others have.

Since all transactions are kept forever you can use the information to calculate the truth. for example, In cryptocurrencies all movements between all accounts are open for everyone, it's therefore rather easy to calculate what your balance should be based on the record of transaction between accounts.

A Brief History

1991

Back in 1991, Stuart Haber and Scott Stornetta had this cool idea. They thought about a super safe chain made of blocks, kind of like a digital padlock! This chain keeps records secure using secret codes. It's like a locked treasure chest where you can add new boxes (blocks) with secret codes that link to the old ones, making everything super safe!

1998

The first recognized work on decentralized digital currency using similar technology was done by nick szabo in 1998

2008

It took almost 10 years until blockchain concept was getting mature an the works was published by satoshi nakmoto in 2008

For nearly 10 years, people were figuring out this cool thing called blockchain. Then in 2009, Satoshi Nakamoto shared the big idea with everyone! It's like waiting for a super cool invention to finally show up. Satoshi made the blockchain official and ready for the world to use

2009

Satoshi is by most considered to be the founder of Bitcoin in 2009.

2015

In 2014, a group of tech wizards—Vitalik Buterin, Gavin Wood, Charles Hoskinson, Anthony Di Iorio, and Joseph Lubin—got together and said, 'Let's make something amazing!' They began building Ethereum, a super cool platform. After lots of hard work, on July 30, 2015, they hit the 'Go' button, and voila! Ethereum came to life! It's like a digital playground where people can create all sorts of cool stuff, not just money, but smart contracts and more. These awesome folks made it possible for everyone to join in and be part of this new digital world. It's like they flipped a switch, and suddenly, Ethereum was buzzing with endless possibilities!

2022

In 2022, Ethereum introduces POS (Proof Of Stake) consensus mechanism.

Usage of Blockchain

Blockchain technology has a wide range of applications across various industries due to its decentralized, secure, and transparent nature. Some notable usages are :-

  1. Internet of things :- A small revolution that has been going on somewhat in the quit for sometime is called the IOT. This is where small smart devices use the internet without human intervention. Using blockchain with these devices can certainly do trustworthy transaction securely.

  2. Product Lifecycle :- We can store all the information and workflow of the product in the blockchain. Storing a product lifecycle on a blockchain involves recording every significant event or stage in the journey of a product from its creation to its disposal. In blockchain we can store product's creation and Origin, Supply chain movement, Quality control and Certifications, End of Life and Disposal. The key aspects of storing the product lifecycle on a blockchain includes. Immutability, Transparency, Traceability.

  3. Certification :- Certification bodies could issue certification to products or organization in a tamper free and fully transparent way that could be shared and verified without the need of services from the issuing organization.

  4. Secure Information Sharing :- Secure sharing of data is another example Given the nature of blockchain you could insert encrypted information into it and it makes sure that only those you allow can access your information.

  5. Virtual products :- The making and selling of virtual and digital products has really been growing rapidly now for a long time. with blockchain you can market, sell, and even control your digital products.

Category of Blockchain

There are two category of blockchain

  1. Public Blockchain :- think of a public blockchain like a big, open park where anyone can come and play. It's a digital playground that's open to everyone with the internet. Everything happening there is visible to everyone. You can see who's playing, what games they're playing, and nobody owns the park; it belongs to the whole community.

    • Available to Everyone :- Public blockchains are open to anyone with an internet connection. They're decentralized networks that allow anyone to participate, transact, and view the entire blockchain history.

    • Expensive Transaction and Storage: Public blockchains often have higher transaction fees and storage costs due to their decentralized nature. Each node in the network maintains a copy of the entire blockchain, which can be resource-intensive.

    • No Given Point of Attack: Due to their decentralized and distributed nature, public blockchains don’t have a single point of failure or vulnerability. Attacks are more challenging because an attacker would need to compromise a significant portion of the network.

    • Reliance on Community: Public blockchains rely on a community of users and miners who validate transactions through a consensus mechanism (e.g., proof of work or proof of stake). Decisions about protocol upgrades and governance are often made through community consensus.

    • Democratic: Public blockchains operate on democratic principles, allowing equal participation and decision-making power for all users in the network.

  2. Private Blockchain :- A private blockchain is like a club with a membership. Only certain people are allowed inside, and they know each other. They have their own space to play games, but it's not open to just anyone. The club members decide who gets in and what games they play.

    • Similarities to Traditional Databases: Private blockchains share similarities with traditional databases. They are typically operated within a closed ecosystem by a specific group or organization.

    • Cost-Controlled: In private blockchains, transaction and storage costs can be more controlled and predictable since they are managed and maintained by known entities.

    • Known Entities: Participants in private blockchains are often known and permissioned. Access to the network and participation may require authentication or specific permissions.

    • Controlled Storage: Unlike public blockchains where every node stores the entire ledger, in private blockchains, storage and access to data can be more controlled and limited to authorized participants.

    • Transaction to Blockchain: Private blockchains involve selective transaction visibility or access, with the ability to decide which transactions are recorded on the blockchain.

    • Fewer Points of Attack: Private blockchains may have fewer points of attack compared to public ones due to their controlled access and smaller network size, making them potentially less vulnerable.

Restricted Blockchain

There are two types of restricted blockchain

  1. Permissioned

    • Invite Only: Permissioned blockchains operate on an invitation basis. Participants must be invited or granted permission to join the network. It's not open to everyone like public blockchains.

    • Can be Public or Private: Permissioned blockchains can exist in both public and private settings. Public permissioned blockchains might require permission to access certain functions, whereas private ones restrict access to specific participants altogether.

    • Access Control Layer: They have an access control layer that governs who can join the network, read or write transactions, and participate in the consensus process. This layer helps regulate permissions and maintain the desired level of control.

  2. Consortium

    • Organization Driven: Consortium blockchains involve multiple organizations collaborating to create and maintain the blockchain network. These organizations work together, often sharing control and decision-making responsibilities.

    • Public or Private: Consortium blockchains can also exist as either public or private networks. Public consortium blockchains might involve multiple organizations collaborating openly, while private ones restrict participation to select member organizations.

    • Shared Responsibility: In consortium blockchains, the responsibility for managing and maintaining the network is shared among the participating organizations. This shared responsibility ensures that no single entity has full control and decisions are made collectively.

The characteristics of Blockchain

  1. Global Singleton: Cannot be duplicated or altered and unique, A blockchain maintains a unique and unchangeable record of transactions or data. For example, Bitcoin's blockchain is a global singleton. Each Bitcoin transaction is recorded in a way that can't be duplicated or altered. Once a transaction is added to a block and confirmed by the network, it becomes a permanent and unique part of the blockchain.

  2. Non-Stoppable: No one has control over blockchain. It cannot be stopped and it cannot have central failure.Blockchains are designed to be decentralized and resistant to shutdown or control by any single entity. For example, Ethereum operates as a decentralized platform with its blockchain. It can't be stopped by any single authority because it's maintained by a network of nodes globally. Even if some nodes go offline, the network continues to function.

  3. Accessible: Everywhere there is Internet you can access the blockchain by using a broad number of client and technology. Blockchains can be accessed from anywhere with an internet connection, using various client applications and technologies. For example, The Binance Smart Chain (BSC) is accessible to users worldwide through different wallets and applications. Anyone with an internet connection and the right software can interact with the BSC network to send transactions or build decentralized applications.

  4. Verifiable: Everyone that has access to the blockchain can verify every single transaction from the beginning of time. Every transaction or piece of data added to the blockchain is transparent and can be verified by anyone with access to the blockchain. For example, In the case of the VeChain blockchain, it is utilized for supply chain management. Companies and consumers can verify the origin, authenticity, and journey of products by scanning QR codes, allowing them to trace each step recorded on the blockchain.

Transactions in Blockchain

Transactions in a blockchain refer to the transfer of data or digital assets from one participant to another within the network. These transactions are grouped together into blocks and added to a chain of previous blocks, forming a sequential and immutable ledger.

Each transaction typically contains information about the sender, the receiver, the amount or type of asset being transferred, and a digital signature to validate the transaction's authenticity. Once validated and confirmed by the network through a consensus mechanism (such as proof of work or proof of stake), the transaction becomes a permanent part of the blockchain.

There are some characteristics of transaction in blockchain

  1. Atomic :- Full Operation run or not run at all.

  2. Run independently :- No two operation can interact or interfere with each other.

  3. Inspectable :- Transactions in a blockchain are inspectable through the transparency and openness inherent in the technology. Blockchain networks are built on the principle of being transparent and allowing anyone to view the transaction history.

  4. Immortale :- Transactions is immortal, As long as single actor left in the chain transaction is never deleted, replaced or modified in any way.

How does it really works ?

Transaction in blockchain begins with someone doing a single transaction or group of transactions. Depending on the blockchain implementation you are using, it can also involve cryptocurrency being sent from one account to another, or it may contain code to be executed in the form of executable contract.

The transaction are sent to a larger peer-to peer network of computers. These are generally distributed all over the world. Every computer is called a node, and they all have a copy of existing data. then the transactions are executed and validated based on pre-shared contract and scripts. this ensure that all nodes executes using the same set of rules. when the transactions has been executed, the result is added to blockchain. since this is done at each node, you would have to compromise over 51% of the nodes in the chain in order to compromise the transaction later.

Hashing

Hashing is the core of any blockchain concept let's understand it.

  • Hashing is basically to execute a mathematical algorithm that creates a result with a given length regardless of the input given it's very hard to determine what the outcome of a hashing pre algorithm will be.

  • The result of a hashing function is called a hash and you can think of them as digital fingerprints.

  • Hashing is one-way function, this means you will never be able to figure out what input created the hash, so you cannot create the input based on output.

Some common uses for hashing Algorithm.

  1. Storing passwords in database.

  2. Verify consistency, comparing dataset will be easier.

  3. Security.

Some hashing functions that we commonly see are :-

  1. SHA 256 :- SHA 256 is a hashing algoritm which belongs to SHA2 family.

    • Very common hashing algorithm used with blockchain is the SHA-256

    • It is one of the several checksum hashing algorithms, and it will produce a long text string as a result.

    • It is designed by National Security Agency and made available to public.

    • The SHA is a family of hashing algorithm the number following the name lets you know the complexity of the implementation.

    • It produces 64-character output.

  2. Keccak-256 :- Keccak-256 is a hashing algoritm which belongs to SHA3 Family. and it produces 64-character output.

Nounce

Nounce stands for number used only once.

A nounce is nothing more than a number that is added to whatever we want to hash. By adding a number to our input to the hashing algorithm we can change the output of it.

For example let's say that we only allow hashes that has a leading ff in the result value. then we might need to try a lot of numbers to find the right number to add to hashing input in order to meet the requirement.

The need for doing lot of calculations and try out a lot of hashes to reach a certain result is the core of a lot of different blockchains out there.

Merkel Tree

A merkel tree is a has of hashes which make it quick and rather easy to confirm a large amount of data and transactions.

Let's say we have 4 sets of data. "peer", "Apple", "PC", "MAC". To simplify, I am only using one word here for each dataset, but this could, for example be transaction data in real life. When running these words to a hashing algorithm, it will produce four different hashes. In a Merekle tree, groups of these are hashed together to create hashes of hashes. These hashes are then hashed together as well, creating a root hash.

In order to figure out if something has changed anywhere in the Merkel tree, we only need to see if the root hash has changed, and you can then follow the tree down to see where the change is done.

If any word is changed in the actual dataset the root has will change.

As long as we just keep the hashes and recalculate the tree, it's super easy to figure out if something has changed. All we need to do is to check the root hash, and if that has changed, we can just follow the line down to the place where something is changed.

The Block

A block consists of data and it's resulting hash.

If we change any of the data in block the hash will change and the data will be invalid and this also include nounce.

A nounce is an input to the hashing algorithm that would result in the first part of the hash to be something predefined it is not possible to predict and calculations of nounces that corresponds to a set of requirements is very very hard work for a computer.

Let's say we require our hash to have a leading number of four 0's 0000.... whenever we change anything we will need to re run the hashing algorithm until we figure out which nounce to set. The process of calculating the nounce is called mining. The block and this calculation can be considered as proof of work by the machine creating the hashes.

A Chain of Block

  • A block also contain a block number, timestamp, also contain hash of previous block.

  • If any value is altered in any of the blocks will break all the blocks following the chain.

  • The only way to fix this is to alter every blocks after the changed block and make the nounce hashes all over again and this would require a quite a bit of computing power. even then it will not really help you to fake a transaction.

A Distributed chain of Blocks

  • Blockchains are replicated across a large number of machines, each and everyone of these retain a full copy of the data.

  • In blockchain we distribute the chain of blocks to a vast number of computer this means that the full chain exists in multiple locations. Depending on the implementation of blockchain you are using it could be millions of replication of the chain. If the chain has been re-mined, the resulting has the resulting hash will be different and due to blockchain democratic process of voting, the altered chain would then be rejected by majority of blockchain.

Consensus Mechanism

A consensus mechanism is a crucial component in blockchain networks. It's the process by which a distributed network of nodes agrees on the current state of the ledger (the truth) and validates transactions to ensure they are accurate and consistent across all participants. Consensus mechanisms enable trust among decentralized entities without the need for a central authority.

Imagine a group project where everyone needs to agree on the same final answer. In a blockchain network, instead of people, there are computers (nodes) working together. The consensus mechanism is like the way these computers reach an agreement on which transactions are valid and in what order they happened.

To make sure everyone has the same information (like in a shared document), these computers use a special method to check and agree on the transactions. This agreement process is really important because it helps everyone trust that the information in the blockchain is accurate and no one can cheat the system without everyone noticing.

Proof Of Work (POW)

This is where you use a computer to mine a block and make hard calculation to prove that you have put some work into it. When you mine blocks you get paid in cryptocurrency for the work you put in.

The Good :-

  1. Hard to break the chain: PoW makes altering the blockchain history extremely difficult because doing so would require an enormous amount of computational power. The chain becomes more secure as more computational work is added to it.

  2. Initial low threshold: It's relatively easy for any participant (miner) to start mining or validating transactions in the network with basic hardware and software, allowing for a more inclusive beginning.

The Bad :-

  1. Power consumption: PoW algorithms demand high computational power, leading to substantial energy consumption. The energy requirements for mining can be very high, which raises concerns about sustainability and contributes to high electricity usage.

  2. Hardware: Miners often need specialized hardware (ASICs - Application-Specific Integrated Circuits) optimized for mining, which can be expensive. This specialization can create barriers to entry and lead to centralization of mining power in the hands of those who can afford the specialized equipment.

  3. Environmental impact: The heavy reliance on energy-intensive computations has drawn criticism due to its environmental impact. Mining operations, especially those powered by non-renewable energy sources, contribute significantly to carbon emissions and other environmental concerns.

Proof of stake (POS)

In 2022, Ethereum Switched to "proof of stake"

Ethereum introduces validators in order to support proof of stake. They explicitly stake capital in the form of ether in a smart contract on Ethereum, thus proving their stake.

The stake Ether acts as collateral that can be destroyed if the validators behave badly, dishonestly or doesn't put in the required work. This gives validators clear incentive to behave nicely.

The validators are responsible for checking that the new blocks that are added to the network are valid, and from time to time, they have to create new blocks themselves as well.

Transactions in Proof of Stake (POS)

A transaction using proof of stake starts with someone creating and signing a transaction.

The transaction is then submitted to an execution client that will verify the validity of transaction. This include security checking and ensuring that the sender has enough ether to fulfill the transaction.

For valid transactions, the execution client adds it to it's list of pending transaction. It will broadcast it to other nodes. When the other nodes receive the transaction they add it to their pending list of transaction as well.

In a random fashion, one of the nodes on the network is selected as the block proposer. This node is responsible for updating the global state. This node has 3 parts :-

  • An execution client

  • A consensus client

  • A Validated client

Execution client will bundle transactions from the list of pending transactions and execute them locally to generate a state change. The is then passed to the consensus client.

Other nodes receive the block as well, and they pass it to their execution client. This results in the transaction being re-executed locally to ensure that the proposed state change is valid.

The validator client then attest that the block is valid.

When a transaction is complete, we say that it is finalized, this means that this part of the block can't be changed without a significant amount of ether getting burned.

To revert a finalized block, an attacker would need to commit to losing at least one third of the total supply of their stake ether.

Conclusion

In conclusion, blockchain technology stands as a transformative force across industries, revolutionizing the way we perceive security, transparency, and decentralized systems. From its inception to the varied applications today, its potential remains vast and evolving.

As we navigate this ever-expanding landscape, understanding the foundational components—its history, characteristics, transactional mechanics, and consensus mechanisms—provides a solid groundwork. The diverse categories of blockchain offer tailored solutions, whether in finance, supply chain, healthcare, or beyond.

Embracing blockchain's potential entails ongoing exploration and innovation. As you delve deeper into this technology, consider its implications for your field or personal endeavors. Stay abreast of the latest advancements, for blockchain's journey is one of continuous evolution.

Lastly, I encourage you to engage further with this dynamic ecosystem. Explore real-world use cases, collaborate with like-minded individuals, and participate in discussions shaping the future of blockchain. Together, we contribute to its growth and adoption, propelling us towards a more connected, secure, and decentralized future.

Thank you for joining me on this introductory journey into the world of blockchain. May your exploration and application of this technology lead to exciting discoveries and meaningful contributions in your endeavors.

Bye Bye...

Did you find this article valuable?

Support Gautam Jha by becoming a sponsor. Any amount is appreciated!