(57)【要約】【課題】長期にわたって低コストで運用可能、且つ、特定の承認者に大きく権限が偏ることのない、透明性・公平性の高い合意形成方法を提供すること。【解決手段】ノードアプリケーションサーバ２ａは、ブロックチェーンに含まれる所定のトランザクションリストに基づき一義に決定されるパラメータを生成し、生成されたパラメータを用いてゲームデータを生成し、生成されたゲームデータを用いてゲームが実行されたゲームプレイ用端末装置４ａ、４ｂから受信したプレイデータをゲームデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いてブロックチェーンを更新する新たなブロックを生成する。【選択図】図１
2019219707.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、
生成された前記パラメータを用いてゲームのデータを生成し、
生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータを前記ゲームのデータと照合してプレイデータが正規のものであるかを確認し、
正規のものであると確認できたプレイデータを用いて前記コンピュータに既に記憶されているブロックチェーンを更新する新たなブロックを生成する、
ことを特徴とする合意形成方法。
【請求項２】
ネットワークに接続されている他のコンピュータに最も早く配信された前記ブロックの正当性を前記他のコンピュータが確認し、
正当性が確認できたブロックを用いて前記他のコンピュータに既に記憶されているブロックチェーンを更新する請求項１に記載の合意形成方法。
【請求項３】
前記プレイデータは、ゲームをクリアしようとする際に生成されるデータである請求項１に記載の合意形成方法。
【請求項４】
コンピュータに、
与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、
生成された前記パラメータを用いてゲームのデータを生成し、
生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータを前記ゲームのデータと照合してプレイデータが正規のものであるかを確認し、
正規のものであると確認できたプレイデータを用いて前記コンピュータに既に記憶されているブロックチェーンを更新する新たなブロックを生成する、
処理を実行させることを特徴とするプログラム。
【請求項５】
ブロックを記憶する記憶部と、
与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、生成された前記パラメータを用いてゲームのデータを生成し、生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータを前記ゲームのデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いて前記記憶部に既に記憶されているブロックチェーンを更新する新たなブロックを生成する処理部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は合意形成方法、プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
ブロックチェーン技術における合意形成方法としては、例えばプルーフ・オブ・ワーク（Proof Of Work）やプルーフ・オブ・ステーク（Proof Of Stake）が知られている。例えば、プルーフ・オブ・ワークは、ネットワークに参加するものが特定の計算を競って行なうことで改ざんの困難なブロックチェーンを実現する技術であり、改ざんの困難な分散型の帳簿技術として一般化している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２０７９７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ブロックチェーン技術における合意形成方法においては、電力や設備投資といった多大なコストが発生するものがある。この場合、長期的にコストが著しく増大する。
また、合意への参加者が著しく限定されると、公正な取引が阻害される。
【０００５】
１つの側面では、本発明は、長期にわたって低コストで運用可能、且つ、特定の承認者に大きく権限が偏ることのない、透明性・公平性の高い合意形成方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、開示の合意形成方法が提供される。この合意形成方法は、コンピュータが、与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、生成されたパラメータを用いてゲームのデータを生成し、生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータをゲームのデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いてブロックチェーンを更新する新たなブロックを生成する。
【発明の効果】
【０００７】
１態様では、長期にわたって低コストで運用可能、且つ、特定の承認者に大きく権限が偏ることのない、透明性・公平性の高い合意形成方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態のシステムを示す図である。
【図２】実施の形態のノードアプリケーションサーバのハードウェア構成を示す図である。
【図３】実施の形態のクライアント装置のハードウェア構成を示す図である。
【図４】実施の形態のゲームプレイ用端末装置のハードウェア構成を示す図である。
【図５】実施の形態の記憶装置に記憶される情報の一例を示す図である。
【図６】実施の形態のブロックチェーンに含まれる情報の一例を示す図である。
【図７】ゲームプレイ用端末装置のディスプレイに表示されるゲーム画面の一例を示す図である。
【図８】ゲームプレイ用端末装置のディスプレイに表示されるゲーム画面の一例を示す図である。
【図９】ノードアプリケーションサーバの動作を説明するフローチャートである。
【図１０】ゲームプレイ用端末装置の動作を説明するフローチャートである。
【図１１】プレイデータを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。
【図１２】ブロックを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、実施の形態のシステムを、図面を参照して詳細に説明する。
＜実施の形態＞
図１は、実施の形態のシステムを示す図である。
【００１０】
実施の形態のシステム１０は、ブロックチェーンネットワーク５０における効率的な合意形成方法を実現することを目的とし、ゲームという偶発性・競争性を含む要素を取り込むことで、コストを増大させることのない持続的なブロックチェーンネットワークを実現する。
【００１１】
実施の形態のシステム１０は、クライアント装置１と、ブロックチェーンネットワーク５０を介して接続される複数のノードアプリケーションサーバ２ａ、２ｂ、２ｃと、ゲームプログラム配信サーバ３と、ゲームプレイ用端末装置４ａ、４ｂとを有している。
【００１２】
クライアント装置１は、ブロックチェーンに書き込みたい情報をネットワークに流す。書き込みたい情報としては、例えば、仮想通貨の取引情報や農畜海産物のトレーサビリティ情報、改ざん防止の為のファイルハッシュ等が挙げられる。
ノードアプリケーションサーバ２ａ、２ｂ、２ｃはブロックチェーンネットワーク５０を介して互いに接続されている。
【００１３】
ノードアプリケーションサーバ２ａ、２ｂ、２ｃは、ハッシュ関数と同様に何らかのデータを基に一義に決まり、且つ、不可逆でランダムなゲーム用パラメータ（ゲームの内容を一義に決定するための設置値）を生成する。また、ノードアプリケーションサーバ２ａ、２ｂ、２ｃは、生成されたゲーム用パラメータに基づいて、ゲームのデータ（ゲームデータ）を生成又は改変する。このゲームデータは、ゲームの内容を決定するためのデータであり、ゲーム用パラメータと一対一の関係性となる。
ノードアプリケーションサーバ２ａ、２ｂ、２ｃは、生成又は改変したゲームデータをゲームプレイ用端末装置４ａ、４ｂに配信する。
【００１４】
ゲームプログラム配信サーバ３は、ゲームの（ユーザにゲームをプレイさせるための）アプリケーションを図示しないネットワークを介してゲームプレイ用端末装置４ａ、４ｂに送信する。このゲームのアプリケーションには、ＳＤＫ（Software Development Kit）を含めることができる。このＳＤＫは、例えば特定の機能を容易にアプリケーションに導入可能とすることなどを目的として、作成・配布されることが多い。本実施の形態では、システム１０に対応するゲームを開発する為のツールとして提供される。
【００１５】
ゲームのアプリケーションを受信し、インストールしたゲームプレイ用端末装置４ａ、４ｂは、ノードアプリケーションサーバ２ａ、２ｂ、２ｃから配信されるゲームデータを用いてゲームを実行することができる。
【００１６】
ゲームプレイ用端末装置４ａ、４ｂは、ゲームプレイヤーが操作する装置である。端末装置４ａ、４ｂとしては例えば、スマートフォンやタブレット端末等が挙げられる。その他、固定端末装置や、ゲーム専用機であってもよい。
ゲームプレイ用端末装置４ａ、４ｂは、ユーザの操作に応じてネットワーク６０を介してゲームデータを入手する。
なお、図示していないが、ゲームプレイ用端末装置４ａ、４ｂは、ノードアプリケーションサーバ２ｂ、２ｃにもネットワーク６０を介して接続されている。
【００１７】
ユーザがゲームプレイ用端末装置４ａ、４ｂを操作することによりゲームをプレイすると、ゲームプレイ用端末装置４ａ、４ｂは、そのプレイデータを記憶する。
このプレイデータは、ゲームを遊んだ際に生成される、プレイヤーが行った操作の記録並びにそれによって生じたゲーム上の結果の記録を示す。
【００１８】
ユーザがゲームのクリアに成功すると（ゲームデータに定義されたクリア条件を満たすと）、ゲームプレイ用端末装置４ａ、４ｂは、ゲームをクリアしたプレイヤーのプレイデータを、ゲームを配信したノードアプリケーションサーバ（以下、ノードアプリケーション２ａを例示する）に送信する。
ノードアプリケーションサーバ２ａは、ゲームデータとクリアプレイデータ並びに当該パラメータを基に適切にゲームがクリアされたかを判定する。
【００１９】
ゲームがクリアされたと判定したノードアプリケーションサーバ２ａは、クライアント装置１から入手したブロックにプレイデータを追加してブロックチェーンネットワーク５０に送信する。
【００２０】
これにより、ノードアプリケーションサーバ２ａ、２ｂ、２ｃは、情報が追加されたブロックの正当性を判断する。正規のブロックであると判断した場合、このブロックをそれぞれ保有（共有）する。
【００２１】
このシステム１０によれば、ゲームという偶発性・競争性を含む要素を取り込むことで、コストの増大を抑制できる持続的なブロックチェーンネットワークを実現することができる。
以下、開示のシステム１０をより具体的に説明する。
【００２２】
次に、各ノードアプリケーションサーバ２ａ、２ｂ、２ｃのハードウェア構成の一例を説明する。以下、一例としてノードアプリケーションサーバ２ａのハードウェア構成を示すが、他のノードアプリケーションサーバ２ｂ、２ｃも同様のハードウェア構成で実現可能である。
図２は、実施の形態のノードアプリケーションサーバのハードウェア構成を示す図である。
【００２３】
ノードアプリケーションサーバ２ａは、ＣＰＵ（Central Processing Unit）２０１によって装置全体が制御されている。ＣＰＵ２０１には、バス２０５を介してＲＡＭ（Random Access Memory）２０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）２０３および通信インタフェース２０４が接続されている。
【００２４】
ＲＡＭ２０２は、ノードアプリケーションサーバ２ａの主記憶装置として使用される。ＲＡＭ２０２には、ＣＰＵ２０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２０２には、ＣＰＵ２０１による処理に使用する各種データが格納される。
【００２５】
ハードディスクドライブ２０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ハードディスクドライブ２０３は、ノードアプリケーションサーバ２ａの二次記憶装置として使用される。ハードディスクドライブ２０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【００２６】
通信インタフェース２０４は、ブロックチェーンネットワーク５０に接続されている。通信インタフェース２０４は、ブロックチェーンネットワーク５０を介して、他のノードアプリケーションサーバまたは通信機器との間でデータを送受信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することがで
きる。
図３は、実施の形態のクライアント装置のハードウェア構成を示す図である。
【００２７】
クライアント装置１は、ＣＰＵ１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ１０２と複数の周辺機器が接続されている。
【００２８】
ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３および通信インタフェース１０７の機能は、それぞれＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３および通信インタフェース２０４と同様であるため、詳細な説明を省略する。
【００２９】
バス１０８には、ハードディスクドライブ１０３、グラフィック処理装置１０４、入力インタフェース１０５、ドライブ装置１０６、および通信インタフェース１０７が接続されている。
【００３０】
グラフィック処理装置１０４には、モニタ１０４ａが接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１０４ａの画面に表示させる。モニタ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や、液晶表示装置等が挙げられる。
【００３１】
入力インタフェース１０５には、キーボード１０５ａとマウス１０５ｂとが接続されている。入力インタフェース１０５は、キーボード１０５ａやマウス１０５ｂから送られてくる信号をＣＰＵ１０１に送信する。なお、マウス１０５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、例えばタッチパネル、タブレット、タッチパッド、トラックボール等が挙げられる。
【００３２】
ドライブ装置１０６は、例えば、光の反射によって読み取り可能なようにデータが記録された光ディスクや、ＵＳＢ（Universal Serial Bus）メモリ等の持ち運び可能な記録媒体に記録されたデータの読み取りを行う。例えば、ドライブ装置１０６が光学ドライブ装置である場合、レーザ光等を利用して、光ディスク２００に記録されたデータの読み取りを行う。光ディスク２００には、Ｂｌｕ−ｒａｙ（登録商標）、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。
【００３３】
通信インタフェース１０７は、ネットワーク６０に接続されている。通信インタフェース１０７は、ネットワーク６０を介して、他のコンピュータまたは通信機器との間でデータを送受信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図４は、実施の形態のゲームプレイ用端末装置のハードウェア構成を示す図である。
以下、一例としてゲームプレイ用端末装置４ａのハードウェア構成を示すが、ゲームプレイ用端末装置４ｂも同様のハードウェア構成で実現可能である。
【００３４】
ゲームプレイ用端末装置４ａは、ＣＰＵ４０１によって装置全体が制御されている。ＣＰＵ４０１には、バス４０７を介してＲＡＭ４０２と複数の周辺機器が接続されている。
【００３５】
ＣＰＵ４０１、ＲＡＭ４０２、ＨＤＤ４０３および通信インタフェース４０６の機能は、それぞれＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３および通信インタフェース１０７と同様であるため、詳細な説明を省略する。
【００３６】
グラフィック処理装置４０４には、ディスプレイ４０４ａが接続されている。グラフィック処理装置４０４は、ＣＰＵ４０１からの命令に従って、画像をディスプレイ４０４ａの画面に表示させる。ディスプレイ４０４ａとしては、液晶表示装置等が挙げられる。また、ディスプレイ４０４ａは、タッチパネル機能も備えている。
【００３７】
入力インタフェース４０５は、ディスプレイ４０４ａおよび入力ボタン４０５ａに接続されている。入力インタフェース４０５は、入力ボタン４０５ａやディスプレイ４０４ａのタッチパネルから送られてくる信号をＣＰＵ４０１に送信する。
【００３８】
通信インタフェース４０６は、ネットワーク６０に接続されている。通信インタフェース１０６は、ネットワーク６０を介して、他のコンピュータまたは通信機器との間でデータを送受信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
【００３９】
図２に示すようなハードウェア構成の各サーバを備えるノードアプリケーションサーバ２ａは、図１に示すように、記憶装置２１と、記録用データ受信サーバ２２と、パラメータジェネレータ２３と、ゲームデータジェネレータ２４と、ゲームデータ配信サーバ２５と、プレイデータ受信サーバ２６と、プレイデータ正当性判定装置２７と、ブロック正当性判定装置２８と、ノードサーバ２９とを有している。
図５は、実施の形態の記憶装置に記憶される情報の一例を示す図である。
【００４０】
記憶装置２１には、ブロックチェーン構成ブロック２１１と、ゲームプログラム２１２と、ノードリスト２１３とが記憶されている。なお、記憶装置２１に記憶される情報はこれらに限定されないのは言うまでも無い。
【００４１】
ブロックチェーン構成ブロック２１１は、例えば、個々の取引履歴やコンピュータにおける処理のまとまり等、ブロックチェーンに登録する情報のまとまり（トランザクション）に、ブロックチェーンを構成するために必要な情報を付加したものである。
ブロックチェーンは、これらブロックチェーン構成ブロック２１１が過去のブロックからチェーン状に連鎖したものである。
図６は、実施の形態のブロックチェーン構成ブロックに含まれる情報の一例を示す図である。
【００４２】
ブロックチェーン構成ブロック２１１には、ブロックＮｏ．２１１ａ、タイムスタンプ２１１ｂ、トランザクションリスト２１１ｃ、前ブロックのプレイデータ２１１ｄ、プレイデータ２１１ｅ、およびゲームリスト２１１ｆが含まれている。
これらのうち、ブロックＮｏ．２１１ａは、当該ブロックチェーン構成ブロック２１１を識別する情報である。
【００４３】
トランザクションリスト２１１ｃは、個々の取引履歴やコンピュータにおける処理のまとまり、即ち、ブロックチェーンに登録する情報のまとまりをリスト化したものをいう。
前ブロックのプレイデータ２１１ｄは、過去のブロックの正当性を検証する際に生成されたゲームデータがプレイされたときに生成されたプレイデータである。
【００４４】
プレイデータ２１１ｅは、前述したようにプレイヤーがゲームを遊んだ際に生成される、プレイヤーが行った操作の記録並びにそれによって生じたゲーム上の結果の記録を示す。
【００４５】
ゲームリスト２１１ｆは、ゲームプレイ用端末装置４ａ、４ｂにてプレイ可能なゲームの一覧をいう。この一覧には、ＩＤ、ゲーム名称、開発元、当該時点におけるバージョン情報、当該バージョンのゲームプログラムの認証情報といった内容が含まれる。なお、ゲームプログラムの認証情報は、ゲームプログラムの正当性（改ざんされていないか）を示す情報である。
再び図５に戻って説明する。
ゲームプログラム２１２は、端末装置４ａ、４ｂを操作するユーザに遊ばせるゲームのプログラムである。
【００４６】
ノードリスト２１３は、ブロックチェーンネットワーク５０に接続されているノードアプリケーションサーバ２を識別する識別情報（例えばＩＰアドレス）が記憶されたリストである。
再び図１に戻って説明する。
記録用データ受信サーバ２２は、ブロックチェーンに記録するデータ（トランザクションリスト）をクライアント装置１から受信する。
パラメータジェネレータ２３は、トランザクションリストにハッシュ関数を用いてゲーム用パラメータ（ハッシュ）を生成する。
【００４７】
ゲームデータジェネレータ２４は、ゲーム用パラメータを用いてゲームプログラム２１２にて動作可能なゲームデータを生成する。このゲームデータとしては、例えば、所謂落ち物ゲームの場合、落ちてくる物の場所がこのデータによって決定される。また、他の例では、スクロールするゲームであれば、マップがこのデータによって決定される。
【００４８】
なお、ゲームデータジェネレータ２４が生成するゲームデータとしては、ゲームデータジェネレータが１から生成したものと、ゲームデータジェネレータが既に生成されているゲームデータの一部を改変したものの両方が含まれる。
ゲームデータ配信サーバ２５は、ゲームデータジェネレータ２４が生成したゲームデータをゲームプレイ用端末装置４ａ、４ｂに配信する。
図７および図８は、ゲームプレイ用端末装置のディスプレイに表示されるゲーム画面の一例を示す図である。
【００４９】
図７は、コイン落としのようなゲームである。図７に示すように、ゲーム画面４０には、ゲームをプレイする全ユーザに共通のフィールド４１が提供される。ブロックハッシュが更新される度に、フィールド４１に宝箱４２が落下する。なお、宝箱４２が落下する位置は、ゲームパラメータによって生成されるゲームデータによって決まる。
【００５０】
コインドーザー４３を操作してフィールド４１内のコイン代替物のマカロン４４を落下部４５に近づけ、宝箱４２を一番早く落下部４５に落としたユーザが勝ち、すなわちゲームをクリアしたことになる。
失敗した、すなわち一番早くゲームをクリアできなかったユーザのゲーム画面４０からは、宝箱４２が消え、新しいフィールドに移動することになる。
【００５１】
図８は、Ｔｈｒｅｅｓパズルのようなゲームである。図８に示すゲーム画面４６上には１６個の数字が表示されたカード４７が表示されている。カード４７に表示される数字１と１を合体させると数字が２の１枚のカードになる。カード４７に表示される数字２と２を合体させると数字が４の１枚のカードになる、という風にカードに表示される数字をより大きくしていく。
【００５２】
ブロックハッシュが更新されるタイミングで、ゲーム画面４６には、ゲームをプレイする全ユーザに共通のスタート画面が提供される。先に２０４８の数字が表示されるカード４７を作れたユーザが勝ち、すなわちゲームをクリアしたことになる。
失敗した、すなわち一番早くゲームをクリアできなかったユーザのゲーム画面４６には、カードの数字がリセットされたゲーム画面４６が表示される。
再び図１に戻って説明する。
プレイデータ受信サーバ２６は、ゲームプレイ用端末装置４ａ、４ｂにてプレイが行われたゲームのプレイデータを受信する。
【００５３】
プレイデータ正当性判定装置２７は、プレイデータ受信サーバ２６が受信したプレイデータの正当性を判定する。例えば、プレイデータ正当性判定装置２７は、ゲームデータ生成時に記憶装置２１に記憶されたゲームデータと受信したプレイデータを照合し、矛盾無くクリア条件を達成できればプレイデータを正当なものと判定する。
【００５４】
例えば、最も有名なブロックチェーンを活用したシステムであるビットコインで利用されている合意形成方法、プルーフ・オブ・ワークにおけるマイニングの作業は、ある種のくじ引きのような作業である。正解がいくつ入っているかは分からないくじ引きの箱から、総当たりでくじを引いていくような形式である。多くの演算能力を持つ者は多くのくじを引くことができるため、当たりを引く確率は上がる。このため、当たりを引き当てようとする皆が競って大きなマシンパワーを持ち、多くの演算を実行する。この場合、電力や設備投資といった多大なコストが発生してしまう。
【００５５】
本実施の形態では、多様な揺らぎを持たせたその正しい筋道の１つを、ユーザのゲームのプレイにより導き出させる方式である。ユーザにゲームをプレイさせ、ゲームのクリアをマイニングの成功と同様に取り扱うことにより、効率的に、かつ、単にマシンパワーに依存しない正当性の判定を実現することができる。
【００５６】
ブロック正当性判定装置２８は、ブロックの正当性を判断することで、ブロックチェーンに繋ぐブロックの合意形成を行う。ブロックが正当なものであれば、ノードサーバ２９が他のノードアプリケーションサーバ２ｂ、２ｃにブロックを配信する。
次に、ノードアプリケーションサーバ２の動作を、フローチャートを用いて説明する。
図９は、ノードアプリケーションサーバの動作を説明するフローチャートである。
［ステップＳ１］  記録用データ受信サーバ２２は、クライアント装置１からトランザクションリストを受信する。その後、ステップＳ２に遷移する。
［ステップＳ２］  記録用データ受信サーバ２２は、受信したトランザクションリストを記憶装置２１に記憶する。その後、ステップＳ３に遷移する。
【００５７】
［ステップＳ３］  パラメータジェネレータ２３は、トランザクションリストにハッシュ関数を用いてゲーム用パラメータを生成する。その後、ステップＳ４に遷移する。
［ステップＳ４］  パラメータジェネレータ２３は、生成したゲーム用パラメータを記憶装置２１に記憶する。その後、ステップＳ５に遷移する。
【００５８】
［ステップＳ５］  ゲームデータジェネレータ２４は、ステップＳ３にて生成したゲーム用パラメータを用いてゲームデータを生成する。その後、ステップＳ６に遷移する。
［ステップＳ６］  ゲームデータジェネレータ２４は、生成したゲームデータを記憶装置２１に記憶する。その後、ステップＳ７に遷移する。
【００５９】
［ステップＳ７］  ゲームデータ配信サーバ２５は、ゲームプレイ用端末装置４ａ、４ｂからの配信要求に応じてステップＳ４にて記憶装置２１に記憶されたゲームデータをゲームプレイ用端末装置４ａ、４ｂに配信する。
以上で図９の説明を終了する。
次に、ゲームプレイ用端末装置４ａ、４ｂの動作を、フローチャートを用いて説明する。
図１０は、ゲームプレイ用端末装置の動作を説明するフローチャートである。
［ステップＳ１１］  ゲームプレイ用端末装置４ａは、ゲームデータ配信サーバ２４が配信したゲームデータを受信する。その後、ステップＳ１２に遷移する。
［ステップＳ１２］  ゲームプレイ用端末装置４ａは、ステップＳ１１にて受信したゲームデータをゲームプレイ用端末装置４ａ内の記憶装置に記憶する。
【００６０】
［ステップＳ１３］  ゲームプレイ用端末装置４ａは、ゲームプレイ用端末装置４ａのユーザの操作に応じてゲームプログラム２１２を起動し、ステップＳ１２にて記憶されたゲームデータを用いてゲームを実行してユーザにゲームをプレイさせる。
［ステップＳ１４］  ゲームプレイ用端末装置４ａは、プレイデータをゲームプレイ用端末装置４ａ内の記憶装置に記憶する。
【００６１】
［ステップＳ１５］  ゲームプレイ用端末装置４ａは、ユーザがゲームのクリアに成功した場合、すなわち、ゲームデータに定義されたクリア条件を満たした場合（ステップＳ１５のＹｅｓ）、ステップＳ１６に遷移する。ユーザがゲームをクリアできなかった場合（ステップＳ１５のＮｏ）、ユーザの操作に応じてステップＳ１３に遷移する。
［ステップＳ１６］  ゲームプレイ用端末装置４ａは、クリアできたゲームのプレイデータをノードアプリケーションサーバ２ａに送信する。
以上で図１０の説明を終了する。
次に、プレイデータを受け取ったノードアプリケーションサーバ２ａの動作を、フローチャートを用いて説明する。
図１１は、プレイデータを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。
［ステップＳ２１］  プレイデータ受信サーバ２６は、プレイデータを受信する。その後、ステップＳ２２に遷移する。
［ステップＳ２２］  プレイデータ受信サーバ２６は、受信したプレイデータを記憶装置２１に記憶する。その後、ステップＳ２３に遷移する。
【００６２】
［ステップＳ２３］  プレイデータ正当性判定装置２７は、ゲームデータ生成時に記憶装置２１に記憶されたゲームデータを読み込む。その後、ステップＳ２４に遷移する。
【００６３】
［ステップＳ２４］  プレイデータ正当性判定装置２７は、ステップＳ２２にて記憶されたプレイデータの正当性を判定する。正当性の判定条件は、前述したようにステップＳ２３にて読み出したゲームデータと受信したプレイデータとを照合し、矛盾無くクリア条件を達成できればプレイデータを正当なものと判定する。
【００６４】
正規のプレイデータである場合（ステップＳ２４のＹｅｓ）、ステップＳ２５に遷移する。正規のプレイデータではない場合（ステップＳ２４のＮｏ）、ステップＳ２７に遷移する。
【００６５】
［ステップＳ２５］  ノードサーバ２８は、クライアント装置１から入手したブロックにプレイデータを追加してブロックチェーンに繋ぐブロック（以下、承認対象ブロックという）を生成し、記憶装置２１に記憶する。
【００６６】
［ステップＳ２６］  ノードサーバ２８は、ステップＳ２４にて生成した承認対象ブロックを、ブロックチェーンネットワーク５０を介して他のノードアプリケーションサーバ２ｂ、２ｃにブロードキャスト送信する。
［ステップＳ２７］  プレイデータ正当性判定装置２７は、ステップＳ２２にて記憶されたプレイデータを記憶装置２１から削除（リジェクト）する。
以上で図１１の説明を終了する。
【００６７】
次に、他のノードアプリケーションサーバ２から承認対象ブロックを受け取ったノードアプリケーションサーバ２ａの動作を、フローチャートを用いて説明する。
図１２は、承認対象ブロックを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。
［ステップＳ３１］  ブロック正当性判定装置２９は、新規に生成された承認対象ブロックを受信する。その後、ステップＳ３２に遷移する。
【００６８】
［ステップＳ３２］  ブロック正当性判定装置２９は、記憶装置２１を参照し、予め記録されたブロックのうち、最新のブロック情報を読み出す（ブロックチェーンの読み出し）。その後、ステップＳ３３に遷移する。
【００６９】
［ステップＳ３３］  ブロック正当性判定装置２９は、予め記録されたブロックのうち、最新のブロック情報に記録されたブロックＮｏ．２１１ａおよびプレイデータ２１１ｅと、受信した、新規に生成された承認対象ブロックに記録されたブロックＮｏ．２１１ａおよびプレイデータ２１１ｄとを比較する。そして、ブロックＮｏ．２１１ａが連続しており、且つ、予め記録されたブロックのうち、最新のブロック情報に記録されたプレイデータ２１１ｅと、受信した、新規に生成された承認対象ブロックに記録されたプレイデータ２１１ｄとが一致しているか否かを判断する。
【００７０】
一致していれば（ステップＳ３３のＹｅｓ）、ステップＳ３４に遷移する。一致していなければ（ステップＳ３３のＮｏ）、図１２に示す処理自体を中断する（ノード側の同期未了の可能性があるので、不正ではなく処理の中断）。すなわち、一致していなければ、ブロックの正当性については何ら判断せず、処理自体を中断することになる。
【００７１】
［ステップＳ３４］  ブロック正当性判定装置２９は、ステップＳ３１にて受信した、新規に生成された承認対象ブロックの情報に基づきゲーム用パラメータおよびゲームデータを生成する。具体的には、ブロック正当性判定装置２９は、パラメータジェネレータ２３にゲーム用パラメータの生成を指示する。また、ブロック正当性判定装置２９は、ゲームデータジェネレータ２４にゲームデータの生成を指示する。
【００７２】
指示を受けたパラメータジェネレータ２３は、ブロックチェーン構成ブロック２１１内のトランザクションリスト２１１ｃからゲーム用パラメータを生成する。また、ゲームデータジェネレータ２４は、パラメータジェネレータ２３が生成したゲーム用パラメータを用いてゲームデータを生成する。その後、ステップＳ３５に遷移する。
【００７３】
［ステップＳ３５］  ブロック正当性判定装置２９は、受け取った承認対象ブロックが正当なブロックか否かを判断する。具体的には、ブロック正当性判定装置２９は、ステップＳ３３にて生成されたゲーム用パラメータとゲームデータとをプレイデータ２１１ｅと照合する。矛盾無くクリア条件を達成できれば、受け取った承認対象ブロックが正当なブロックであると判断する。
【００７４】
受け取った承認対象ブロックが正当なブロックである場合（ステップＳ３５のＹｅｓ）、ステップＳ３６に遷移する。受け取った承認対象ブロックが正当なブロックではない場合（ステップＳ３５のＮｏ）、ステップＳ３８に遷移する。
【００７５】
［ステップＳ３６］  ブロック正当性判定装置２９は、受け取った承認対象ブロックが正当であることを示す確認ステータスを承認対象ブロックに付与する。その後、ステップＳ３７に遷移する。
【００７６】
［ステップＳ３７］  ブロック正当性判定装置２９は、ブロック情報を記憶装置２１に記憶する。具体的には、ブロック正当性判定装置２９は、受信した承認対象ブロックのブロック情報を記憶装置２１に記憶されているブロックチェーンに追加する。その後、ステップＳ３９に遷移する。
【００７７】
［ステップＳ３８］  ブロック正当性判定装置２９は、受け取った承認対象ブロックが不正であることを示す不正ステータスを承認対象ブロックに付与する。その後、ステップＳ３９に遷移する。
【００７８】
［ステップＳ３９］  ブロック正当性判定装置２９は、承認対象ブロックに関してステップＳ３５の判断により付与されたステータス（確認ステータスまたは不正ステータス）を、ブロックチェーンネットワーク５０を介して他のノードアプリケーションサーバ２ｂ、２ｃにブロードキャスト送信する。
以上で図１２の説明を終了する。
【００７９】
以上述べたように、システム１０によれば、ノードアプリケーションサーバ２ａが、ブロックチェーン構成ブロック２１１に含まれる所定のトランザクションリスト２１１ｃに基づき一義に決定されるパラメータを生成し、生成されたパラメータを用いてゲームデータを生成し、生成されたゲームデータを用いてゲームが実行されたゲームプレイ用端末装置４ａ、４ｂから受信したプレイデータをゲームデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いてブロックチェーンを更新する新たなブロックを生成するようにした。
【００８０】
ブロックチェーンのブロックを追加するための合意形成方法において、ゲームという形で人の手を介在させることで、計算コストの増大を無いか若しくはごく小さい水準に抑えることができ、且つ、クラッキング困難な合意形成を実現することができる。
【００８１】
なお、ノードアプリケーションサーバ２ａが行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、１つの装置が、ゲームデータを生成、配信し、他の装置が、プレイデータを受信して整合性を判断するようにしてもよい。
【００８２】
また、本実施の形態では、ノードアプリケーションサーバ２ａが複数のサーバを備える構成とした。しかし、これに限らず、各サーバが１つの装置の機能として実行されてもよい。この場合、例えば、記録用データ受信サーバ２２は、記録用データ受信部、ゲームデータ配信サーバ２５はゲームデータ配信部、プレイデータ正当性判定装置２７は、プレイデータ正当性判定部などと読み替えることができる。
【００８３】
以上、本発明の合意形成方法、プログラムおよび情報処理装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【００８４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ノードアプリケーションサーバ２ａ、２ｂ、２ｃが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等が挙げられる。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００８５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８７】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等の電子回路で実現することもできる。
【符号の説明】
【００８８】
１  クライアント装置
２ａ、２ｂ、２ｃ  ノードアプリケーションサーバ
３  ゲームプログラム配信サーバ
４ａ、４ｂ  ゲームプレイ用端末装置
１０  システム
２１  記憶装置
２２  記録用データ受信サーバ
２３  パラメータジェネレータ
２４  ゲームデータジェネレータ
２５  ゲームデータ配信サーバ
２６  プレイデータ受信サーバ
２７  プレイデータ正当性判定装置
２８  ノードサーバ
２９  ブロック正当性判定装置
４０、４６  ゲーム画面
４１  フィールド
４２  宝箱
４３  コインドーザー
４４  マカロン
４５  落下部
４７  カード
５０  ブロックチェーンネットワーク
６０  ネットワーク
２１１  ブロックチェーン構成ブロック
２１１ａ  ブロックＮｏ．
２１１ｂ  タイムスタンプ
２１１ｃ  トランザクションリスト
２１１ｄ  前ブロックのプレイデータ
２１１ｅ  プレイデータ
２１１ｆ  ゲームリスト
２１２  ゲームプログラム
２１３  ノードリスト
【図１】
2019219707.tif 000003
【図２】
2019219707.tif 000004
【図３】
2019219707.tif 000005
【図４】
2019219707.tif 000006
【図５】
2019219707.tif 000007
【図６】
2019219707.tif 000008
【図７】
2019219707.tif 000009
【図８】
2019219707.tif 000010
【図９】
2019219707.tif 000011
【図１０】
2019219707.tif 000012
【図１１】
2019219707.tif 000013
【図１２】
2019219707.tif 000014