仕組み2026.07.22

自分で当選番号を検証する方法 — あるくじのコミットメント方式・技術編

あるくじの当選番号は、運営を信じなくても誰でも自分で再計算して確かめられます。コミットメントハッシュと公開乱数(drand)から当選番号が導かれる流れと、自分で検証する手順を、実際に公開している値をもとに技術的に解説します。

あるくじの抽選は、運営を信じてもらう代わりに、誰でも自分の手で当選番号を再計算して確かめられる仕組みです。やさしい概念の解説は別記事にありますが、この記事ではその技術的な中身——実際に公開している値と、自分で検証する手順——を説明します。

この記事の位置づけ

「なぜ運営が結果を操作できないのか」をやさしい比喩(封筒を先に渡す)で解説したのが検証可能な抽選の記事です。この記事はその技術編として、実際に公開している値と、検証の具体的な手順に踏み込みます。

抽選の前に固定される「コミットメントハッシュ」

毎回の抽選では、締切の時点で参加者の番号リストが確定します。このリストは「匿名化した参加者ID」と「その番号」の組で作られていて、確定と同時に、リスト全体から SHA-256 というハッシュ関数で「指紋」を計算し、その場で公開します。これをコミットメントハッシュと呼びます。

SHA-256 は、入力が1文字でも変わると出力がまったく別の値になる関数です。先に指紋を公開してしまえば、後からリストをこっそり書き換えることはできません。書き換えた瞬間、公開済みの指紋と合わなくなるからです。加えて、確定後のレコードはデータベース側のルール(アクセス制御と変更禁止のトリガー)で書き換え自体を拒否しています。

クジの種(シード)の作り方

当選番号を選ぶ「クジ引き」には乱数を使います。この乱数の種(シード)は、次の式で決まります。

  • シード = SHA-256(コミットメントハッシュ + ":" + 公開乱数の値)

公開乱数には drand(ドランド) という国際的な公開乱数サービスの値を使います。drand は世界中の複数組織が共同運営し、一定間隔で誰にも予測できない乱数を発行し、誰でも取得できます。あるくじは「何時のdrandの値を使うか」をコミットメントハッシュと一緒に事前宣言します。その値は抽選の瞬間まで運営にもわからないため、運営が都合のいい結果になる乱数を選ぶ余地がありません。

こうして決まったシードから乱数列を作り、参加者の実番号の中から当選番号(本賞)と追加の当選番号を順番に抽出します。

検証ページで公開している値

検証ページ(/verify)では、毎回の抽選について次の値を公開しています。

  • コミットメントハッシュ(締切時のリストの指紋)
  • 使った drand の値(公開乱数)
  • シード(上の式で計算された値)
  • 当選番号(本賞)と、追加の当選番号

これらがそろっているので、第三者が同じ計算を再現できます。

自分で検証する4ステップ(技術に詳しい方向け)

プログラムに詳しい方なら、ご自身のパソコンで次のように確かめられます。

  1. 公開された参加者リストを取得し、SHA-256 を計算する → 公開済みのコミットメントハッシュと一致するか確認
  2. 事前宣言された回の drand の値を取得する(drand は誰でも取得できます)
  3. シード = SHA-256(ハッシュ + ":" + drand値) を自分で計算する
  4. 公開されている抽選コードで同じ抽出を実行し、当選番号が発表と一致するかを確認する

抽選コードは検証ページからたどれる形で公開しています。すべてのステップが公開情報だけで再現できるので、途中でごまかしがあれば計算が合わなくなり、誰かが必ず気づけます。

技術に詳しくない方も、「確かめられる状態で公開されている」こと自体が抽選の正しさの担保になります。手を動かせる人が世界に一人でもいれば、不正はいずれ露見するからです。

なぜ、ここまで公開するのか

懸賞アプリに対する一番の不安は「本当に公正に抽選しているのか」だと、運営として考えています。だからあるくじは、「信じてください」と言う代わりに、信じなくても確かめられる形を選びました。透明性は、あとから足す機能ではなく、最初から設計の中心に置いています。

まとめ

  • 締切時にリストの**コミットメントハッシュ(SHA-256)**を公開 → 後から書き換え不可。
  • クジの種は SHA-256(ハッシュ + drandの公開乱数) で決まる → 運営が結果を選べない。
  • 検証ページでハッシュ・drand値・シード・当選番号を公開 → 誰でも再計算して検証可能
  • 手順はすべて公開情報だけで再現できる = ごまかせば必ず気づける構造。

概念のやさしい解説は検証可能な抽選、抽選や賞金の全体像はあるくじの仕組みからどうぞ。実際の公開値は検証ページで確認できます。

← マガジン一覧へ