Rigged · 仕込みあり
これはイカサマです。隠していません。 指定した人に必ず止まります。 しかも 「使ったビット」も「割った余り」も、ちゃんと計算が合います。
当たりの番号を t、参加者の数を n とします。
これで v mod n は必ず t になります。1行です。
サーバも、特別な技術も要りません。
そして出てきた v を2進で表示すれば、本物のビット列とまったく区別がつきません。
ここがこのページの全部です。
抽選アプリが「使った乱数はこれです」「余りはこうです」と見せてきても、 それは何も保証していません。 当たりを決めてから、それに合う数を作ればいいだけだからです。 検算できることと、公平であることは、別の話です。
効くのは、順番だけです。 乱数を先に固定して、その証拠(ハッシュ)を結果を知る前に公開しておく。 あとから逆算する余地を、時間的に消してしまう。 これをコミットメント(封)と言います。
イカサマができるのは、普通のコンピュータの乱数が「計算で作られている」からです。 種を入れて、掛けて、足して、あまりを取る。 だから好きな出力を作ることも、同じくらい簡単にできます。
本物のページに実演を置いてあります。 同じ種を入れると、何度でも同じ「ランダム」が出てきます。 見た目はバラバラでも、種を知っている人には全部わかっている。それが疑似乱数です。
量子はここが違います。 測定の結果は、測定より前のどんな変数からも決まっていません。 種にあたるものが存在しない——これは「まだ見つかっていない」ではなく、 ベルの定理という数学の定理で、実験でも確かめられています (2022年のノーベル物理学賞)。 だから逆算のしようがありません。
身内の抽選で使って、黙って誰かを当選させる——それはやめてください。 このページは、そういうことが簡単にできると知ってもらうために置いています。 知っている人は、証拠の出ない抽選を信じなくなります。それでいい。
人に見せるときは、本物と並べて使ってください。 回している最中は、どちらがイカサマか絶対に見分けられません。 違いが出るのは、封を確かめたときだけです。