応募者全員のアカウントIDを先に公開して、決まった時刻に、主催者にも選べない方法で当選者を決めます。この画面を開いている人は、同じ瞬間に同じ抽選を見られます。
--
企画の内容
- 賞品
- 応募方法
- 応募の締切
- 抽選の日時
- 当選人数
- 応募者
応募したあとにXのアカウントIDを変えた場合は、無効になります。
公平と言える理由
- 応募した全員のアカウントIDを、抽選の前に、この画面で公開します。自分のIDが入っているかを、誰でも確かめられます。
- 公開した名簿には「指紋」の値がつきます。名簿が1文字でも変わると、この値が変わります。指紋は、抽選の前にXでも知らせます。
- 当選者を決める数字には、抽選の時刻に世界中へ公開される乱数(drand)を使います。時刻が来るまで、主催者にも分かりません。
- 「名簿の指紋」と「公開された乱数」だけで当選者が決まります。同じ値を同じ計算に入れれば、誰がやっても同じ当選者になります。計算の方法は、結果の画面に書いてあります。
自分の名前があるか確かめる
公開された名簿
- 名簿の指紋(SHA-256)
公開抽選
当選者
抽選が始まると、ここに1人ずつ出ます。
自分の結果を確かめる
この抽選を検算する
当選者は、下の2つの値だけで決まります。
計算の方法
- 名簿のアカウント名は、先頭の@を除いて小文字にそろえ、文字の順に並べ、改行でつなぎます。これを SHA-256 にかけたものが「名簿の指紋」です。
- drand のその回の署名(16進数の文字列)を、バイト列として SHA-256 にかけたものが「公開された乱数」です。
- 「名簿の指紋」と「公開された乱数」を、:(コロン)でつないで SHA-256 にかけたものが「抽選の種」です。
- 全員について「抽選の種:アカウント名」を SHA-256 にかけ、値の小さい順に並べます。先頭から順に、当選者、続いて補欠です。
乱数は、drand の公開サーバーから取っています。drand の署名は、drand.love などで誰でも独立に確かめられます。