All posts in " analogy "

Blockchain Explained Simply – An Easy Analogy

In my previous post, I discussed the difference between blockchain technology and distributed ledger technology. If you haven’t read it yet, I recommend you do so before reading this post. It’s a quick read with a simple analogy to help you understand it.

The post seemed to help a lot of people, and I was immediately bombarded with more questions. This was a great sign. I often say that the first step to understanding something deeply is knowing what follow up questions to ask. One of the prevailing questions I received was:

“What makes blockchain technology so special? Why is it different from traditional databases?”

This is an important question. Many people will answer that question with words like “decentralization”  and “trustless". But there are many who still struggle to fully understand the magnitude of this development.

In this post, I’ll use an analogy/story to help us understand and appreciate the technology and revolution that is unfolding before our eyes - Here's Blockchain Explained Simply!

Blockchain - A Trustless System?

The first blockchain system was introduced to us in 2008 – right after the financial crisis in the United States of America. The Financial Crisis comprised of devastating losses.

Homes were lost. Jobs were lost. Money was lost – a lot of money. A total household wealth of 19.2 trillion dollars was estimated to be lost. These were innocent people who had put their trust in the government and financial institutions.Innocent people who had no say in the matter paid heavy prices for the mistakes of others.

The crisis highlighted a need for a system where people did not have to trust a “middle man” with their wealth.

That’s where the idea of “decentralization” steps in. Let’s break down the word: Decentralization

  • “DE”: latin for “Away from”
  • “CENTRAL” is simply a fancier way of saying “Middle”

Essentially, we want to move to a system away from middle men. A system where we don’t have to put our “trust” in a middle man - A TRUSTLESS system. And that’s exactly what a blockchain can give us – a trustless, decentralized system.

  • “Woah, so you’re saying I can’t trust the blockchain?”

No, I am saying that you don’t have to trust it. And your wealth (or information) will still be protected. To fully wrap our minds around this, let’s go into story mode:

The Village Story – An Analogy for Blockchain

Let’s say we go back in time – way before technology existed. No phones, electronic devices etc.

There exists a village that comprises of around 10 families. They farm, hunt, gather etc – and they trade their goods with each other.

The hunter would give the farmer some meat. And in return the farmer would give the hunter some rice. This worked fine. But every now and then, they’d have to make a promise:

Farmer
“Hey man, I don’t have any rice yet, but if you give me some meat, I promise to give you the rice when I harvest it”

​The Hunter was fine with this since he trusted the Farmer. But overtime, there were more and more promises being made. It became really hard to track all of these “promises”. Soon people were disputing over promises forgotten or never made. This halted trades and brought the village economy to a slow.  So the village got together to figure out a solution to this problem.

They decided to appoint someone to track these promises in a ledger.  Let’s call him LedgerMan.

LedgerMan got to work, and began tracking promises. This worked really well, and the trades were moving smoothly again. Farmers & Hunters would meet with the LedgerMan, and consolidate their payments according to the ledger.

As the ledger filled up with “promises”, LedgerMan was becoming increasingly more pivotal in the Village economy. The entire village was placing their trust in him. One day...

LedgerMan
“Hey, since I’m spending all my time tracking these promises – I think it’s fair I receive a small fee for every promise I track.”


This would mean that the villagers would be losing some of their profits on each trade. They weren’t too happy about this, but figured it was fair. But as time passed, LedgerMan accumulated a lot of wealth & power. 

  • He took bribes to append the ledger
  • He bribed villagers to keep appointed as the ledger-keeper
  • Increased fees unfairly


Soon, disgruntled villagers started voicing their anger. This resulted in in-fighting and chaos within the village. Finally, Mr. LedgerMan was ousted. But the village realized that appointing a new ledger-keeper would do no good. So much power & trust in one person is bound to corrupt.

They liked the ledger idea to keep track of “promises”, but they needed a new way of doing things. So they got together and brainstormed for a solution. One of the smart villagers came up with an idea.

