HomeQuantum PhysicsQuantum Coin Flipping: Conjugate-Basis Cheat Detection

Quantum Coin Flipping: Conjugate-Basis Cheat Detection

Interactive 3D simulation of quantum coin flipping: Alice sends a qubit in a conjugate-basis state to try to bias the outcome, and Bob's Born-rule measurement catches the cheat half the time. Adjustable cheat probability, live Bloch-sphere collapse, and coin-bias statistics.

Quantum Physics3DAdvanced60 FPS📱 Mobile-adapted
quantum-cryptography-computer-science ↗ Open standalone

Two people who don't trust each other, and no third party — can they still flip a fair coin? Quantum mechanics says yes, and this simulator recreates the exact primitive Bennett and Brassard proposed in their 1984 paper alongside BB84 key distribution. Alice encodes a qubit and sends it to Bob; Bob replies with an independent random guess bit; Alice reveals her declared bit and basis, and the coin result is their XOR. The catch is enforcement: Bob measures the physical qubit he actually received, in the basis Alice just revealed, and checks it against her declaration. An honest qubit — the true eigenstate of the declared basis — always matches. A cheating qubit, sent in the conjugate basis to keep both outcomes open, matches only half the time by the Born rule, so trying to force the coin toward a chosen target carries a real, visible risk of getting caught. Dial in Alice's cheat probability and target, watch the Bloch-sphere arrow collapse on measurement, and track the live bias-versus-detection trade-off across hundreds of rounds.

⚙ Under the hood

Interactive 3D simulation of the Bennett-Brassard quantum coin-flipping protocol: Alice can try to bias the outcome by sending a conjugate-basis qubit, but Bob's Born-rule measurement catches the cheat about half the time. Adjustable cheat probability and live Bloch-sphere collapse.

quantum cryptographycoin flippingBB84Bloch sphereno-cloning theoremBorn rule

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)