zkSnake - Verifiable snake game

zkSnake - Verifiable snake game

Prove your game scores with ZK!

The problem zkSnake - Verifiable snake game solves

Recently, Andrew and I were playing a competitive game of snake seeing who can reach the highest score. However, after seeing Andrew receive a score of 1000 in mere minutes, I started having suspicions on if the score he posted was legit.

This project, zkSnake, solves this problem by using zk proofs to verify if a score is legit or not.

Challenges we ran into

  • Determining how to create the same snake game in the javascript webapp and the rust backend (game replayer)
  • Determining how to replay the game in the rust backend (this is done by sending the snakes direction during each second as input to the game replayer
  • Determining how to display the value of the score in the NFT's image itself
  • Integrating metamask's mobile connection

Tracks Applied (5)

Defi, NFTs & Gaming

We recreated the snake game that mints an NFTs for each verified score.

Unleash your creativity with MetaMask SDK

zkSnake frontend uses Metamask SDK to establish secure connection with users' wallets.

Linea

Best use of NFT API

zkSnake frontend uses QuickNode in order to efficiently extract NFTs that represent users' scores in snake game.

QuickNode

Best zkCoprocessor on Foundry Template

For each game of snake played, we track the user inputs. We created a version of snake in the backend in Risc0, and pass...Read More

RISC Zero

Build an app using RISC Zero ZKVM/Bonsai

For each game of snake played, we track the user inputs. We created a version of snake in the backend in Risc0, and pass...Read More

RISC Zero

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion