This post will describe the basic strategy of the Spartan proof system for $\text{R1CS}$ constraints and pin-point a key trick which may be useful in other contexts.
R1CS
The Language $$\mathcal{L}_{\text{R1CS}} := {(\mathbb{F}, A, B, C, x, m, n) | \exists w \text{ s.t. } (Az)\circ (Bz) = Cz, z = (x,1,w) }$$
is $\text{NP}$-complete - i.e. it has enough structure to express arbitrary computations (proof sketch: take a circuit-sat instance and construct a collection of quadratic polynomials over $\mathbb{F}_2$ which are simulatenously satisfiable iff the circuit-sat instance is satisfiable). Here
$\mathbb{F}$ is a field (Think scalar field of an elliptic curve $E/\mathbb{F}_p$)
$A,B,C$ are $m\times m$ matrices with values in $\mathbb{F}$ with at most $n$ non-zero entries.
($A,B,C$ being square is for convenience)
$x$ is a $\mathbb{F}$-vector of dimension $< m$ representing public I/O.