{"id":37333,"date":"2020-05-25T11:38:43","date_gmt":"2020-05-25T08:38:43","guid":{"rendered":"https:\/\/forklog.com\/en\/?p=37333"},"modified":"2025-08-29T15:26:49","modified_gmt":"2025-08-29T12:26:49","slug":"what-is-sharding","status":"publish","type":"post","link":"https:\/\/forklog.com\/en\/what-is-sharding\/","title":{"rendered":"What is sharding?"},"content":{"rendered":"<div id=\"cards_wrapper\">\n<div class=\"single_card\">\n<p id=\"card_counter_1\" class=\"card_counter\"><span class=\"card_counter_span\">1<\/span><\/p>\n<p><strong>What is sharding?<\/strong><\/p>\n<div class=\"card_description\">\n<p>Sharding is a method of splitting and storing a single logical dataset across multiple databases. Another way to define sharding is horizontal partitioning of data.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_2\" class=\"card_counter\"><span class=\"card_counter_span\">2<\/span><\/p>\n<p><strong>When was sharding invented, and by whom?<\/strong><\/p>\n<div class=\"card_description\">\n<p>The concept of sharding has been used in managing traditional centralised databases since the late 1990s. The term \u201cshard\u201d (fragment) gained currency thanks to one of the earliest massively multiplayer online role-playing games, <a href=\"https:\/\/uo.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ultima Online<\/a>, whose developers spread players across different servers (different \u201cworlds\u201d in the game) to cope with traffic.<\/p>\n<p>A common business use case is splitting a user database by geography. Users belonging to the same location are grouped together and hosted on a distinct server.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_3\" class=\"card_counter\"><span class=\"card_counter_span\">3<\/span><\/p>\n<p><strong>What is sharding in a blockchain context?<\/strong><\/p>\n<div class=\"card_description\">\n<p><a href=\"https:\/\/forklog.com\/en\/news\/what-is-blockchain-2\">Blockchain<\/a> is a database whose nodes act as individual servers. Applied to blockchains, sharding means splitting the network into individual segments (shards). Each shard contains a unique set of smart contracts and account balances.<\/p>\n<p>Each shard is assigned a node that verifies transactions and operations, in contrast to a scheme in which every node verifies every transaction across the entire network.<\/p>\n<p>Dividing a blockchain into more manageable segments increases transaction throughput and thus addresses the scalability problem faced by most modern blockchains.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_4\" class=\"card_counter\"><span class=\"card_counter_span\">4<\/span><\/p>\n<p><strong>How does sharding work?<\/strong><\/p>\n<div class=\"card_description\">\n<p><em>Explained using Ethereum as an example:<\/em><\/p>\n<p>The Ethereum blockchain comprises thousands of computers, or nodes, each of which \u201clends\u201d the network a certain amount of hash rate. That hash rate allows the Ethereum Virtual Machine (EVM) to function\u2014to execute <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-smart-contract\">smart contracts<\/a> and run decentralised applications (DApps).<\/p>\n<p>Today Ethereum relies on sequential execution, in which every node must compute every operation and process every transaction. As a result, the verification process takes time: Ethereum handles roughly ten transactions per second, whereas Visa processes about 24,000.<\/p>\n<p>Adding more computers does not necessarily improve efficiency, because the entire ledger is stored on every device, and the verification chain simply grows longer.<\/p>\n<p>The idea of sharding is to abandon the model in which each node computes every operation, in favour of parallel execution, in which nodes handle only certain computations. This lets many transactions be processed simultaneously.<\/p>\n<p>The blockchain is split into separate shards (subdomains or segments). Nodes manage only the part of the ledger to which they are attached (they run processes and confirm transactions) rather than maintaining the entire ledger.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_5\" class=\"card_counter\"><span class=\"card_counter_span\">5<\/span><\/p>\n<p><strong>What problems does sharding solve?<\/strong><\/p>\n<div class=\"card_description\">\n<p>Sharding is a potential solution to scaling.<\/p>\n<p>The more popular a blockchain becomes, the more users initiate transactions, launch decentralised applications and run other processes on the network. Transaction speeds then fall, hindering long-term growth. Rising activity forces nodes to intensify verification. There is a risk of \u201cclogging\u201d, as happened to Ethereum during the CryptoKitties craze, when the game accounted for 11% of the network\u2019s transactions.<\/p>\n<p>If groups of nodes are responsible for individual segments, each node need not maintain the entire ledger to execute every operation. Validation can occur in parallel rather than linearly, increasing network speed\u2014thus addressing scalability.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_6\" class=\"card_counter\"><span class=\"card_counter_span\">6<\/span><\/p>\n<p><strong>What are the drawbacks of sharding?<\/strong><\/p>\n<div class=\"card_description\">\n<p>The main issues are communication and security. If a blockchain is split into isolated segments, each shard becomes a separate network. Users and applications in one subdomain cannot communicate with those in another without a special communication mechanism.<\/p>\n<p>Security is also a concern, because it is easier for hackers to seize a single shard: less hash rate is required to control an individual segment (the so-called <a href=\"https:\/\/www.mangoresearch.co\/1-shard-attack-explained-ethereum-sharding-contd\/\" target=\"_blank\" rel=\"noopener noreferrer\">1% attack<\/a>).<\/p>\n<p>After taking over a segment, attackers can send invalid transactions to the main network. Data in that shard may also become invalid and be irretrievably lost. Ethereum proposes randomised sampling as a remedy\u2014shard protocols are randomly assigned to different sections to authenticate blocks.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_7\" class=\"card_counter\"><span class=\"card_counter_span\">7<\/span><\/p>\n<p><strong>What are the alternatives to sharding?<\/strong><\/p>\n<div class=\"card_description\">\n<p>Developers have proposed two ways to improve performance and transaction speed in blockchains.<\/p>\n<p>The first is to increase block size. The key idea: the bigger the block, the more transactions it can contain and, therefore, the higher the transactions per second.<\/p>\n<p>However, larger blocks require more computing power to verify. If block size grows substantially, only the most powerful computers will be able to supply the computational resources needed to act as nodes.<\/p>\n<p>The high cost of such hardware means node pools will inevitably become smaller and more centralised, raising the risk of a <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-51-attack\">51% attack<\/a>. Increasing block size also requires a hard fork, which risks splitting the community: if not all users accept the upgrade, two different chains using different coins will emerge. Block-size increases are not a long-term solution.<\/p>\n<p>The second proposal is to use altcoins, so that different functions and applications run on their own networks with their own coins.<\/p>\n<p>This model improves performance because a single blockchain is not overloaded, but it also heightens security risks, as computing power is spread across multiple blockchains. Again, the risk of a network breach rises because the power required to mount a 51% attack is much lower.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_8\" class=\"card_counter\"><span class=\"card_counter_span\">8<\/span><\/p>\n<p><strong>Who uses sharding?<\/strong><\/p>\n<div class=\"card_description\">\n<p>Zilliqa was the first platform to implement sharding. On its testnet it achieved 2,828 transactions per second.<\/p>\n<p>The Near blockchain ecosystem lets developers build and deploy decentralised applications. Near describes itself as \u201ca sharded PoS blockchain\u201d and claims its sharding technology keeps nodes small enough to run on low-power devices\u2014potentially even on mobile phones.<\/p>\n<p>Ethereum offers a blockchain ecosystem for deploying DApps based on smart contracts. The Ethereum Foundation plans to include sharding in the updated protocol <a href=\"https:\/\/forklog.com\/en\/news\/what-is-ethereum-2-0\">Ethereum 2.0<\/a>.<\/p>\n<p>Other projects working with sharding include Cardano, QuarkChain and PChain.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_9\" class=\"card_counter\"><span class=\"card_counter_span\">9<\/span><\/p>\n<p><strong>What is the future of sharding?<\/strong><\/p>\n<div class=\"card_description\">\n<p>Sharding features in the <a href=\"https:\/\/developers.libra.org\/docs\/the-libra-blockchain-paper\" target=\"_blank\" rel=\"noopener noreferrer\">white paper<\/a> for the Libra digital currency. Ahead of launch, Facebook acquired Chainspace, whose developer team specialises in sharding. Details remain unknown, but it is reasonable to assume Libra\u2019s blockchain would implement some form of sharding.<\/p>\n<p>Sharding could, in theory, resolve the so-called blockchain trilemma.<\/p>\n<p>As Vitalik Buterin explained, the blockchain trilemma holds that only two of the three core properties\u2014security, decentralisation and scalability\u2014can be maintained at once. If sharding\u2019s challenges are overcome, distributed networks could scale without sacrificing decentralisation or security.<\/p>\n<p>Follow Forklog on <a href=\"https:\/\/www.facebook.com\/forklog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> Facebook<\/a>!<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>1 What is sharding? Sharding is a method of splitting and storing a single logical dataset across multiple databases, also known as horizontal partitioning. 2 When was sharding invented, and by whom? The concept has been used in centralised database management since the late 1990s. The term \u201cshard\u201d gained traction thanks to one of the first MMORPGs, Ultima Online, which spread players across servers to handle traffic.<\/p>\n","protected":false},"author":1,"featured_media":37334,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"select":"1","news_style_id":"1","cryptorium_level":"2","_short_excerpt_text":"","creation_source":"human_written","_metatest_mainpost_news_update":false,"footnotes":""},"categories":[2113],"tags":[2117,2115,2127],"class_list":["post-37333","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptorium","tag-101-altcoins","tag-101-technical-foundations","tag-sharding"],"aioseo_notices":[],"amp_enabled":true,"views":"51","promo_type":"1","layout_type":"1","short_excerpt":"","is_update":"","_links":{"self":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/comments?post=37333"}],"version-history":[{"count":1,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37333\/revisions"}],"predecessor-version":[{"id":37335,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37333\/revisions\/37335"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media\/37334"}],"wp:attachment":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media?parent=37333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/categories?post=37333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/tags?post=37333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}