Sixteen balls, four pools, eight draws. The draw wrapped up in the early hours, and the eight matchups were laid out on the table: both LPL teams ran into LCK teams in the first round.
iG drew GEN. TES drew HLE.
The rules aren’t complicated. The sixteen teams are split into four tiers by seed.
Teams from Pool 1 draw teams from Pool 4, and teams from Pool 2 draw teams from Pool 3. Teams from the same region can’t meet in the first round. But how the balls got into the bowl, or whether anyone was there watching them being loaded, is anyone’s guess.
iG are the fourth seed, so they were bound to run into a top seed. Drawing GEN was a matter of luck. Whoever they drew, it wasn’t going to be a good matchup.
There’s some thought behind this setup. Strong teams won’t knock each other out in the first round, and weaker teams are at least guaranteed one winnable match.
But I’ve been thinking about something else. I have no idea how to verify this draw.
They set out a glass bowl at the venue, drew the balls one by one, and had a notary standing beside it. The whole process was on camera, so everyone could see that the hand wasn’t reaching into the wrong place. But once you get home, you still don’t know where to start if you want to recalculate the draw from scratch. Can you reproduce the result? Can you work out whether the odds of GEN drawing iG were one in sixteen or one in eight?
You can’t. The order of the balls, their labels, and when they were put in—all of it is missing a publicly verifiable seed.
Being able to watch and being able to verify are miles apart. The balls are real. The notary is real too. But somehow, even together, they still aren’t enough.
That’s the sticking point with generating random numbers on-chain. The idea behind VRF is to make the seed public: take the hash of a certain block, have an oracle sign it with its private key, then put the signature and proof on-chain. Anyone can rerun the process with those inputs and must get exactly the same number. Even the slightest difference would mean someone tampered with it along the way.
Sounds great. But there’s something buried in all this: who holds the private key? If the signer really wanted to cheat, there’s theoretically room to do so. In the end, the whole scheme still relies on the old line: “They wouldn’t do anything shady.”
And we’re back where we started. Random numbers themselves aren’t hard. So what is? Who gets to be the impartial referee who doesn’t cheat?
The tools have changed three times, from drawing balls to lottery machines to code. Each generation makes the process clearer, while pushing responsibility further away. If something went wrong back when they drew balls, you could point to that person’s hand. Now, if something goes wrong with the code, all you can point to is a line in a log—and first you have to make sure that line hasn’t been changed.
This February, there was an airdrop where a batch of the addresses selected for the whitelist had all been created in the same minute. The project team later posted a hash, saying the seed had been set before the draw. Posting it did no good. No one could prove that the hash hadn’t simply been added after the draw.
The Swiss stage kicks off at 1 a.m. on the 24th. The first two rounds are single-game matches. Starting in the third round, they switch to best-of-three: win three and advance, lose three and go home. These rules are set in stone, and anyone can check them.
But when it comes to the draw, all we can still say is: “We’re watching.”
Between watching and verifying lies a whole ledger.
#S16 #英雄联盟全球总决赛 #On-chain randomness
$CHZ $LINK $BTC