ランダム抽選の検証
証明書コードを貼り付けて確認してください。
このツールが確認すること
誰かが抽選を行い、あなたに証明書コードを渡しました。このページは、そのコードが内部的に矛盾なく成立しているか——つまり、数値が主催者の公開したシードから本当に生成されたものか、そしてフィンガープリントがそのシードと設定を本当にカバーしているかを確認します。
すべての処理はブラウザー内で行われます。証明書がどこかに送信されることはありません。
2つのチェック
フィンガープリント。 証明書にはシードと抽選設定に対する SHA-256 ハッシュが含まれています。このページはそのハッシュを再計算します。証明書に記録されているものと一致しない場合、コミットメント(事前の確定)の後にシードまたは設定が変更されたことになります。
リプレイ(再現)。 シード指定の生成器は完全に決定的であるため、同じシードと同じ設定からは常に同じ数値が生成されます。このページは抽選を再実行して結果を比較します。数値が異なる場合、結果が書き換えられたことになります。
証明書は、両方のチェックに合格した場合にのみ検証成功となります。
検証に合格しても証明されないこと
検証に合格しても証明されるのは、主催者がコミットメントを行った後にシード・設定・数値をひそかに変更していないということだけです。
シードが予測不可能だったことまでは証明されません。主催者が自分でシードを選び、抽選前にフィンガープリントを公開していなければ、多くのシードを試して気に入った結果を選んだ可能性があります。フィンガープリントに意味があるのは、抽選前に、投稿・コメント・メッセージなど日時が記録される場所で公開されている場合だけです。
これこそがコミット段階の意義です。「信じてください」という言葉を、後から誰でも確認できるものに変えるのです。
誰でも検証できる抽選を行うには
- 範囲と必要な数値の個数を設定します。
- フィンガープリントを作成を押します。得られたハッシュを公開してください——プレゼント企画の投稿、コメントなど、参加者が日時付きで確認できる場所であればどこでも構いません。
- 応募を締め切ってから抽選を行います。
- シードと証明書を公開します。誰でもここに貼り付けて確認できます。
手順2を省略すると、証明書は見た目だけのものになってしまいます。フィンガープリントを先に公開しておくことで、証明書に実質的な意味が生まれます。
シードだけでは不十分な理由
シードは単なる文字列です。それがどのように数値へと展開されたか——どのアルゴリズムか、どの範囲か、いくつの数値か、重複を許すかどうか——を知らなければ、数値そのものは生成できません。
だからこそ、フィンガープリントはシードと設定の両方をカバーしています。そうでなければ、主催者はシードを公開したうえで、後から「実際は別の範囲で抽選を行い、別の数値の組み合わせが本当の結果だった」と主張できてしまいます。コミットメントは、そのような抜け道を防ぎます。
フィンガープリントが偽造できない理由
SHA-256 ハッシュは一方向関数です。順方向の計算は簡単ですが、逆方向に計算する既知の方法はありません。これがコミットメントを拘束力のあるものにしています。
不正を行うには、主催者は1つのフィンガープリントを公開したうえで、後から同じハッシュを生成する別のシードを提示する必要があります——いわゆる第二原像攻撃(second-preimage attack)です。SHA-256に対してこれに成功した例は見つかっておらず、探索空間の大きさから総当たりも無意味です。2²⁵⁶は、観測可能な宇宙に存在すると推定される原子の数よりも多いのです。
さらに、主催者は結果を意図的に操作することもできません。シードの1文字を変えるだけで、ハッシュのビットのおよそ半分が予測不能な形で変化します。公開済みのフィンガープリントと一致し、なおかつ都合の良い当選者を生み出すシードを探し出す方法は存在しません。ハッシュを先に固定しなければならない一方で、そのハッシュはすべての要素に依存しているからです。
つまりフィンガープリントは、シードと設定を完全に固定します。固定できないのはいつそれが公開されたかだけです——だからこそ、投稿のタイムスタンプが半分の役割を担っているのです。
検証可能な抽選が重要な場面
- プレゼント企画やコンテスト — 当選しなかった応募者こそが疑問の声を上げる
- コミュニティやDAOの選出 — 枠、助成金、役割を誰に与えるかを決める場面
- 研究 — 査読者が再実行して確認できるサンプリング計画
- 法的リスクを伴う懸賞企画 — 単なる主張ではなく、実証可能な方法を求める法域もある
- 見知らぬ相手に信じてもらう必要がある場合 — 参加者との距離が遠いほど、「ランダムに選びました」という言葉だけでは通用しなくなる