DEFINITION OF ADAPTIVE STATE SHARDING IN CRYPTOCURRENCY. In this article, definition of adaptive state sharding in cryptocurrency, all about adaptive state sharding, types of sharding, sharding direction, the Elrond sharding approach, node shuffling and more will be highlighted.
This is an approach that joins all types of sharding into one to improve communication and performance used by Elrond.
ALL ABOUT ADAPTIVE STATE SHARDING
Three & sharding are in existence; state, transactions, and network. According to Elrond’s approach to Blockchain; sharding is the combination of all three types and it is known as adaptive state sharding. The combination of the advantages of all three types of sharding gives the best mechanism.
The combined advantages enables parallel processing improves communication inside the shards and finally improves performance.
The failure to properly scale for certain applications like banking, supply chain management and big data analytics is the latest problem in blockchain technology.
Adaptive state sharding used by Elrond, gives a mechanism for blockchain that can improve its performance in terms of throughput and scalability. Knowledge of sharding gives one a better understanding about adaptive state sharding.
Horizontal dividing of data in a database or search engine is sharding. The term shard means split and this refers to splitting data into smaller chunks that can be stored on different machines, allowing horizontal scaling.
Sharding like transaction processing and block processing, has been possible for a long time. Though not at the scale it needs to be at for blockchain adoption. Development of blockchain technology and smart contracts give rise to a real use case of sharding that can be used to break up transactions, blocks, and other relevant data into smaller pieces that can be processed by nodes with limited resources.
Adaptive sharding is a database splitting technology which allows horizontal scaling of databases by spontaneously moving data across servers as the load on the system increases or decreases.
Sharding at the network level, occurs to distribute nodes into segments. At the transaction level all nodes retain the totality of the blockchain.
Sharding also takes place at the state level, which leads to the processing and verification of more transaction at the same time.
Dynamic adaptive state sharding model enables for adaptation to an increasing or decreasing number of nodes without accepting the decentralization and security of the network.
Elrond’s approach (Elrond sharding approach) to sharding which increases security an throughput and reduces delays is appreciable. The approach has the capacity but only time will tell how far adaptive state sharding will go in solving the blockchain system scalability problem.
ADAPTIVE STATE SHARDING
Sharding is a method for distributing data across multiple machines. However, this makes it a scaling technique and it can be used by blockchain networks to split states and transaction processing to enable each node of the network to process a fraction of all the transactions. Besides, it allows for the parallel processing of transactions. Because, there is enough number of nodes confirming each transaction. Ensuring high dependability and security. And splitting a blockchain into shards enables it to process more transactions by method of parallelization. And Therefore improving transaction throughput and effectiveness. Also, sharding increases the throughput of the network. As it enlarges and the number of validator grows – a property known as horizontal scaling.
TYPES OF SHARDING
There are three types of sharding, namely: network sharding, transaction sharding and state sharding.
Network sharding: This deals with the way the nodes are grouped into shards and used to enhance communication. As message propagation inside a shard can be done faster than propagation to the whole network. It is the first challenging approach in every sharding and the mechanism that maps nodes to shards and the possible attacks from an attacker that gains controls over a specific shard must be considered.
Transaction sharding: This deals with the way the transactions are mapped to the shards where they will be processed. Transactions can be allocated to shards based on the sender’s address in an account-based system.
State sharding: This is the most challenging approach. Comparing the other two, in state-shared blockchain, each shard maintains only a portion of the state.
In case the accounts of the transaction is in different shards, performing that transaction will need uptading the state in both shards and exchange of messages will be involved between the nodes of the two shards. The nodes in the shards must be rearranged from time to time in order to increase flexibility to hostile attack.
Nevertheless, moving nodes between shards introduces the time taken. For the newly added nodes to download the current state from their new shard. Therefore it is important that only a subset of all nodes should be shared. During each period to avoid down times during the synchronization process.
However, Few sharding plans focuses on transaction sharding or state sharding alone because they increases transactions throughput, either by forcing every node to store lots of state data or each node to be a super computer. Sharding directions.
There are new challenges by sharding, such as the single-shard takeover attack, potentially intensive cross-shard communication, overall data and availability and also the importance of an abstraction layer that conceal the shards. Because the above problems are solved correctly, state sharding brings great improvement generally, transaction throughput will highly increase because of parallel transaction processing and transaction fees will reduce significantly. Sharding directions.
These are the main principle that affect mainstream adoption of blockchain technology. These obstacles has been changed into advantages and insentives towards large mainstream adoption by Elrond. Sharding directions.
THE ELROND SHARDING APPROACH
In the Elrond network (Elrond sharding approach), sharding was planned from thue base up to address the complicity of combining network sharding, transaction sharding and state sharding. Sharding directions. These resulted in a uniform protocol plan which achieve full sharding and accomplish the following goals as well
- Scalability without affecting availability, this requires that increasing or decreasing the number of shards affects an insignificant small sector of nodes without causing down-times or minimizing them while updating states.
- Fast dispatching and instant findability, this need that computing the objective shard of a transaction should be one-dimensional and insignificant calculate, eliminating the need for communication rounds.
- Efficiency and adaptability, this need that the shards should be balanced always.
In order to avoid complicity, the configuration of each shard must change always. This is done by Elrond network by shuffling nodes between shard at the end of each time. And reshuffling all of the nodes in every period, will gives the highest security level, with unimportant effect on the live ness of the system, as a result of extra latencies, a carefully controlled proportion of qualified validators belonging to a shard will be shared unpredictably and evenly to the other shards at the end of each period.
Nodes that are shuffled will be placed in the new shards in a waiting list. Which means that the must spend this period performing resynchronization with the new shard. The node becomes an qualified validator and join the shard in full after spending an entire time in the waiting list of the new shard.
The inability of the shuffling process to be predicted is very necessary for the security of the network. As a result, it is the metachain which computes a list of nodes that must leave their shards and move to new ones at the end of each period.
The selection of these nodes are done using the randomness source calculated in the preceding metachain blocks, this means that the selection and sharing cannot be known in advance.
This computation is one-dimensional and it requires no extra communication.
The node shuffling must take multiple aspects into consideration:
- Nodes must be shuffled between shards and maintaining the shards balanced
- Node that have already spent a period synchronizing inside the waiting list of a shard must be developed to qualified validator status in the respective shard
- However, registered new nodes that are waiting to join must be placed into a network-wide waiting list and remain not assigned to shard until the end of the latest period.
- There may be node that have indicated their intentions to leave
- The network arrangement might need changes. If assuming processing load has been uneven across shards. Or assuming many nodes are combining or leaving the network, then the number of shards must change.
In order to produce a shard configuration for the new period, the metachain must perform the following steps:
4. Calculation is done on the number of nodes that must be shuffled and they are not assigned from their shards.
5. Computation of new number of shards for the whole network is based on the processing load in shards. And number of nodes that will form the network in the upcoming period, and also taken into consideration nodes that are joining or leaving.
6. New nodes that have previously spent a period synchronizing in the waiting list are developed to qualified validators in that shard.
7. The nodes in the network-wide waiting list which include those that have been not assigned from their shards at. step 1 are shared randomly and evenly to all shards and put into their waiting list. Where the will spend the next period synchronizing with the new shard
The reconfiguration of shards at the beginning of the period and the arbitrary selection of validators. Within rounds both discourage the creation of unfair partners and reduce the possibility of capital DDoS and bribery attack while maintaining decentralization and a high transaction throughput as described before. Sharding directions.
ADAPTIVE STATE SHARDING
The best approach to blockchain sharding where all three types of sharding are combined is called adaptive state sharding.
State sharding: This is where the “state” or history of the entire network is split. Across different”shards” or section of the network. Each shard has it’s history/ledger and nodes also need to hold the state of the shard they are in. Obviously, reducing the amount of concealed storage capacity the require.
Transaction sharding: This manages the way in which transactions are mapped to shards for processing based. And principles like the sender’s address and each shard processes transactions in parallel to other shards. In this type of sharing, each node keeps a record of the state of the whole network.
Network sharding: This deal with the way nodes are grouped into shards and can improve communication. As sending messages to nodes in a shard can be done much faster than to the whole network.
Adaptive state sharding combines all three sharding types into a solution that enables parallel processing on all levels. And therefore greatly improving transaction throughput and efficiency. Shards are smaller unit of the network and are used for scaling . Each shard manages a portion of the state (accounts, smart contracts, blockchains) and transaction. Processing so that each shard can process only a small part of the transactions in parallel with other shards.