Sharding is one of the most exciting technologies being implemented by FLETA. To understand the importance of sharding, let’s give you a little overview of the state of blockchains as we know so far.

Blockchains and Scalability

With the advent of Bitcoin, people around the world were introduced to Blockchain Technology. The promise of blockchain technology is groundbreaking. A distributed technology which makes sure that a system works honestly without needing to trust each individual component? That is seriously amazing. However, like with all technologies, there is an issue that needs to be addressed.

The blockchain technology is not an inherently scalable solution. Scalability, in rough terms, means that a system should have high performance and speed even when more and more users start using it. The blockchain’s architecture doesn’t necessarily allow that.

Leader-based consensus mechanisms

Several modern blockchains like FLETA, EOS, Cardano, etc. have started using a leader-based consensus model. In it, specific “supernodes” are selected via a continuous election and these nodes are in-charge of decision-making within the ecosystem. Now, this does solve part of the scalability problem. While Ethereum can manage only 25 transactions per second, FLETA can do thousands of transactions per second.

However, one more thing needed to be done to achieve true scalability.

At FLETA, we realized that blockchain-based platforms are going to be the norm in the future. As such, just reducing the number of required validators isn’t enough. Integration of more parallelized task is necessary.

Sequential vs Parallelization

Tasks can be done in a sequential or a parallelized format. To understand the difference between the two, imagine that there are three tasks T1, T2, and T3. In sequential tasks, the nodes will deal with these tasks one at a time. In parallelized tasks, the nodes will divide themselves into three parties and each of those parties will take care of T1, T2, and T3 at the same time.

Now, this brings us to the main topic.

What is Sharding?

Sharding is a term that has been taken from database systems. In a database, you sometimes have to deal with large bulky data. This dramatically hinders performance and throughput and it makes the entire process extremely inefficient.

This is where sharding comes in.

Sharding does a horizontal partition of your database and turns into smaller, more manageable tables.

Kind of like this:

So, why a horizontal partition and not a vertical partition?

Consider this table:

Now, if we were to partition this table vertically:

See that?

Because of the partition, the table turns into two completely different tables.

As opposed to that, what happens when the table gets partitioned horizontally:

Do you see what happens? When you vertically partition a table they tend to become two completely different tables altogether.

However, if we were to partition them horizontally:

See that?

A horizontal partition turns the database into smaller tables of the same database. These smaller databases are called shards.

How does Sharding Help Blockchain?

As we have seen so far, as more and more nodes enter the Ethereum and Bitcoin ecosystem, the entire consensus and verification process takes even more time. Now, what will sharding do to help this?

Sharding is going to break the global state of the blockchain into tinier more manageable shards.

What happens on shard activation?

The state gets split into shards

Every single unique account is in one shard, and the accounts in that shard will only transact with the other accounts in the same shard.

In simplistic terms, imagine this scenario. There is a hypothetical network with three nodes- A, B, and C and they have to verify data T. The data T is broken down into three shards T1, T2, and T3. Instead of all these nodes working on T as a whole, they can individually work on a shard at the same time. As you can see the amount of time you are saving is exponential.

FLETA believes that by utilizing Proof-of-Formulation (POF) and sharding in conjunction, we will create a platform which is highly scalable and high-performing.