Smart Village Citizen
“Instead of only one of us holding on to a ledger, why don’t ALL of us keep a ledger”


Villagers from each family would meet at the village-square at certain times of the day.  Trades would be conducted, and every promise made was tracked in everyones ledger.

Every week, they’d meet at the village square for a “Validation Meeting”.  Each villager would read out their version of the ledger from start to end.

If there were no discrepancies, then it meant that everyone had the same agreement on the ledger. They had come to consensus. All new entries were validated and added to the ledger successfully. However, there would be occasions were entries between ledgers did not match. For example,

Villager John could have a promised tracked as:  
Farmer Pete owes John 10 bags of rice

But Villager Pete could have the entry tracked as:  
Farmer Pete owes John 5 bags of rice

So which promise is the correct promise? Who should we trust? Pete or John?

This is where the the “trustless” aspect of the method comes into play. The villagers didn't need to trust either of them.

They would resolve the issue by simply cross-checking with all the other ledgers.  The promise with the majority entries across all ledgers would be selected as the “correct promise”.

Once the majority promise is decided, the villagers all update their ledger accordingly.

"The Village-Square System" -Key Takeaways

This was brilliant. The system – let’s call it  the “Village-Square System” – was able to remove the need for a middle-man. They were able to:

  • “DE-CENTRALIZE” THE LEDGER FROM A SINGLE PERSON
  • CREATE A TRUSTLESS SYSTEM
  • ELIMINATE FEES & KEEP PROFITS

Note: After a series of break-ins & tampering, they realized they had to add security measures to keep their ledger safely protected as well

As you can see, this system is effective – but quite tedious. But since the village was small – consisting of only 10 families, this was doable.

But as time passed and the village grew into a city. And they faced a new problem: The Villager's Trilemma. The system was not feasible anymore. It was just too much work. Eventually they would gravitate back to middle-men in order to keep track of their ledger - There was just no way to implement the Village-Square method in a scalable way.  

Until 2008, when Satoshi Nakamoto released the Bitcoin Whitepaper. Satoshi used an innovative combination of

  1. Traditional Ledger System
  2. Computers Distributed Around The World
  3. Cryptography to enforce security

He was able to implement a more sophisticated implementation of the VIllage-Square to achieve a trustless, decentralized & secure system that would keep track of transactions with minimal effort from human beings.

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Why PoS was Necessary for Ethereum’s Sharding

By Shawn Dexter / February 28, 2018

In a previous post, I provided a simple explanation on Ethereum’s Sharding. I also mentioned how Sharding was one of the driving factors for Ethereum’s switch to Proof of Stake consensus model.

In this post, I will provide a brief & simple explanation on why Proof Of Work was not the ideal choice for Sharding, and how Proof Of Stake tackles the problems posed by Sharding a blockchain.

Why Shard To Begin With?

Sharding is an initiative to tackle the scalability issues that Ethereum faces. All blockchains are limited by their architecture & design. How? Because every node in the blockchain processes every single transaction. While this enforces a high degree of security/reliability (explained in this post), it also limits the scalability.

Sharding improves the scalability of the Ethereum blockchain by splitting the network into smaller “groups/pieces”.

What’s wrong with PoW?

The Ethereum blockchain currently runs on a Proof Of Work consensus algorithm.

Remember from our post on Consensus Methods, that consensus or “agreement” is achieved by a majority agreeing on the state of the ledger.

Proof of Work essentially relies on hash-power to validate the chain. Blockchain is a trustless system, so we need to dis-incentivise people from being a bad actor. As explained, a bad actor would have to have a majority of the hash-power to manipulate the network. That’s a lot of hash-power. The electricity bill & hardware costs will be monumentally expensive.

Hence, in Proof of Work, the hash-power expense makes it cost-prohibitive to be an attacker.

