JP2019219707A - 合意形成方法、プログラムおよび情報処理装置 - Google Patents

合意形成方法、プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP2019219707A
JP2019219707A JP2018114209A JP2018114209A JP2019219707A JP 2019219707 A JP2019219707 A JP 2019219707A JP 2018114209 A JP2018114209 A JP 2018114209A JP 2018114209 A JP2018114209 A JP 2018114209A JP 2019219707 A JP2019219707 A JP 2019219707A
Authority
JP
Japan
Prior art keywords
game
data
block
play
play data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018114209A
Other languages
English (en)
Inventor
智建 村井
Tomotake Murai
智建 村井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AppBank Inc
Original Assignee
AppBank Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AppBank Inc filed Critical AppBank Inc
Priority to JP2018114209A priority Critical patent/JP2019219707A/ja
Publication of JP2019219707A publication Critical patent/JP2019219707A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】長期にわたって低コストで運用可能、且つ、特定の承認者に大きく権限が偏ることのない、透明性・公平性の高い合意形成方法を提供すること。【解決手段】ノードアプリケーションサーバ2aは、ブロックチェーンに含まれる所定のトランザクションリストに基づき一義に決定されるパラメータを生成し、生成されたパラメータを用いてゲームデータを生成し、生成されたゲームデータを用いてゲームが実行されたゲームプレイ用端末装置4a、4bから受信したプレイデータをゲームデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いてブロックチェーンを更新する新たなブロックを生成する。【選択図】図1

Description

