AWS Startup ブログ

日本発のブロックチェーンゲームを支えるアーキテクチャはどうなっている?【 Startup Architecture Of The Year 2019 ファイナリストによる寄稿シリーズ】

皆さんこんにちは、スタートアップマーケティングの石渡です。

先日開催した Startup Architecture Of The Year 2019 では、7社のファイナリストによる熱いピッチコンテストが繰り広げられました。(イベントレポートはこちら

このイベントは時間の関係もあり、各社5分という限られた時間でのピッチをお願いしました。当日は私も舞台袖から皆さんのピッチを聞いていましたが、ご登壇頂いた皆様の内容は、知恵と経験の詰まったもので、当日イベントに参加されなかった方にも是非お伝えしたいと思いました。そこで、ファイナリストの皆様に寄稿をお願いして、ここ AWS Startup Blog で、各社のアーキテクチャを熱く語って頂くことにいたしました。

今回ご登場頂くのは、double jump.tokyo 株式会社の満足さんです。それでは、ブログ上でのアーキテクチャバトルをお楽しみ下さい。

 

こんにちは、double jump.tokyo株式会社、リードエンジニア 満足と申します。

弊社では、日本発のブロックチェーンゲームMyCryptoHeroes(以下MCH)を開発、運用しております。

 

MCHは「ゲームにかけた時間もお金も情熱も、あなたの資産となる世界」をテーマとして、ゲームのキャラクターやアイテムをブロックチェーンを使って管理することで「ユーザーのものになる」世界を実現しています。ブロックチェーンを使った分散アプリケーションプラットフォームであるEthereumと、ブロックチェーン文脈でよく利用される分散ファイルシステムIPFSを利用しています。

一般的に言われるブロックチェーンのメリットとして非中央集権性が挙げられますが、MCHでは、キャラクターやアイテムの所有情報以外は従来どおりのゲームサーバーで稼働しています。これを、ブロックチェーン技術で実装されていないというオフチェーンという言葉で表します。

一方でブロックチェーン技術で実装されているものをオンチェーンと呼びます。開発開始時は、Ethereumのスケーリング課題を解決するために開発されているサイドチェーンプロジェクトを採用し、全てをオンチェーンで実装する方針でした。

Ethereumを同様のVMを備えたサイドチェーン技術を利用し、将来的にはEthereum上でも全てロジックを動かすことの可能なように作ったβテストを行いました。結果、当時最先端のサイドチェーンプロジェクトであっても、全てをブロックチェーン技術で実現することは困難でした。当時の様子を含む講演資料はこちら (https://mch.gg/hicon2018)

また、当時フルオンチェーンのゲームがいくつかありましたが、ゲーム上の全てのアクションにトランザクション手数料がかかっていたため、広く普及していたとは言い難いものでした。

そこで、βテストでの結果を鑑み、MCHではオフチェーン利用に大きくかじを切り、本来のユーザー体験に立ち返り、本当に重要な部分とブロックチェーンのメリットの部分のみオンチェーンで実装することとしました。

 

システム構成

 

開発者にとっては、決済部分とアカウントがブロックチェーンの大きなメリットです。

決済機能は、Ethereum上に実装しEthereum通貨での決済を実現しています。「仮想通貨」として流行った通り、決済機能について正しく理解して使えば非常に安定しており且つプラットフォームによる手数料は非常に低いものです。MCHでは、全ての決済機能をEthereum通貨決済で実現しています。メインの認証機能(ログイン機能)は、各ユーザーの持つ秘密鍵を使った電子署名によってゲームにログインするようにしています。サーバー内には登録情報を持つことなく、パスワードレスをいとも簡単に実現することができました。

ユーザーにとってのメリットは、ブロックチェーンに記録されている「所有情報」です。

Ethereumにはゲームアイテムやキャラクターを扱うのに適した代替不可能性トークン(Non-Fingible Token / NFT)という概念があります。このNFTを実装ための標準規格であるERC-721が普及しています。このERC-721を実装することで、開発者は追加開発のコストが少なく、様々なサービスでNFTを利用できるようになります。もちろんユーザーにとっても対応するゲームやサービスが多くメリットとなります。

例えば、NFTマーケットであるOpenSeaでは、ゲーム運営者の管理外でユーザー間取引が行われています。

UXにこだわりを持つ、という方針であるため、当時GAになったばかりのgRPC-Webの採用を決めました。現時点においても、ほぼ採用プロジェクトは聞きませんが、非常に高速で問題なく動いています。ブロックチェーン、gRPC-Webと最先端でまだ事例の少ない技術を採用するにあたり、すでに安心感のある技術を採用することで、新規領域に集中することができました。

 

構成図

 

具体的には、Amazon AuroraとAmazon S3とLambdaは以前からの運用実績もあり信頼をおいて採用しました。また、gRPC-Webの採用は初めてだったため、コンテナの採用は見送り、systemdでデーモン管理をしつつ、Nginxを使って、SPA、gRPC-Web、JSON-APIのルーティングを行い、ロードバランサーはNLBを採用しました。gRPC-Webの挙動が読みきれなかったこともあり、Nginxにかなりの責務を負わせた形になりましたが、短期間でのリリースということもあり、ここも手に馴染んだNginxをフルに利用することで調査コストなどが削減できたのかなと思います。ここは、正直好みであったのですがHTTP2の恩恵をフルに受けるために1つのドメイン配下で全ての通信が完結するようにしました。

 

(gRPCによる並列通信)

後に静的ファイルに関してはCloudFront経由での配信に変更しています。

ゲーム内にキャラクターの見た目をカスタマイズする「アート」機能があります。

ここで、IPFSを利用することでゲーム内に閉じた「アート」ではなく分散システムによって分散管理された「アート」として運営の手を離れても表示をすることが可能です。MCHでは、Amazon S3へアップロードした後に、Put Eventを起点としてLambdaを使ってIPFSへのアップロードを実現しています。IPFSは自社で管理せず外部ノードへのアップロードをしているため、オンライン処理ではユーザーレスポンスへの影響が大きくAmazon S3 + Lambdaを使った非同期処理にすることでレスポンスの高速化が実現できました。DB利用方法として、静的ファイル以外の全てのデータはDBに格納してあります。日々データサイズが増大化し、開発上の問題ではあるのですが、Amazon Auroraはそれであっても全くパフォーマンスを落とすことなく動いています。データサイズについてAmazon Auroraの自動スケールによって運用上の手間なく利用できています。

 

(Auroraはパフォーマンスが安定している)

 

2019年6月時点において、累計売上額は12000ETHを超え、日々のアクティブユーザーは6000人、Ethereumで記録されるアクティブユーザーは3000人とMyCryptoHeroesは世界No1のブロックチェーンゲームです。数字からわかるようにまだまだ小さな市場ではあるものの、今後十分な広がりのある分野だと考えています。

今後、弊社ではMCHで得たブロックチェーンらしいゲームのノウハウを活かしてゲーム開発支援を行うMCH+というプロジェクトを開始しました。

 

 

ユーザーにとってのブロックチェーンの価値は、「デジタルアセットの所有情報」でした。これは、大きく「二次流通市場」と「複数サービス間での汎用性」だと考えられます。現在のブロックチェーンゲームは、前者の「二次流通市場」のメリットが大きく注目されています。今後、「複数サービス間での汎用性」によって更にブロックチェーンゲームは飛躍すると考えています。

そのためには、MCH 一つではなく、いくつものブロックチェーンゲームが相互に繋がるが重要になります。MCH+を通して、ブロックチェーンゲームを作成したいという企業や個人にブロックチェーンらしいゲームの開発ノウハウを提供し、一緒にブロックチェーンゲームの未来を作っていくつもりです。double jump.tokyoは、価値のあり方を変える「ブロックチェーン技術」を用いてゲームの未来をリビルドする会社です。世界No1ブロックチェーンゲームのノウハウを身に着け来るべきブロックチェーンの時代を一緒に切り開いていく仲間を募集しています。興味のある方は Twitter @rmanzoku までお気軽にお声掛けください!

ここまでお読みいただき、ありがとうございました!

 

筆者プロフィール

満足 亮 氏
double jump.tokyo株式会社 リードエンジニア

double jump.tokyo株式会社でリードエンジニアという名の技術何でも屋。過去にはソーシャルゲーム会社、EdTechアプリ会社でインフラエンジニアとしてAWSを中心としたクラウドインフラからアプリまでの全体設計、構築、改善を経験。2018年7月からブロックチェーンの世界に引き込まれる。

 

◆参考情報

満足氏の講演資料は、こちらから閲覧できます。(Slideshareのページが開きます)

満足氏の講演の様子の書き起こしログは、こちらから閲覧できます。(ログミーのページが開きます)