UOne of the database management techniques that is taking life in today's crypto community is the Sharding. It is a process of fragmentation or horizontal division of databases in smaller parts or fragments. This in order to allow better handling of the same, making them less heavy and easier to operate.
Sharding was created in order to allow greater scalability in distributed and decentralized systems. But today, its application in blockchain technology could greatly improve the scalability problems that networks like Bitcoin y Ethereum.
Advantages of implementing sharding
The main advantage that fragmentation offers for a blockchain is improve scalability. Since transactions can be processed and validated more quickly, reducing the amount of time required for this process. And therefore, the network will have the capacity to process more transactions per second.
Likewise, the implementation of sharding reduces the risk of network centralization. Currently the Bitcoin and Ethereum blockchains demand the use of computers with great computing power to be able to support all the information that is handled in these networks. Equipment that has high acquisition costs, so not many users may have the ability to buy them.
With the implementation of sharding, it will no longer be necessary to store the entire blockchain in the same node, so the purchase of expensive equipment will not be required. This would allow many more people to have the possibility to participate in the network with their conventional equipment, guaranteeing its decentralization.
Why is it needed sharding in blockchain networks?
It is not a secret that the growing commercial boom in cryptocurrencies such as Bitcoin and Ethereum, has caused the scalability problem it is accentuated much more in its networks. Today there are many users who want to make Transactions with Bitcoin or use decentralized applications from Ethereum. Causing many nodes to be sued for the validation and verification of all those processes.
And since the nodes of these networks operate in such a way that each and every one of them must store an exact copy of their blockchains. With all the data contained in it since the beginning. And also, it must be constantly and permanently updated as more information is created and added. Thus transaction speeds are severely affected. Reaching points where networks can collapse and demand a large amount of time to process a transaction. Something that is not convenient for the sustainability and adoption of this technology in the long term.
Thus, although this methodology and work structure provides the blockchain with a high level of security and protection, it also causes the scalability of these networks to be limited. Making your blockchain unable to process more information than each of its nodes can process individually. And although today the Bitcoin network, for example, demands the use of computers with great computing power, the scalability problem continues to be present. So the Bitcoin network cannot process more than 5 or 7 transactions per second. While Ethereum, although it has a greater capacity compared to Bitcoin, it still presents a scalability problem that prevents it from exceeding on average 10 or 15 transactions per second.
Therefore, the implementation of sharding It can represent that viable and feasible solution that eliminates scalability problems, and that allows the processing of a greater number of transactions in less amount of time, in a safe and efficient way.
How will it improve sharding scalability in blockchain networks?
Sharding allows the fragmentation of a complete database into smaller parts that are much more manageable and organized. For example, if an informative database of a whole country or region is managed, with all the data of its inhabitants, such as localities, sector of residence, exact address of the property, work address, date of birth, age, quantity of children, economic income, among others, in said database it will be much more difficult to search or update specific information. Because of the large amount of data that is handled within the same list, it will become heavier and much slower to operate.
In contrast, if that large database is subdivided into smaller, more specific chunks, the information will be much more manageable and efficient. Since each fragment will handle clear and precise information about its content independently of what is handled in other sub-lists, becoming lighter and more organized.
This is what the sharding applied on the blockchain. With fragmentation, it will no longer be necessary for all blockchain nodes to work linearly to validate all the data that is added to the chain. Rather, they will operate in parallel and manage shards (specific fragments) where the information will be distributed and these shards will be in charge of validating and processing only the data that corresponds to them. And when all the groups of nodes finish executing the process assigned to them, all the information will be added to the blockchain, keeping it intact and complete, with the difference that the nodes will not handle the information in its entirety as it has been until now.
The application of the method sharding It will allow transactions to be processed much faster, improving the scalability and efficiency of the network.
Will applying fragmentation on blockchain networks not decrease your security?
Implementing the fragmentation method in the Bitcoin or Ethereum blockchain could pose a security and communication problem on the network. This is because the nodes, when assigned to a subgroup, would not have direct communication with the nodes that belong to the other subgroups. Making necessary the creation and implementation of communication media and external channels that allow the nodes to communicate with each other.
Likewise, guaranteeing the safety and protection of each of the subgroups is also a challenge for this new methodology. By subdividing the nodes into fragments, the hash power of each group will decrease considerably. This can pose a security problem and allow an malicious actor to carry out an attack more easily. A situation that puts the security and integrity of the information at risk.
However, the subgroups created will use the same consensus protocol that is used within the network. Thus there will be complete nodes that download and combine each of the processes carried out by each group of nodes. In order to form and maintain the complete blockchain and absolutely verify all the processes carried out. Even allowing thin clients to have access to all fragments for verification of operations.
Therefore, enough nodes can be maintained to keep the system safe and reliable. At the same time that it can process a greater number of transactions per second.
Other associated security issues
One of the biggest security issues that a fragmented blockchain can face is a single fragment acquisition attack. That allows an attacker to control a subgroup of the chain and thus prevent, for example, this subgroup from validating information such as obtaining the corresponding signatures. Or in another case, submit invalid or fraudulent transactions to the main blockchain.
As a solution to this problem, the random sampling. Where each group of the blockchain will have filters or notaries that will be chosen at random for the validation and approval of the information of the blocks.