Sharding

Simple Definition of Sharding
  • A database partitioning technique used by blockchains for scalability, enabling more transactions per second
  • It splits a blockchain company's entire network into smaller partitions, known as "shards."
  • Sharding is the process of splitting a database horizontally to spread the load – it’s a common concept in computer science.
    • In an Ethereum context, sharding will reduce network congestion and increase transactions per second by creating new chains, known as “shards”.
What is Sharding?
  • Sharding is a database partitioning technique being considered by blockchain networks and being tested by Ethereum.1
  • The more users that blockchain networks take on, the slower the network becomes, leading to significant latency.
  • Sharding can improve network latency by splitting a blockchain network into separate shards—each with its own data, separate from other shards.1
  • Security concerns surrounding sharding include a hack or shard takeover, where one shard attacks another, resulting in a loss of information.
    • Sharding refers to splitting the entire Ethereum network into multiple portions called ‘shards’. Each shard would contain its own independent state, meaning a unique set of account balances and smart contracts.
    • Sharding is definitely the most complex Ethereum scaling solution. It’s also the one that is expected to be released last, giving developers the necessary time to both fully scope it out and test it in production environments.
    • Before getting into the technical details, it’s important to know the role that nodes play in the Ethereum network. Nodes are responsible for verifying the miners’ work and ensuring that consensus rules are followed. The best way to do this is to keep a full copy of the Ethereum ledger, that way it’s easy to verify a miner’s work. But the Ethereum blockchain is approaching 1TB of storage so it’s impractical for a regular person to run a node.