(IJCH) Sharding and Military Muster (or How to Explain Sharding as Simply as Possible)

in #blockchain7 years ago (edited)

(IJCH) Sharding and Military Muster (or How to Explain Sharding as Simply as Possible)

comp1.jpg
Source (Base Source #1) (Base Source #2)

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.

Limited scalability -The Bane of Blockchains

a1.jpg
Source (Base Source)

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).

See:

"(IJCH) A Cure For What Ails Bitcoin and Ethereum - Layer 2 Solutions (The Pros and Cons)"

shot.jpg
Source (Base Source)

The Bitcoin Lightning Network and the Ethereum Raiden Network aim to provide an off-chain solution to turbo-boost transaction speed, lower costs, and enhance scalabiliy.

https://steemit.com/blockchain/@jaichai/ijch-a-cure-for-what-ails-bitcoin-and-ethereum-layer-2-solutions-the-pros-and-cons

But "Sharding" is fast becoming a popular, viable solution for longterm scalability.

Sharding - An Alternative Solution for Fat Blockchains

a2.jpg
Source (Base Source)

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?

a3.jpg
Source (Base Source)

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

a4.jpg
Source (Base Source)

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...

Source

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

a5.jpg
Source (Base Source)

This One - Your Database

split databases.png
Source (Base Source)

In sharding, a horizontal partition is created on your data; effectively turning them into smaller tables that are stored on different database servers.

dynamic sharding servers.png
Source (Base Source)

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.

a7.png
Source (Base Source)

But if the partition is horizontal:

horizontal split.png
Source (Base Source)

They are essentially the same tables, but contain less, different data (Translated: easily searched, faster operations).

horizontal sharding 2.png
Source (Base Source)

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

many soldiers.jpg
Source (Base Source)

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.

Source

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?

muster parade.jpg
Source (Base Source)

By JaiChai

(This article was inspired by: https://blockgeeks.com/guides/ethereum-casper/)

Thanks for stopping by.

600800.jpg
Source

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.

After 24 years of active duty, he retired in Asia.

Since then, he's been a full-time, single father 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, longtime girlfriend and three dogs.

400.jpg

Source

If you enjoyed my post, kindly: Upvote, Follow, Comment and Resteem.


APP.png

CLICK HERE TO JOIN THE STEEMIT BLOGGERS ON DISCORD

Animated Banner Created By @zord189 [Creatives]

asapers.png
("Join the A.S.A.P.ers Discord Channel")

"I appreciate all your support."

"My mind was a terrible thing to waste..." - JaiChai

Sort:  

I was expecting something totally different here more military less blockchain provably because I had never heard of sharding.

But all up good analogy.

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by JaiChai from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Coin Marketplace

STEEM 0.15
TRX 0.17
JST 0.028
BTC 68746.72
ETH 2456.17
USDT 1.00
SBD 2.43