Zero Knowledge Proofs

In cryptography, a zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that a given statement is true while the prover avoids conveying any additional information apart from the fact that the statement is indeed true.
For example, a zero-knowledge proof used in a chess-like game might prove something like: “I’m moving my knight from secret location A to secret location B. I’m not going to tell you where locations A and B actually are, but this proof proves that the move from A to B is indeed a valid L-shape.”
In order to understand the implications zero knowledge proofs may have upon the metaverse and blockchain games, it’s important to understand the distinction between two types of games: complete and incomplete information games.
  1. 1.
    Complete information games are games where all players know the full state of the game universe. For example, checkers and chess are complete information games, since all players always know where all pieces are on the board.
  2. 2.
    Incomplete information games are games where players may not know the full state of the world. For example, poker is an incomplete information game, since you don’t know the cards your opponent has in their hand. Strategy games also fall into this category as well as all MMO games.
Incomplete information games allow players to explore a robust and more complex list of strategies. Information asymmetry enables things like deception, conditional coordination, complex social dynamics, and large-scale emergent player behavior.
Prior to the emergence of zero knowledge proofs, it has been nearly impossible to build incomplete information settings on decentralized systems. This is because the data layers of most decentralized systems are, by design, completely open and transparent (Note: think blockchains public ledgers). If the full game state is stored in a transparent data layer which anyone can inspect, there can be no notion of private information.
Zero-knowledge cryptography solves this. With zero knowledge proofs, players can keep private state while publicly submitting verifiably-valid actions. This allows MNNT and other developers to build true MMOs and strategy games on a decentralized backend.
Zero knowledge proofs simultaneously protect the prover from the disclosure of the witness, and the verifier from a forged proof. The following figure depicts the security notions necessary to define a ZKSnark:
Nitulescu, Anca. “zk-SNARKs: A Gentle Introduction.” (2020).