Key Setup and Definitions
Data Sizes: 256 KB, 512 KB, 1024 KB, and 2048 KB.
Chunk and Column:
- Each chunk is 32 bytes.
- Each row contains 2048 chunks.
- Each row is determined by dividing the total number of chunks by the fixed number of columns (2048).
Commitment and Proof Sizes:
- Each commitment is 48 bytes.
- Each proof is 48 bytes (only used for the chunk-by-chunk scenario).
Number of Rows Calculation
Steps:
- Calculate the total number of chunks:
$\text{Total Chunks} = \frac{\text{Data Size (Bytes)}}{\text{Chunk Size (Bytes)}}$
- Calculate the number of rows:
$\#\text{ofRows} = \frac{\text{Total Chunks}}{\text{Number of Columns}}$
Bandwidth Calculations
a) Whole Column Scenario
- A whole column is sent to one sampling node.
- Bandwidth for one column includes:
- Total data in the column: $\#\text{ofRows} \times \text{Chunk Size (Bytes)}$
- The column commitment: $\text{Commitment Size (Bytes)}$
The total bandwidth for all 2048 columns:
$\text{Whole Column Bandwidth} = \#\text{ofColumns} \times (\#\text{ofRows} \times \text{Chunk Size} + \text{Commitment Size})$
b) Chunk-by-Chunk Scenario
- A single chunk is sent to one sampling node.
- Bandwidth for each chunk includes:
- Chunk data: $\text{Chunk Size (Bytes)}$
- Proof for the chunk: $\text{Proof Size (Bytes)}$
- The column commitment is also sent (once per column): $\text{Commitment Size (Bytes)}$