Imagine sitting in a large classroom and writing an exam together with 500 other people. Let’s say 50 teachers observe and evaluate the exam. Imagine that each of these 500 examiners would have to pass all 50 teachers and your grade would be the average of all exhibited. Can you imagine how long it would take to write all the exam papers? Obviously, this is never a practical way, which only complicates the exams and becomes more difficult as the number of students taking the exams increases. Exactly the same difficulties have been encountered by Ethereum, gaining popularity and increasing transaction volume.
Now imagine that instead of 50 teachers who have to take 500 exams, the responsibility will be broken down into segments. Each faculty inspector would be responsible for the grade of 10 exams, and the grade each inspector would give would be final for each of the 10 students. If the inspector is not sure how to grade a certain student, he could consult with other inspectors and get more information.
In fact, this is a simple example of how sharding can solve an Ethereum blockchain issue by increasing transaction speed and reducing network congestion.
What is Ethereum sharding in simple terms?
Sharding forces transactions to be divided into “pieces” (shards). Each node in the network does not process the whole block, but its components. This makes it possible to process transactions faster and to scale the network.
The term is taken from work with databases that are distributed to store information (for example, based on what country you are from, your data can be located in the nearest data center to you). For Ethereum, the latest specifications and exact model are still under development.
The shards will not be constant. The protocol has a built-in load balancing process that moves objects between shards:
- If shard becomes too large or requires too much gas, it can be split in half;
- If two shards become too small and often communicate with each other, they can be combined;
- If all shards become too small, one shard can be removed and its contents moved to other shards, etc.
Trivial, but inconclusive ways of blockchain scaling
There are three main categories of “simple solutions” to the problem.
First: refuse to scale individual blocks and instead assume that users will use many different “altcoins”. This significantly increases bandwidth, but limits security: increasing the network by N reduces security by N. Consequently, this is not viable for minor N values.
Second: just increase the block size. In some situations it is a good choice as block sizes may be limited by policy rather than technical considerations. But this approach inevitably has its limits: if you go too far, the nodes working on user equipment will fail. The network will then start relying solely on a small number of supercomputers, which can lead to a risk of centralization.
Third: “Mining merge” — a technique that has many chains but all networks have the same production capacity. This is how Namecoin currently works with Bitcoin blockchain. If all the miners are involved, it can theoretically increase bandwidth by a factor of N without compromising security. However, there are problems here:
- The solution increases the computational load on each miner in the N-factor. So this solution is actually just a hidden form of increasing block size;
- Also, chains are not really connected: it takes only a small amount of economic incentives to convince miners to abandon or endanger one particular chain;
- If only a few pools are involved in each block merger, then there is an inevitable risk of centralization.
Sharding: the best way to decentralized scaling
If now Ethereum acts as a single database, all the nodes of which store the same copies of blocks and confirm the same network transactions, then after hardforking the network will include separate shards, each of which will process its own transactions and smart contracts. Depending on the load, not only the complete nodes will work, but also other types of nodes.
High hopes are pinned on the sharding bundle with PoS — Vitalik Buterin himself claims that the network efficiency will increase “by thousands of times”.
Sharding does not mean the collapse of the Ethereum blockchain itself — shards will be connected to it by cryptographic method, which will confirm the data on shards and transactions in them throughout the network.
The upcoming update will fundamentally change the economics of the Ethereum network. Validators will be responsible for confirming transactions in shards. To become a validator, it will be necessary to allocate at least 32 ETH to this activity. According to the latest version of Ethereum’s roadmap, it is recommended to use a minimum of 111 validators for one shard combined in a “committee”.
Validators as well as miners will receive new coins as a reward for block validation. The more total number of coins validators have in the network, the more coins will be issued. The size of the total stake is inversely proportional to the reward level. Thus, if the sum of the stake is 1 million, it will be 18%, and at 10 million — already less than 6%. On the yield of validators will depend on several other factors, such as the duration of the stake online.
The Ethereum team plans to collect the initial number of validators in the stake with a total of 2 million coins. With the help of the validators the project team wants to decentralize the system of transaction and issue confirmation, as PoW-mining leads to centralization.
From a technical point of view, it is much easier to become a validator than a miner, and Ethereum hopes that this will become a massive activity. But experts doubt that it will be profitable. However, a balance is likely to be established — the validators will regulate the volume of the stake depending on the price of the Ethereum: reduce it when the value of the asset decreases, and vice versa.
Earn more ETH to become a validator in future with our fair crypto lotto Ethex.bet!