ランダム抽選を検証
証明書コードを貼り付けて確認してください。
このツールが確認すること
誰かが抽選を行い、あなたに証明書コードを渡しました。このページは、そのコードが内部的に矛盾なく成立しているか——つまり、数値が主催者の公開したシードから本当に生成されたものか、そしてフィンガープリントがそのシードと設定を本当にカバーしているかを確認します。
すべての処理はブラウザー内で行われます。証明書がどこかに送信されることはありません。
2つのチェック
フィンガープリント。 証明書にはシードと抽選設定に対する SHA-256 ハッシュが含まれています。このページはそのハッシュを再計算します。証明書に記録されているものと一致しない場合、コミットメント(事前の確定)の後にシードまたは設定が変更されたことになります。
リプレイ(再現)。 シード指定の生成器は完全に決定的であるため、同じシードと同じ設定からは常に同じ数値が生成されます。このページは抽選を再実行して結果を比較します。数値が異なる場合、結果が書き換えられたことになります。
証明書は、両方のチェックに合格した場合にのみ検証成功となります。
検証に合格しても証明されないこと
検証に合格しても証明されるのは、主催者がコミットメントを行った後にシード・設定・数値をひそかに変更していないということだけです。
シードが予測不可能だったことまでは証明されません。主催者が自分でシードを選び、抽選前にフィンガープリントを公開していなければ、多くのシードを試して気に入った結果を選んだ可能性があります。フィンガープリントに意味があるのは、抽選前に、投稿・コメント・メッセージなど日時が記録される場所で公開されている場合だけです。
これこそがコミット段階の意義です。「信じてください」という言葉を、後から誰でも確認できるものに変えるのです。
誰でも検証できる抽選を行うには
- 範囲と必要な数値の個数を設定します。
- フィンガープリントを作成を押します。得られたハッシュを公開してください——プレゼント企画の投稿、コメントなど、参加者が日時付きで確認できる場所であればどこでも構いません。
- 応募を締め切ってから抽選を行います。
- シードと証明書を公開します。誰でもここに貼り付けて確認できます。
手順2を省略すると、証明書は見た目だけのものになってしまいます。フィンガープリントを先に公開しておくことで、証明書に実質的な意味が生まれます。
シードだけでは不十分な理由
シードは単なる文字列です。それがどのように数値へと展開されたか——どのアルゴリズムか、どの範囲か、いくつの数値か、重複を許すかどうか——を知らなければ、数値そのものは生成できません。
だからこそ、フィンガープリントはシードと設定の両方をカバーしています。そうでなければ、主催者はシードを公開したうえで、後から「実際は別の範囲で抽選を行い、別の数値の組み合わせが本当の結果だった」と主張できてしまいます。コミットメントは、そのような抜け道を防ぎます。