Making zero-knowledge proofs (ZKPs) “understandable and accessible” to people is necessary to keep the Ethereum ecosystem “open and welcoming” to people without a mathematics degree, Ethereum co-founder Vitalik Buterin tweeted Oct 26.
ZKPs are often referred to as “moon math” because of their complexity.
I’m so happy that Ethereum has such a strong culture of trying hard to make all our moon math as understandable and accessible to people as possible. https://t.co/o9n2Xms4Zw
— vitalik.eth (@VitalikButerin) October 26, 2022
Buterin added that “Decentralization requires NOT giving up and waving a PhD around saying “it’s a black box, we’re smart, trust us”.”
Scroll, a zero-knowledge layer 2 Ethereum scaling solution, explained in a blog how polynomial commitment schemes, a critical part of several ZKPs, work and how they can help scale Ethereum.
Polynomials are mathematical expressions that represent more than two algebraic terms. According to the Scroll blog, polynomials can help represent large data efficiently.
A commitment scheme is a cryptographic protocol in which one commits to a message and keeps it hidden but can reveal the message later. However, the committer cannot change the message once he has committed to it, which makes commitment schemes binding.
In a polynomial commitment scheme, one commits to a polynomial instead of a message. The polynomial commitment scheme meets all the properties of normal commitment schemes. But it has an additional feature that enables the committer to prove that he committed to a certain polynomial that satisfies the required properties without revealing the polynomial itself.
KZG in Scaling Ethereum
While there are different polynomial commitment schemes, Kate-Zaverucha-Goldberg (KZG) is popular in the blockchain space and is used by Scroll’s proof systems. KZG is also due to be integrated into Ethereum with Proto-Danksharding, to be implemented through EIP-4844, which was proposed in February 2022.
Proto-Danksharding is a stop-gap solution until Danksharding, which could make it cheaper to use rollups, can be implemented. Proto-Danksharding introduces a new transaction type called “blob-carrying transaction.” These transactions carry a data blob of 128kb, which cannot be accessed from the Ethereum execution layer. Instead, only the commitment to the data blob will be accessible from Ethereum.
The data blob is represented as a polynomial and the polynomial commitment scheme KZG is used to create a commitment to the data. This allows the properties of the data blob to be verified without revealing the entire data blob.
The use of KZG can, therefore, enable data availability sampling (DAS), which will be implemented on the path to full Danksharding. DAS essentially enables validators to ensure that the data blob is available and correct, without having to read the whole data blob.
This, in turn, can significantly help with enhancing the scalability of Ethereum since validators need to deal with less data.