Vitalik's lottery contract from October 2015 used blockhash-based randomness. It was a brilliant primitive for its time — and completely broken by 2026 standards. MEV bots simulate the outcome before sending the tx. Validators withhold blocks where they don't win.
So we don't trust it alone. Every draw calls Vitalik's contract on-chain to pull historical entropy, then mixes it with block.prevrandao for on-chain randomness. The keccak hash of both becomes the winning ticket index. Vitalik's contract is genuinely part of every draw — you can verify the call in the tx trace above — but bots can't drain it because they can't predict VRF.
We resurrected a 10-year-old contract and made it safe.