You may also know that one of the most important factors limiting the current large-scale application of blockchain technology is performance , which is one reason why many traditional Internet practitioners are less optimistic about blockchain technology.
So, how to solve the performance problem of the blockchain? One of the solutions is Sharding .
1. What is a piece?
- Getting started with blockchain: Why should Ethereum set a block for the block?
- Getting started with blockchain
- Getting started with blockchain | Hash lock for cross-chain technology solutions
- Getting started with blockchain | The phone or computer with the wallet installed is broken, is the currency gone?
- Read through the blockchain series: Key role in the blockchain world Token
- Introduction to Blockchain | Exploring Zero Knowledge Proof Series (1): Initially Knowing "Zero Knowledge" and "Certificate"
Sharding is a form of database partitioning, also known as horizontal partitioning, which divides a large database into many small, manageable parts to improve performance and reduce response time.
Fragmentation is not a new concept. It appeared in the traditional centralized database management as early as the late 1990s. The popularity of this concept is due to a multiplayer role-playing game Ultima Online. In this game, developers assign players to different servers to ease traffic pressure (which means there are many parallel "game worlds").
Commercially, a common case of sharding is to divide the database of user information according to geographic location, and put together the user information of the same area and store it in a separate server.
2. What is the fragmentation in the blockchain field?
A blockchain is equivalent to a database, and each node is equivalent to a separate server. Under normal circumstances, each node has only one node at a time to get the right to bill out the block, and the remaining nodes that do not get the block right are equivalent to doing "useless work", which is a waste of computing power.
If the fragmentation technology is applied to the blockchain, it is equivalent to decomposing all the pending tasks in the blockchain network (such as confirming transactions, running DApp, etc.), and the nodes of the whole network are also grouped. Process a decomposed task (such as 150 pending confirmation transactions), so that all tasks from the original single node processing the entire network become multiple sets of nodes and parallel processing.
For example, suppose there are currently 8,000 nodes (miners) on Ethereum, and the number of transactions to be confirmed on the entire network is 15,000. Ethereum can process 7-15 transactions per second. Under normal circumstances, it takes at least 1000 seconds to process these pending transactions. Of course, there will be new pending transactions in the process.
If fragmentation technology is used, divide 8,000 nodes into 100 groups of 80 nodes each. The 15,000 pending confirmation transactions are divided into 100 partitions, each with 150 segments. Then, each group of nodes (80) can process each in parallel. The pending transaction (150 pens) in the partition, so that the 15,000 pending confirmation transactions can be processed in the fastest 10 seconds.
From this example, we can see that the fragmentation technique can greatly improve the performance of the blockchain.
So, is there any defect in the fragmentation technology? The answer is yes.
3. Potential risks of fragmentation technology
Although the fragmentation technology can solve the performance problem of the blockchain to a certain extent, and make the blockchain more scalable, there are also two defects.
One is the communication problem between different zones after partitioning. In the above example, the Ethereum network is divided into 100 partitions, each of which is independent, equivalent to 100 independent, parallel Ethereum blockchains, each maintained by a group of miners (80 nodes) And confirm the transaction. These 100 independent Ethereum blockchains cannot communicate with each other. If communication is required, it is necessary to increase the cross-partition communication mechanism (similar to cross-chain), which will increase the complexity of the blockchain and increase the difficulty of development.
The second is the security of the blockchain. In the above example, before the sharding, the Ethereum network is a computing power of 8,000 nodes. After dividing into 100 partitions, each partition is equivalent to an independent Ethereum blockchain, and the computing power drops to 80 nodes. The composition of the power. At this point, it is much easier to make a 51% power attack on one of the partitions. Controlling a partition, an attacker can do evil in this partition and tamper with the transaction.
The Ethereum Foundation plans to use the sharding technology as one of the upgrades of Ethereum 2.0. How to solve the above two defects of the fragmentation technology in Ethereum, we will wait and see.
In addition to performance issues, what problems do you think the current blockchain technology still has? Welcome to share in the message area.
Author | JackyLHH Produced | Vernacular Blockchain (ID: hellobtc)
"Declaration : This article is based on "Cointelegraph". This series of content is only for the introduction of blockchain science, and does not constitute any investment advice or advice. If there are any errors or omissions, please leave a message. 』