DEFINITION of Sharding

Sharding is a database partitioning technique that will be used to dramatically scale ethereum’s blockchain and enable it to process more transactions per second. 


Currently, each node on ethereum’s blockchain stores all states. This means that each node is responsible for storing critical information, such as account balances and transaction history. While it ensures the blockchain’s security, storing all states in all nodes considerably slows transaction processing. Slow speeds for processing transactions do not bode well for a future in which ethereum’s blockchain becomes responsible for millions of transactions. 

Sharding refers to the horizontal partitioning of databases through division into rows. Shards, as the rows are called, are conceptualized based on characteristics. For example, one shard might be responsible for storing the state and transaction history for a specific type of address. Or it might be possible to divide shards based on the type of digital asset stored in them. Transactions involving that digital asset might be made possible through a combination of shards. As an example, consider a rental real estate transaction in which multiple shards are involved. These shards correspond to different entities involved in the transaction, from customer name to digital keys configured into a smart lock that is made available to the renter upon rent payment.