はじめに
この記事は公平なガチャについての研究が数年を経て、議論が多くなったことを踏まえ研究の歴史を俯瞰できるようなまとめ記事である。
研究の目的
ガチャシステムの多くは運営のサーバーで確率を計算していることから、実装ミスや意図的な操作によって景品の出現率を公表とは異なる値になる可能性がある。この研究は暗号技術などを利用することで、ガチャシステムにおける景品の出現確率をユーザーが実装に基づいて確かめられるようなシステムを開発し、ガチャシステムの健全さの向上に貢献するものである。
研究の歴史
研究は2015年9月に最初の記事から始まり、他の人との議論を交えながら着実に進歩していった。
1. 最初の公平なガチャシステム
最初の公平なガチャシステムはこの記事で提案された。この記事では、ハッシュ関数を用いてガチャシステムを構成した恐らく最初の記事であった。
2. データストアを排除した公平なガチャシステム
次の記事では、最初の公平なガチャに必要であったサーバーサイドのデータストアを署名技術によって排除したものである。
3. malaさんが考えた公平なガチャシステム
malaさんによって考案されたガチャシステムはこの記事で提案された。ただ、これは対称鍵暗号を利用しているため、暗号化の時に用いた鍵と復号の時に用いる鍵が等しいことをなんらかの方法で示す必要があった。
4. コミットメントを用いた公平なガチャシステム
この記事では、暗号技術のコミットメントを用いてガチャシステムを構成できることを示した最初の記事である。
5. ガチャシステムとコミットメントにおける隠蔽と束縛
この記事では、コミットメントが持つ隠蔽と束縛という二つの性質について解説し、両方を同時に満すコミットメントは構成できないことを述べた。さらに、そのことがガチャに与える影響を考察した。
6. 公平なガチャシステムと電子署名
この記事では、ガチャシステムをコミットメントで構成した場合に、コミットメントがガチャシステムを提供する企業によって発行されたことを証明し、かつ否認を拒否する必要について述べた。
7. ブロックチェーンを利用した公平なガチャ
この記事では今までの方法とは異なり、ブロックチェーンを利用してガチャの公平性を担保するという方法について言及した。ブロックチェーンを利用することで、コミットメント方式で発生していた隠蔽と束縛による影響や鍵配布の問題を解決している。
8. 量子コンピュータを利用した公平なガチャ
この記事では量子コンピュータなどを利用してガチャの公平性を担保する方法について言及した。量子計算の基礎とガチャをよりシンプルにした量子コイントスを解説した。
9. Ethereum上の公平なガチャ(抽選)に対する攻撃
この記事ではEthereumのインターナルトランザクションを利用して、Ethereum上の公平なガチャに対してアタックできるのではないかという考察である。
10. 量子コンピュータで2人の“Covert”⁉️ガチャ
この記事では“Covert”なガチャの概念を説明し、それを量子コンピュータで実装した。ランダムな出力をするのが本来のガチャではあるが、この方法では参加者の「欲しいもの(希望)」を入力することができ、その希望がいい感じであればその通りにし、そして衝突している場合は抽選とする。しかし参加者たちには結果が希望どおりだったのか抽選となったのか一切分からないという不思議な抽選を量子コンピュータが持つランダム性とブラインド計算で与えた。
まとめ
ここまでの研究で、公平なガチャシステムを実装するために必要な議論はおおむね終ったのではないかと考えている。もし、何かさらなる改良の余地を思いついた場合は、気軽にコメントなどで教えて欲しい。