ランダム

サイコロ、コイン、抽選、ルーレット — 結果はすべて OS のエントロピー、または自分で選んだシードから生成されるので、誰でも抽選を再現して検証できます。

数字・ゲーム

3

抽選

3

名前・チーム

3

抽選の形を選ぶ

どれを選ぶかは、ほぼ結果が見ている人たちにとってどう見えるべきかで決まります。

数字、または数字の組み合わせ — 自分で決めた範囲用の乱数ジェネレーター、ルールが固定された15種類のゲーム用の宝くじ番号、単なる範囲ではなくダイス記法や修正値が必要なときのサイコロ。

リストの中から1人の当選者 — 答えそのものが欲しいときの名前選びツール、観客が見ている中で演出そのものが目的のときのルーレット。

はいかいいえか — コインフリップ。

全員をグループに振り分ける — チーム分けジェネレーター。ラウンドロビン方式で配分するため、7人を3グループに分けると3/2/2になり、余りを最後のグループにまとめて押し込むようなことはしません。

時間をかけて進行するゲーム — ビンゴ呼び上げツール。75、90、99個の球に対応し、1つの画面から進行できます。

他の人の抽選を確認する — 抽選検証ツール。ここにあるツールの中で唯一、何も生成しないものです。

このカテゴリーを特別にしている部分

どんなサイトでも乱数を作ることはできます。難しいのは、疑い深い参加者が後から見ても納得できるものを作ることであり、それはどれか1つの機能ではなく、ここにあるすべてのツールを貫く一連の仕組みです。

仕組みはこうです。抽選はシード——自分で選んだ値か、ツールが選んで表示する値——を使って実行します。シードは抽選を再現可能にします。同じシードと同じリストを持つ誰もが、いつでも同じ結果を得られます。それだけでは十分ではありません。主催者が異なるシードで何度も抽選を試し、都合の良い結果が出たシードだけを公表することもできてしまうからです。

そこで抽選には、対象となったリストのフィンガープリントも付きます。抽選の前にシードとフィンガープリントを公表することで、参加者とその方法の両方に対してコミットしたことになります。抽選後は誰でもその証明書を検証ツールに貼り付けることができ、ツールは結果を再計算し、シード・リスト・結果がすべて一致するかを確認します。名前を1つ変えたり、遅れてきた参加者を追加したり、当選者をすり替えたりすれば、フィンガープリントは一致しなくなります。

これは主催者が正直であることを証明するものではありません。証明するのは、この抽選が、このリストに対して行われ、この結果を生んだということです——これは、これまで他の誰にも確認できなかった部分です。

シードを使いたくないとき

シードを空欄のままにすると、抽選は再現可能な数列ではなくcrypto.getRandomValues()——あなたのOSのエントロピー——を使います。再現可能であることが利点ではなく弱点になる場面ではこちらが正しい選択です。パスワードを選ぶとき、割り勘をするとき、言い争いに決着をつけるときなど。誰が皿洗いをするかを、誰かが後から監査する必要はありません。

ブラウザでの抽選が物理的な道具に勝る理由

実際のコインは、面の刻印の仕方によってごくわずかに偏りがあり、投げる前の面がわずかに多く出る傾向があります。安価なサイコロはさらに悪く、成形された目の凹みが面ごとに異なる量の材料を取り除くため、6の面はわずかに軽くなります。どちらの偏りもボードゲームでは問題になりませんし、注意深く扱っても取り除くことはできません。

OSのエントロピープールから計算された抽選には、受け継ぐべき物理的な非対称性がありません。これは本物のコインと「同じくらい良い」というだけではなく、公正さという点では本物のコインより優れています。

これらのページを友達と共有したり、ブックマークしたり、リンクしていただければ幸いです。ありがとうございます!🙏