Pickawは、7年以上かけ磨き上げた抽選技術を皆様に提供しております。
We have mastered the art of drawing for over seven years and are making our expertise available to you.
Pickawの抽選
この二つの条件こそ、抽選の定義そのものだと思っています。 Pickawはこれらはもちろん、それ以外の重要条件も満たしています。
この 3 つは、抽選の一貫性を保証し、それが円滑に実施されるために欠かせない、必要最小限の要素だと考えています。しかし、ランダム性と再現性の共存が困難であるのにかかわらず、どのようにしてこの二つを同時に可能にしているのでしょうか。まさにそのために、シードという概念を導入したのです。
「シード」、もしくは「種」とは、16桁の文字で作られた固有の文字列です。抽選時同じシードを使用することで、同じ結果が得られます。このようにシードを使うことで、抽選の再現が可能となり、シャッフルされていないことを確認できるのです。シードの詳細技術については、次のページ : Drawchain™をご参照ください。 抽選工程
Pickawで実施されるすべての抽選は、いくつかの段階を踏んで、同じ手順で行わます。中には少し技術的なものもあります。
抽選中にエラーやネットワークの切断が生じた場合、ランダム・シード・インスタンス状態のバックアップが取られ、自動的に作業が一時停止されます。そうすることで、再現可能ランダム状態を失うことなく、後で再開できるのです。 我々の抽選システムは、最大10件までの参加者を同時に抽選かつ確認できるため、多数の当選者がいる場合も迅速に抽選を行うことができます。 TWrenchで実施された抽選でも、 seedrandom ライブラリを使って当選番号を選出していました。 抽選開始時、オブジェクトランダム・シードが割り当てられたシードと共にインスタンス化されます。
インスタンス : seedrandom によって、0 ~ 1 (除外) の 間の少数が生成されます。
この数値にキャンペーンの残りの重複エントリー数を掛けると、当選番号が得られます。
- もし過去当選者がいない場合: 当選者枠を保持します。
- 過去当選者を1名でも含む場合、その都度このユーザーを加算し当選者枠が再計算されます。
例:参加者が101名のキャンペーンで、その内既に3名の当選者いて、 [30、50、60] のポジションが割り当てられていたとしましょう。この抽選で(0(を含む)と97(除外)の間で)49が選出された場合、再計算されるポジションは、(30と50の場合)+2で、51になります。選出番号が29以下の場合は再計算されません。
(再計算された)当選枠によって、データベース内の該当ユーザーを迅速に発見できます。このユーザーは当選済みと見なされます。
キャンペーンの設定に従ってエントリーの自動チェックが行われ、場合によっては開催ユーザーによって手動チェックされる場合もあります(有効になっている場合)。
- すべてのチェックを無事に通過したユーザー:当選者確定。
- 少なくとも1つのチェックを通過できなかった場合:設定当選者数を達成、あるいは参加ユーザーが尽きるまで、ステップ2に戻り、そこから抽選工程を繰り返し続けます。
ランダム機能の提供元
当然のことながら、Pickawを使って実施されるキャンペーンの当選者を我々自身で選ぶことはありません。サードパーティが提供するランダム機能を使用しており、それが当選結果を左右します。
Random.orgと提携し、抽選に使用するシードを作成するための文字列を毎月提供してもらっています。当サービスを利用することで、完璧にランダムなベースの保持をお約束することができるのです。
コンピュータサイエンスにおいて、ランダム機能はいかなる方法を使っても再現できないと言われています(例外のものは「擬似ランダム」と呼ばれます)。そのため、Pickawは世界中のノイズから構成されるRandom.orgの真のランダムチェーンに基づいているのです。ランダムと擬似ランダムについてもっと詳しく知るには、次のページをご参照ください : こちらを参照。 このようにして、参加ユーザーは、当選者がキャンペーンの主催者によって指定されていないことを確認でき、主催者自身も当選者がPickawによって指定されていないことを確認できるのです。
では、当選者がPickawによって選出されていないこと、選出プロセスに改ざんがないことを確認するにはどうしたらいいのでしょうか。それにはDrawchain™が不可欠です。
Drawchain™とは?
この部分の抽選プロセスを管理するために、私たちはある共通基盤を考案・設計しました。これを、「ブロックの連鎖」を意味するブロックチェーンに倣い、「描画の連鎖」を意味するDrawchain™と名付けました。もし皆さんの中に開発者や好奇心旺盛な方がいらっしゃれば、(少し技術的な内容を含む)Drawchain™️ の詳細説明文をお読みになり、それが実際どのように機能するのか、ぜひご覧ください。