Remember that if we SHARD in PoW, we are breaking up the network into "pieces". Hence, to achieve a “majority” hashpower in a particular shard would suddenly become feasible (since each shard will have only a “piece” of the total hash power”)

Compared to attacking the network, each shard will require only a fraction of the hash-power. An attack is no longer cost-prohibitive.

In fact, if you split the network into 100 pieces, you only need 1% of the total hash-power to takeover a shard. To keep this post simple, I explain how in another post

Validators can collude their hashpower on a single shard, and takeover control of that shard. One way to prevent this attack is to prevent attackers from focussing their hash-power onto a single shard.

However, this is difficult/not-possible to do so in a Proof Of Work protocol. In PoW you cannot stop miners from applying their work on a given shard - This is where Proof Of Stake steps in!

Proof Of Stake

PoS removes the extrinsic cost of validating the chain: hash power/electricity costs. Here's how:

In, Proof Of Stake  super-nodes are required to “deposit” (stake) their Ether in order to perform validation functions. Again, remember that:

  • COLLATORS (TEACHERS-ASSISTANTS): Gather mini-descriptions of transactions & the current state of the shard – and send it up to the node validators.
    ​
  • SUPER NODES (PROFESSORS):  Collect the data from the Collators. Process the transactions & Validate the blocks.
    ​

Proof Of Stake – along with this structure – allows Ethereum to do something that it cannot do (easily) in PoW. And that is the ability conduct “random-sampling”.

Since Super-Nodes are depositing their Ether, we can use that to randomly assign them to a shard. The assignments are reshuffled regularly as well.

This will ensure that attackers:

  • Cannot choose the Shard they want to work on.
    We don’t want them to pick their shard because a small group of attackers can target a single shard to dominate it. Even attackers with a small total-stake can focus their efforts and attack.
  • Cannot know what shard they will work on ahead of time. 
    If we don’t reshuffle, an attacker may have enough time to find the other people who have been assigned to his shard. This will allow him to collude with them and attack the shard. We reshuffle regularly to avoid this.Super Nodes are randomly assigned a shard. Not knowing which shard they are assigned to before hand, will prevent them from attacking the system.

Wrapping Up

As you can see, Proof Of Stake makes random-sampling pretty trivial. Sampled validators are reshuffled regularly.

A quote from Vitalik on my previous post:


“ It's really important to mention that validators are super-frequently reshuffled between shards (possibly even once per block), so it's actually quite hard to "target" one specific shard for an attack. This is a large part of where sharding's at least theoretical success in breaking the trilemma comes from.”
Vitalik Buterin

When Vitalik mentions “breaking the trilemma”, he is talking about how typically only 2 out of 3 of the following can be achieved in blockchain:
  • Security
  • Scalability
  • Decentralization

PoS allows for easy sampling & reshuffling which ensures the “Security” of the trilemma – while the sharding structure gives us a level of Scalability and Decentralization. Hence, theoretically breaking the blockchain trilemma. This is a huge feat!

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂​​
​
BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Blockchain vs DLT (Distributed Ledger Technology)

By Shawn Dexter / February 20, 2018

DLT vs Blockchain:  In this post Shawn uses a simple analogy to explain the difference between a blockchain and distributed ledger technology (DLT) . He also discusses the difference between blockchain and other technologies – like blockchain vs tangle, and blockchain vs databases. 

Blockchain And DLT - Is there A Difference?

In a previous post, we discussed Radix DLT – a potential game-changer in the DLT world. While many of our readers were excited for what Radix promises, there were some who requested some clarity on DLTs (Distributed Ledger Technology) . One of the prevailing questions I received was:

 “What is the difference between a Blockchain and DLT?”

Blockchain vs DLT:   Apples vs Fruit

Comparing a Blockchain to a DLT  is like comparing an Apple to a Fruit. An Apple IS A Fruit.  Similarly, a Blockchain IS A DLT (Distributed Ledger Technology)

Difference between blockchain and DLT
DLT vs blockchain

