The problem of sizing in front of countless blockchain projects is persistent, and the current debate is evaluating the application of a technique called "sharding" "For the malaise.
In particular with the digital currency number two, Ethereum, some promising solutions have already been applied for some time. With Ethereum, the project places emphasis on both security and decentralization, and sharding seems a good fit to enable scaling without compromise.
What Is Sharding?
Sharding is actually a legacy protocol and a fairly simple construct, even if it becomes a bit more complicated when applied to blockchain. of a public blockchain like Ethereum, the sharding applied to the blockchain technology is a sound application, and yet more complex than the simple sharding of a database, as in legacy applications.
The sharding process has been used for decades as an approach to scaling and managing data. The typical benefits of optimizing the corporate database provided by sharding have even been pre-packaged in the Google Spanner database management offer.
Technically, sharding involves horizontal partitioning of data within a given database. A database is then segmented into various fragments, which maintain the speed and accuracy of the required data management, without succumbing to the overload that would experience without the sharing of incoming information. The aggregated fragments together reform the complete original database.
How does Sharding help the Ethereum scale?
On the Ethereum decentralized blockchain network, the nodes work in a P2P environment without any central authority. Each node contains all the states in the chain and processes all network transactions in most current blockchain models.
Although this generates watertight security, with the Bitcoin and Ethereum Proof of Work (PoW) protocols in play, resizing becomes a problematic issue. Ethereum is adopting a consent to Proof of Stake and is gradually phasing out the PoW protocol, but the downsizing problems remain.
Proof of Stake is also not a permanent solution to downsizing problems. For example, on Ethereum, the entire status of the blockchain account balances, the contract code and all other data are stored in a complete node. The problems are rising now that the network is increasing in size, as the consensus is only increasing linearly. The limitation comes due to the necessary communications between the nodes to reach consensus.
No node in the Ethereum network has special privileges, with each node that stores and processes every single transaction. Downscaling problems typically present in the form of rising gas costs and prolonged deadlines to confirm a transaction. The network remains as fast as the individual nodes, despite the increase in incoming data, and there is no resolution of scalability problems by generating multiple nodes.
Sharding has the potential to alleviate downsizing problems as it is a proven and innovative solution. Shardare etherum's blockchain would imply the collection of subsets of nodes to form fragments. In turn, these fragments process only the specific transactions for the fragment. This allows the network to handle transactions in parallel, thus significantly increasing throughput.
The fruits of sharding are analogous to American states. Each state may have its own particular rules, geopolitical boundaries and specific population dynamics, but it remains a component of the United States, sharing a language and a set of rules and principles.
Vitalik Buterin painted the etherum sharding as imagining that the network had been "divided into thousands of islands". In his representation, Buterin noted that each island would be able to do its own thing. Each of the islands has "its unique characteristics, and all those belonging to that island [like the accounts] can interact with each other and can freely indulge in all its characteristics."
Nodes or fragments that want to come into contact with other islands, "will have to use some sort of protocol". In short, the subdivision into highly efficient "pieces" allows the Ethereum network to function as the sum of all its parts, rather than being tied to the speed of each individual
Sharding and Blockchain Technology
The developers of Ethereum they are currently implementing something called "state sharding". The existing state of the Ethereum blockchain is called "global state" and is what every user sees if they look at the Net. The trick to split Ethereum will be to allow subsets to process named sets of transactions and at the same time update the status of the global network, also ensuring that its validity is maintained.
The project promoted the sharing of Ethereum in two phases, linked to the abandonment of the PoW for the consent of the PoS.
The first phase is the establishment of the data layer that contains the consensus around which the data are contained by the fragments. The second phase consists of the "state" layer. It looks accurate, but it will be a very fluid arena. A snapshot of architecture would look like this:
Ethereum divides their network into specific fragments. Each fragment is then assigned their specific group of transactions. These groups of transactions derive from the bundling of some accounts to form a fragment. Each "group of transactions" will have a header and a body, as follows:
Ø This is the ID of the fragment of the transaction group
Ø The assignment of the necessary validators by random sampling that will verify the fragment transactions  Ø Root state (the Merkle root state of the fragment before and after the validation of a transaction)
Ø This is all the transactions belonging to a group of transactions that is part of a specific fragment.
Once a blockchain is sharked, transactions become shard-specific and occur between native accounts of that particular shard. As the transactions are verified, the status of the network changes and its accounting and storage balances are updated.
In order for the transaction group to validly verify, any pre-state transaction group root must match the root of shard in the global state. If c is a match, the transaction group is validated. The global state is updated through the specific root of the ID status shard.
Whereas before each block in the Ethereum chain contained only the state root, the application of sharding sees every block that now contains both a state root and a group root of transactions.  In addition, a root of the transaction group forms the merkle root of the transaction groups collected from all the fragments specific to that particular transaction block. In other words, there is a merkle root of all the various fragments containing verified and updated transaction groups.
This root is also stored on the blockchain as with the now updated status root. The use of merkle trees in this process is crucial to ensure the validity of the blockchain.
Blockchain Sharding Specifics
Consent achieved in a fragment is obtained using Proof of Stake, sampling random nodes that are used in a specific consensus round. This generates purposes for consent, something necessary within the fragments, and also avoids the susceptibility to attacks that a consensus of the PoW would allow.
By applying random sampling of a selection of validators within a fragment, Ethereum can eliminate this type of attack, as scammers will not know which fragments are positioned before being positioned that way.
Communications between shards are obtained by applying the notion of transaction receipts. Receipts for transactions are stored in a merkle root. This can be verified quite easily, but it is not part of the state root.
Any fragment that receives transactions from another fragment will check the merkle root to make sure that the receipt has not actually been spent. Basically, receipts are stored in shared memory that can always be validated by other shards, although they can not modify entries. Distributed storage of receipts is what allows validation of communications between fragments.
Moving Forward With Sharding
Sharding as a policy is expected to be implemented after the current update of Casper PoS. It seems that, at the current state of affairs, Casper is scheduled for 2019, while wholesale crowdsouring will follow in 2020 or even in 2021.
There have been other important sharding interventions, especially with Zilliqa. That project, however, does not currently implement state sharding, focusing instead on enabling high-speed blockchain, using segmentation transactions and compartments.
Sharding presents some promising solutions to the persistent S-word that will not go away. The Bitcoin project is sampling the Lightning Network solution to resize that network, with good results. Unfortunately, the downsizing of Ethereum with sharding is much more complex, since Ethereum remains, in essence, a complete world computer of Turing, and not simply a cryptocurrency.
Sharding can therefore only work at the protocol level, so developers and other users continue without affecting their activities as important information. Ethereum's attempt to establish state cuts is ambitious and complex and will be an impressive achievement if the project can successfully implement it.