Owner: @Mehmet

Reviewers: 🟨@Álvaro Castro-Castilla 🟨@Daniel Sanchez Quiros 🟨 @Thomas Lavaur

Preliminary Researches:

Data Benchmarking for Nomos DA v1 vs Nomos DA v2

Field Extension Benchmarks

Subnetwork Structure for Nomos DA v2

Introduction

This document describes the cryptographic protocol underlying Nomos DA v2, an upgraded data availability (DA) scheme that enhances encoding efficiency and drastically reduces proof generation time by integrating the Zero-Overhead Data Availability (ZODA) protocol.

In Nomos DA v1, proof generation time increased significantly with larger data sets, creating scalability issues. With Nomos DA v2, we address these concerns by integrating ZODA’s fast and verifiable encoding mechanism. Our design leverages insights from prior work, choosing to represent original data as a $1024×1024$ matrix, striking a balance between efficient processing of large matrices and maintaining secure chunk sizes.

While ZODA is efficient for large matrices, we note that subspace distance checks pose security risks for data sets of 1MB or smaller. To preserve integrity in these edge cases, Nomos DA v2 employs field extension techniques. A detailed breakdown of the sparsity check and subspace distance check can be found in the accompanying [security details document].

Overview

Nomos DA v2 uses a structured tensor code-based encoding scheme (ZODA) to enable fast, verifiable data availability proofs and robust recovery. Original data is structured into a fixed $1024 \times 1024$ matrix, and then encoded into a $2048 \times 2048$ matrix using a two-step Reed–Solomon encoding process combined with random scaling. Availability is verified via row and column sampling, using Merkle commitments and proximity checks. Chunk size adapts to blob size. The system supports efficient decoding from either half of the matrix.

Sampling Strategy

Protocol Flow

Original Data → RS Encode Rows → Commit Rows
         ↓
     Apply Random Scaling
         ↓
Column Encoding → Commit Columns
         ↓
     RS Encode Again
         ↓
     Commit Final Matrix
         ↓
        Sampling
         ↓
     Verification & Decoding

Protocol Construction

We work with a data matrix $\widetilde{X}$, typically containing the original data to be made available. We encode it into a structured format to enable availability sampling and verifiable decoding. In our protocol, $\widetilde{X} \in \mathbb{F}^{n \times n}$, and the encoding rate is $1/2$, so the final encoded matrix has dimensions $2n \times 2n$.