project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4

ETHdos

Presenting ETHdos numbers: measuring degrees of separation of people (akin to Bacon/Erdos numbers) while hiding individual friendships entirely. This is the first of its kind social experiment using the composability of recursive zk snarks.

ETHdos

Created At

ETHNewYork 2022

Winner of

❤️ Optimism — Most Public Goodiest Public Good

✨ WalletConnect — Best Social

🏆 ETHNewYork Finalist

Project Description

ETHdos begins at a central person, let’s say its “Vitalik”. They’ll start by sending proofs of friendship in the form of ZK SNARKs to their closest ones, and their friends will be able to continue the chain from there. Eventually, you’ll be able to prove that you are connected to Vitalik with N degrees of seperation BUT you will not be able to determinate the path of people to him, nor will anyone else in the world. This creates a fun social experiment which allows famous personalities to reveal very limited information about their social graphs, while others can prove their connections reputably and can even mint NFTs on-chain to brag about their proximity!

How it's Made

This project uses recursive zk-snarks to make composable proofs between different people. Using these proofs, you are able to generate the equivalent of Erdos/Bacon numbers but for people’s social graph.

ZK SNARKs allow you to generate succinct proofs of knowledge that do not leak anything about the inputs to these proofs while proving assertions about these inputs. Recursive ZK SNARKs allow you to take this a step further and abuse the succinctness properties of SNARKs to create infinite chains of proofs that can be composably used with other private data (even from other parties) to generate larger proofs.

We realized that this is a really interesting primitive to base social experiments on. For instance, recursive ZK SNARKs could allow you to play the game of telephone/secret whispers in a decentralised environment. Building on this idea further, we came up with the idea of encoding the concept of degrees of seperation using a decentralised PKI such as Ethereum. While theoretically interesting, getting this idea to production involved a lot of practical work and hacky solutions. Going from beefy 256gb RAM servers to writing 25 million constraint SNARK circuits, we ended up exploring our understanding of everything from math to devops. Ultimately, we are able to demonstrate an exciting new idea and hope this will lead to other more interesting ones. We are thankful to sponsors such as Optimism: Deployed smart contract which allows you to mint on-chain SVG NFTs. Allows for low gas fees for this fun social experiment.

  • IPFS: We use IPFS as a link shortener for large ZK proofs. When a person wants to send their friend a proof, they put their proof on IPFS and content-address the proof in a URL.
  • WalletConnect and ENS: For making the Ethereum a human friendly PKI for our social game
background image mobile

Join the mailing list

Get the latest news and updates