- Tram Ho
1, What is Sharding?
First, let’s take a look at some of the key features of an ideal Blockchain network:
- Security (Security)
- Scalability (Scalability)
And now, Ethereum has secured
Scalability still an issue that needs to be addressed urgently.
Some examples to see the necessity of scalability for the Ethereum Blockchain network:
- Currently, organizations and enterprises, technology companies are becoming more and more interested in the benefits and potential of Blockchain and since then, its application has been expanded and the number of transactions has been from there. Amazingly developed:
(Chart of the number of transactions / day on Ethereum network from October 2015 to May 2016)
- And worse is the case like the Cryptokitties incident: If anyone has not heard of it, you can go to Google to find out more clearly or give me a short explanation: Cryptokitties is a game that works on the Ethereum network there, players will use Ethereum’s Ether-pre-coding unit to trade and sell cats. I think it is quite simple and boring, isn’t it), but it has a great influence because it is one of the first games to operate on the Blockchain platform.
And if everyone is interested, you can find out, join Kitty community at: https://www.cryptokitties.co/
And it had a problem because the number of transactions was increasing, while the processing ability of Ethereum was limited (15 transactions per second), causing the network to be blocked and not handled promptly.
Therefore, today’s Blockchain networks focus on improving the speed and scale of dealing with transactions but still ensuring security for them.
2, Better understand the problem
One of the reasons that Blockchain ensures its security is because each node participating in the network authenticates through all transactions (if the transaction wants to be confirmed on the network). It’s like your homework must be marked by all the teachers in the school to ensure correctness đắn)). Therefore, it will take a lot of time for you to know the point of the lesson.
And so is the Scalability problem that Ethereum is facing: Each node is a teacher and each transaction is your test. (But here are thousands, millions of nodes, not a few dozen teachers. school …)
What if we compromise that there will only be a small group of teachers (nodes) that can trust to test the test (authenticate the transaction) so as to ensure the correctness and the speed will be improved. Significant good?
=> And Sharding is the answer to the scalability problem to allow for increased transaction speed and wider application.
3, Sharding – Solution for Scalability problem
Sharding, in the traditional sense, is a kind of partition that separates large databases into smaller, faster parts called
shard . A shard by definition is just a small part of a larger partition.
And imagine that the Ethereum network is divided into thousands of shards. And what the Ethereum community is trying to achieve with the implementation of Sharding is to eliminate the need for transactions to be checked by all nodes across the network. And then, sharding will allow thousands of transactions per second without going through all the nodes, which will also significantly reduce the overall size. However, this process is not believable because nodes are more dependent than independent. This is a sacrifice of security to increase the scalability of the system.
When a particular node requests that information is not stored in its own shard, it will find information in other blocks. This is the mechanism by which shards exchange information with each other.
An example of how this works:
Bob (Address in Shard 1) Want to send 100 ETH to Alice (Address in Shard 10).
1, A transaction is sent to Shard 1 and the system will wait for the transaction to be authenticated (ensure the correctness of the transaction: Bob’s account has that amount, …)
2, A receipt created.
3, A transaction is sent to Shard 10 including the newly created receipt and Shard 10 checks if the receipt has not been spent.
4, Shard 10 handles the transaction and sends that amount to Alice, and confirms that the receipt from that Shard 1 has been used.
5, Shard 10 creates a new receipt that can be used in subsequent transactions.
Sharding is a very viable approach to solving the problem of blockchain scalability. However, it is not without drawbacks. Due to its structure, it can easily lose the Blockchain’s security.
And this is also one of the reasons for promoting Ethereum to Proof-Of-Stake (A type of consensus mechanism that helps Blockchain networks work). Proof-Of-Stake helps minimize security vulnerabilities associated with Sharding. This is the statement of Vitalik Buterin, co-founder of Ethereum Network: “Sharding and Plasma to Help Ethereum Reach 1 Million Transactions Per Second” – I temporarily translate: “Sharding and Plasma can put Ethereum’s transaction speed Up to 1 million transactions per second “@@ a perfect number right? And what is Plasma or Proof-Of-Stake, I would like to share more in the following articles.
Source : viblo