本発明は合意形成方法、プログラムおよび情報処理装置に関する。
ブロックチェーン技術における合意形成方法としては、例えばプルーフ・オブ・ワーク(Proof Of Work)やプルーフ・オブ・ステーク(Proof Of Stake)が知られている。例えば、プルーフ・オブ・ワークは、ネットワークに参加するものが特定の計算を競って行なうことで改ざんの困難なブロックチェーンを実現する技術であり、改ざんの困難な分散型の帳簿技術として一般化している。
特開2017−207979号公報
ブロックチェーン技術における合意形成方法においては、電力や設備投資といった多大なコストが発生するものがある。この場合、長期的にコストが著しく増大する。
また、合意への参加者が著しく限定されると、公正な取引が阻害される。
1つの側面では、本発明は、長期にわたって低コストで運用可能、且つ、特定の承認者に大きく権限が偏ることのない、透明性・公平性の高い合意形成方法を提供することを目的とする。
上記目的を達成するために、開示の合意形成方法が提供される。この合意形成方法は、コンピュータが、与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、生成されたパラメータを用いてゲームのデータを生成し、生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータをゲームのデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いてブロックチェーンを更新する新たなブロックを生成する。
1態様では、長期にわたって低コストで運用可能、且つ、特定の承認者に大きく権限が偏ることのない、透明性・公平性の高い合意形成方法を提供することができる。
実施の形態のシステムを示す図である。 実施の形態のノードアプリケーションサーバのハードウェア構成を示す図である。 実施の形態のクライアント装置のハードウェア構成を示す図である。 実施の形態のゲームプレイ用端末装置のハードウェア構成を示す図である。 実施の形態の記憶装置に記憶される情報の一例を示す図である。 実施の形態のブロックチェーンに含まれる情報の一例を示す図である。 ゲームプレイ用端末装置のディスプレイに表示されるゲーム画面の一例を示す図である。 ゲームプレイ用端末装置のディスプレイに表示されるゲーム画面の一例を示す図である。 ノードアプリケーションサーバの動作を説明するフローチャートである。 ゲームプレイ用端末装置の動作を説明するフローチャートである。 プレイデータを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。 ブロックを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。
以下、実施の形態のシステムを、図面を参照して詳細に説明する。
<実施の形態>
図1は、実施の形態のシステムを示す図である。
実施の形態のシステム10は、ブロックチェーンネットワーク50における効率的な合意形成方法を実現することを目的とし、ゲームという偶発性・競争性を含む要素を取り込むことで、コストを増大させることのない持続的なブロックチェーンネットワークを実現する。
実施の形態のシステム10は、クライアント装置1と、ブロックチェーンネットワーク50を介して接続される複数のノードアプリケーションサーバ2a、2b、2cと、ゲームプログラム配信サーバ3と、ゲームプレイ用端末装置4a、4bとを有している。
クライアント装置1は、ブロックチェーンに書き込みたい情報をネットワークに流す。書き込みたい情報としては、例えば、仮想通貨の取引情報や農畜海産物のトレーサビリティ情報、改ざん防止の為のファイルハッシュ等が挙げられる。
ノードアプリケーションサーバ2a、2b、2cはブロックチェーンネットワーク50を介して互いに接続されている。
ノードアプリケーションサーバ2a、2b、2cは、ハッシュ関数と同様に何らかのデータを基に一義に決まり、且つ、不可逆でランダムなゲーム用パラメータ(ゲームの内容を一義に決定するための設置値)を生成する。また、ノードアプリケーションサーバ2a、2b、2cは、生成されたゲーム用パラメータに基づいて、ゲームのデータ(ゲームデータ)を生成又は改変する。このゲームデータは、ゲームの内容を決定するためのデータであり、ゲーム用パラメータと一対一の関係性となる。
ノードアプリケーションサーバ2a、2b、2cは、生成又は改変したゲームデータをゲームプレイ用端末装置4a、4bに配信する。
ゲームプログラム配信サーバ3は、ゲームの(ユーザにゲームをプレイさせるための)アプリケーションを図示しないネットワークを介してゲームプレイ用端末装置4a、4bに送信する。このゲームのアプリケーションには、SDK(Software Development Kit)を含めることができる。このSDKは、例えば特定の機能を容易にアプリケーションに導入可能とすることなどを目的として、作成・配布されることが多い。本実施の形態では、システム10に対応するゲームを開発する為のツールとして提供される。
ゲームのアプリケーションを受信し、インストールしたゲームプレイ用端末装置4a、4bは、ノードアプリケーションサーバ2a、2b、2cから配信されるゲームデータを用いてゲームを実行することができる。
ゲームプレイ用端末装置4a、4bは、ゲームプレイヤーが操作する装置である。端末装置4a、4bとしては例えば、スマートフォンやタブレット端末等が挙げられる。その他、固定端末装置や、ゲーム専用機であってもよい。
ゲームプレイ用端末装置4a、4bは、ユーザの操作に応じてネットワーク60を介してゲームデータを入手する。
なお、図示していないが、ゲームプレイ用端末装置4a、4bは、ノードアプリケーションサーバ2b、2cにもネットワーク60を介して接続されている。
ユーザがゲームプレイ用端末装置4a、4bを操作することによりゲームをプレイすると、ゲームプレイ用端末装置4a、4bは、そのプレイデータを記憶する。
このプレイデータは、ゲームを遊んだ際に生成される、プレイヤーが行った操作の記録並びにそれによって生じたゲーム上の結果の記録を示す。
ユーザがゲームのクリアに成功すると(ゲームデータに定義されたクリア条件を満たすと)、ゲームプレイ用端末装置4a、4bは、ゲームをクリアしたプレイヤーのプレイデータを、ゲームを配信したノードアプリケーションサーバ(以下、ノードアプリケーション2aを例示する)に送信する。
ノードアプリケーションサーバ2aは、ゲームデータとクリアプレイデータ並びに当該パラメータを基に適切にゲームがクリアされたかを判定する。
ゲームがクリアされたと判定したノードアプリケーションサーバ2aは、クライアント装置1から入手したブロックにプレイデータを追加してブロックチェーンネットワーク50に送信する。
これにより、ノードアプリケーションサーバ2a、2b、2cは、情報が追加されたブロックの正当性を判断する。正規のブロックであると判断した場合、このブロックをそれぞれ保有(共有)する。
このシステム10によれば、ゲームという偶発性・競争性を含む要素を取り込むことで、コストの増大を抑制できる持続的なブロックチェーンネットワークを実現することができる。
以下、開示のシステム10をより具体的に説明する。
次に、各ノードアプリケーションサーバ2a、2b、2cのハードウェア構成の一例を説明する。以下、一例としてノードアプリケーションサーバ2aのハードウェア構成を示すが、他のノードアプリケーションサーバ2b、2cも同様のハードウェア構成で実現可能である。
図2は、実施の形態のノードアプリケーションサーバのハードウェア構成を示す図である。
ノードアプリケーションサーバ2aは、CPU(Central Processing Unit)201によって装置全体が制御されている。CPU201には、バス205を介してRAM(Random Access Memory)202、ハードディスクドライブ(HDD:Hard Disk Drive)203および通信インタフェース204が接続されている。
RAM202は、ノードアプリケーションサーバ2aの主記憶装置として使用される。RAM202には、CPU201に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM202には、CPU201による処理に使用する各種データが格納される。
ハードディスクドライブ203は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ハードディスクドライブ203は、ノードアプリケーションサーバ2aの二次記憶装置として使用される。ハードディスクドライブ203には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
通信インタフェース204は、ブロックチェーンネットワーク50に接続されている。通信インタフェース204は、ブロックチェーンネットワーク50を介して、他のノードアプリケーションサーバまたは通信機器との間でデータを送受信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することがで
きる。
図3は、実施の形態のクライアント装置のハードウェア構成を示す図である。
クライアント装置1は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
CPU101、RAM102、HDD103および通信インタフェース107の機能は、それぞれCPU201、RAM202、HDD203および通信インタフェース204と同様であるため、詳細な説明を省略する。
バス108には、ハードディスクドライブ103、グラフィック処理装置104、入力インタフェース105、ドライブ装置106、および通信インタフェース107が接続されている。
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や、液晶表示装置等が挙げられる。
入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、例えばタッチパネル、タブレット、タッチパッド、トラックボール等が挙げられる。
ドライブ装置106は、例えば、光の反射によって読み取り可能なようにデータが記録された光ディスクや、USB(Universal Serial Bus)メモリ等の持ち運び可能な記録媒体に記録されたデータの読み取りを行う。例えば、ドライブ装置106が光学ドライブ装置である場合、レーザ光等を利用して、光ディスク200に記録されたデータの読み取りを行う。光ディスク200には、Blu−ray(登録商標)、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。
通信インタフェース107は、ネットワーク60に接続されている。通信インタフェース107は、ネットワーク60を介して、他のコンピュータまたは通信機器との間でデータを送受信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図4は、実施の形態のゲームプレイ用端末装置のハードウェア構成を示す図である。
以下、一例としてゲームプレイ用端末装置4aのハードウェア構成を示すが、ゲームプレイ用端末装置4bも同様のハードウェア構成で実現可能である。
ゲームプレイ用端末装置4aは、CPU401によって装置全体が制御されている。CPU401には、バス407を介してRAM402と複数の周辺機器が接続されている。
CPU401、RAM402、HDD403および通信インタフェース406の機能は、それぞれCPU101、RAM102、HDD103および通信インタフェース107と同様であるため、詳細な説明を省略する。
グラフィック処理装置404には、ディスプレイ404aが接続されている。グラフィック処理装置404は、CPU401からの命令に従って、画像をディスプレイ404aの画面に表示させる。ディスプレイ404aとしては、液晶表示装置等が挙げられる。また、ディスプレイ404aは、タッチパネル機能も備えている。
入力インタフェース405は、ディスプレイ404aおよび入力ボタン405aに接続されている。入力インタフェース405は、入力ボタン405aやディスプレイ404aのタッチパネルから送られてくる信号をCPU401に送信する。
通信インタフェース406は、ネットワーク60に接続されている。通信インタフェース106は、ネットワーク60を介して、他のコンピュータまたは通信機器との間でデータを送受信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図2に示すようなハードウェア構成の各サーバを備えるノードアプリケーションサーバ2aは、図1に示すように、記憶装置21と、記録用データ受信サーバ22と、パラメータジェネレータ23と、ゲームデータジェネレータ24と、ゲームデータ配信サーバ25と、プレイデータ受信サーバ26と、プレイデータ正当性判定装置27と、ブロック正当性判定装置28と、ノードサーバ29とを有している。
図5は、実施の形態の記憶装置に記憶される情報の一例を示す図である。
記憶装置21には、ブロックチェーン構成ブロック211と、ゲームプログラム212と、ノードリスト213とが記憶されている。なお、記憶装置21に記憶される情報はこれらに限定されないのは言うまでも無い。
ブロックチェーン構成ブロック211は、例えば、個々の取引履歴やコンピュータにおける処理のまとまり等、ブロックチェーンに登録する情報のまとまり(トランザクション)に、ブロックチェーンを構成するために必要な情報を付加したものである。
ブロックチェーンは、これらブロックチェーン構成ブロック211が過去のブロックからチェーン状に連鎖したものである。
図6は、実施の形態のブロックチェーン構成ブロックに含まれる情報の一例を示す図である。
ブロックチェーン構成ブロック211には、ブロックNo.211a、タイムスタンプ211b、トランザクションリスト211c、前ブロックのプレイデータ211d、プレイデータ211e、およびゲームリスト211fが含まれている。
これらのうち、ブロックNo.211aは、当該ブロックチェーン構成ブロック211を識別する情報である。
トランザクションリスト211cは、個々の取引履歴やコンピュータにおける処理のまとまり、即ち、ブロックチェーンに登録する情報のまとまりをリスト化したものをいう。
前ブロックのプレイデータ211dは、過去のブロックの正当性を検証する際に生成されたゲームデータがプレイされたときに生成されたプレイデータである。
プレイデータ211eは、前述したようにプレイヤーがゲームを遊んだ際に生成される、プレイヤーが行った操作の記録並びにそれによって生じたゲーム上の結果の記録を示す。
ゲームリスト211fは、ゲームプレイ用端末装置4a、4bにてプレイ可能なゲームの一覧をいう。この一覧には、ID、ゲーム名称、開発元、当該時点におけるバージョン情報、当該バージョンのゲームプログラムの認証情報といった内容が含まれる。なお、ゲームプログラムの認証情報は、ゲームプログラムの正当性(改ざんされていないか)を示す情報である。
再び図5に戻って説明する。
ゲームプログラム212は、端末装置4a、4bを操作するユーザに遊ばせるゲームのプログラムである。
ノードリスト213は、ブロックチェーンネットワーク50に接続されているノードアプリケーションサーバ2を識別する識別情報(例えばIPアドレス)が記憶されたリストである。
再び図1に戻って説明する。
記録用データ受信サーバ22は、ブロックチェーンに記録するデータ(トランザクションリスト)をクライアント装置1から受信する。
パラメータジェネレータ23は、トランザクションリストにハッシュ関数を用いてゲーム用パラメータ(ハッシュ)を生成する。
ゲームデータジェネレータ24は、ゲーム用パラメータを用いてゲームプログラム212にて動作可能なゲームデータを生成する。このゲームデータとしては、例えば、所謂落ち物ゲームの場合、落ちてくる物の場所がこのデータによって決定される。また、他の例では、スクロールするゲームであれば、マップがこのデータによって決定される。
なお、ゲームデータジェネレータ24が生成するゲームデータとしては、ゲームデータジェネレータが1から生成したものと、ゲームデータジェネレータが既に生成されているゲームデータの一部を改変したものの両方が含まれる。
ゲームデータ配信サーバ25は、ゲームデータジェネレータ24が生成したゲームデータをゲームプレイ用端末装置4a、4bに配信する。
図7および図8は、ゲームプレイ用端末装置のディスプレイに表示されるゲーム画面の一例を示す図である。
図7は、コイン落としのようなゲームである。図7に示すように、ゲーム画面40には、ゲームをプレイする全ユーザに共通のフィールド41が提供される。ブロックハッシュが更新される度に、フィールド41に宝箱42が落下する。なお、宝箱42が落下する位置は、ゲームパラメータによって生成されるゲームデータによって決まる。
コインドーザー43を操作してフィールド41内のコイン代替物のマカロン44を落下部45に近づけ、宝箱42を一番早く落下部45に落としたユーザが勝ち、すなわちゲームをクリアしたことになる。
失敗した、すなわち一番早くゲームをクリアできなかったユーザのゲーム画面40からは、宝箱42が消え、新しいフィールドに移動することになる。
図8は、Threesパズルのようなゲームである。図8に示すゲーム画面46上には16個の数字が表示されたカード47が表示されている。カード47に表示される数字1と1を合体させると数字が2の1枚のカードになる。カード47に表示される数字2と2を合体させると数字が4の1枚のカードになる、という風にカードに表示される数字をより大きくしていく。
ブロックハッシュが更新されるタイミングで、ゲーム画面46には、ゲームをプレイする全ユーザに共通のスタート画面が提供される。先に2048の数字が表示されるカード47を作れたユーザが勝ち、すなわちゲームをクリアしたことになる。
失敗した、すなわち一番早くゲームをクリアできなかったユーザのゲーム画面46には、カードの数字がリセットされたゲーム画面46が表示される。
再び図1に戻って説明する。
プレイデータ受信サーバ26は、ゲームプレイ用端末装置4a、4bにてプレイが行われたゲームのプレイデータを受信する。
プレイデータ正当性判定装置27は、プレイデータ受信サーバ26が受信したプレイデータの正当性を判定する。例えば、プレイデータ正当性判定装置27は、ゲームデータ生成時に記憶装置21に記憶されたゲームデータと受信したプレイデータを照合し、矛盾無くクリア条件を達成できればプレイデータを正当なものと判定する。
例えば、最も有名なブロックチェーンを活用したシステムであるビットコインで利用されている合意形成方法、プルーフ・オブ・ワークにおけるマイニングの作業は、ある種のくじ引きのような作業である。正解がいくつ入っているかは分からないくじ引きの箱から、総当たりでくじを引いていくような形式である。多くの演算能力を持つ者は多くのくじを引くことができるため、当たりを引く確率は上がる。このため、当たりを引き当てようとする皆が競って大きなマシンパワーを持ち、多くの演算を実行する。この場合、電力や設備投資といった多大なコストが発生してしまう。
本実施の形態では、多様な揺らぎを持たせたその正しい筋道の1つを、ユーザのゲームのプレイにより導き出させる方式である。ユーザにゲームをプレイさせ、ゲームのクリアをマイニングの成功と同様に取り扱うことにより、効率的に、かつ、単にマシンパワーに依存しない正当性の判定を実現することができる。
ブロック正当性判定装置28は、ブロックの正当性を判断することで、ブロックチェーンに繋ぐブロックの合意形成を行う。ブロックが正当なものであれば、ノードサーバ29が他のノードアプリケーションサーバ2b、2cにブロックを配信する。
次に、ノードアプリケーションサーバ2の動作を、フローチャートを用いて説明する。
図9は、ノードアプリケーションサーバの動作を説明するフローチャートである。
[ステップS1] 記録用データ受信サーバ22は、クライアント装置1からトランザクションリストを受信する。その後、ステップS2に遷移する。
[ステップS2] 記録用データ受信サーバ22は、受信したトランザクションリストを記憶装置21に記憶する。その後、ステップS3に遷移する。
[ステップS3] パラメータジェネレータ23は、トランザクションリストにハッシュ関数を用いてゲーム用パラメータを生成する。その後、ステップS4に遷移する。
[ステップS4] パラメータジェネレータ23は、生成したゲーム用パラメータを記憶装置21に記憶する。その後、ステップS5に遷移する。
[ステップS5] ゲームデータジェネレータ24は、ステップS3にて生成したゲーム用パラメータを用いてゲームデータを生成する。その後、ステップS6に遷移する。
[ステップS6] ゲームデータジェネレータ24は、生成したゲームデータを記憶装置21に記憶する。その後、ステップS7に遷移する。
[ステップS7] ゲームデータ配信サーバ25は、ゲームプレイ用端末装置4a、4bからの配信要求に応じてステップS4にて記憶装置21に記憶されたゲームデータをゲームプレイ用端末装置4a、4bに配信する。
以上で図9の説明を終了する。
次に、ゲームプレイ用端末装置4a、4bの動作を、フローチャートを用いて説明する。
図10は、ゲームプレイ用端末装置の動作を説明するフローチャートである。
[ステップS11] ゲームプレイ用端末装置4aは、ゲームデータ配信サーバ24が配信したゲームデータを受信する。その後、ステップS12に遷移する。
[ステップS12] ゲームプレイ用端末装置4aは、ステップS11にて受信したゲームデータをゲームプレイ用端末装置4a内の記憶装置に記憶する。
[ステップS13] ゲームプレイ用端末装置4aは、ゲームプレイ用端末装置4aのユーザの操作に応じてゲームプログラム212を起動し、ステップS12にて記憶されたゲームデータを用いてゲームを実行してユーザにゲームをプレイさせる。
[ステップS14] ゲームプレイ用端末装置4aは、プレイデータをゲームプレイ用端末装置4a内の記憶装置に記憶する。
[ステップS15] ゲームプレイ用端末装置4aは、ユーザがゲームのクリアに成功した場合、すなわち、ゲームデータに定義されたクリア条件を満たした場合(ステップS15のYes)、ステップS16に遷移する。ユーザがゲームをクリアできなかった場合(ステップS15のNo)、ユーザの操作に応じてステップS13に遷移する。
[ステップS16] ゲームプレイ用端末装置4aは、クリアできたゲームのプレイデータをノードアプリケーションサーバ2aに送信する。
以上で図10の説明を終了する。
次に、プレイデータを受け取ったノードアプリケーションサーバ2aの動作を、フローチャートを用いて説明する。
図11は、プレイデータを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。
[ステップS21] プレイデータ受信サーバ26は、プレイデータを受信する。その後、ステップS22に遷移する。
[ステップS22] プレイデータ受信サーバ26は、受信したプレイデータを記憶装置21に記憶する。その後、ステップS23に遷移する。
[ステップS23] プレイデータ正当性判定装置27は、ゲームデータ生成時に記憶装置21に記憶されたゲームデータを読み込む。その後、ステップS24に遷移する。
[ステップS24] プレイデータ正当性判定装置27は、ステップS22にて記憶されたプレイデータの正当性を判定する。正当性の判定条件は、前述したようにステップS23にて読み出したゲームデータと受信したプレイデータとを照合し、矛盾無くクリア条件を達成できればプレイデータを正当なものと判定する。
正規のプレイデータである場合(ステップS24のYes)、ステップS25に遷移する。正規のプレイデータではない場合(ステップS24のNo)、ステップS27に遷移する。
[ステップS25] ノードサーバ28は、クライアント装置1から入手したブロックにプレイデータを追加してブロックチェーンに繋ぐブロック(以下、承認対象ブロックという)を生成し、記憶装置21に記憶する。
[ステップS26] ノードサーバ28は、ステップS24にて生成した承認対象ブロックを、ブロックチェーンネットワーク50を介して他のノードアプリケーションサーバ2b、2cにブロードキャスト送信する。
[ステップS27] プレイデータ正当性判定装置27は、ステップS22にて記憶されたプレイデータを記憶装置21から削除(リジェクト)する。
以上で図11の説明を終了する。
次に、他のノードアプリケーションサーバ2から承認対象ブロックを受け取ったノードアプリケーションサーバ2aの動作を、フローチャートを用いて説明する。
図12は、承認対象ブロックを受け取ったノードアプリケーションサーバの動作を説明するフローチャートである。
[ステップS31] ブロック正当性判定装置29は、新規に生成された承認対象ブロックを受信する。その後、ステップS32に遷移する。
[ステップS32] ブロック正当性判定装置29は、記憶装置21を参照し、予め記録されたブロックのうち、最新のブロック情報を読み出す(ブロックチェーンの読み出し)。その後、ステップS33に遷移する。
[ステップS33] ブロック正当性判定装置29は、予め記録されたブロックのうち、最新のブロック情報に記録されたブロックNo.211aおよびプレイデータ211eと、受信した、新規に生成された承認対象ブロックに記録されたブロックNo.211aおよびプレイデータ211dとを比較する。そして、ブロックNo.211aが連続しており、且つ、予め記録されたブロックのうち、最新のブロック情報に記録されたプレイデータ211eと、受信した、新規に生成された承認対象ブロックに記録されたプレイデータ211dとが一致しているか否かを判断する。
一致していれば(ステップS33のYes)、ステップS34に遷移する。一致していなければ(ステップS33のNo)、図12に示す処理自体を中断する(ノード側の同期未了の可能性があるので、不正ではなく処理の中断)。すなわち、一致していなければ、ブロックの正当性については何ら判断せず、処理自体を中断することになる。
[ステップS34] ブロック正当性判定装置29は、ステップS31にて受信した、新規に生成された承認対象ブロックの情報に基づきゲーム用パラメータおよびゲームデータを生成する。具体的には、ブロック正当性判定装置29は、パラメータジェネレータ23にゲーム用パラメータの生成を指示する。また、ブロック正当性判定装置29は、ゲームデータジェネレータ24にゲームデータの生成を指示する。
指示を受けたパラメータジェネレータ23は、ブロックチェーン構成ブロック211内のトランザクションリスト211cからゲーム用パラメータを生成する。また、ゲームデータジェネレータ24は、パラメータジェネレータ23が生成したゲーム用パラメータを用いてゲームデータを生成する。その後、ステップS35に遷移する。
[ステップS35] ブロック正当性判定装置29は、受け取った承認対象ブロックが正当なブロックか否かを判断する。具体的には、ブロック正当性判定装置29は、ステップS33にて生成されたゲーム用パラメータとゲームデータとをプレイデータ211eと照合する。矛盾無くクリア条件を達成できれば、受け取った承認対象ブロックが正当なブロックであると判断する。
受け取った承認対象ブロックが正当なブロックである場合(ステップS35のYes)、ステップS36に遷移する。受け取った承認対象ブロックが正当なブロックではない場合(ステップS35のNo)、ステップS38に遷移する。
[ステップS36] ブロック正当性判定装置29は、受け取った承認対象ブロックが正当であることを示す確認ステータスを承認対象ブロックに付与する。その後、ステップS37に遷移する。
[ステップS37] ブロック正当性判定装置29は、ブロック情報を記憶装置21に記憶する。具体的には、ブロック正当性判定装置29は、受信した承認対象ブロックのブロック情報を記憶装置21に記憶されているブロックチェーンに追加する。その後、ステップS39に遷移する。
[ステップS38] ブロック正当性判定装置29は、受け取った承認対象ブロックが不正であることを示す不正ステータスを承認対象ブロックに付与する。その後、ステップS39に遷移する。
[ステップS39] ブロック正当性判定装置29は、承認対象ブロックに関してステップS35の判断により付与されたステータス(確認ステータスまたは不正ステータス)を、ブロックチェーンネットワーク50を介して他のノードアプリケーションサーバ2b、2cにブロードキャスト送信する。
以上で図12の説明を終了する。
以上述べたように、システム10によれば、ノードアプリケーションサーバ2aが、ブロックチェーン構成ブロック211に含まれる所定のトランザクションリスト211cに基づき一義に決定されるパラメータを生成し、生成されたパラメータを用いてゲームデータを生成し、生成されたゲームデータを用いてゲームが実行されたゲームプレイ用端末装置4a、4bから受信したプレイデータをゲームデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いてブロックチェーンを更新する新たなブロックを生成するようにした。
ブロックチェーンのブロックを追加するための合意形成方法において、ゲームという形で人の手を介在させることで、計算コストの増大を無いか若しくはごく小さい水準に抑えることができ、且つ、クラッキング困難な合意形成を実現することができる。
なお、ノードアプリケーションサーバ2aが行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、1つの装置が、ゲームデータを生成、配信し、他の装置が、プレイデータを受信して整合性を判断するようにしてもよい。
また、本実施の形態では、ノードアプリケーションサーバ2aが複数のサーバを備える構成とした。しかし、これに限らず、各サーバが1つの装置の機能として実行されてもよい。この場合、例えば、記録用データ受信サーバ22は、記録用データ受信部、ゲームデータ配信サーバ25はゲームデータ配信部、プレイデータ正当性判定装置27は、プレイデータ正当性判定部などと読み替えることができる。
以上、本発明の合意形成方法、プログラムおよび情報処理装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ノードアプリケーションサーバ2a、2b、2cが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。
1 クライアント装置
2a、2b、2c ノードアプリケーションサーバ
3 ゲームプログラム配信サーバ
4a、4b ゲームプレイ用端末装置
10 システム
21 記憶装置
22 記録用データ受信サーバ
23 パラメータジェネレータ
24 ゲームデータジェネレータ
25 ゲームデータ配信サーバ
26 プレイデータ受信サーバ
27 プレイデータ正当性判定装置
28 ノードサーバ
29 ブロック正当性判定装置
40、46 ゲーム画面
41 フィールド
42 宝箱
43 コインドーザー
44 マカロン
45 落下部
47 カード
50 ブロックチェーンネットワーク
60 ネットワーク
211 ブロックチェーン構成ブロック
211a ブロックNo.
211b タイムスタンプ
211c トランザクションリスト
211d 前ブロックのプレイデータ
211e プレイデータ
211f ゲームリスト
212 ゲームプログラム
213 ノードリスト

