# ランダム抽選の検証

> ランダムな抽選が改ざんされていないかを確認します。証明書コードを貼り付けて、シード、フィンガープリント、数値が一致しているかを確認できます。

URL: https://acrafto.com/ja/verify-random-draw/  
Updated: 2026-08-28

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

## このツールが確認すること

誰かが抽選を行い、あなたに証明書コードを渡しました。このページは、そのコードが内部的に矛盾なく成立しているか——つまり、数値が主催者の公開したシードから本当に生成されたものか、そしてフィンガープリントがそのシードと設定を本当にカバーしているかを確認します。

すべての処理はブラウザー内で行われます。証明書がどこかに送信されることはありません。

## 2つのチェック

**フィンガープリント。** 証明書にはシードと抽選設定に対する SHA-256 ハッシュが含まれています。このページはそのハッシュを再計算します。証明書に記録されているものと一致しない場合、コミットメント（事前の確定）の後にシードまたは設定が変更されたことになります。

**リプレイ（再現）。** シード指定の生成器は完全に決定的であるため、同じシードと同じ設定からは常に同じ数値が生成されます。このページは抽選を再実行して結果を比較します。数値が異なる場合、結果が書き換えられたことになります。

証明書は、両方のチェックに合格した場合にのみ検証成功となります。

## 検証に合格しても証明されないこと

検証に合格しても証明されるのは、主催者がコミットメントを行った後にシード・設定・数値をひそかに変更していないということだけです。

シードが予測不可能だったことまでは証明**されません**。主催者が自分でシードを選び、抽選前にフィンガープリントを公開していなければ、多くのシードを試して気に入った結果を選んだ可能性があります。フィンガープリントに意味があるのは、抽選**前**に、投稿・コメント・メッセージなど日時が記録される場所で公開されている場合だけです。

これこそがコミット段階の意義です。「信じてください」という言葉を、後から誰でも確認できるものに変えるのです。

## 誰でも検証できる抽選を行うには

1. 範囲と必要な数値の個数を設定します。
2. **フィンガープリントを作成**を押します。得られたハッシュを公開してください——プレゼント企画の投稿、コメントなど、参加者が日時付きで確認できる場所であればどこでも構いません。
3. 応募を締め切ってから抽選を行います。
4. シードと証明書を公開します。誰でもここに貼り付けて確認できます。

手順2を省略すると、証明書は見た目だけのものになってしまいます。フィンガープリントを先に公開しておくことで、証明書に実質的な意味が生まれます。

## シードだけでは不十分な理由

シードは単なる文字列です。それがどのように数値へと展開されたか——どのアルゴリズムか、どの範囲か、いくつの数値か、重複を許すかどうか——を知らなければ、数値そのものは生成できません。

だからこそ、フィンガープリントはシード**と**設定の両方をカバーしています。そうでなければ、主催者はシードを公開したうえで、後から「実際は別の範囲で抽選を行い、別の数値の組み合わせが本当の結果だった」と主張できてしまいます。コミットメントは、そのような抜け道を防ぎます。

## フィンガープリントが偽造できない理由

SHA-256 ハッシュは一方向関数です。順方向の計算は簡単ですが、逆方向に計算する既知の方法はありません。これがコミットメントを拘束力のあるものにしています。

不正を行うには、主催者は1つのフィンガープリントを公開したうえで、後から同じハッシュを生成する*別の*シードを提示する必要があります——いわゆる第二原像攻撃（second-preimage attack）です。SHA-256に対してこれに成功した例は見つかっておらず、探索空間の大きさから総当たりも無意味です。2²⁵⁶は、観測可能な宇宙に存在すると推定される原子の数よりも多いのです。

さらに、主催者は結果を意図的に操作することもできません。シードの1文字を変えるだけで、ハッシュのビットのおよそ半分が予測不能な形で変化します。公開済みのフィンガープリントと一致し、なおかつ都合の良い当選者を生み出すシードを探し出す方法は存在しません。ハッシュを先に固定しなければならない一方で、そのハッシュはすべての要素に依存しているからです。

つまりフィンガープリントは、シードと設定を完全に固定します。固定できないのは*いつ*それが公開されたかだけです——だからこそ、投稿のタイムスタンプが半分の役割を担っているのです。

## 検証可能な抽選が重要な場面

