What would it take to do DAS with inner product arguments (IPAs)?

Vitalik ButerinPublicado a 2022-02-22Actualizado a 2022-02-22

Resumen

Data availability sampling (DA-sampling or DAS) today is planned to be done with KZG commitments.

Data availability sampling (DA-sampling or DAS) today is planned to be done with KZG commitments. KZG commitments have the advantage that they are very easy to work with, and have some really nice algebraic properties:

The first is a nice efficiency guarantee. The second ensures that producing a blob that can be DA-sampled is easy: if it takes O(N2) time to generate all proofs, then it would require either highly centralized actors or a complicated distributed algorithm to make it DAS-ready.

The third and the fourth are very valuable for 2D sampling, and enabling distributed block producers and efficient self-healing:

A block producer only needs to know the original M commitments to “extend the columns” with an FFT-over-the-curve and generate 2M commitments that are on the same deg<M polynomial.

You can do not only per-row reconstruction but also per-column reconstruction: if some values and proofs on a column are missing (but more than half are still available), you can do an FFT to recover the missing values and proofs.

However, KZG has a weakness: it relies on complicated pairing cryptography, and on a trusted setup. Pairings have been understood for over 20 years, and the trusted setup is a 1-of-N trust assumption with N being hundreds of participants, so the risk in practice is high and this author believes that proceeding with KZG is perfectly acceptable. However, it is worth asking the question: if we don’t want to pay the costs of KZG, can we use inner product arguments (IPAs) instead?

IPAs have the following properties:

  1. An evaluation proof has logarithmic size and can be verified in linear time (roughly 40ms for a size-4096 polynomial)
  2. There is no known efficient multi-proof generation algorithm.
  3. Commitments are elliptic curve points and you can linearly combine them just like KZG commitments
  4. There is no known way to linearly combine proofs.

Hence, we keep some properties and we lose some. In fact, we lose enough that our “current approach” to generating, distributing and self-healing proofs is no longer possible. This post describes an alternative approach that, while somewhat more clunky, still achieves the goals.

An alternative approach

First, instead of generating 2N independent proofs for a deg<N polynoial, we generate a proof tree. This looks as follows:

Blue: chunk 3, yellow: proof for chunk 3.

Note that to improve efficiency, each chunk does not need to be a single evaluation; instead, we can crop the tree so that eg. a chunk is a set of 16 evaluations. Given the combined size of the proofs will be larger than this regardless, we lose little from making chunks larger like this.

Generating these proofs takes O(N∗log(N)) time. Verifying a proof takes O(N) time, but note that verification of many proofs can be batched: the O(N) step of verifying an IPA is an elliptic curve linear combination, and we can check many of these with a random linear combination. O(N) field operations per proof would still be required, but this takes <1 ms.

Extension: fanout greater than 2

Instead of having a fanout of 2 at each step, we can have a higher fanout, eg. 8. Instead of one proof per commitment, we would have 7 proofs per commitment. At the bottom level, for example, we would have a proof of {1,2,3,4,5,6,7} , {0,2,3,4,5,6,7} , {0,1,3,4,5,6,7} , etc. This increases total proof generation effort by ≈(7∗7/4)/3 x (7 proofs per node, each proof 1.75x the size of the original, but 3x fewer layers, so ~4.08x more effort total), but it reduces proof size by 3x.

Proof size numbers

Suppose that we are dealing with N=128 chunks of size 32 (so we have deg<4096 polynomials), and a fanout of (4x, 4x, 8x). A single branch proof would consist of 3 IPAs, of total size 2∗(7+9+12)=56 curve points (~1792 bytes) plus 512 bytes for the chunk. This compares to 48 byte proofs for a 256 byte or 512 byte chunk today.

Generating the proofs would require a total of 2∗8192∗(3∗2+7) curve multiplications (3 * 2 for the two fanout-4 layers and 7 for the fanout-8 layer), or a total of ~212992 multiplications. Hence, this would require either a powerful computer to do quickly (a regular computer can do one multiplication in ~50 us, so this would take 10 seconds which is a little too long) or a distributed process where different nodes focus on generating proofs for different chunks.

Verifying the proofs is easy, as proof verification can be batched and only a single elliptic curve multiplication done. Hence, it should not be much slower than with KZG proofs.

Self-healing

Self-healing could not effectively be done column-by-column. But can we avoid requiring a single healer to have all of the data (all 2N chunks from each of all 2M polynomials)?

Suppose that a single row is entirely missing. It’s easy to use any column to reconstruct the value in the missing row in that column. But how to prove it?

