How Do Blockchains Work?
We know that blockchains are nothing but an endless inundation of blocks which are knit together as a chain, and that too in a specific order of cryptography. When it comes to storing transactional information in a safe manner, there is hardly anything that pops up in our thought terrains other than blockchains. Thanks to the security, decentralization, and transparency blockchains tag along with themselves, we can envisage that the new dawn of a secure organizational environment is not far from reach.
How has it become possible? How does a blockchain algorithm operate internally?
To understand the blockchain algorithm in a simple manner, let us look at the following picture.
Only when the transaction is verified and validated, values can be transferred to another place.
Whenever a blockchain is introduced to a new transaction or any new block is to be added to the blockchain, in general, numerous nodes within the same blockchain implementation are required to execute algorithms to evaluate, verify and process the history of the blockchain block. If most of the nodes authenticate the history and signature of the block, the new block of transactions is accepted into the ledger and the new block containing data is added to the blockchain. If a consensus is not achieved, the block is denied being added to the blockchain. This distributed consensus model allows blockchains to function as a distributed ledger without requiring any central or unifying authority to validate transactions.
Complete Blockchain Ecosystem and Architecture of a Blockchain
When we investigate the DNA of blockchain algorithm for a better understanding, we need to analyze several aspects that contribute to this disruptive technological marvel. These aspects include the blockchain platform, nodes, transactions that make up blocks, security implementations, and the process of adding new blocks to the chain. The architecture is undoubtedly complex, but once you get a hold of it you will get acquainted with the same.
Here’s a basic architectural representation of a blockchain.
With blocks being connected with each other through their respective hash codes, the whole blockchain ecosystem becomes a Fort Knox technically. Whenever a transaction flag is raised, a consensus needs to be achieved to update the same in the blockchain. Instead of relying on a third party to mediate transactions, member nodes in the blockchain network stick to a consensus protocol to agree on the ledger content and cryptographic hashes and digital signatures to ensure the integrity of transactions. Once authenticated, these transactions are considered successful and irreversible. Transactions rely a lot on hash values and hash functions. These hash functions are mathematical processes that take input data of any size, perform required operations on it, and return the output data of a fixed size. These functions can be used to take a string of any length as input and return a sequence of letters of a fixed length. This functionality of hash functions makes them apt for transaction processing. Regardless of the size of transactions, the final output will always be fixed and untampered.
After coming across the term ‘hashing’ these many times, it has become a matter of innate necessity for us to understand what hashing depicts. Also, let’s shed some light on the ‘identity’ of blocks.
Under the hood of blockchains, hashing is necessarily a process that helps differentiate between blocks. The process of hashing gives blocks in a blockchain a unique identity. Technically, blocks in a blockchain are identified by their hash, which serves the purposes of both identification and integrity verification. An identification string that also provides its own integrity is called a self-certifying identifier. The hashing functions generate public keys. Here’s an example pertaining to hashing for a bitcoin blockchain.
Bitcoin uses SHA-256 hash function that produces a hash code of size 256 bits or 32 bytes.
Bob, while placing an order with Lisa, creates a message which is like the one shown above. This message is hashed through a hash function that produces a 32 bytes hash code. The beauty of the hash is that for all practical purposes it can be considered unique for the contents of the message. If the message is modified, the hash value will change. This makes it impossible to reconstruct the original message. Hacking, therefore, is a distant dream with hash functions.
Cryptographic Keys and Digital Signatures
As information on blockchains is transferred over peer-to-peer (P2P) networks across the globe, cryptographic keys are incorporated to send data throughout the network without compromising the safety and integrity. These keys not only allow blockchains to respect the privacy of users but also uphold the ownership of assets and secure the information of blocks in the network. Cryptography is applied throughout the entire blockchain onto all the information that is stored and transacted. This provides users with cryptographic proof that serves as the basis for trusting the legitimacy of a user’s claim to an asset on the blockchain. Cryptographic hashes also help a great deal as they ensure that even the smallest change to a transaction will result in a different hash value being computed, which will eventually indicate a clear change in the transactional history.
While cryptographic keys are necessary for safety and integrity, digital signatures provide verification and authentication of ownership on the blockchain. Using cryptographic digital signatures, a user can sign a transaction proving the ownership of that asset and anyone on the blockchain can digitally verify the identity to be true.
Blockchain Nodes
In simple terms, every participant in a blockchain network is a node. Being a decentralized network where a central authority is absent, blockchains hold great value for nodes. There exist several types of nodes, and each of them requires specific hardware configurations to get hosted or connected. Basically, there are two types of nodes: full nodes and lightweight nodes. These types comprise a constellation of a variety of nodes that are grouped under them.
Full nodes act as a server in a decentralized network. Their main tasks include maintaining the consensus between other nodes and verifying the transactions. They also store a copy of the blockchain, thus being able to securely enable custom functions such as instant send and private transactions. When making decisions for the future of a network, full nodes are the ones that vote on proposals.
Pruned Full Nodes: The specific characteristic here is that these nodes begin to download blocks from the beginning, and once they reach the set limit, the oldest ones are deleted, retaining only their headers and chain placement.
Archival Full Nodes: These are what most people refer to when they talk about full nodes. These nodes envision a server which hosts the full blockchain in its database.
Compared to full nodes, Master nodes themselves cannot add blocks to the blockchain. Their only purpose is to keep a record of transactions and validate them. Whether Mining or Staking nodes, they’re the ones who write blocks on the blockchain.
Lightweight or Simple Payment Verification (SPV) nodes, on the other hand, are used in day-to-day cryptocurrency operations. These nodes communicate with the blockchain while relying on full nodes to provide them with necessary sets of information. They do not store a copy of the blockchain but only query the current status for the last block. Also, they broadcast transactions to other nodes in the network for processing.
H3- Blockchain Consensus
In the previous section, we got to know about consensus. What does this term mean? The set of rules by which a blockchain network operates and validates the information of blocks is known as ‘consensus’.
Since cryptocurrencies operate on a decentralized P2P network, it won’t be wrong to assume that complications are bound to arise when a decision needs to be taken. This is where consensus comes in handy. While consensus must be achieved by a certain type of nodes, in P2P networks any user can become a full node and thus gain supremacy over others. When at least 51% nodes agree on to something, the decision is validated on behalf of the whole of the blockchain. This 51% rule may result in threats even. The most common threat to a blockchain is the 51% attack, where more than half of nodes are concentrated in one entity. This paves the way for the entity to change consensus rules as it sees fit, which could lead to a monopoly.
Blockchain Proof of Work
A popular consensus mechanism for blockchains, Proof of Work is a requirement through which expensive computations, also called mining, can be performed in order to facilitate transactions on the blockchain. Although it might be hard for nodes to generate a valid block, it is quite easy for the network to validate the block’s authenticity. This is achieved through hash functions. Since hashes are quite sensitive to changes and even minute modifications will result in a completely different hash output, they can be used to validate and secure blocks.
For a block to be confirmed as valid, miners are required to generate two hashes: a hash of all the transactions in the block and one proving that they have expended the energy required to generate the block by solving a special cryptographic puzzle with a pre-set level of difficulty. The difficulty of solving the puzzle can be automatically adjusted in Proof of Work systems to create a consistent time period for blocks which are to be added to the blockchain.
In summary, a miner creates a block of valid transactions. Further, the miner runs a Proof of Work algorithm on it to find a valid hash. When a valid block is generated, the block is added to the blockchain, and the miner receives network fees and the newly created cryptocurrency.
Blockchain Protocols
As blockchains are being rolled out at an exponential rate for everything from cross-border financial transactions to supply chain management, the lack of scalability has remained a constant issue since the genesis of blockchains. As more computers join the P2P network, the efficiency of the whole blockchain ecosystem typically deteriorates. Through the process of sharding, a way of partitioning, blockchain miners can maintain a consistent throughput throughout the network.
Blockchain protocols, however, demand constant attention for their efficient functioning.
Blockchain Protocol Characteristics
- Each party maintains its own copy of the information, and all nodes must validate updates collectively.
- The information could represent transactions, contracts, assets, identities, or practically anything else that can be described in digital form.
- Entries are permanent, transparent and searchable, which make it possible for community members to view transaction histories in their entirety.
- Each update is a new block added to the end of a chain. A protocol manages how new edits or entries are initiated, validated, recorded, and distributed.
- Cryptology replaces third-party intermediaries as the keeper of trust, with all blockchain participants running complex algorithms to certify the integrity of the whole.
Major blockchain protocols are listed below:
1. Bitcoin: The first application of blockchains, Bitcoin enables users to perform non-reversible transactions trustlessly. This protocol includes technologies such as hash, digital signature, public-key cryptography, P2P networking, Proof of Work and Proof of Work mining.
2. Ethereum: Known for smart contracts, Ethereum features a native cryptocurrency, namely Ether, and an Ethereum wallet. This protocol allows users to create decentralized applications and democratic autonomous organizations.
3. Ripple: Ripple supports tokens that are used to represent fiat, other cryptocurrencies, commodities, or other value units such as mobile minutes and frequent flyer miles.
4. Hyperledger: Developed by the Linux Foundation in 2015, Hyperledger supports Python, endorsement policies for transactions, and confidential channels for private information sharing.
5. Openchain: A scalable and secure blockchain protocol, Openchain is suitable for organizations that wish to issue and manage their digital assets.
6. IOTA: Known for its blockless distribution ledger ‘Tangle’, IOTA enables infinitesimally small payments without charging extra fees.
7. Lisk: A relatively new blockchain protocol, Lisk allows development of decentralized applications in pure JavaScript.
8. BigchainDB: This open-source system starts with a big data distributed database and then adds blockchain characteristics to the network including decentralized control and digital asset transfers.
So, hope this is good enough to understand how does a Blockchain work. Now, check out the best tutorial to learn Blockchain by Intellipaat and earn your certification with Blockchain Training Course. Further check the most frequently asked Blockchain interview questions and answers.
Originally published at www.intellipaat.com on February 22, 2019.