- **プレゼント企画やコンテスト** — 当選しなかった応募者こそが疑問の声を上げる
- **コミュニティやDAOの選出** — 枠、助成金、役割を誰に与えるかを決める場面
- **研究** — 査読者が再実行して確認できるサンプリング計画
- **法的リスクを伴う懸賞企画** — 単なる主張ではなく、実証可能な方法を求める法域もある
- **見知らぬ相手に信じてもらう必要がある場合** — 参加者との距離が遠いほど、「ランダムに選びました」という言葉だけでは通用しなくなる

## よくある質問（FAQ）

### 証明書が有効であれば、抽選はランダムだったと言えますか?

それが意味するのは、抽選が*コミットメント後に改ざんされていない*ということだけです。予測不可能だったかどうかは、フィンガープリントがいつ公開されたかによります。抽選前に、公開の場で、日時付きで公開されていれば、主催者はその時点で結果を固定していたことになります。抽選後に公開された場合、予測可能性については何も証明されません。

### 証明書はどこかにアップロードされますか?

いいえ。確認処理はすべてブラウザー内の JavaScript で完結します。データが端末の外に送信されることはなく、記録を残すサーバーも存在しません。

### 「フィンガープリントが一致しません」とはどういう意味ですか?

証明書に含まれるシードまたは設定が、コミットメントされたものと異なっています。証明書が編集されたか、別のツールで生成されたものである可能性があります。

### 「シードからこの数値は生成されません」とはどういう意味ですか?

フィンガープリント自体は正しいものの、数値のリストが後から変更されています。このツールは、シードから実際に生成される数値を表示するため、両者の違いを確認できます。

### 他のサイトで行われた抽選も検証できますか?

この形式の証明書が発行されている場合に限り可能です。確認処理は生成アルゴリズムに完全に依存しており、シードがどのように数値へ展開されたかが分からなければ、シード単体には意味がありません。

### 証明書がとても長い場合はどうなりますか?

証明書には結果全体が含まれるため、長さは生成した数値の個数によって変わります。6個の数値の抽選なら短いコードになり、1万個の抽選なら長いコードになります。どちらも検証方法は同じです。

## Other languages

- Čeština (cs): [Ověření losování](https://acrafto.com/cs/verify-random-draw/) ([Markdown](https://acrafto.com/cs/verify-random-draw/index.md))
- Slovenčina (sk): [Overenie žrebovania](https://acrafto.com/sk/verify-random-draw/) ([Markdown](https://acrafto.com/sk/verify-random-draw/index.md))
- English (en): [Verify a Random Draw](https://acrafto.com/en/verify-random-draw/) ([Markdown](https://acrafto.com/en/verify-random-draw/index.md))
- Deutsch (de): [Zufallsziehung prüfen](https://acrafto.com/de/verify-random-draw/) ([Markdown](https://acrafto.com/de/verify-random-draw/index.md))
- Français (fr): [Vérifier un tirage aléatoire](https://acrafto.com/fr/verify-random-draw/) ([Markdown](https://acrafto.com/fr/verify-random-draw/index.md))
- Español (es): [Verificar un sorteo aleatorio](https://acrafto.com/es/verify-random-draw/) ([Markdown](https://acrafto.com/es/verify-random-draw/index.md))
- Italiano (it): [Verifica un'estrazione casuale](https://acrafto.com/it/verify-random-draw/) ([Markdown](https://acrafto.com/it/verify-random-draw/index.md))
- Português (pt): [Verificar sorteio aleatório](https://acrafto.com/pt/verify-random-draw/) ([Markdown](https://acrafto.com/pt/verify-random-draw/index.md))
- Nederlands (nl): [Trekking verifiëren](https://acrafto.com/nl/verify-random-draw/) ([Markdown](https://acrafto.com/nl/verify-random-draw/index.md))
- Polski (pl): [Weryfikacja losowania](https://acrafto.com/pl/verify-random-draw/) ([Markdown](https://acrafto.com/pl/verify-random-draw/index.md))
- Română (ro): [Verificare extragere aleatorie](https://acrafto.com/ro/verify-random-draw/) ([Markdown](https://acrafto.com/ro/verify-random-draw/index.md))
- Magyar (hu): [Sorsolás ellenőrzése](https://acrafto.com/hu/verify-random-draw/) ([Markdown](https://acrafto.com/hu/verify-random-draw/index.md))
- Ελληνικά (el): [Επαλήθευση τυχαίας κλήρωσης](https://acrafto.com/el/verify-random-draw/) ([Markdown](https://acrafto.com/el/verify-random-draw/index.md))
- Български (bg): [Проверка на теглене](https://acrafto.com/bg/verify-random-draw/) ([Markdown](https://acrafto.com/bg/verify-random-draw/index.md))
- Hrvatski (hr): [Provjera izvlačenja](https://acrafto.com/hr/verify-random-draw/) ([Markdown](https://acrafto.com/hr/verify-random-draw/index.md))
- Slovenščina (sl): [Preverjanje žrebanja](https://acrafto.com/sl/verify-random-draw/) ([Markdown](https://acrafto.com/sl/verify-random-draw/index.md))
- Eesti (et): [Kontrolli loosimist](https://acrafto.com/et/verify-random-draw/) ([Markdown](https://acrafto.com/et/verify-random-draw/index.md))
- Latviešu (lv): [Nejaušas izlozes pārbaude](https://acrafto.com/lv/verify-random-draw/) ([Markdown](https://acrafto.com/lv/verify-random-draw/index.md))
- Lietuvių (lt): [Patikrinti traukimą](https://acrafto.com/lt/verify-random-draw/) ([Markdown](https://acrafto.com/lt/verify-random-draw/index.md))
- Svenska (sv): [Verifiera en dragning](https://acrafto.com/sv/verify-random-draw/) ([Markdown](https://acrafto.com/sv/verify-random-draw/index.md))
- Dansk (da): [Verificér en tilfældig trækning](https://acrafto.com/da/verify-random-draw/) ([Markdown](https://acrafto.com/da/verify-random-draw/index.md))
- Suomi (fi): [Arvonnan varmennus](https://acrafto.com/fi/verify-random-draw/) ([Markdown](https://acrafto.com/fi/verify-random-draw/index.md))
- Norsk (no): [Kontroller en tilfeldig trekning](https://acrafto.com/no/verify-random-draw/) ([Markdown](https://acrafto.com/no/verify-random-draw/index.md))
- Українська (uk): [Перевірка чесності жеребкування](https://acrafto.com/uk/verify-random-draw/) ([Markdown](https://acrafto.com/uk/verify-random-draw/index.md))
- Русский (ru): [Проверка честности розыгрыша](https://acrafto.com/ru/verify-random-draw/) ([Markdown](https://acrafto.com/ru/verify-random-draw/index.md))
- Српски (sr): [Provera nasumičnog izvlačenja](https://acrafto.com/sr/verify-random-draw/) ([Markdown](https://acrafto.com/sr/verify-random-draw/index.md))
- Македонски (mk): [Провери случајно извлекување](https://acrafto.com/mk/verify-random-draw/) ([Markdown](https://acrafto.com/mk/verify-random-draw/index.md))
- Bosanski (bs): [Provjera nasumičnog izvlačenja](https://acrafto.com/bs/verify-random-draw/) ([Markdown](https://acrafto.com/bs/verify-random-draw/index.md))
- Shqip (sq): [Verifiko shortin](https://acrafto.com/sq/verify-random-draw/) ([Markdown](https://acrafto.com/sq/verify-random-draw/index.md))
- Türkçe (tr): [Rastgele çekilişi doğrula](https://acrafto.com/tr/verify-random-draw/) ([Markdown](https://acrafto.com/tr/verify-random-draw/index.md))
- 한국어 (ko): [추첨 검증 도구](https://acrafto.com/ko/verify-random-draw/) ([Markdown](https://acrafto.com/ko/verify-random-draw/index.md))
- العربية (ar): [التحقق من السحب العشوائي](https://acrafto.com/ar/verify-random-draw/) ([Markdown](https://acrafto.com/ar/verify-random-draw/index.md))
- हिन्दी (hi): [रैंडम ड्रॉ सत्यापित करें](https://acrafto.com/hi/verify-random-draw/) ([Markdown](https://acrafto.com/hi/verify-random-draw/index.md))
- Bahasa Indonesia (id): [Verifikasi undian acak](https://acrafto.com/id/verify-random-draw/) ([Markdown](https://acrafto.com/id/verify-random-draw/index.md))
- Tiếng Việt (vi): [Xác minh lượt quay ngẫu nhiên](https://acrafto.com/vi/verify-random-draw/) ([Markdown](https://acrafto.com/vi/verify-random-draw/index.md))
- ไทย (th): [ตรวจสอบผลการสุ่ม](https://acrafto.com/th/verify-random-draw/) ([Markdown](https://acrafto.com/th/verify-random-draw/index.md))
- עברית (he): [אימות הגרלה אקראית](https://acrafto.com/he/verify-random-draw/) ([Markdown](https://acrafto.com/he/verify-random-draw/index.md))
