docs
Design
Core Technologies
Subnet & Sharding

Subnet & Sharding

Dill mitigates network traffic pressure during the addition of new blocks by propagating blob data through sharding.

The blob data will be divided into multiple shards, where shards with the same index form a column and are propagated across different sampling subnets.

In the diagram, "P" represents the proposer nodes, and "V" represents the validator nodes. During the process of synchronizing data, validator nodes verify the availability of the blocks proposed by the proposer through KZG commitments. In addition to validator nodes, regular full nodes also participate in the data propagation process and subsequently provide Data Availability Sampling (DAS) services to light nodes.

Typically, the consensus process of a Proof-of-Stake (PoS) blockchain network, which involves adding a new block to the network, consists of three parts:

  • build

    During this stage, the proposer will package the block and execute transactions.

  • propagate

    During this stage, the proposer will propagate the block and blob in the peer-to-peer (P2P) network.

  • verify

    During this stage, validators will validate the received block and cast their votes.

Compared to general blockchain networks, DA (Data Availability) blockchain networks have their own characteristics. Blocks in DA networks primarily consist of a large amount of unstructured binary data known as blobs. This leads to the propagation process being the most significant part of the consensus process in a DA network.

On the other hand, the blockchain itself does not need to execute or analyze this binary data. Its primary purpose is to ensure the availability of the data. Therefore, the blobs can be conveniently divided into chunks and synchronized within a subset of the DA network. It is only necessary to ensure that the data can indeed be obtained throughout the entire network.

By utilizing sharding design, each validator node only needs to synchronize a portion of the blob data. This reduces the network data synchronization traffic and improves the network's throughput.