infrastructure boundary."> infrastructure boundary."> infrastructure boundary.">
This ad hoc update features a "guest post" from Nalin Bhardwaj, who has been starting to drive more of our efforts around the research<>infrastructure boundary.
The proving system developments that Nalin is describing here are really exciting. For those with less technical background, here are a few pieces of background context:
One thing that Nalin touches on here is how Nova's characteristics, besides being first-order promising in and of themselves, are also important because they may be particularly amenable to creating second-order feedback loops between different levels of the R&D stack. In a future post, we'll discuss what these feedback loops look like and why it's particularly important for 0xPARC to orient around this kind of thinking.
Nova is a new scheme for accelerating repeated computations in a SNARK. One (oversimplified) way to think about it is that, in terms of verifier time and resources, you can use Nova to "compress" any computation that occurs N times (like a hash function, or a neural net layer) that you're trying to SNARK-ify into just a single instance of that computation. It belongs to a broader class of research ideas called split accumulation that focus on ways of “accumulating” verification of many claims of computation into another one thats cheaper (most popularly, this class includes the Halo 2 split accumulation scheme). Nova, in particular, is perhaps the mathematically simplest and most performant split accumulation scheme.
The pace of acceleration for Nova has really picked up over the past few weeks.
Here’s a diagram evidencing this claim in terms of research/implementation output:
Pay attention to the dates in the diagram above: much of the boxes in the Nova line were made in the last few weeks (even so, many of those already have implementations). We believe this acceleration has to do with the near-optimality of Nova, both in performance and simplicity. Simplicity is what enabled Nova to be implemented with minimal security assumptions, for its features to be modeled into proving system tooling, and for its real-world benchmarks to improve rapidly, ultimately driving a feedback loop and demand for more research.
Let’s compare Nova to Halo 2 split accumulation, another split accumulation scheme that zcash has been championing over the past couple years. Both schemes theoretically provide similar performance/capability unlocks, i.e. specifically the ability to accelerate zkSNARK proving for repeated computations. However, this comparison really sheds light on the second-order benefits of Nova's simplicity:
To better understand Nova's important role in the zkSNARK ecosystem, let's use an analogy.
In the last couple years, PLONK-ish proving systems have become the industry-standard SNARK proving system. PLONK-ish performance and simplicity came as a result of a series of iterations on the core components of the “modular SNARK”. For instance, just at the Polynomial IOP level, the lineage for the key ideas can be traced to Sonic → AuroraLight → Marlin → PLONK.