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

Vitalik Buterin發佈於 2022-02-22更新於 2022-02-22

文章摘要

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.

你可能也喜歡

被AI吓崩的软件股,怎么突然成了美股最靓的仔?

近日,软件股在美股市场强势反弹,成为最亮眼板块。以Snowflake和Datadog为代表的公司股价大幅上涨,单月涨幅惊人。这标志着市场情绪发生了显著逆转——仅仅半年前,华尔街还普遍担忧人工智能(尤其是AI Agent)会颠覆传统软件公司,导致该板块遭到低配。 反弹的核心逻辑有二:首先,最新财报数据证伪了“AI冲击软件”的恐慌。例如,Snowflake不仅上调了业绩指引,还签署了巨额AI相关合作协议,表明AI工作流反而增加了对软件平台的需求。其他软件公司的业绩也普遍超预期,显示行业盈利增长依然强劲。 其次,机构此前对软件股的配置处于历史低位,业绩向好触发了大规模空头回补和资金涌入,推动了暴涨行情。市场观点也随之转变,有分析指出AI的利润重心正从硬件向软件转移。 文章进一步探讨了AI与软件的关系,指出AI Agent非但不会取代软件,反而会成为软件的新用户,增加对身份管理、数据调用和工作流协调等服务的需求,从而扩大了软件的市场空间。同时,企业级应用场景复杂,涉及经验积累、成本控制和合规治理,通用AI模型与具体业务结果之间仍有距离,而这正是软件公司的价值所在——将智能转化为稳定、可靠、可信任的业务流程。 最终结论是,AI不会杀死软件,而是会重新定义软件。能够成功将AI能力融入并增强自身产品、解决企业实际痛点的软件公司,将在新周期中胜出。

marsbit26 分鐘前

被AI吓崩的软件股,怎么突然成了美股最靓的仔?

marsbit26 分鐘前

交易

現貨
合約

熱門文章

如何購買ETC

歡迎來到HTX.com!在這裡,購買Ethereum Classic (ETC)變得簡單而便捷。跟隨我們的逐步指南,放心開始您的加密貨幣之旅。第一步:創建您的HTX帳戶使用您的 Email、手機號碼在HTX註冊一個免費帳戶。體驗無憂的註冊過程並解鎖所有平台功能。立即註冊第二步:前往買幣頁面,選擇您的支付方式信用卡/金融卡購買:使用您的Visa或Mastercard即時購買Ethereum Classic (ETC)。餘額購買:使用您HTX帳戶餘額中的資金進行無縫交易。第三方購買:探索諸如Google Pay或Apple Pay等流行支付方式以增加便利性。C2C購買:在HTX平台上直接與其他用戶交易。HTX 場外交易 (OTC) 購買:為大量交易者提供個性化服務和競爭性匯率。第三步:存儲您的Ethereum Classic (ETC)購買Ethereum Classic (ETC)後,將其存儲在您的HTX帳戶中。您也可以透過區塊鏈轉帳將其發送到其他地址或者用於交易其他加密貨幣。第四步:交易Ethereum Classic (ETC)在HTX的現貨市場輕鬆交易Ethereum Classic (ETC)。前往您的帳戶,選擇交易對,執行交易,並即時監控。HTX為初學者和經驗豐富的交易者提供了友好的用戶體驗。

295 人學過發佈於 2024.12.10更新於 2026.06.02

如何購買ETC

相關討論

歡迎來到 HTX 社群。在這裡,您可以了解最新的平台發展動態並獲得專業的市場意見。 以下是用戶對 ETC (ETC)幣價的意見。

活动图片