【文献】
「AI」と「フィンテック」 ,自作派のためのコンピュータ技術情報誌 I/O ,日本,株式会社工学社,2017年 2月21日,第42巻 第3号,pp. 55-59
【文献】
佐古 和恵,ブロックチェーンを用いたオンラインゲーム用公平性を検証可能な乱数発生,2017年 暗号と情報セキュリティシンポジウム概要集,2017年 1月24日
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本発明は、上記問題を解決するためになされたもので、従来のネットワークの形態を維持しながらも、ゲーム難易度の調整のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
以下、本発明の目的を達成するための具体的手段について説明する。
本発明の目的は、難易度情報管理アカウント、第1のアカウント、及び第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記難易度情報管理アカウントに既保存された難易度情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記難易度情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;を含み、前記難易度情報管理アカウントの前記プログラムコードは、特定のユーザについての難易度情報を含む難易度情報保存要請トランザクション(Transaction)を、前記ブロックチェーン内の前記第1のアカウントから受信する保存要請受信ステップと;前記難易度情報保存要請トランザクションに基づいて前記難易度情報を保存する保存ステップと;前記ブロックチェーン内の前記第2のアカウントから、難易度情報確認に関する要請である難易度情報確認クエリを受信する難易度情報確認要請ステップと;前記第2のアカウントに前記難易度情報を送信する難易度情報送信ステップと;を含み、前記第1のアカウントは第1のゲームアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のゲームアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のゲームアプリケーションに対して前記難易度情報を共有することを特徴とする、ゲーム難易度の調整のための分散型台帳装置を提供することにより達成できる。
【0009】
また、前記難易度情報は、前記特定のユーザに適用される難易度調整の方向性に関する情報である調整情報を含み、前記調整情報は、難易度調整の大きさと難易度調整の方向を含んでもよい。
【0010】
本発明の他の目的は、難易度情報管理アカウント、第1のアカウント、及び第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記難易度情報管理アカウントに既保存された難易度情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記難易度情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;を含み、前記難易度情報管理アカウントの前記プログラムコードは、特定のユーザについてのプレイ情報を含むプレイ情報トランザクションを、前記ブロックチェーン内の前記第1のアカウントから受信するプレイ情報受信ステップと;前記プレイ情報トランザクションに基づいて前記特定のユーザに適用される難易度調整の方向性に関する情報である調整情報を生成する調整情報生成ステップと;前記ブロックチェーン内の前記第2のアカウントから、前記調整情報確認に関する要請である調整情報確認クエリを受信する調整情報確認要請ステップと;前記第2のアカウントに前記調整情報を送信する調整情報送信ステップと;を含み、前記第1のアカウントは第1のゲームアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のゲームアプリケーションをサービスする第2のサーバと連結され、前記調整情報は、難易度調整の大きさと難易度調整の方向を含み、前記ブロックチェーン内の複数のアカウントを用いて、複数のゲームアプリケーションに対して前記調整情報を共有することを特徴とする、ゲーム難易度の調整のための分散型台帳装置を提供することにより達成できる。
【0011】
また、調整情報生成ステップは、前記特定のユーザのプレイ情報に基づいて離脱可能性情報を計算し、前記離脱可能性情報が既設定された特定の基準値以上であれば、前記離脱可能性情報が前記特定の基準値未満となるように、前記調整情報を生成し、前記離脱可能性情報が前記特定の基準値未満であれば、難易度が上昇する方向に前記調整情報を生成し、前記プレイ情報は、前記特定のユーザの離脱情報、持続時間情報、レベル情報、クエスト解決情報、失敗情報、成功情報、能力値情報、アイテム情報、及び暗号通貨情報の少なくとも一つであることを特徴としてもよい。
【0012】
また、調整情報生成ステップにおいて、前記調整情報の生成には、強化学習(Reinforcement Learning)が用いられ、前記強化学習におけるエージェント(Agent)は、前記難易度情報管理アカウントとなり、アクション(Action)は、前記調整情報の生成であり、補償(Reward)は、前記特定のユーザのプレイ持続時間、学習速度、及び反復度の少なくとも一つであることを特徴としてもよい。
【0013】
本発明の他の目的は、難易度情報管理アカウント、調整情報生成アカウント、第1のアカウント、及び第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記難易度情報管理アカウントに既保存された難易度情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記難易度情報管理アカウント及び前記調整情報生成アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;を含み、前記調整情報生成アカウントの前記プログラムコードは、特定のユーザについてのプレイ情報を含むプレイ情報トランザクション(Transaction)を、前記ブロックチェーン内の前記第1のアカウントから受信するプレイ情報受信ステップと;前記プレイ情報トランザクションに基づいて前記特定のユーザに適用される難易度調整の方向性に関する情報である調整情報を生成する調整情報生成ステップと;を含み、前記難易度情報管理アカウントの前記プログラムコードは、前記特定のユーザについての調整情報を含む調整情報トランザクション(Transaction)を、前記ブロックチェーン内の前記調整情報生成アカウントから受信する保存要請受信ステップと;前記調整情報トランザクションに基づいて前記調整情報を保存する保存ステップと;前記ブロックチェーン内の前記第2のアカウントから、調整情報確認に関する要請である調整情報確認クエリを受信する調整情報確認要請ステップと;前記第2のアカウントに前記調整情報を送信する調整情報送信ステップと;を含み、前記第1のアカウントは第1のゲームアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のゲームアプリケーションをサービスする第2のサーバと連結され、前記調整情報は、難易度調整の大きさと難易度調整の方向を含み、前記ブロックチェーン内の複数のアカウントを用いて、複数のゲームアプリケーションに対して前記難易度情報を共有することを特徴とする、ゲーム難易度の調整のための分散型台帳装置を提供することにより達成できる。
【0014】
本発明の他の目的は、難易度情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記難易度情報管理アカウントに既保存された難易度情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記難易度情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;により行われる分散型台帳方法において、前記難易度情報管理アカウントが、前記ブロックチェーン内の前記第2のアカウントから、難易度情報確認に関する要請である難易度情報確認クエリを受信する難易度情報確認要請ステップと;前記難易度情報管理アカウントが、前記第1のアカウントから受信されて既保存された前記難易度情報を前記第2のアカウントに送信する難易度情報送信ステップと;を含み、前記第1のアカウントは第1のゲームアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のゲームアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のゲームアプリケーションに対して前記難易度情報を共有することを特徴とする、ゲーム難易度の調整のための分散型台帳方法を提供することにより達成できる。
【0015】
本発明の他の目的は、ブロックチェーンに保存され、難易度情報を保存する難易度情報管理アカウントが、前記ブロックチェーン内の第2のアカウントから、前記難易度情報確認に関する要請である難易度情報確認クエリを受信する難易度情報確認要請ステップと;前記難易度情報管理アカウントが、前記ブロックチェーン内の第1のアカウントから受信されて既保存された前記難易度情報を前記第2のアカウントに送信する難易度情報送信ステップと;を含み、前記第1のアカウントは第1のゲームアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2ゲームのアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のゲームアプリケーションに対して前記難易度情報を共有することを特徴とする、ゲーム難易度の調整のための分散型台帳方法をコンピュータで行うための記録媒体に保存されたプログラムを提供することにより達成できる。
【0016】
本発明の他の目的は、ユーザのクライアントから前記ユーザの難易度情報を受信する難易度情報受信モジュールと;受信された前記難易度情報を特定のゲームアカウントに対するトランザクション情報に含ませ、前記難易度情報を含む前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト(Broadcast)するブロードキャストモジュールと;を含み、前記特定のゲームアカウントは、前記難易度情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと;難易度情報管理アカウントに前記難易度情報を含む難易度情報保存トランザクション(transaction)を送信するトランザクション送信ステップと;を行うコンピュータ読み取り可能なプログラムコードを含み、前記難易度情報管理アカウントに保存された前記難易度情報を用いて、複数のゲームアカウントが前記難易度情報を共有するように管理することを特徴とする、トランザクション情報のブロードキャスト装置を提供することにより達成できる。
【0017】
本発明の他の目的は、ユーザのクライアントから前記ユーザの難易度情報を受信する難易度情報受信モジュールと;受信された前記難易度情報を特定のゲームアカウントに対するトランザクション情報に含ませ、前記難易度情報を含む前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト(Broadcast)するブロードキャストモジュールと;により行われるトランザクション情報のブロードキャスト方法において、前記特定のゲームアカウントが、前記難易度情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと;前記特定のゲームアカウントが、難易度情報管理アカウントに前記難易度情報を含む難易度情報保存トランザクション(transaction)を送信するトランザクション送信ステップ;を含み、前記難易度情報管理アカウントに保存された前記難易度情報を用いて、複数のゲームアカウントが前記難易度情報を共有するように管理することを特徴とする、トランザクション情報のブロードキャスト方法を提供することにより達成できる。
【発明の効果】
【0018】
以上述べたように、本発明によれば、以下のような効果を奏する。
第一に、本発明の一実施形態によれば、従来のネットワークをそのまま維持しながらも複数の主体(entity)のPC/モバイルゲームアプリケーションの難易度情報を統合してシームレス(seamless)な難易度経験をユーザに与えることができるという効果が得られる。
【0019】
第二に、本発明の一実施形態によれば、ゲームなどのPC/モバイルゲームアプリケーションにおけるゲームアプリケーションの全体の離脱率を低減させることができるという効果が得られる。
【0020】
本明細書に添付される下記の図面は、本発明の好適な実施形態を例示するものであって、発明の詳細な説明とともに本発明の技術思想をさらに理解させる役割をするものであるので、本発明は、そのような図面に記載された事項に限定されて解釈されてはならない。
【発明を実施するための形態】
【0022】
以下、添付図面に基づいて本発明の属する技術分野における通常の知識を有する者が本発明を容易に実施することができる実施形態について詳細に説明する。但し、本発明の好適な実施形態についての動作原理を詳細に説明するに当たって、関連した公知の機能または構成についての具体的な説明が本発明の要旨を不必要に不明瞭にするおそれがあると判断される場合は、その詳細な説明を省略する。
【0023】
また、図面全体にわたって類似した機能及び作用を行う部分については、同一の符号を使用する。明細書の全体において、特定の部分が他の部分と連結されているというのは、直接的に連結される場合だけでなく、その中間に他の素子を介して間接的に連結される場合を含む。また、特定の構成要素を含むというのは、特に断りのない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含んでもよいことを意味する。
【0024】
ゲーム難易度の調整のための分散型台帳装置
分散型台帳装置において、
図1は、本発明の一実施形態による分散型台帳装置を示す模式図である。
図1に示すように、本発明の一実施形態による分散型台帳装置1は、ブロックチェーン分散ネットワーク100のノードのうちのいずれか一つを意味することができ、通信モジュール10、処理モジュール11、メモリモジュール12を含むことができる。
【0025】
ブロックチェーン分散ネットワーク100は、ブロックチェーンの分散型台帳を保存している複数のノードで構成されたP2P分散ネットワークを意味する。ブロックチェーン分散ネットワーク100は、少なくとも一部のノードが同じ処理を行えるように構成されるので、一部のノードがシャットダウン(Shut down)されるか変調されても、システム全体には影響を与えないという特徴を有する。ノードは、ブロックチェーン分散ネットワーク100に連結された全てのコンピューティング装置を意味することができる。このようなノードは、デジタルウォレット、ブロックチェーンのコピー、検証エンジン、採掘エンジン、P2Pネットワークの配布機能(ブロードキャスト)などを含んでもよく、さらにライト(Light)な機能のみで構成されたクライアントをも含んでもよい。本発明の一実施形態によるブロックチェーン分散ネットワーク100は、ピュア(Pure)P2Pと、スーパーノード(Super Node)を有するハイブリッド(Hybrid)P2Pと、を含んでもよい。特に、本発明の一実施形態によるノードは、PC/モバイルゲームアプリケーションのソースコードと一緒にクライアントにインストールされてもよい。
【0026】
ノードにおいて、
図2は、様々なノードの形態を示す模式図である。
図2に示すように、参照クライアント(Reference client)は、ユーザのデジタルウォレット管理モジュールと、合意アルゴリズムが仕事量の証明(POW、Proof of Work)である場合のブロック採掘(Block Mining)のためのマイニングモジュール(Mining Module)と、全体のブロックチェーンの全部または少なくとも一部のブロックを保存するブロックチェーンデータベース(Blockchain Database)と、トランザクション(Transaction)をブロックチェーン分散ネットワークにブロードキャスト(Broadcast)するネットワークルーティングモジュール(Network Routing Module)と、を含むノードを意味することができ、例えば、ビットコイン・コア(Bitcoin Core)のクライアント(Client)などを意味することができる。フルノード(Full Node)は、ブロックチェーンデータベースと、ネットワークルーティングモジュールと、を含むノードを意味することができる。ソロマイナーノード(Solo Miner Node)は、マイニングモジュールと、ブロックチェーンデータベースと、ネットワークルーティングモジュールと、を含むノードを意味することができる。マイニングノード(Mining Node)は、マイニングプール(Mining Pool)のノードを意味するプールマイニングノード(Pool Mining Node)に連結されるゲートウェイルータ(Gateway Router)と、マイニングモジュールと、を含む負荷の軽いノードを意味することができる。ライトウェイトウォレットノード(Lightweight Wallet Node)は、一般的にブロックチェーンのヘッダ情報のみを保存し、デジタルウォレット管理モジュールを保有してユーザのデジタルウォレットを保存し、ネットワークルーティングモジュールを含むがブロックチェーンデータベースを含まないので、トランザクションの生成やブロックチェーン分散ネットワークにアクセスするためには第3者が所有しているサーバに依存する負荷の軽いノードを意味することができる。本発明の一実施形態による分散型台帳装置1は、前記ノードのうちブロックチェーンデータベースとネットワークルーティングモジュールとを含むノードを意味することができる。また、本発明の一実施形態によるノードがマイニングモジュールを含む場合には、POW(Proof of Work)またはPOS(Proof of Stake)方式によりユーザクライアントがマイニングを行うように構成することができる。
【0027】
通信モジュール10は、トランザクション(Transaction)をブロックチェーン分散ネットワークにブロードキャスト(Broadcast)するネットワークのルーティングモジュール(Network Routing Module)やプールマイニングノード(Pool Mining Node)に連結されるゲートウェイルータ(Gateway Router)などを意味することができる。
【0028】
処理モジュール11は、メモリモジュール12に保存された分散型台帳であるブロックチェーンのブロックに保存されているトランザクションの内容を処理するモジュールである。本発明の一実施形態による処理モジュール11は、イーサリアム仮想マシン(Ethereum Virtual Machine)のような仮想マシン(VM)で構成されることができる。このような仮想マシンは、例えば、ムータン(Mutan)、LLL、セーペント(Serpent)、ソリディティ(Solidity)などの上位レベルの言語で作られたコード(スマート契約:Smart Contract)がコンパイルされて生成されたバイトコード(Byte Code)を実行するためのランタイム(Runtime)であり、オペコード(OPCODE)及びスタック(Stack)のほかメモリ(Memory)及びストレージ(Storage)を使用する主体でもある。
【0029】
メモリモジュール12は、分散型台帳を保存するモジュールであり、全体ブロックチェーンの全部または一部のブロックを保存するブロックチェーンデータベース(Blockchain Database)を意味することができる。
図3は、本発明の一実施形態によるメモリモジュールのデータ構造を示す模式図である。
図3に示すように、本発明の一実施形態によるメモリモジュール12は、全部または一部のブロックチェーンを保存することができ、各ブロックヘッダには、前のブロックヘッダのハッシュ値(hash)、解答値(nonce)、トランザクショングループのハッシュ値とその他の生成された時間に関する情報であるタイムスタンプ(Timestamp)(図示せず)、採掘難易度を意味するディフィカルティ(Difficulty)(図示せず)、ブロックのナンバーを意味するブロック番号(Block Number)(図示せず)などが含まれ得る。各ブロック体(Contents)には、少なくとも一つ以上のトランザクション情報(特に、本発明の一実施形態による難易度情報保存トランザクション情報)が含まれ得る。
【0030】
また、ブロックには、特定のゲームアカウントと難易度情報管理アカウントとが含まれ得る。
図4は、本発明の一実施形態による、特定のゲームサーバ20とブロックチェーン30の関係を示す模式図である。
図4に示すように、特定のゲームアカウント31は、EOA(Externel Owned Account)またはCA(Contract Account)で構成されてもよく、特定のPC/モバイルゲームアプリケーションのサーバ20に連結されて特定のゲームの難易度情報と特定のゲームアカウントの難易度情報がペアリング(pairing)されるように構成され、難易度情報管理アカウント32の難易度情報とミラーリング(mirroring)されるように構成されてもよい。難易度情報管理アカウント32は、EOA(Externel Owned Account)またはCA(Contract Account)で構成されてもよく、複数のゲームアカウント31と連結されて変更された難易度情報を受信し、難易度情報を用いて複数のゲームアカウント31の難易度情報とミラーリング(mirroring)されるように構成されてもよい。
【0031】
難易度情報管理アカウント32の生成のための難易度情報管理アカウント生成トランザクション情報には、アドレス(address)は含まれていない可能性があり、本発明の一実施形態によるスマート契約の一種である難易度情報管理アカウントのコード(例えば、バイトコード(Byte code)を含むことができる。難易度情報管理アカウント生成トランザクション情報をブロックに保存して実行すると、当該スマート契約に対する契約アカウント(Contract account)の一種である難易度情報管理アカウントのアドレスが生成され、ブロックに保存される。本発明の一実施形態による難易度情報管理アカウントを生成した後に難易度情報管理アカウントを条件付きで利用する特定のゲームアカウントである特定のゲームアカウント31を生成するか、既存の特定のゲームアカウント31を修正して配布することができる。
【0032】
特定のユーザのクライアントにおいて特定のゲームのゲームアプリケーション(PCまたはモバイル)が終了すると、特定のゲームにおける難易度情報は難易度情報管理アカウントに保存される。
図3に示すように、難易度情報保存トランザクション情報には、難易度情報管理アカウントアドレス情報、難易度情報保存実行命令、当該命令のパラメータ(parameter)のうちのいずれか一つである難易度情報、その他の伝達しようとする価値情報(Value)またはパラメータ、ユーザ識別情報(各ユーザ別に難易度情報管理アカウントが生成される場合には必要ない)を含むことができる。難易度情報保存トランザクション情報をブロックに保存して実行すると、難易度情報管理アカウントは、既保存された難易度情報を新しい難易度情報にアップデートすることができる。アップデートされた難易度情報は、難易度情報管理アカウントのストレージ(Storage)やメモリ(memory)内に含まれるなどの方法によりブロックに保存することができる。
【0033】
本発明の一実施形態による難易度情報は、特定のユーザに適用される難易度調整の方向性に関する情報である調整情報を含むことができる。本発明の一実施形態による調整情報は、調整の大きさと調整の方向を含むベクトル情報であって、例えば、20%(調整の大きさ)だけ難易度が下落(調整方向)するように構成され得る。本発明の一実施形態により難易度情報が調整情報を含む場合、特定のユーザの複数のゲームへのプレイに対して一概に難易度を調整可能になる効果が発生する。特に、難易度を調整しようとする複数のゲームのカテゴリーが多様である場合も、難易度調整を適用可能になる効果が発生する。
【0034】
このような本発明の一実施形態による調整情報は、それぞれの特定のゲームサーバ20側に設けられた調整情報生成モジュールにより生成され得る。
図5は、本発明の一実施形態による、ゲームサーバ20とブロックチェーン30を示す模式図である。
図5に示すように、本発明の一実施形態によるゲームサーバ20は、難易度調整モジュール21と調整情報生成モジュール22を含むことができる。
【0035】
本発明の一実施形態による難易度調整モジュール21は、ゲームアカウント31とのペアリングを介してゲームアカウント31から調整情報をアップデートされ、調整情報により、当該ゲームの難易度を調整するモジュールである。本発明の一実施形態による調整情報に基づいた難易度の調整は、各ゲームのカテゴリーにより別々に適用され得る。例えば、パズルゲーム(アニパン、みんなのマーブル、キャンディークラッシュ、フレンズポップ、四川省、アングリーバード、テトリス)の場合、ユーザにとって利得となるアイテム/イベントの出現頻度、利得の大きさ、乱数範囲の制限によって出現されるイベントの多様性の減少などにより、難易度調整を行うことができる。
【0036】
また、RPGゲーム(英雄の軍団、ミューオリジン、サマナーズウォー、セブンナイツ、真・三國無双、レイヴン、ブレイド、HIT、メイプルストーリー、ソードアート・オンラインなど)の場合、敵NPC(ノンプレーヤキャラクタ)の数、敵NPCの能力値、敵NPCの出現頻度、成功時の報酬、アイテムの出現頻度などにより難易度の調整を行うことができる。また、シュッティング、ランニング、アクション、及びアドベンチャーゲーム(ドラゴンフライト、ステラサガ(Stella Saga)、プリンス・オブ・ペルシャ、コマンド、コールオブデューティー、NОVA、デッドスペース、フレンズラン、ソニック、ウィンドランナー、メタルスラッグ、アサシンクリード、GTA、みんなでチャチャチャ、ニード・フォー・スピードなど)の場合、障害物またはアイテムの出現頻度、敵NPCの反応速度、敵NPCの能力値、成功判定確率範囲などによって難易度の調整を行うことができる。また、シミュレーション及びリアルタイム戦略ゲーム(クラッシュ・オブ・クイーンズ、クラッシュ・オブ・クラン、ドミネーションズ、ブーム・ビーチ、水滸伝、にゃんこ大戦争、ヒーローズ・オブ・オーダー&カオス、クラッシュ・ロワイヤル、ハースストーンなど)の場合、相手のユーザのレベル、アイテムなどの補償出現頻度、利得イベントの出現頻度などによって難易度の調整を行うことができる。また、リズムゲーム(ビートマニア、タップソニック、リズムスター、ビートパンパンなど)の場合、成功判定確率、ビート速度、点数補償などによって難易度を調整することができる。また、スポーツゲーム(魔球魔球、二死満塁、チャグチャグ、FIFAオンラインなど)の場合、相手のユーザのレベル、敵NPCの能力値、成功判定確率、利得イベント確率、アイテムなどの補償出現頻度などによって難易度の調整を行うことができる。
【0037】
本発明の一実施形態による調整情報生成モジュール22は、当該ユーザのプレイ情報(ユーザの特定ゲームにおけるユーザの離脱情報、ユーザの持続時間情報、ユーザのレベル情報、ユーザのクエスト解決情報、ユーザの失敗情報、ユーザの成功情報、ユーザの能力値情報、ユーザのアイテム情報など)に基づいて離脱可能性情報を計算し、当該離脱可能性情報が、既設定された特定の閾値(Thrshold)の上に位置した場合、特定の閾値(Thrshold)の以下に位置するように調整情報を生成することができる。或いは、当該離脱可能性情報が、既設定された特定の閾値(Thrshold)の下に位置した場合、難易度が上昇する方向に調整情報を生成することができる(これにより、没入度が上昇する効果が発生する)。このとき、調整情報の生成には、強化学習(Reinforcement Learning)、遺伝的アルゴリズム(Genetic Algorithm)、各種の人工の神経ネットワーク(ANN、Artificial Neural Network)などの最適化アルゴリズムが用いられ得る。本発明の一実施形態により、調整情報の生成において強化学習が用いられる場合、最適化アルゴリズムのエージェント(Agent)は、調整情報生成モジュールとなり、アクション(Action)は、特定の調整情報の生成を意味することができ、状態(State)は、現在の難易度情報で構成され得る。また、補償(Reward)は、ユーザの没入度と関連したメタデータであるユーザのプレイ持続時間(特定のゲームをあとどのくらい持続的にプレイするか)、ユーザの学習速度(特定のゲームがあとどのくらい速く且つ上手にできるか)、ユーザの反復度(特定期間内に特定のゲームをどのくらい多く繰り返すか)などによって設定され得る。
【0038】
本発明の一実施形態による離脱可能性情報は、当該ユーザのプレイ情報及び全体のユーザの少なくとも一部のユーザのプレイ情報に基づいて、当該ユーザが特定ゲームのプレイを離脱(特定期間内にプレイしないこと、ユーザのプレイ持続時間が特定の水準以下になることなど)する可能性がどれくらいであるかについての情報を意味することができる。
【0039】
また、本発明の一実施形態による調整情報生成モジュール22では、離脱可能性情報の代わりに成功可能性情報が用いられ得る。本発明の一実施形態による成功可能性情報は、当該ユーザが特定ゲームの特定イベントを成功する確率についての情報である。本発明の一実施形態による調整情報生成モジュール22は、当該ユーザのプレイ情報に基づいて成功可能性情報を計算し、当該成功可能性情報が、既設定された特定の範囲内に収斂するように調整情報を生成することができる。例えば、本発明の一実施形態による成功可能性情報が50%であれば、当該ユーザが当該イベントに対して成功する確率が50%であることを意味し、難易度を下げる方向(例えば、成功可能性情報が80%乃至120%に収斂される方向)に調整情報が生成され得る。また、例えば、本発明の一実施形態による成功可能性情報が250%であれば、当該ユーザが当該イベントに対して成功する確率が250%であることを意味し、難易度を高める方向(例えば、成功可能性情報が80%乃至120%に収斂される方向)に調整情報が生成され得る。
【0040】
成功可能性情報の前記既設定された特定の範囲は、特定のユーザまたは全体の少なくとも一部のユーザの成功及び失敗情報(プレイ情報に含まれている)及び離脱可能性情報(特定期間内にプレイしないこと、ユーザのプレイ持続時間が特定の水準以下になることなど)により最適化することができる。成功可能性情報の最適化には、強化学習(Reinforcement Learning)、遺伝的アルゴリズム(Genetic Algorithm)、各種の人工の神経ネットワーク(ANN、Artificial Neural Network)などの最適化アルゴリズムが用いられ得る。
【0041】
特定のユーザのクライアント(PCまたはモバイル)にとって特定ゲームのゲームアプリケーションが実行されると、難易度情報管理アカウントに既保存された難易度情報が、特定のゲームアカウントを通じて特定のゲームに適用されることになる。
図6は、本発明の一実施形態による難易度情報確認クエリを示す模式図である。
図6に示すように、本発明の一実施形態により、特定のゲームアカウントは、特定のゲームがロードされると、難易度情報管理アカウントの既保存された難易度情報から難易度情報をロードするために、難易度情報管理アカウントに難易度情報確認クエリ(Query)を送信することができる。難易度情報確認クエリには、難易度情報管理アカウントアドレス情報、難易度情報確認命令、当該命令のパラメータのうちのいずれか一つであるカテゴリ情報、その他の確認しようとする価値情報(Value)またはパラメータ、ユーザ識別情報(それぞれのユーザに対して難易度情報管理アカウントが生成される場合には必要ない)を含むことができる。難易度情報確認クエリは、ローカル(Local)(当該ユーザのクライアントまたは当該サービス社のノード)の分散型台帳装置1にのみ要請され、ブロックチェーン分散ネットワーク全体の状態を変更しない。本発明の一実施形態による難易度情報管理アカウントが難易度情報確認クエリを受信すると、難易度情報が難易度情報管理アカウントのストレージ(Storage)やメモリ(memory)内に保存された難易度情報を特定のゲームのアカウントに送信(リターン)して、特定のゲームアカウントのスマート契約が以後のアルゴリズムを行うように構成されてもよい。
【0042】
また、難易度情報をロード(load)するためにメッセージトランザクションを使用してもよい。
図7は、本発明の一実施形態によるミラーリングメッセージトランザクション(Tx、Transaction)及び応答トランザクション(Tx、Transaction)情報を示す模式図である。
図7に示すように、特定のゲームアカウントでは、難易度情報のミラーリングのために難易度情報管理アカウントにミラーリングメッセージトランザクションを送信することができ、難易度情報管理アカウントでは、難易度情報をロード(load)して特定のゲームアカウントに難易度情報を含む応答メッセージのトランザクション情報を送信して、特定のゲームアカウントのスマート契約の以後手続きが行われるように構成されてもよい。このような応答メッセージのトランザクション情報には、特定のゲームアカウントのアドレス情報、難易度情報ミラーリング命令、当該命令のパラメータのうちのいずれか一つである難易度情報、その他の価値情報(Value)またはパラメータ、ユーザ識別情報(それぞれのユーザに対して難易度情報管理アカウントが生成される場合には必要ない)を含むことができる。本発明の一実施形態による応答メッセージのトランザクション情報は、検証が完了すると、ブロックチェーン分散ネットワーク100内に配布(ブロードキャスト)されて、全体ノードにおいて特定のゲームアカウントのスマート契約が行われるように構成されてもよい。
【0043】
このようなスマート契約のコード(Code)は、例えば、イーサリアム(Ethereum)の場合、ソリディティ(Solidity)、セーペント(Serpent)、LLL、ムータン(Mutan)の言語として記録されるが、現在はソリディティ(Solidity)が主に用いられており、文法はジャバスクリプト(JavaScript(登録商標))と類似している。スマートコントラクト(Smart Contract)は、「変数」、「構造体」及び「関数」を含めて処理モジュール11によって処理されるプログラムコードである。このようなスマートコントラクトコード(Smart Contract Code)は、コンパイル(Compile)過程を経てバイトコード(Byte Code)に変換される。バイトコード(Byte Code)はソリディティーリアルタイムコンパイラ(Solidity Realtime Compiler)を用いてコンパイルされる。ソリディティ(Solidity)のバイトコード(Byte Code)はすべて16進数のコードであり、ソリディティ(Solidity)においてこのバイトコード(Byte Code)を受信アドレスなしにペイロード(Payload)(data:)に割り当ててブロックチェイン(Blockchain)にトランザクション(Transaction)を配布すれば、マイナー(Miner)によってブロック(Block)が生成され、このようなトランザクション(Transaction)はコントラクトクリエーショントランザクション(Contract Creation Transaction)とみなされ、トランザクションレシート(Transaction Receipt)のコントラクトアドレス(Contract Address):フィールドに生成(配布)されたコントラクト(Contract)のアドレスを入れてリターンする。
【0044】
スマートコントラクト(Smart Contract)開発環境は、開発ツール及びコンパイラ(Compiler)を含む範囲を含むことができる。例えば、ソリディティ(Solidity)の場合、コード(Code)を作成してコンパイルすると、すべてのコンパイラは、「バイトコード(Byte Code)」、「ファンクション・シグネチャ(Function Signature)」及び「アプリケーション・バイナリー・インタフェース(Application Binary Interface、ABI)」を出力する。
【0045】
バイトコード(Byte Code)は、前述したようにスマートコントラクトコード(Smart Contract Code)をコンパイルした結果であり、ブロックチェイン(Blockchain)にコントラクトクリエーショントランザクション(Contract Creation Transaction)を発生させて配布する場合と、コントラクト(Contract)へのメッセージトランザクション(Message Tx:Message Transactionの略語)が発生する場合と、コントラクト(Contract)へのコール/クエリ(Call/Query)が発生する場合とにより分散型台帳装置1(イーサリアムの場合にEVM)上で実行される。
【0046】
ファンクション・シグネチャ(Function Signature)は、コントラクト(Contract)関数を呼び出すときにインタフェースとして用いられるものであり、コントラクト(Contract)関数名をSHA−3暗号的なハッシュ(Hash)関数でハッシュした4バイト値のハッシュ値である。
【0047】
アプリケーション・バイナリー・インタフェース(Application Binary Interface、ABI)は、特定の言語やプラットフォームに従属しない方法で記述されたアプリケーション・インタフェース(Application Interface)を意味する。ABIの定義をコンパイラ或いはABIジェネレーター(ABI Generator)が出力するが、ABIにはスマートコントラクト(Smart Contract)の関数とパラメータ(Parameter)のメタデータ(Meta data)が定義されている。ABIを用いてジャバスクリプト(JavaScript(登録商標))言語ベースのアプリケーションを作成するときに、オブジェクトを作成させることができ、簡単にそのオブジェクトのメソッド(Method)を呼び出すだけでコントラクト(Contract)の関数が呼び出されるようにすることができる。現在、イーサリアム(Ethereum)は、web3.jsと共にジャバスクリプト(JavaScript(登録商標))応用で簡単にABIを用いてオブジェクトを作成して使用できるようにサポートしており、1.4.0以降のgo−イーサリアム(Ethereum)では、Go Native言語ベースの応用でスマートコントラクト(Smart Contract)を簡単にバインディング(Binding)できるように、ABIをベースでGo Codeを生成させるABIGenを提供している。
【0048】
このようなスマートコントラクト(Smart Contract)開発環境は、ブロックチェーンエンジン(Blockchain Engine)と連結されてコントラクトクリエーション(Contract Creation)/デプロイメント(Deployment)、メッセージトランザクション(Message Tx)、コール(Call)/クエリ(Query)を伝達することができるが、このようなブロックチェーンエンジン(Blockchain Engine)は、本発明の一実施形態による分散型台帳装置1を意味し、イーサリアムの例では、ゲス(geth)やパリティ(parity)、エス(eth)のようなイーサリアムノード(Ethereum Node)を意味する。最終的にはすべてのスマートコントラクト(Smart Contract)と関連したトランザクション(Transaction)処理とコントラクト(Contract)実行のためのEVMのような仮想マシンは、分散型台帳装置1のようなノード(Node)上に構成されている。
【0049】
このようなスマートコントラクト(Smart Contract)開発環境においてABIはApplicationsと連結可能である。スマートコントラクト(Smart Contract)はロジック(Logic)だけを所有し、ユーザや外部システムとの相互作用のためにはアプリケーション(Application)が必要である。HTML+CSS+JavaScript(登録商標)、アプリケーションサーバ(Application Server)、ウォレット(Wallet)などのアプリケーション(Application)は、例えば、イーサリアム(Ethereum)とのインタフェース(Interface)を介してスマートコントラクト(Smart Contract)と相互作用する構成である。
【0050】
スマートコントラクトコード(Smart Contract Code)は、「Creation/Deployment」、「Invoke by Message」、「Call」に大別される。本発明の一実施形態による難易度情報管理アカウントのコードも、契約アカウント生成、メッセージトランザクションによる難易度情報保存、クエリによる難易度情報確認、トランザクションによる難易度情報ミラーリングに大別される。
【0051】
難易度情報の変造防止において、ブロックの証明方法として従来のPOW(仕事量の証明、Proof of Work)を行うと、ノードがPC/モバイルゲームアプリケーションを実行するためのユーザのクライアントである場合、過度のコンピューティングパワーが求められるという問題が発生する。このような問題を解決するために、本発明の一実施例によれば、特定のユーザが特定のPC/モバイルゲームアプリケーションにおいて既設定の条件(例えば、ゲームアプリケーションの使用時間、レベル上昇、クエスト解決など)を満たすと、新たに生成されたブロックを証明するように構成されてもよい。ゲームアプリケーションユーザの使用程度、努力、サービス参加度に基づいたこのような証明の方法を用いて、特定の時間間隔で生成されるブロックを証明する場合、コンピューティングパワーを乱用しないながらも、変調されて新たに形成されたブロックチェーンを廃棄することができるという効果が得られる。
【0052】
図8は、変更された難易度情報の保存が要請されるとき、本発明の一実施形態による分散型台帳装置1の処理モジュール11の処理ステップ(難易度情報の保存方法)を示すフローチャートである。
図8に示すように、本発明の一実施形態による処理モジュール11は、難易度情報保存トランザクション情報を受信すると、アドレス呼び出しステップ(S10)、保存命令ステップ(S11)、保存ステップ(S12)、配布ステップ(S13)を含めてトランザクション情報を処理することができる。
【0053】
アドレス呼び出しステップ(S10)は、処理モジュール11が難易度情報保存トランザクション情報に保存された難易度情報管理アカウントのアドレスを呼び出すステップである。アドレス呼び出しステップ(S10)により、仮想マシンである分散型台帳装置1においてスマート契約の一種である難易度情報管理アカウントのコードが実行できるように活性化される。
【0054】
保存命令ステップ(S11)は、難易度情報保存トランザクション情報の難易度情報保存実行命令により難易度情報管理アカウントのコードのうちの少なくとも一部である難易度情報保存コードを実行するステップである。
【0055】
保存ステップ(S12)は、難易度情報管理アカウントのコードのうちの一部である難易度情報保存コードにより難易度情報保存トランザクション情報に含まれているパラメータ(parameter)である難易度情報を難易度情報管理アカウントのストレージ(Storage)またはメモリ(Memory)に保存するステップである。契約アカウント(Contract Account)はストレージ(Storage)と呼ばれる永続的な(Persistent)格納場所を含むことができる。ストレージ(Storage)では、キー値(Key−Value)マップ構造で32バイトのキーを32バイト値にマッピングするようになっている。特定のスマートコントラクト(Smart Contract)は、自分以外のコントラクト(Contract)のストレージ(Storage)を読み書きすることができない。メモリ(Memory)はスマートコントラクト(Smart Contract)がメッセージコール(Message Call)があるたびに最新のインスタンス(Instance)を得ることができる空間である。メモリ(Memory)ではバイト(byte)レベルで読み書きすることができるが、32バイト単位チャンク(Chunk)で保存することができる。すなわち、メモリ(Memory)では、1という値を保存すると32バイト(256ビット)空間に保存される。例えば、EVMは、合計1024個の命令セット(Instruction Set)(OPCODE)を入れることができるスタック(Stack)を含み、256ビットのワード(word)(値)を有する。
【0056】
配布ステップ(S13)では、保存ステップ(S12)により変更された状態(State)である難易度情報を、分散型台帳装置1がブロックチェーン分散ネットワーク100の全ノードに配布してブロードキャストするステップである。
【0057】
本発明の一実施例による難易度情報保存トランザクション情報によれば、処理モジュール11により難易度情報管理アカウントのストレージまたはメモリに難易度情報が保存され、ノード全体にこのような状態の変更が配布(グローバルステート(Global State)の変更)されるので、その後、少なくとも一つ以上の特定のゲームアプリケーションに対して統合的に難易度の調整を行うことができるという効果が得られる。また、このような本発明の一実施形態による難易度情報が調整情報で構成される場合、ゲームのカテゴリーにかかわらず、複数のゲームに対して難易度の調整を統合的に行うことができるという効果が得られる。
【0058】
図9は、特定のゲームアカウントから難易度情報の確認が要請されるとき(特定のゲームアプリケーションを実行するとき)、本発明の一実施形態による分散型台帳装置1の処理モジュール11の処理ステップ(難易度情報の確認方法)を示すフローチャートである。
図9に示すように、本発明の一実施形態による処理モジュール11は、難易度情報確認クエリを受信すると、アドレス呼び出しステップ(S20)、検索命令ステップ(S21)、確認ステップ(S22)、リターンステップ(S23)を含めてトランザクション情報を処理することができる。
【0059】
アドレス呼び出しステップ(S20)は、処理モジュール11が、難易度情報確認クエリに含まれている難易度情報管理アカウントのアドレスを呼び出すステップである。アドレス呼び出しステップ(S20)により、仮想マシンである分散型台帳装置1においてスマート契約の一種である難易度情報管理アカウントのストレージまたはメモリの検索が行われる。
【0060】
検索命令ステップ(S21)は、難易度情報確認クエリの難易度情報検索命令により難易度情報の検索を行うステップである。難易度情報の検索は、識別情報を用いて行われることができる。
【0061】
確認ステップ(S22)は、難易度情報確認クエリに含まれているパラメータ(parameter)である識別情報を、難易度情報管理アカウントのストレージ(Storage)またはメモリ(Memory)に保存されている難易度情報内の識別情報と比較して、当該識別情報を含む難易度情報が難易度情報管理アカウントのストレージまたはメモリに保存されているかどうかを確認するステップである。本発明の一実施例により識別情報が暗号化された場合、ステータス情報のハッシュ値を用いて復号化した後、識別情報の検索を行うことができる。
【0062】
リターンステップ(S23)は、難易度情報管理アカウントが受信した識別情報が既保存されている難易度情報を特定のゲームアカウントにリターンするステップである。
【0063】
本発明の一実施形態による難易度情報確認クエリによれば、少なくとも一つ以上の特定のスマート契約に対して統合的に難易度の管理を行うことができるという効果が得られる。
【0064】
本発明の他の実施形態によると、各ゲームサーバ20内の調整情報生成モジュール22が、ブロックチェーン30内のスマートコントラクトに含まれ、各ゲームアカウント31は、各ゲームサーバ20から特定のユーザのプレイ情報を受信し、各ゲームサーバは、各ゲームアカウントから調整情報を受信し、難易度調整モジュール21が特定ユーザの特定ゲームに対して難易度の調整を行うように構成され得る。
【0065】
図10は、本発明の他の実施形態による、ゲームサーバ20とブロックチェーン30を示す模式図である。
図10に示すように、本発明の他の実施形態によるゲームサーバ20は、難易度調整モジュール21を含み、本発明の他の実施形態によるブロックチェーン30は、各ゲームアカウント31、難易度情報管理アカウント32、及び調整情報生成アカウント33を含むことができる。
【0066】
本発明の他の実施形態によると、各ゲームサーバ20は、各ゲームアカウント31に当該ユーザのプレイ情報(ユーザの特定ゲームにおけるユーザの離脱情報、ユーザの持続時間情報、ユーザのレベル情報、ユーザのクエスト解決情報、ユーザの失敗情報、ユーザの成功情報、ユーザの能力値情報、ユーザのアイテム情報など)を送信することができる。本発明の他の実施形態による各ゲームアカウント31は、このようなプレイ情報をスマートコントラクトアカウントである調整情報生成アカウント33に送信することができる。
【0067】
本発明の他の実施形態による調整情報生成アカウント33は、プレイ情報に基づいて離脱可能性情報を計算し、当該離脱可能性情報が既設定された特定の閾値(Thrshold)の上に位置した場合、特定の閾値(Thrshold)の以下に位置するように調整情報を生成することができる。または、調整情報生成アカウント33の調整情報の生成には、離脱可能性情報の代わりに成功可能性情報が用いられてもよい。本発明の一実施形態による成功可能性情報は、当該ユーザが特定ゲームの特定イベントを成功する確率についての情報である。本発明の一実施形態による調整情報生成モジュール22は、当該ユーザのプレイ情報に基づいて成功可能性情報を計算し、当該成功可能性情報が既設定された特定の範囲内に収斂するように調整情報を生成することができる。
【0068】
本発明の他の実施形態による難易度情報管理アカウント32は、調整情報生成アカウント33で生成された調整情報がユーザ別に保存され得る。保存された調整情報は、特定のゲームアカウントの要請(クエリまたはTxの形態)により特定のゲームアカウント31に送信され得る。調整情報を受信したゲームアカウント31は、当該ゲームサーバ20の難易度調整モジュール21に調整情報を送信して難易度をアップデートすることができる。
【0069】
本発明の他の実施形態により、調整情報の生成がブロックチェーン内において行われると、ゲーム難易度の調整のための分散型台帳装置に新しいゲームを連結してデプロイ(deploy)することが、相当簡便になるという効果が発生する。また、本発明の他の実施形態により、調整情報の生成がブロックチェーン内において行われると、複数のゲームに対して統合的な調整情報の生成が行われるという効果が発生する。
【0070】
このとき、本発明の他の実施形態による調整情報の生成には、強化学習(Reinforcement Learning)、遺伝的アルゴリズム(Genetic Algorithm)、各種の人工の神経ネットワーク(ANN、Artificial Neural Network)などの最適化アルゴリズムが用いられ得る。本発明の他の実施形態により、調整情報の生成において強化学習が用いられると、最適化アルゴリズムのエージェント(Agent)は、調整情報生成モジュールとなり、アクション(Action)は、特定の調整情報の生成を意味することができ、状態(State)は、現在の難易度情報で構成され得る。また、補償(Reward)は、ユーザの没入度と関連したメタデータであるユーザのプレイ持続時間(特定のゲームをあとどのくらい持続的にプレイするか)、ユーザの学習速度(特定のゲームがあとどのくらい速く且つ上手にできるか)、ユーザの反復度(特定期間内に特定のゲームをどのくらい多く繰り返すか)などによって設定され得る。
【0071】
本発明の他の実施形態による離脱可能性情報は、当該ユーザのプレイ情報及び全体のユーザの少なくとも一部のユーザのプレイ情報に基づいて、当該ユーザが特定ゲームのプレイを離脱(特定期間内にプレイしないこと、ユーザのプレイ持続時間が特定の水準以下になることなど)する可能性がどれくらいであるかについての情報を意味することができる。
【0072】
また、本発明の他の実施形態によると、調整情報生成アカウントのプログラムコードが、難易度情報管理アカウントのスマートコントラクトプログラムコード内に含まれ得る。この場合、本発明の他の実施形態によるゲーム難易度の調整のための分散型台帳装置において、難易度情報管理アカウントのプログラムコードは、特定のユーザについてのプレイ情報を含むトランザクション(Transaction)を、前記ブロックチェーン内の前記第1のアカウントから受信する保存要請受信ステップと;前記トランザクションに基づいて前記特定のユーザに適用される難易度調整の方向性に関する情報である調整情報を生成する調整情報生成ステップと;前記ブロックチェーン内の前記第2のアカウントから、前記調整情報確認に関する要請である難易度情報確認クエリを受信する調整情報確認要請ステップと;前記第2のアカウントに前記調整情報を送信する難易度情報送信ステップと;を含むように構成され得る。
【0073】
トランザクション情報のブロードキャスト装置
本発明の一実施形態によるトランザクション情報のブロードキャスト装置において、
図11は、本発明のトランザクション情報送信装置2と分散型台帳装置10のHTTP通信を示す模式図である。
図11に示すように、本発明の一実施形態によるトランザクション情報のブロードキャスト装置は、例えば、ソリディティ(Solidity)でコーディングされる場合、ジャバスクリプト(JavaScript(登録商標))ベースのWeb3.Js APIを用い、内部的にはJSON―RPC APIを用いることができる。これにより、Browser、Node.JS、Mistなどでトランザクション情報送信装置2を構成することができる。トランザクション情報送信装置2の主体は、EOAまたはCAであり得る。
【0074】
図11に示すように、本発明の一実施形態によるトランザクション情報送信装置2は、難易度情報管理アカウントに難易度情報を保存するように難易度情報保存トランザクション情報を分散型台帳装置1にJSON−RPC APIを用いて要請することができる。難易度情報保存トランザクション情報を受信した分散型台帳装置1は、難易度情報保存方法により、難易度情報を難易度情報管理アカウントのストレージまたはメモリに難易度情報として保存した後にブロックチェーン分散ネットワーク100に配布(broadcast、propagation)することができる。
【0075】
図12は、本発明の一実施形態によるトランザクション情報送信装置2が難易度情報保存要請(難易度情報を含む)を受信した場合を示す模式図であり、
図13は、本発明の一実施形態によるトランザクション情報送信装置が難易度情報保存要請を受信した場合を示すフローチャートである。
図12及び13に示すように、ユーザクライアントにおいてAゲームのアプリケーションが実行された後、終了すると、ユーザクライアント及びサーバを介してトランザクション情報送信装置2が、難易度情報を含む難易度情報保存要請をブロックチェーン分散ネットワーク100に送信するようにAPIが構成され、コア(Core)において難易度情報保存要請がトランザクション情報として生成した後(S30、トランザクション情報の生成ステップ)、トランザクション情報送信装置の秘密キーで署名されたトランザクション情報がブロックチェーン分散ネットワーク100の特定のノード(分散型台帳装置1)に送信される(S31、トランザクション情報送信ステップ)。このとき、特定のノードは、ユーザクライアントまたはAゲーム主体のクライアントであり得る。
【0076】
特定のノード(分散型台帳装置1)は、Aゲームアカウントに難易度を保存してほしいという要請のスマート契約を実行することになる(S32、スマート契約実行ステップ)。Aゲームアプリケーションとブロックチェーンにより難易度情報を共有するゲームアプリケーションのうちの一つであるBゲームアプリケーションが、ユーザクライアントにおいて実行されると、Bゲームアカウントは、ユーザについての情報である識別情報に対応する既保存された難易度情報を難易度情報管理アカウントに確認してほしいという難易度情報確認クエリを送信することができる(S33、クエリ送信ステップ)。その後、当該クエリに対するリターンとして、Bゲームアカウントは、難易度情報管理アカウントから既保存された難易度情報を受信することができる(S34、クエリリターンステップ)。Bゲームアプリケーションに対応するBゲームアカウントは、Bアプリケーションのサーバとペアリングされるように構成されるので、Bゲームアプリケーション内の難易度情報は、Bゲームアカウントに受信された難易度情報に対応することになる。
【0077】
特定のノードからブロックチェーン分散ネットワーク100に配布された難易度情報は、難易度情報管理アカウントのメモリに保存されていてから、当該特定のノードまたは他の特定のノードが新しいブロック(New block)をマイニング(mining)すると、当該ブロックに記録される。
【0078】
本発明の一実施例によると、Aゲームアプリケーションにおいてa%の離脱率を有する難易度のゲーム環境においてユーザが離脱した後、ユーザがBゲームアプリケーションに流入するとき、a%よりも低いb%の離脱率またはa%よりも高いc%の離脱率を有する難易度を提供するために、クエリリターンステップ(S34)では、難易度情報管理アカウントが既設定された割合で難易度情報を調整してBゲームアカウントに送信するように構成されてもよい。ユーザがAゲームアプリケーションにおけるa%の離脱率を有する難易度のゲーム環境において連続的に失敗した場合、難易度が高いと仮定してBゲームアプリケーションではa%よりも低いb%の離脱率を有する難易度を提供することができる。ユーザがAゲームアプリケーションにおけるa%の離脱率を有する難易度のゲーム環境において連続的に成功した場合、難易度が低いと仮定してBゲームアプリケーションではa%よりも高いc%の離脱率を有する難易度を提供することができる。
【0079】
以上説明したように、本発明が属する技術分野における通常の知識を有する者は、本発明がその技術的な思想や必須の特徴を変更することなく、他の具体的な形態に実施できることを理解するはずである。そこで、上述した実施形態は全ての面で例示的なものであり、限定的ではないものと理解しなければならない。本発明の範囲は、詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその均等な概念から導き出される全ての変更または変形された形態が本発明の範囲に含まれるものと解釈されなければならない。
【0080】
本明細書に記述された特徴及び利点は、全てを含む訳ではなく、特に、多くの追加の特徴と利点が、図面、明細書及び特許請求の範囲に鑑みて当業者に明らかになるであろう。更に、本明細書において使用される言語は、主として可読的及び教授的な目的で選択されており、本発明の主題を記述又は限定するために選択されない可能性があることに留意すべきである。
【0081】
本発明の実施形態の前述の説明は、例示を目的として提示されたものである。これは、開示された正確な形態に本発明を限定するか網羅的に作製することを意図したものではない。当業者は、前述した開示に照らして種々の修正及び変形が可能であることを理解することができる。
【0082】
本説明の一部は、演算の記号表現及びアルゴリズムに関する本発明の実施形態を記述する。このようなアルゴリズム的説明および表現は、一般的に作業の核心を効率的に他の当業者に伝達するためにデータ処理分野の当業者により使用される。このような動作は、機能的、演算的、または論理的に説明されるが、コンピュータやこれと同等の電気回路、マイクロコードなどにより実現されると理解される。さらにこれはモジュールとしてのこのような動作の配列を示すために、時には一般性を失うことなく便利に証明される。上述した動作及びその関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせで実現され得る。
【0083】
ここで記述された任意のステップ、動作、またはプロセスは、一つ以上のハードウェアまたはソフトウェアモジュールと共に単独でまたは他の装置と組み合わせて行われるか実現され得る。一実施形態において、ソフトウェアモジュールは、コンピュータプログラムコードを含むコンピュータ−読み取り可能な媒体で構成されるコンピュータプログラム製品と共に実現され、コンピュータプログラムコードは、記述された任意または全ての工程、ステップ、または動作を行うためのコンピュータプロセッサによって実行され得る。
【0084】
また、本発明の実施形態は、本明細書における動作を実行するための装置と関連され得る。これらの装置は、必要な目的のために特別に製作されてもよく、又はコンピュータ内に保存されたコンピュータプログラムにより選択的に活性化又は再構成される一般的な目的の演算装置を含むことができる。このようなコンピュータプログラムは、任意の種類のコンピュータ読み取り可能な記憶媒体又は電子命令語の保存に適した任意の種類のメディアに保存されてもよく、コンピュータシステムバスに結合されてもよい。さらに、本明細に参照される任意の演算システムは、単一のプロセッサを含んでもよく、又は計算能力増強のためのマルチプロセッサデザインを採用した構造であってもよい。
【0085】
最後に、本明細書で使用される言語は、主に読みやすさや教示の目的のために選択されており、本発明の主題を記述又は限定するためには選択されていない。
【0086】
このため、本発明の範囲は、詳細な説明により限定されるものではなく、これをベースにした出願の任意の請求項によって限定されるものである。したがって、本発明の実施形態の開示は、例示的なものであり、以下の請求項に記載の本発明の範囲を限定するものではない。
【解決手段】このために、特定のユーザに対して変更された難易度情報を含む難易度情報保存要請トランザクション(Transaction)を、ブロックチェーン内の第1のアカウントから受信する保存要請受信ステップと;難易度情報保存要請トランザクションに基づいて難易度情報を保存する保存ステップと;ブロックチェーン内の第2のアカウントから、難易度情報確認に関する要請である難易度情報確認クエリを受信する難易度情報確認要請ステップと;第2のアカウントに難易度情報を送信する難易度情報送信ステップと;を提供する。