There is a global attack on privacy, and a normalizing of censorship.
Quantum is the first chat app that protects your privacy while simultaneously allowing you to trust who you are talking to. Using the power of zero knowledge proofs, you can prove that you belong to a community and verify that others do too. These communities can be anything from being a citizen of Ukraine and being an accredited journalist to having a familial pattern of baldness! It is unable to be censored because it is e2e encrypted by defualt.
Quantum has three main features:
- News channels of 1000+ people, allowing verified journalists to anonymously post up to date information and news
- Group chats of 1000+ people, all sharing things in common that were decided by the admins. People can choose to be anonymous, but you can stil verify that they have proved they belong in that group
- private private messages between you and other wallets. all DMs are e2e encrypted by default and it is not possible to turn this off
You can find the pitch deck here.
Or watch a very rushed video of me demoing.
- A user can select a credential that they would like to prove that they have
- They will provide the relevent information to generate this proof
- This may be an .eml file or a photo of a passport, but can also be login information
- These are passed as private inputs to the circuit
- A proof is generated locally and stored locally
- The user can then call request to mint an NFT by sending their proof
- Their proof is verified onchain and the NFT is minted to them
Tech stack
- Circuits written in Noir
- Proofs generated and verified using ultraplonk currently (with an easy option to switch to honk)
- Solidity verifiers deployed onchain
- Other Solidity contracts are used to hold credentials and act as a factory for verifying proofs
- All private DMs are e2e encrypted by default and this cannot be switched off
Tech stack
- XMTP for private messaing and group chats (with the plan to update from XMTP to a non-encrypted protocol and allow for bigger chats)
- React Native with custom Swift libraries (swoir)
- Node v18
- Nargo
- bb (barretenburg)
Contracts are already deployed to EVM chains & zkverify (depending on the contract) and their addresses are hardcoded.
This app uses hardhat.
cd contracts & npx hardhat compileThis will compile contracts and generate ABIs.
This app uses nargo and bb.
cd circuits/zkemail && nargo compileYou may also want to generate the solidity verifier:
bb contractThis app uses React Native. It has only been tested in ios. Unfortnately you cannot use simulators to run the app as swoir has only been developed for real devices.
With a device plugged in to your computer, run
cd client && npm install && npx react-native startOpen a new terminal and run
npx react-native run-iosor
npx react-native run-androidIf you have any questions, feel free to reach out to me on X/Twitter.
