Upload
yyu
View
223
Download
1
Embed Size (px)
Citation preview
公平なガチャtsukuba.lua
吉村優
February 12, 2017(Commit ID: 37f77d0)
吉村優 公平なガチャ February 12, 2017 1 / 15
自己紹介
Twitter @_yyu_
Qiita yyu
GitHub y-yu
筑波大学情報科学類卒(学士)
吉村優 公平なガチャ February 12, 2017 2 / 15
ガチャとは?
ソーシャルゲームなどに実装された機能のひとつユーザーがお金を投入すると確率で特定の景品を入手できる
誰が確率を計算するの?
運営のサーバー?
サーバーの実装が正しい確率に従っているのか?
吉村優 公平なガチャ February 12, 2017 3 / 15
公平なガチャ
次のような公平なガチャが欲しいユーザーにとっても運営にとっても、ガチャによる景品の出現確率が実装に基づいて明らかである悪意を持つユーザーや、悪意を持つ運営による確率操作ができない
吉村優 公平なガチャ February 12, 2017 4 / 15
コミットメント
コミットメントコミット
送信者はコミットしたい情報 bを暗号化して受信者に送信する
公開送信者は受信者が bを復元できるように付加的な情報 rを受信者に送信する
コミットメントの性質隠蔽 コミットのステップでは、受信者はコミットされた値につ
いて何も分からない束縛 送信者はコミットのステップ後に、コミットした値を変更
することができない吉村優 公平なガチャ February 12, 2017 5 / 15
コミットメントを用いた公平な乱数
1 サーバーは乱数mを生成しそのコミットメント c := C(m, r)をユーザーに送信する
2 乱数を利用する3 サーバーは乱数mとコミットメント情報 rをユーザーに公開する
4 ユーザーは c = C(m, r)を検証する
吉村優 公平なガチャ February 12, 2017 6 / 15
課題
サーバーはコミットメントを否認できるI あるコミットメントに対して、それはサーバーが発行したものではないと主張できる
I これは署名で防ぐことができるI 署名を利用すると検証鍵の配布機関が必要になる
吉村優 公平なガチャ February 12, 2017 7 / 15
ブロックチェーン
ブロックチェーンの性質一度ブロックチェーンに書き込まれたデータの書き換えが極めて困難信頼ある第三者を仮定しなくてよい
Bitcoinでは取引をブロックチェーンに書き込むBitcoinの OP_RETURNを使うことで、Bitcoinのブロックチェーンに任意のデータ∗を書き込める
∗ただしデータの容量は 80byte以下吉村優 公平なガチャ February 12, 2017 8 / 15
提案された公平な乱数の概要
1 サーバーは乱数を発生させて、そのコミットメントをブロックチェーンに書き込む
2 ユーザーはブロックチェーンを見てコミットメントを確認する
3 乱数を利用する4 サーバーは乱数とコミットメント情報を公開する5 ユーザーは 4 を検証する
吉村優 公平なガチャ February 12, 2017 9 / 15
提案された公平な乱数の詳細1 サーバーはハッシュ関数Hをユーザーに公開する2 サーバーは乱数 rsを発生させて、そのコミットメントをブロックチェーンに書き込む
3 ユーザーはブロックチェーンに書き込まれたコミットメントを確認する
4 ユーザーはサーバーに乱数 ruを送信する5 ユーザーはサーバーに i(i > 0)番目の乱数を要求する6 サーバーは次を計算してランダムな値 aiをユーザーに送信する
ai := H(ru || H(H(· · ·H︸ ︷︷ ︸i
(ru || rs)))
7 ゲームの後、サーバーは rsとコミットメント情報を公開する8 ユーザーはランダムな値を検証する
吉村優 公平なガチャ February 12, 2017 10 / 15
課題
この方法はラスベガス†なガチャしか実装できないI 一定の課金で任意の景品がもらえるI 重複が何度か発生した場合、任意の景品が貰える
†有限回の試行で特定の結果が得れない可能性があること吉村優 公平なガチャ February 12, 2017 11 / 15
まとめ
ガチャ(乱数)をより公平にするために、コミットメントをブロックチェーンに書き込むという手法が提案されたラスベガスではないアルゴリズムを開発すれば、ライブの座席チケットの抽選などにも使える実はラスベガスではないアルゴリズムとMental Pokerは関係がある?
吉村優 公平なガチャ February 12, 2017 12 / 15
参考文献
[1] 佐古和恵,井口圭一.ブロックチェーンを用いたオンラインゲーム向け検証可能乱数発生.暗号と情報セキュリティシンポジウム予稿集 (SCIS2017), No.1F2-4, January 2017.
[2] 吉村優.コミットメントによる公平なガチャシステムと電子署名, 2016.
[3] 吉村優.Bitcoinのブロックチェーンに任意の 80byteデータを刻みこむ, 2017.
吉村優 公平なガチャ February 12, 2017 13 / 15
目次
1 自己紹介2 ガチャとは?3 公平なガチャ4 コミットメント5 コミットメントを用いた公平な乱数6 ブロックチェーン7 提案されている公平な乱数8 課題9 まとめ
吉村優 公平なガチャ February 12, 2017 14 / 15
Thank you for your listening!
吉村優 公平なガチャ February 12, 2017 15 / 15