A core concept within zk-SNARKs is the usage of R1CS (Rank 1 Constraint System), and which supports an easily verifiable format for zero-knowledge proofs. As a starting case, we will use the example used by Vitalik Buterin to explain zk-SNARK:
\(x^3+x+5==35\)
The solution for this is \(x=3\). Bob must thus show to Alice that he knows the solution, without giving away the value. As we will find his witness statement is [1 35 3 9 27 30 35 1][R1CS]. To keep this simple, we will use a finite field of \(r=11\).