Claims (5)

  1. コンピュータが、
    与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、
    生成された前記パラメータを用いてゲームのデータを生成し、
    生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータを前記ゲームのデータと照合してプレイデータが正規のものであるかを確認し、
    正規のものであると確認できたプレイデータを用いて前記コンピュータに既に記憶されているブロックチェーンを更新する新たなブロックを生成する、
    ことを特徴とする合意形成方法。
  2. ネットワークに接続されている他のコンピュータに最も早く配信された前記ブロックの正当性を前記他のコンピュータが確認し、
    正当性が確認できたブロックを用いて前記他のコンピュータに既に記憶されているブロックチェーンを更新する請求項1に記載の合意形成方法。
  3. 前記プレイデータは、ゲームをクリアしようとする際に生成されるデータである請求項1に記載の合意形成方法。
  4. コンピュータに、
    与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、
    生成された前記パラメータを用いてゲームのデータを生成し、
    生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータを前記ゲームのデータと照合してプレイデータが正規のものであるかを確認し、
    正規のものであると確認できたプレイデータを用いて前記コンピュータに既に記憶されているブロックチェーンを更新する新たなブロックを生成する、
    処理を実行させることを特徴とするプログラム。
  5. ブロックを記憶する記憶部と、
    与えられた、ブロックチェーンに記録される情報に基づき一義に決定されるパラメータを生成し、生成された前記パラメータを用いてゲームのデータを生成し、生成されたゲームのデータを用いてゲームが実行された端末装置から受信したプレイデータを前記ゲームのデータと照合してプレイデータが正規のものであるかを確認し、正規のものであると確認できたプレイデータを用いて前記記憶部に既に記憶されているブロックチェーンを更新する新たなブロックを生成する処理部と、
    を有することを特徴とする情報処理装置。
