SlideShare a Scribd company logo
1 of 15
Download to read offline
公平なガチャ
tsukuba.lua
吉村 優
yyu@mental.poker
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
課題
サーバーはコミットメントを否認できる
あるコミットメントに対して、それはサーバーが発行したもの
ではないと主張できる
これは署名で防ぐことができる
署名を利用すると検証鍵の配布機関が必要になる
吉村 優 公平なガチャ 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
課題
この方法はラスベガス†なガチャしか実装できない
一定の課金で任意の景品がもらえる
重複が何度か発生した場合、任意の景品が貰える
†有限回の試行で特定の結果が得れない可能性があること
吉村 優 公平なガチャ 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

More Related Content

More from Hikaru Yoshimura

More from Hikaru Yoshimura (7)

Fujitask meets Extensible Effects
Fujitask meets Extensible EffectsFujitask meets Extensible Effects
Fujitask meets Extensible Effects
 
BitcoinでCTF
BitcoinでCTFBitcoinでCTF
BitcoinでCTF
 
Minimal Cake Pattern in Swift
Minimal Cake Pattern in SwiftMinimal Cake Pattern in Swift
Minimal Cake Pattern in Swift
 
Extensible Exception
Extensible ExceptionExtensible Exception
Extensible Exception
 
Mental Jinroを支える暗号技術
Mental Jinroを支える暗号技術Mental Jinroを支える暗号技術
Mental Jinroを支える暗号技術
 
Regular expressions à la carte
Regular expressions à la carteRegular expressions à la carte
Regular expressions à la carte
 
Tagless Final DSL
Tagless Final DSLTagless Final DSL
Tagless Final DSL
 

公平なガチャ(tsukuba.lua)