Skip to main content

Trace Expansion and Proving

Trace Expansion and Proving​

What is it?​

The module responsible for generating the final set of data for a zero-knowledge proof, and producing that proof.

What does it do?​

It receives several sets of information from the Coordinator and linea-besu, and produces a succinct, non-interactive argument of knowledge, or zkSNARK.

How does it do it?​

There are multiple operations involved; the first part of this module is Corset. Corset takes in conflated trace data from the Coordinator, and prepares it for the second part, gnark. gnark takes in that prepared, or "expanded", trace data, and uses it to produce a proof of the type that can be submitted to Ethereum.