Relation
That is, two adjacent nodes are assigned distinct colors.
Preliminaries: Commitment Scheme
Assume a commitment scheme with computational hiding and perfect binding.
The main idea
The prover sends commitments to randomly permuted color assignments. Then the verifier asks for openings of two commitments corresponding to randomly chosen adjacent nodes and checks that two colors are distinct. Intuitively, ZK holds thanks to the secret random permutation and hiding of the commitment scheme. Soundness is guaranteed by binding: since at the time of committing the prover does not know which edge will be opened, i.e., if there exists some edge where the colors are the same, then with probability the prover gets caught.
The protocol
Protocol between and . Let
- Commit: Prover chooses a random permutation over and let . Run and send for all .
- Challenge: The verifier chooses a random challenge (challenging the prover to reveal the colors assigned to adjacent nodes ).
- Response: The prover reveals and with decommitment strings and .
- The verifier checks that, , , and .
The ZK property
This follows Typical simulator outline.
The Zero Knowledge (Classical) simulator for (malicious) verifier works as follows:
Simulator
- computes a random transcript of the protocol:
- chooses a random challenge
- chooses random colors such that . Let and .
- generates commitments to for .
- rejects challenges not consistent with what would output:
- chooses randomness and computes
- If , then output the view Otherwise, start from the beginning and try again.
Info
The expected running time of the above simulator is . To show this formally, we need a hybrid argument. We only provide a sketch below. In hybrid 1, we consider a modified simulator which behaves like the above simulator, except that all commitments are computed honestly using the knowledge of witness . Since randomly picked challenge is independent of , the probability that is . Hence, in hybrid 1, a modified simulator’s expected running time is and its output is perfectly indistinguishable with the view of in the real protocol. In hybrid 2, we replace the unopened commitments with commitments to a dummy string , and of the opened commitments are randomly picked such that . Now the behavior of the simulator is identical to the one described above. Thanks to compuatational hiding of the commitment scheme, ‘s output is computationally indistinguishable with the modified simulator in hybrid 1.
The PoK property
The knowldge extractor simply keeps rewinding and feeds with without replacement. If fails to convince at any point, terminates. If runs out of all possible challenges in , then it outputs for all as a witness (i.e., the color assigments).
Running time of
Since , the running time of is at most .
Success probability of
succeeds as long as sends valid responses to all possible for a fixed set of commitments . This is because each can only be opened to a unique due to perfect binding and every adjacent are guaranteed to be distinct by the verification condition. To evaluate the success probability of , consider the matrix indexed by prover’s random coin and challenge . We define such that if with random coin convinces the verifier with challenge , and otherwise. We also define ‘s weight of the -th row: . Then ‘s success probability is given as follows: which equals
Note that the first term corresponds to the probability that convinces . Therefore, we have that the protocol is knowledge sound with knowledge error .