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

Vitalik Buterin2022-02-22 tarihinde yayınlandı2022-02-22 tarihinde güncellendi

Özet

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.

İlgili Okumalar

When Google Also 'Prints Stocks' to Build AI, Whose Narrative is Shattering the High Valuations of Neocloud?

Google has announced its first equity financing since 2005, a series of moves totaling $80 billion that signal a strategic challenge to Nvidia's GPU dominance in the AI compute market. This impacts "Neocloud" companies like CoreWeave, Nebius, and IREN, whose valuations are heavily tied to Nvidia's perceived uniqueness. Google's three-part strategy involves: launching new TPU chips (TPU 8t/8i) and selling them to third parties for the first time; forming a $25 billion compute-as-a-service joint venture with Blackstone; and raising ~$50 billion in new equity (part of an $80B package) to fund AI infrastructure, underscoring the massive capital demands even for tech giants. This marks a divergence from Microsoft's path. Microsoft, lacking a mature in-house AI chip, relies heavily on outsourcing to Neocloud providers using Nvidia GPUs. Google, with its proprietary TPU, is pursuing vertical integration—building its own data centers, selling chips, and competing directly with Neocloud services. While Neocloud firms have strong near-term revenue from locked-in Nvidia GPU contracts (e.g., CoreWeave's ~$100B backlog), Google's moves undermine their long-term valuation narrative based on Nvidia's sole supremacy and perpetual supply shortage. TPU performance claims and adoption by firms like Anthropic add credibility to Google's alternative. The AI compute market is transitioning from a uniform seller's market to a layered one: top AI labs are diversifying their hardware stacks; hyperscalers are pursuing different chip strategies; and financing costs will become a critical differentiator, favoring players like Google with lower capital costs. Key metrics to watch include the progress of the Google-Blackstone JV, expansion of the TPU customer base beyond Anthropic, and potential shifts in Microsoft's sourcing strategy. If Google succeeds on these fronts, the Neocloud investment thesis will require significant reassessment.

marsbit1 saat önce

When Google Also 'Prints Stocks' to Build AI, Whose Narrative is Shattering the High Valuations of Neocloud?

marsbit1 saat önce

İşlemler

Spot
Futures

Popüler Makaleler

ETC Nasıl Satın Alınır

HTX.com’a hoş geldiniz! Ethereum Classic (ETC) satın alma işlemlerini basit ve kullanışlı bir hâle getirdik. Adım adım açıkladığımız rehberimizi takip ederek kripto yolculuğunuza başlayın. 1. Adım: HTX Hesabınızı OluşturunHTX'te ücretsiz bir hesap açmak için e-posta adresinizi veya telefon numaranızı kullanın. Sorunsuzca kaydolun ve tüm özelliklerin kilidini açın. Hesabımı Aç2. Adım: Kripto Satın Al Bölümüne Gidin ve Ödeme Yönteminizi SeçinKredi/Banka Kartı: Visa veya Mastercard'ınızı kullanarak anında Ethereum Classic (ETC) satın alın.Bakiye: Sorunsuz bir şekilde işlem yapmak için HTX hesap bakiyenizdeki fonları kullanın.Üçüncü Taraflar: Kullanımı kolaylaştırmak için Google Pay ve Apple Pay gibi popüler ödeme yöntemlerini ekledik.P2P: HTX'teki diğer kullanıcılarla doğrudan işlem yapın.Borsa Dışı (OTC): Yatırımcılar için kişiye özel hizmetler ve rekabetçi döviz kurları sunuyoruz.3. Adım: Ethereum Classic (ETC) Varlıklarınızı SaklayınEthereum Classic (ETC) satın aldıktan sonra HTX hesabınızda saklayın. Alternatif olarak, blok zinciri transferi yoluyla başka bir yere gönderebilir veya diğer kripto para birimlerini takas etmek için kullanabilirsiniz.4. Adım: Ethereum Classic (ETC) Varlıklarınızla İşlem YapınHTX'in spot piyasasında Ethereum Classic (ETC) ile kolayca işlemler yapın.Hesabınıza erişin, işlem çiftinizi seçin, işlemlerinizi gerçekleştirin ve gerçek zamanlı olarak izleyin. Hem yeni başlayanlar hem de deneyimli yatırımcılar için kullanıcı dostu bir deneyim sunuyoruz.

142 Toplam GörüntülenmeYayınlanma 2024.12.10Güncellenme 2026.06.02

ETC Nasıl Satın Alınır

Tartışmalar

HTX Topluluğuna hoş geldiniz. Burada, en son platform gelişmeleri hakkında bilgi sahibi olabilir ve profesyonel piyasa görüşlerine erişebilirsiniz. Kullanıcıların ETC (ETC) fiyatı hakkındaki görüşleri aşağıda sunulmaktadır.

活动图片