EXHIBIT 02⬡ COMMITMENTS SIMPLIFIED
Graph 3-Coloring ZKP
Proving a valid coloring exists without revealing which colors go where · Goldreich, Micali, Wigderson 1986
✓ Completeness ✓ Soundness ✓ Zero-Knowledge
Cryptographic honesty: this graph exhibit preserves the challenge-reveal logic and soundness amplification of ZK coloring, but uses simplified commitments for pedagogy rather than a production-grade binding commitment scheme.

Think of this as proving a map has been colored correctly without handing over the whole answer key. The prover hides every node's color, then the verifier points to just one connecting line and asks to see only the two colors at its ends.

If those two touching nodes are different colors, that local check passes. Because the hidden colors are shuffled each round, the verifier never gets enough information to reconstruct the whole map, but repeated spot-checks still make cheating harder and harder.

Rigor note: in full GMW-style protocols, each round commits to all vertex colors using a cryptographically binding commitment scheme (e.g., H(color ‖ nonce) with a collision-resistant hash). This exhibit replaces that with truncated base64 — enough to show the commit-then-reveal flow, but not binding or hiding in a cryptographic sense. The verifier interaction model and soundness amplification ((5/6)k) are preserved faithfully.
FULL GRAPH VIEW
0x… 0x… 0x… 0x… 0x…
Nodes show simplified commitments (base64, not real hashes) — colors hidden
PROVER — committed coloring
Press "New Round" to commit.
NodeCommitment (simplified)
00x…
10x…
20x…
30x…
40x…
VERIFIER — challenge & reveal
Confidence0.00%
P(cheat) = (5/6)0 = 100%
— protocol log —
What the verifier learns: Only that the challenged endpoints differ. Random color permutation each round prevents accumulating a global coloring. The pedagogical simplification is in the commitment layer (base64 encoding, not a binding hash), not in the soundness argument: after k independent rounds, P(undetected cheat) = (5/6)k. A production version would replace simCommit with SHA-256(color ‖ nonce) to guarantee binding and hiding.