The confusion, probably, arises because most of us were introduced to the term “Blockchain” before “Distributed Ledger Technology”. The sudden surge of popularity had the term “Blockchain” turn into a generic term.

But in fact, Blockchains are a TYPE of  DLT.  Much like an Apple is a TYPE of Fruit.

So, is DLT a blockchain ?

No. All DLTs are NOT Blockchains. But all Blockchains are DLTs

Most of the cryptocurrencies, that we know, are blockchain implementations. All of them are DLTs. Bitcoin, Ethereum, Litecoin etc are all DLTs. What kind of DLT? Blockchains.

However, not all the cryptocurrencies are blockchain implementations. Radix, IOTA and R3 Corda are examples of DLTs that are NOT blockchains.

distributed ledger technology and blockchain vs iota

Bitcoin Blockchain And DLT -  An Analogy

I've also received questions on whether or not the Bitcoin blockchain and distributed ledger technology have anything in common. Let's use another analogy to answer this question.

The Bitcoin Blockchain and Distributed Ledger Technology synonymous to "Google" and "Search Engine". Google is a specific type of Search Engine.  Similarly,  the Bitcoin blockchain is a specific type of distributed ledger technology.  

 Bitcoin IS a Distributed Ledger Technology (DLT). 

Remember, in the previous section we discussed how a blockchain is a sub-category of a DLT. There are many types of DLTs; and blockchains are only one of them. Similarly, there are many types of blockchains; and the bitcoin blockchain is just one of them. 

What is a DLT?

So what exactly is a DLT ?  Again, I will attempt to make this as easy to understand as possible.  A DLT – Distributed Ledger Technology – simply distributes information to multiple computers. These computers could be spread across the world. The primary aim is to reduce the risk of central storage.

Distributed Ledger Technology is the umbrella term to describe any system that distributes data across multiple sites. There are several types of DLTs.

What is A DLT?
A DLT (distributed ledger technology) is simply a fancy way of saying,
 “A database that is spread  across several sites“

  • “How” that data is distributed, structured and “agreed upon” (consensus) will dictate the TYPE of DLT. Kind of like how the shape, taste, colour etc dictates the TYPE of Fruit (to us non-fruit experts, at least)​

​Al blockchains are DLTs.
 But not all DLTs are Blockchains

A Blockchain is a type of DLT that organises its data in a “chain of blocks”. Each block encompasses a bunch of data that is verified & validated and then chained to the next block. Hence the term “blockchain”.  This data  – in the form of chained “blocks” – is distributed to everyone in the network.

That’s how a Blockchain type of DLT is typically implemented. Other DLT types may choose to implement differently. Radix, Corda and IOTA are all different types of implementations of DLTs. None of which are Blockchains.

Blockchain vs Databases

This is another frequently asked question: Blockchain vs Databases – what's the difference? Technically, Databases are used within a Blockchain system. So a comparison between a Blockchain VS Databases is akin to  a comparison between Heart and a Body. The heart lies within the body; and is a core part of the system. Similarly, databases are used within the Blockchain system.

Remember, DLTs are simply databases that are distributed across multiple sites. And Blockchains are simply a type of Distributed Ledger Technology.  So essentially, a blockchain comprises of structured databases – that are distributed.

Blockchain vs Distributed Databases

This is where things get tricky.  If a Blockchain is simply a system of distributed databases, then what's the difference between a Blockchain and a Distributed Database? This really boils down to the interpretation of a "Blockchain". 

The first Blockchain system was introduced in 2008, and its goal was to escape the shackles of centralisation. Usually, when people talk about  Blockchain technology, they are referring to a distributed system with no central control. However, when they talk about  Distributed Databases, they are referring to high powered distributed systems that have a central authority. 

To sum it up, a Distributed Database has a central authority that requires trust; while a Blockchain is typically a trustless system that has no central authority 

Conclusion - DLT vs Blockchain

