WorldCoin are building what they call a Privacy-Preserving Proof-of-Personhood Protocol (PPPoPP). WorldCoin originally set out with the goal of airdropping a token to a billion people. Along the way, WorldCoin found that team had to develop a lot of foundational infrastructure not only on the hardware side (which became the Orb), but also on the crypto/protocol side.
While there are many projects out there building general purpose rollups (e.g., Arbitrum, Optimism, zksync), WorldCoin came across the open source project Hubble, a minimal, application-specific rollup. It allows a highly efficient, but also permissionless and non-custodial airdrop at the scale of one billion people.
Hubble’s open source contracts were already in great shape, and WorldCoin decided to contribute a high-performance sequencer implementation written in Go, with the goal of deploying on mainnet as soon as possible. WorldCoin managed to squeeze out quite some performance of the sequencer in the process.
Because the Orb uses biometrics for the initial sign-up, WorldCoin wanted to delink this step from the wallet and any future transactions to ensure the user’s privacy. So WorldCoin settled on Semaphore because it not only allows us to add anonymity to a specific action, but also makes it very easy to reuse the setup for new applications, making future use cases possible.