Prover gives to verifier the root (and height) of Merkle tree and all children (and siblings) leading to desired leaf.
All of NP $\in$ computational ZK
Albert Mayer (discovered by Larry Stokmayer)
Prover claims some graph is 3 colorable
Prover takes some permutation of the colors
Prover commits to every color and sends the commitment to the verifier
Verifier picks edge of G at random
Prover decommits two of the colors
Verifier can see that they’re different
Repeat this process starting with permutation