IJCH - Inside JaiChai's Head
(Meaning: My Warped, Personal Opinions and Musings)
From the Author:
Salutations.
I am JaiChai.
And if I haven't had the pleasure of meeting you before, I'm delighted to make your acquaintance now.
I invite you to interact with everyone, learn, and have as much fun as possible!
For my returning online friends, "It's always great to see you again!"
Limited scalability -The Bane of Blockchains
Current, traditional public blockchain protocols have an inherent limitation - all nodes must process every transaction to reach consensus.
This leads to two major problems: limited throughput and slow transaction times.
Bitcoin block times are 10 minutes, while Ethereum block times are about 14 seconds (Note: These times can be drastically longer during episodes of peak traffic).
Now compare that to the nearly instantaneous confirmations you get when using Visa or Mastercard. But these credit cards operate within a centralized, highly secure, permissioned network.
Public blockchains are just that - public. They are non-permissioned (meaning: anyone can participate without permission) and have to contend with all the malicious threats that come with the territory.
Of course, this means that they are naturally slower - mainly because of the tradeoff between low transaction throughput and a high degree of security.
And as the blockchain gets bloated, the requirements for storage, bandwidth, and computing power becomes an insatiable beast.
Sooner, rather than later, it becomes hard to handle and leads to a few, heavy resource nodes processing the majority blocks.
Can you say "Centralization"?
Granted, there are some Off-Chain solutions (e.g., the Lightning Network for Bitcoin and the Raiden Network for Ethereum).
But "Sharding" is fast becoming a popular, viable solution for longterm scalability.
Sharding - An Alternative Solution for Fat Blockchains
Blockchain engineers strive for better functionality and security without the bottleneck - requiring every node to process all the transactions in the network.
In other words, authentic validation without centralization.
Blockchain sharding is derived from sharding in the traditional database world, except with the added burden of maintaining security and authentic validation among all the nodes within a decentralized setting.
Simply put, sharding is a "Divide and Conquer" strategy.
It's when the overall state of the blockchain is separated into different parts called "shards". Then each shard of the state is stored and processed by different nodes in the network.
As you can see, sharding is NOT the same redundant, "Winner Take All" situation that's built-in traditional Blockchain Mining protocols.
In fact, sharding is only feasible in Proof of Stake (PoS) consensus protocols because the small size of the shards makes them unacceptably vulnerable to compromise in Proof of Work (PoW) scenarios.
Why is Sharding Faster?
Imagine you have a humungous database for your blockchain (AKA: Ethereum). That bulky database makes searching for data slower; thus, shackling your scalability.
Sharding to the rescue.
It aims to complete thousands of transactions in a flash.
Divide and Conquer Explained -
Divide and conquer is a strategy for achieving political or military control. (computing) An algorithm design technique applied to various algorithms, such as quicksort, that solve a problem by splitting it recursively into smaller problems...
As mentioned earlier, sharding divides the task into smaller chunks - shards - and has multiple nodes work on it simultaneously (in parallel).
The Split -
Not This One!
This One - Your Database
In sharding, a horizontal partition is created on your data; effectively turning them into smaller tables that are stored on different database servers.
Why horizontal partitions vice vertical partitions?
Because of the way tables are designed:
When a vertical partition is done on a table, they become two completely different tables altogether.
Here is the original table.
But if the partition is horizontal:
They are essentially the same tables, but contain less, different data (Translated: easily searched, faster operations).
These smaller databases are shards of the larger database with identical table structures.
The takeaway?
Sharding makes processing faster by splitting a state into different shards.
The Military Muster Analogy -
The term muster means the process or event of accounting for members in a military unit.
This practice of inspections led to the coining of the English idiom pass muster, meaning being sufficient. When a unit is created, it is "mustered in" and when it is disbanded, it is "mustered out".
A muster roll is the list of members of a military unit, often including their rank and the dates they joined or left. A roll call is the reading aloud of the names on the muster roll and the responses, to determine who is present.
Musters (in the sense of gatherings with roll calls) also take place in prisons.
Imagine how long it would take to muster a thousand strong military unit one-by-one all by yourself.
Now imagine splitting up the group into smaller squads and having each leader muster the personnel simultaneously.
Get the picture?
By JaiChai
Really Appreciate You Stopping By.
Truly hope to see you again!
About the Author
Believing that school was too boring, he dropped out of High School early; only to earn an AA, BS and MBA in less than 4 years much later in life – while working full-time as a Navy/Marine Corps Medic.
In spite of a fear of heights and deep water, he performed high altitude, free-fall parachute jumps and hazardous diving ops in deep, open ocean water.
After 24 years of active duty, he retired in Asia.
Since then, he's been a full-time, single papa and actively pursuing his varied passions (Writing, Disruptive Technology, Computer Science and Cryptocurrency - plus more hobbies too boring or bizarre for most folk).
He lives on an island paradise with his teenage daughter and three dogs.