ZK proofs have a number of good explainers, mostly using graph colorings. Non-interactive versions, however, require quite a bit more than that explanation allows - and despite asking experts, I still haven't found a good, basic explanation.
>>davidm+2b
I liked this PDF that starts with using modular arithmetic to prove knowledge of polynomial, using bilinear EC pairings to make it self and then, finally, encoding computations as polynomials: https://arxiv.org/pdf/1906.07221.pdf