As an initial trial, I performed calculations to encode a 1MB dataset using a finite field of size and a $256\times256$ matrix. This was done to establish a baseline comparison and analyze how ZODA operates under these conditions.
In Nomos DA v1, one of the primary reasons for working with smaller data sizes was the increase in the number of columns as the dataset grows. This leads to a rise in the polynomial degree, which in turn makes proof generation more complex and computationally expensive. However, ZODA proves to be more efficient for encoding larger datasets, which is an important aspect to consider for future optimizations.
The ZODA protocol processes data by selecting a predefined number of rows and columns for sampling. The verification step in ZODA consists of two primary checks:
In our current subnet structure, each subnet will receive an encoded row and an encoded column. These row-column pairs will be distinct for each subnet. Once a sufficient number of subnets have performed checks, the sampling process will be considered complete.
For an error probability of $2^{-7}$ , approximately 18 samples are required. If a higher error probability is acceptable, the number of required samples increases accordingly.
For each subnet, the transmitted data includes:
Thus, the total data size per node is estimated to be 16.5KB.
Encoding matrices should be treated as global parameters. These matrices can be accessed on-chain, eliminating the need for additional transmission.