pull down to refresh

Hopefully the math people can correct me if I get any of this wrong, but my understanding of a SNARK is that it's a short little way to prove that you ran a certain function in order to produce a specific result without writing the whole thing out. In general, SNARKs seem to require the function be expressed in a particular way that can be lengthy.

Nearly all succinct proof systems express computations as algebraic constraints over a finite field. Operations not native to this field, such as bitwise manipulation, modular arithmetic, and lattice-ring operations, require an arithmetization step that can inflate the witness size by one or more orders of magnitude.

This paper describes a method by which "operations not native to this field" could be expressed in a much less lengthy manner. This is particularly relevant for Bitcoiners' search for compact quantum resistant cryptography, but it may also be useful for things like bridges and covenants (which, by the way, apparently no one wants to talk about anymore).

As to the math here: I have no idea what's happening.

I run ~math but this terminology is beyond me. I remember taking an Abstract Algebra class in college, where we learned about "fields", "rings", and "groups".... but I forgot most of it. If I had time, maybe I could pick it up again enough to write a primer. I'm still stewing over a cryptography primer. I imagine Cryptography Primer #1 will focus on the high level concepts, and maybe a second primer will explain some of these terms and how they apply.

reply