Counterpartyプラットフォームを利用したモバイルゲーム"Spells Of Genesis"について考えたこと
はじめに
Blockchainを通貨以外に利用する試み(いわゆるビットコイン2.0)を、いろいろな人たちがチャレンジしていますが、今回はBlockchainをゲームに取り入れようとしているSpells of Genesisについて書きます。
目次
- Spells Of Genesisとは
- これまでのゲームにおける問題点
- Blockchain技術でできること
- Blockchain技術の欠点
- SoGがBlockchain技術の何を利用するのか(What)、どのように実現するか(How)
- オンラインゲームで使われている複製防止プログラムへの優位性
- 懸念点と対応案
Spells Of Genesisとは
Spells of Genesis (SoG) (スペルズオブジェネシス)は、トレーディングカードゲームとアーケードゲームの要素を融合したiOSとAndroid用のモバイルゲームです。α版が公開されており私も試しました。モンスターストライク風のゲーム構成にカードゲームの戦略性を追加したような内容になっています。動画を見て頂けると大体の内容が分かると思います。
SoGのユニークな点は、ゲーム内コンテンツと仮想通貨(Counterpartyの独自トークン)との交換が可能な点です。
これまでのゲームにおける問題点
新しいサービスを開発する時は、解決したい問題や喜ばせたい人が明確になっている必要がありますが、現時点で私は、SoGがどういう問題意識を持ってわざわざBlockchain技術を取り入れるのか理解できていません。
なのでゲームについての素人の私が、解決したい問題について想像してみました。
運営側
- アイテムがRMT業者によって売買されており、コントロールできていない。
- SoGをたくさん利用してくれるユーザー、友達を紹介してくれるユーザーに対してより多くのインセンティブを与えたい。
- ゲーム業界が激しい競争状態にある。ライバルとの差別化を図りたい。
- ポイント付与やアイテムの偽造防止のためのシステム開発コストを軽減したい。
- プラットフォーマーに支払う決済手数料が高い。
ユーザー
- 高価なレアアイテムを入手しても、その価値は運営側の方針変更によりアイテムの価値が低下する場合がある。
- アプリ内コンテンツの市場流動性が低い。RMT業者は存在するが透明性が低い。
- ゲームに飽きて次のゲームをやる時に、ポイントやアイテムが引き継げない。
- ゲームの初期段階からプレーして、ゲームのコミュニティに貢献しても対価が得られない。
Blockchain技術でできること
Blockchain技術でできることの定義を明確にして、チーム内で認識を共有する必要があります。
まずビットコインの持つ以下の特性は備えています。(参考)Bitcoinのしくみと設計思想
- 独立性
- 安全性
- プライバシー
- オフライン性
- 流通性
- 分割可能性
プラスCounterpartyでできることは...
- 非中央集権の交換所
- 配当
- 独自トークンの発行。トークンホルダーの変更
などがあります。これらを自前で開発する工数を削減できます。
Blockchain技術の欠点
欠点もついても認識を一致させる必要があります。
技術面
- セキュリティ(独自トークンの秘密鍵紛失した場合どうするか)
- 前例が少ない
オペレーション面
- ユーザーが理解しやすいUIを用意できるか(ビットコインの仕組みを理解する人は少ない)
- 法律(国によっては法律で禁止されたりするかも)
- コントロールできない部分がある(トークンを勝手に増やせない。自由度が減る)
- プラットフォーマーが嫌う可能性がある
- ビットコインプラットフォームを使う場合は承認時間の制限がある
- 送金の手数料が発生する
- 前例が少ない
技術面よりもオペレーションの難しさを感じます。これらの難しさを克服したとして、どれだけの成果が得られるか正直まだ分かりません。
SoGがBlockchain技術の何を利用するのか(What)、どのように実現するか(How)
上記のメリットデメリットを考慮した結果、やっぱりBlockchain導入を決定した場合、Blockchainの何をどのようにゲームに取り込むか考えてみます。
トークン発行 (運営側)
- 純正Counterwalletを利用
-> 自前実装不要
- ゲームコンテンツとトークンの紐付け
-> ゲームサーバー実装
ユーザーへのトークン送信 (運営側)
- トークン購入を検知して、ユーザーのアドレスに対して送信
- ユーザーへのインセンティブとしてトークンを送信。(ゲーム利用時間、友達紹介など)
-> ゲームサーバー側実装。ビットコイン送信処理は既存機能を利用。
ビットコインアドレス登録 (ユーザー側)
-> ゲームサーバー側実装。ビットコインアドレス作成処理は既存機能を利用。
トークン購入 (ユーザー側)
- アプリ内課金経由の購入(ゲームサーバーに通知)
- アプリ外での購入(ゲームサーバーに通知)
-> アプリ、ゲームサーバー側実装。ユーザーへのトークン送信処理を呼び出し。
トークン利用 (ユーザー側)
- ゲームサーバーにアクセス。利用可能なトークン参照。
-> アプリ、ゲームサーバー側実装。
トークン交換所 (ユーザー側)
- 純正Counterwalletのexchangeをゲーム用にカスタマイズ
-> Exchangeを実装。
オンラインゲームで使われている複製防止プログラムへの優位性
諸事情により調べてみました。
外部からの脅威
- ビットコインシステムの堅牢性(ブロックチェーン改ざん)
-> いわゆるProof of Workのことです。細かい説明は書きませんがBlockchainの改ざんは膨大な計算が必要になるため事実上改ざんができません。仮にゲームサーバーがハッキングされた場合でも秘密鍵が奪われない限りBlockchainに登録されているトークンは影響がありません。(さらに秘密鍵自体を暗号化することが可能です。)
- 秘密鍵の秘匿化(コールドストレージ)
-> 秘密鍵を利用しない時は、秘密鍵が保存保存されているコンピュータをネットワークから切り離すことにより外部からのアクセスを不可能にできる。
内部からの脅威
- 内部の人間によるトークンの不正操作
-> Counterpartyの機能としてトークンの総量をロックできます。量を増やしてRMT業者に転売することは不可能です。またトークンの残高はブロックチェーンに保存され誰でも見れる状態にあるため、不正な送金は検知されます。(送金時はユーザーに通知するなどの処理を入れておく)
※ いずれにしても、セキュリティの監査を外部に依頼したり、交換所を運営している人に聞くなどする必要があります
懸念点と対応案
いろいろな懸念点が見えてきます。
- トランザクション手数料の問題
ユーザーが持っているカードの全てをBlockchainで管理する場合、トランザクションが頻発する可能性がある。ビットコインのトランザクション手数料は1回5円かかる。ユーザーが持つカードはどのくらい変動があるか調べる必要がある。(カードの種類がたくさんある場合、それぞれに手数料が必要になる)
対策として、毎回トランザクションを発生させずに、市場で交換する時のみBlockchain上ではユーザーが所有するようにする。つまりゲームサーバー上で独立した状態を持ちます。ただし透明性を損なってしまう可能性があります。
- Double Spendの問題
トークンをビットコインで購入できるようにした場合はDouble Spendの問題を考慮する必要があります。0 Confirmationでもゲーム内では利用できるけど、取引所での交換はできないなどの制限が有効かもしれません。(Blockchainと常に同期を取る場合はこれはできませんが)
- bitcoin、counterpartyプラットフォームの問題
特にcounterpartyは開発規模、実績が多くありません。仮にプラットフォームにクリティカルな問題が発生した場合に、counterpartyコミュニティがすぐに対応してくれる保証はありません。オープンソースとはいえ全て自前で解決できる要因を確保するのは難しいでしょう。(逆に言うとコミュニティに大きな貢献ができる可能性がありますが)
まとめ
いろいろ難しさはありますが、チャレンジングでambitiousなプロジェクトだと思います。SoGのチームがどういう解決策を持っていて、それをどう実装するのかとても興味があります。
参考
Spells Of Genesis ゲーム内経済と貨幣システム