The simplest technique is cryptoeconomic: anyone can simply post a bond claiming a value, and someone can later take that claim together with a branch proof proving a different value to slash that validator. As long as enough legitimate claims are available, someone on that row subnet can combine together the claims and reconstruct the commitment and the proofs. Validators could even be required to publish such claims for sample indices that they are assigned to.

A cryptoeconomics-free but more technically complicated and slow alternative is to pass along M branch proofs for values along that column, along with a Halo-style proof that the proofs verify correctly.

Lecturas Relacionadas

Jensen Huang's 2026 GTC Taipei Speech: The Era of AI Agents is Here, Computing is Revenue

NVIDIA CEO Jensen Huang's 2026 GTC Taipei speech announces the arrival of the "Agent AI" era, where AI transitions from content generation to performing useful work. Huang positions tokens as units of profit and GDP, driving massive demand for computing power and "AI factories." NVIDIA's strategy revolves around a new computing paradigm centered on AI agents, which combine large language models (LLMs) with agent frameworks for planning, memory, and tool use. Key announcements include: * **Vera Rubin:** A complete, end-to-end system (not just a GPU) designed from the ground up to run AI agents at scale, representing NVIDIA's evolution into an infrastructure company. * **Vera CPU:** A revolutionary CPU architecture built specifically for impatient AI agents, prioritizing low latency, single-thread performance, and massive bandwidth over traditional multi-core throughput. * **Enterprise AI Agent Toolkit:** A suite including open models (like Nemotron 3 Ultra), frameworks, tools, and a secure runtime (Open Shell) to enable every company to build and deploy its own AI agents. * **Next-Gen PCs with Microsoft:** A new line of Windows desktops, laptops, and workstations co-developed with Microsoft, featuring the N1X chip and designed to run local AI agents, redefining the personal computer. * **Physical AI Foundation Models:** Introduction of Cosmos 3 for robotics and physical AI, Alpamayo 2 for autonomous driving, and the Isaac GR00T platform—a fully integrated humanoid robot reference system. Huang emphasizes that the same core agent computing pattern (model + framework + tools + runtime) will extend from the cloud and PCs to robots, factories, and edge devices. He concludes that the industry is fundamentally changed as useful, agentic AI creates a vast new market where "compute is revenue."

marsbitHace 19 min(s)

Jensen Huang's 2026 GTC Taipei Speech: The Era of AI Agents is Here, Computing is Revenue

marsbitHace 19 min(s)

Trading

Spot
Futuros

Artículos destacados

Cómo comprar ETC

¡Bienvenido a HTX.com! Hemos hecho que comprar Ethereum Classic (ETC) sea simple y conveniente. Sigue nuestra guía paso a paso para iniciar tu viaje de criptos.Paso 1: crea tu cuenta HTXUtiliza tu correo electrónico o número de teléfono para registrarte y obtener una cuenta gratuita en HTX. Experimenta un proceso de registro sin complicaciones y desbloquea todas las funciones.Obtener mi cuentaPaso 2: ve a Comprar cripto y elige tu método de pagoTarjeta de crédito/débito: usa tu Visa o Mastercard para comprar Ethereum Classic (ETC) al instante.Saldo: utiliza fondos del saldo de tu cuenta HTX para tradear sin problemas.Terceros: hemos agregado métodos de pago populares como Google Pay y Apple Pay para mejorar la comodidad.P2P: tradear directamente con otros usuarios en HTX.Over-the-Counter (OTC): ofrecemos servicios personalizados y tipos de cambio competitivos para los traders.Paso 3: guarda tu Ethereum Classic (ETC)Después de comprar tu Ethereum Classic (ETC), guárdalo en tu cuenta HTX. Alternativamente, puedes enviarlo a otro lugar mediante transferencia blockchain o utilizarlo para tradear otras criptomonedas.Paso 4: tradear Ethereum Classic (ETC)Tradear fácilmente con Ethereum Classic (ETC) en HTX's mercado spot. Simplemente accede a tu cuenta, selecciona tu par de trading, ejecuta tus trades y monitorea en tiempo real. Ofrecemos una experiencia fácil de usar tanto para principiantes como para traders experimentados.

159 Vistas totalesPublicado en 2024.12.10Actualizado en 2026.06.02

Cómo comprar ETC

Discusiones

Bienvenido a la comunidad de HTX. Aquí puedes mantenerte informado sobre los últimos desarrollos de la plataforma y acceder a análisis profesionales del mercado. A continuación se presentan las opiniones de los usuarios sobre el precio de ETC (ETC).

活动图片