JP2018114209A 2018-06-15 2018-06-15 合意形成方法、プログラムおよび情報処理装置 Pending JP2019219707A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018114209A JP2019219707A (ja) 2018-06-15 2018-06-15 合意形成方法、プログラムおよび情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018114209A JP2019219707A (ja) 2018-06-15 2018-06-15 合意形成方法、プログラムおよび情報処理装置

Publications (1)

Publication Number Publication Date
JP2019219707A true JP2019219707A (ja) 2019-12-26

Family

ID=69096467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018114209A Pending JP2019219707A (ja) 2018-06-15 2018-06-15 合意形成方法、プログラムおよび情報処理装置

Country Status (1)

Country Link
JP (1) JP2019219707A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021146057A (ja) * 2020-03-23 2021-09-27 株式会社カプコン コンピュータシステム、およびゲーム結果の管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021146057A (ja) * 2020-03-23 2021-09-27 株式会社カプコン コンピュータシステム、およびゲーム結果の管理方法
JP7436890B2 (ja) 2020-03-23 2024-02-22 株式会社カプコン コンピュータシステム
JP7448389B2 (ja) 2020-03-23 2024-03-12 株式会社カプコン コンピュータシステム、およびゲーム結果の管理方法

Similar Documents

Publication Publication Date Title
US11922402B2 (en) System and method for authorizing blockchain network transactions
US20230091451A1 (en) Application Collaboration Method, Computer Readable Medium, and Application Collaboration System
US10046240B2 (en) Social networking data augmented gaming kiosk
US8961315B1 (en) Providing tasks to users during electronic game play
JP6404435B1 (ja) アイテム取引システム及びアイテム取引プログラム
CN109847339B (zh) 控制方法、终端装置、信息处理系统以及存储介质
JP2018050973A (ja) 乱数生成システム、乱数生成装置、乱数生成方法及びプログラム
JP6281062B2 (ja) ゲームシステム、それに用いられるコンピュータプログラム及びサーバ装置
JP6274748B2 (ja) ビデオゲーム処理装置、ビデオゲーム処理サーバ、及びビデオゲーム処理プログラム
CN116351071A (zh) 不同的平台间的移交游戏数据的方法、系统及存储介质
JP2019219707A (ja) 合意形成方法、プログラムおよび情報処理装置
JP2014117354A (ja) オンラインゲームサーバー
WO2013157483A1 (ja) ゲームシステム、それに用いられる制御方法及び、コンピュータプログラム
JP2023041928A (ja) ゲームシステム、それに用いるコンピュータプログラム及びサーバ装置
JP5848209B2 (ja) ゲームシステム及びゲーム制御方法
JP5203533B1 (ja) ゲーム拡張装置、ゲーム拡張方法およびゲーム拡張プログラム
JP2017068588A (ja) トータリゼータシステム、および投票支援装置
JP2022125127A (ja) 情報処理装置、情報処理方法及びプログラム
KR20130082595A (ko) 온라인 게임에서의 소셜 네트워크 서비스 제공 방법 및 이를 수행하는 서버
JP2020054892A (ja) ゲームシステム及びそれに用いるコンピュータプログラム
JP2020054857A (ja) ゲームプログラムおよびゲームシステム
US11972415B1 (en) Non-fungible token system for randomized event sessions
US20230385863A1 (en) Method for transparent online raffles using nfts and random generators
JP2018175880A (ja) ゲームシステム、それに用いられるコンピュータプログラム、及びサーバ装置
WO2024116825A1 (ja) プログラムおよび情報処理システム