How Elrond Is Stepping Up The Sharding Approach/Mechanism
With your stay in this blockchain space, there are various terminology you should be familiar with. One of them being Sharding.
Sharding isn't just a blockchain term. It was first used in databases. They use it for distributing data across different machines.
However when integrated with blockchain, it is used to divide states and transaction processes into parts. This enables each node to process only a certain portion of all transactions in parallel with other nodes.
Sharding in blockchain has the potential to increase the throughput once the validator network expands. This process could also be known as horizontal scaling.
Comprehensively, there are three major types of Sharding processes used by existing blockchain networks. They include; Network Sharding, Transaction Sharding and State Sharding.
How Do They Function?
Network Sharding: This type of Sharding coordinates the way nodes are grouped into shards and has the capability of being used for communication optimisation. This Sharding mechanism allows message propagation inside a shard to be done faster than propagation to the whole network. Network Sharding is the first challenge in every Sharding process.
Transaction Sharding: This type of Sharding coordinates the way the transactions are mapped to the shards where they will undergo processing. For instance, in a account-oriented protocol, transactions could be mapped to shards according to the sender's address.
State Sharding: This type of Sharding ensures that each shard maintain a fraction of the state. It is the most challenging Sharding approach when compared with the network and transaction Sharding because it does not store the whole state in all nodes. The nodes in the shard are shuffled at intervals to increase resiliency towards malicious attacks.
Sharding is not as simple to implement as it looks on paper. Transaction and state Sharding are rarely performed without compromising storage or processing power.
Some challenges arise upon Sharding; single-
shard takeover attack, cross-shard communication, data availability and the need of an abstraction layer that hides the shards. On occasions where these challenges are avoided, overall improvements are observed.
Elrond Unique Type Of Sharding
Elrond uses a new dynamic Adaptive State Sharding mechanism. The mechanism allows for shard computation and reorganisation to depend on the significance and the number of active network nodes. The reassignment of nodes in the shard at the start of each epoch is progressive and non nondeterministic. Which induces no temporary liveness penalties.
The Adaptive State Sharding comes with an extra challenge. Latency!!
Elrond solves this challenge by;
Using binary tree which divides the account address space in shard.
Balancing the node in each shard, in order to achieve complete architecture equilibrium.
Designing a built in mechanism in which transactions are automatically routed in the corresponding shards.
Making use of a shard pruning mechanism which ensures sustainability of the Elrond architecture.
What Elrond Sharding Approach Means To Blockchain
Scalability Without Affecting Availability
Dispatching And Instant Traceability
Efficiency And Adaptability
With the technology put in place for the Elrond network, their goal to increase throughput above thousands of TPS and to diminish cross-shard communication looks possible.
Elrond Adaptive State Sharding mechanism is dependent on a binary tree. The structure distributes account addresses, prioritizes much needed scalability and deals with the state transition.
On my next post, we'll be having an in depth look into the consensus algorithm adopted by Elrond.
To read more on your own, visit the following links.