The key takeaway from this post is: “All blockchains are DLTs. But not all DLTs are Blockchains”. A blockchain is a specific type of DLT. Bitcoin paved the way for public DLTs. But as the market and technology matures, we will see more implementations of DLTs to satisfy the markets ever-changing demands.

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂​​
​
BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Ethereum Sharding Explained Simply

By Shawn Dexter / February 14, 2018

Ethereum Sharding: The demand for scalability is becoming increasingly urgent. The Cryptokitties incident demonstrated how quickly the Ethereum network can clog-up. While  many in the community  are excited for Ethereum’s Sharding, there are just as many who struggle to understand how sharding will help Ethereum scale.

In this post, I will attempt to explain Ethereum’s sharding using a simple analogy.

Understanding The Problem

One of the major problems of a blockchain is that an increase in the number of nodes reduces it’s scalability. This may seem counterintuitive to some people. “More nodes = more power. So more speed, right?” Not exactly.

One of the reasons a blockchain has its level of security is because every single node must process every single transaction. This is like having your homework assignment checked by every single professor in the university. While this may ensure that your assignment is marked correctly, it will also take a really long time before you get your assignment back.

Ethereum faces a similar problem. The nodes are your professors. Each transaction is your assignment.

Sure, we can reduce the number of professors (nodes) until we are satisfied with the speed. But as the assignment (transaction) backlog increases, we will need to further decrease the number of professors. This will eventually lead us to rely on a few “trusted” group of professors. A centralized group.

This defeats the ideology of blockchain decentralization.  It’s much easier to compromise/corrupt a smaller group of professors (nodes) than the entire university (the entire network). As a result, we sacrifice security in an effort to scale.

To sum it up, blockchains must choose between Two of the Three following attributes:

  • SECURITY
  • SCALABILITY
  • DECENTRALIZATION

This is also referred to as the Blockchain Trilemma. Sharding is an attempt to tackle this limitation

What is "Sharding"?

With the problem and limitations understood, we now pose a question:

Can we have a system that has sufficient number of “professors” (nodes) to still maintain the security –  while being small enough to increase the speed at which your assignments are returned (throughput of the network)?

Essentially, we are conceding that we can’t “max-out” on all three of the attributes: Scalability, Security, Decentralization.  But, can we have just “enough” decentralization & security so as to achieve more scalability?  

Sharding is Ethereum’s answer to this question.

Ethereum Sharding: Think of Sharding as simply a fancy way of saying, “let’s break down the network into smaller groups/pieces”.
  • Each group is a shard. A group/shard consists of nodes and transactions.

So in our professor analogy, a shard would consist of a group of professors and assignments. Now, instead of a professor having to correct the assignments across the entire network, he would be only responsible for the assignments within his shard(group).

This greatly reduces the number of transactions (assignments) each node (professor) has to validate.

Ethereum Sharding - Structure

Okay, so I may have oversimplified a tiny bit. But now that you understand the gist, you’ll understand this part a lot easier.

In each shard/group, we have nodes that are assigned as “Collators”.  Collators are tasked with gathering mini-descriptions of transactions & the current state of the shard.

In our analogy, you can think of Collators as Teacher’s Assistants. All the TA’s in shard/group do the first run through of all the assignments within the shard.

Finally, we have super-nodes. Each super-node receives the collations created by the collators of each shard. They then processes the transactions within those collations. Furthermore, they maintain the full-description/state data of all the shards – which they get from the collators as well.

You can probably see the benefits of this structure. The number of nodes that process every single transaction would be greatly reduced, and thus increase overall throughput.

Conclusion

Sharding is a smart approach to tackling the blockchain scalability problem. However, it’s not without its drawbacks. Because of its structure, it’s easier to compromise a shard within the system.

This is one of the driving reasons behind Ethereum’s switch to Proof Of Stake. Proof Of Stake helps mitigate this security vulnerability that comes with Sharding. But for the sake of brevity,  we will discuss that in a future post.

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂

BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share
Page 2 of 2
>