1.運営はガチャで排出されるキャラが変わったときに、(サーバ内に)秘密のキーワードを設定する。 2.ユーザがガチャを引くとき、ユーザは1000ある裏向きパネルのうちどこを引くかを選択する。 3.サーバ側で「秘密のキーワード&ユーザID&そのユーザがガチャを回した回数」を 乱数シードとして1000あるパネルの内訳を決定し、ユーザが選択した場所のキャラを排出する。 この乱数の発生方法やパネル内訳を決めるアルゴリズムはユーザにも公開されている。 4.運営はガチャ排出されるキャラが次に変わったタイミングで、新たな秘密のキーワードを設定するとともに、 前回使っていた秘密のキーワードを公開する。 5.ユーザは秘密のキーワードを使って、前回選択してきたパネルの内訳とガチャを引いた結果が 一致していることを確認することで不正が無いことを検証できる。
ガチャの確率操作疑惑をゼロにする方法。
以前も似たのを考えたことがあるけど、こっちのほうがよさそう。
あとパネルのうちどこを引くかを選択するとは書いたが、これは単に公正な「気にさせる」効果しかなくて、実際には常に1つ目のパネルを自動選択しても実質的には何も変わらない。依然としてガチャの公平性は担保される。
問題があるとすれば、発生する乱数から乱数シードを得る逆関数で秘密のキーワードを探り当てられた場合、ユーザに結果が予めわかってしまうということだろうか?しかし試行1回ごとに金を払わなければならないガチャの性質上、それは現実的には無視できるリスクだと思う。