Sharding is dividing all of the nodes of a network into several subgroups, each executing processing tasks meant for the original nodes in a predefined way, improving overall system processing capacity.

Requirements for sharding are listed below:

1.

Subgroups for sharding are restricted by size, as the system fault tolerance must be maintained; the quantity of nodes for sharding has a lower limit. For example, there must be at least 50 nodes.

2.

The sharding consensus is restricted. POW may be unsuitable due to the small quantity of nodes.

3.

Sharding must guarantee data consistency.