The following article outlines how does ZK-SNARK protocol work (here I used the term “STARK” referred to the proof system of StarkWare and its derivatives.)

Also, I’d like to cite an article “17 misconceptions about SNARKs” by Justin Thaler that I found perfect:

  1. STARK was introduced in the scientific literature as having a precise technical meaning. It stands for Scalable Transparent ARgument of Knowledge. Many people quite reasonably think the S means “succinct” as it does in SNARK. But here, “scalable” means that the prover time is at most quasilinear (i.e., linear up to logarithmic factors) in the runtime of the witness-checking procedure, and that verification costs (time and proof size) are at most polylogarithmic in this runtime. “Transparent” means that the proof system does not require a trusted setup. Under this technical definition, many STARKs exist today.
  2. An important clarification here is that the term “STARK” does not specify whether or not the protocol is interactive. As far as I am aware, STARKs today are exclusively deployed non-interactively (which makes them SNARKs).
  3. First, in public discourse, the meaning of “STARK”, like the term “ZK”, has deviated substantially from the technical meaning I explained above. The term is now typically used to refer specifically to the proof system of StarkWare ( which incorporates Stark into their brand name) and its close derivatives.
  4. We don’t need a different acronym for every collection of properties that a protocol might satisfy, especially if it leads to confusion regarding central issues like appropriate security levels. The term “transparent SNARK” is perfectly clear and should be used to refer to any transparent SNARK. If an interactive analog is ever deployed, it can simply be called a transparent interactive argument.