(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】安全な非集中型ビデオゲーム取引プラットフォーム
(51)【国際特許分類】
G06Q 20/38 20120101AFI20240528BHJP
G06Q 50/10 20120101ALI20240528BHJP
H04L 9/32 20060101ALI20240528BHJP
A63F 13/79 20140101ALI20240528BHJP
A63F 13/69 20140101ALI20240528BHJP
A63F 13/35 20140101ALI20240528BHJP
A63F 13/70 20140101ALI20240528BHJP
【FI】
G06Q20/38 320
G06Q50/10
H04L9/32
A63F13/79 520
A63F13/69
A63F13/35
A63F13/70
(21)【出願番号】P 2020548956
(86)(22)【出願日】2019-02-06
(86)【国際出願番号】 US2019016799
(87)【国際公開番号】W WO2019177713
(87)【国際公開日】2019-09-19
【審査請求日】2022-02-07
(32)【優先日】2018-03-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ヤング、スティーヴン
【審査官】渡邉 加寿磨
(56)【参考文献】
【文献】特開2005-293591(JP,A)
【文献】特表2017-515252(JP,A)
【文献】特表2007-510991(JP,A)
【文献】米国特許出願公開第2012/0231867(US,A1)
【文献】米国特許出願公開第2017/0161991(US,A1)
【文献】dapps_market,”CryptoKitties(クリプトキティ)とは?ゲームの始め方と遊び方を解説!”,[online],株式会社OESIR,2018年03月12日,インターネット:<URL:https://dappsmarket.net/cryptokitties/cryptokitties-howtoplay/>,[検索日:2023.03.01]
【文献】久保 健,”エンジニアのためのブロックチェーン基礎講座”,[online],一般社団法人日本ネットワークインフォメーションセンター,2017年12月27日,p.1-63,インターネット:<URL:https://www.nic.ad.jp/ja/materials/iw/2017/proceedings/s02/s2-kubo.pdf>,[検索日:2023.03.01]
【文献】nagata03,”ブロックの構造”,[online],Qiita株式会社,2017年12月02日,インターネット:<URL:https://qiita.com/nagata03/items/4ec24c387d037cf155df>,[検索日:2023.03.01]
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
A63F 13/79
A63F 13/69
A63F 13/35
A63F 13/70
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
複数のコンピューティングデバイスを含む分散型アーキテクチャを介してゲーム内仮想資産転送を管理する方法であって、
複数のブロックを含むブロックチェーン台帳を格納することであって、前記複数のコンピューティングデバイスのそれぞれも前記ブロックチェーン台帳のコピーを格納する、前記格納することと、
識別された量のゲーム内仮想資産の転送元アカウントから転送先アカウントへの対象の転送を識別するメッセージを受信することであって、前記識別された量の前記ゲーム内仮想資産が、前記転送元アカウントに関連付けられたプレイヤーによる前記転送元アカウントに関連付けられたデバイスを使用したビデオゲームの仮想環境内のゲームプレイを介して取得され、前記対象の転送の完了時に前記転送先アカウントに関連付けられたプレイヤーによって前記転送先アカウントに関連付けられたデバイスを使用して前記ビデオゲーム内で使用される、前記受信することと、
前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイス
の両方が前記ビデオゲームのコードを格納し、前記両方が前記ビデオゲームの
前記コードを実行する権限を与えられていることと、前記転送元アカウント及び前記転送先アカウント
の両方が前記ビデオゲームの前記仮想環境内のゲームプレイに関与する権限を与えられていることとを検証することと、
前記ブロックチェーン台帳内の前記複数のブロックの少なくとも1つに基づき、前記転送元アカウントが前記識別された量の前記ゲーム内仮想資産を少なくとも所有していることを識別することによって前記対象の転送が有効であることを検証することと、
前記ブロックチェーン台帳の最新のブロックの一部のハッシュを生成することと、
新しいブロックの新しいブロックヘッダを生成することであって、前記新しいブロックヘッダが前記ブロックチェーン台帳の前記最新のブロックの前記一部の前記ハッシュを少なくとも含む、前記生成することと、
前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイス
の両方が前記ビデオゲームの前記コードを格納し、前記両方が前記ビデオゲームを実
行する権限を与えられていること
と、前記転送元アカウント及び前記転送先アカウントの両方が前記ビデオゲームの前記仮想環境内のゲームプレイに関与する権限を与えられていることとを検証したことに応答して前記新しいブロックを生成することであって、前記新しいブロックが、前記対象の転送及び前記新しいブロックヘッダを少なくとも含む、前記生成することと、
前記対象の転送
が有効であることを検証したことに応答して前記ブロックチェーン台帳の前記複数のブロックに前記新しいブロックを付加することと、
前記対象の転送
が有効であることを検証したことに応答して前記ブロックチェーン台帳をそれぞれ格納する前記複数のコンピューティングデバイスに前記新しいブロックを送信することであって、前記複数のコンピューティングデバイスのそれぞれも、前記新しいブロックを前記ブロックチェーン台帳の各コピーに付加し、それによって前記対象の転送を完了させ、前記転送先アカウントに関連付けられた前記デバイスが前記ビデオゲーム内の前記ゲーム内仮想資産を使用することを可能にする、前記送信することと、
を含む、方法。
【請求項2】
前記新しいブロックが、前記対象の転送以外の1つ以上の追加の対象の転送も含み、前記対象の転送及び前記1つ以上の追加の対象の転送が全て所定の期間内に発生した、請求項1に記載の方法。
【請求項3】
前記対象の転送及び前記1つ以上の追加の対象の転送を使用してマークルルートを生成することをさらに含み、前記新しいブロックヘッダが前記マークルルートも含む、請求項2に記載の方法。
【請求項4】
前記対象の転送以外の前記1つ以上の追加の対象の転送を識別する情報を受信することと、
1つ以上の追加のゲーム内仮想資産量のセットのそれぞれが、1つ以上の追加の転送元アカウントのセットのそれぞれによって所有されていることを検証することによって前記対象の転送以外の前記1つ以上の追加の対象の転送が有効であることを検証することと、をさらに含む、請求項2に記載の方法。
【請求項5】
前記対象の転送及び前記1つ以上の追加の対象の転送が完了した後に負でない量の前記ゲーム内仮想資産を前記転送元アカウントが保有していることを識別することによって前記1つ以上の追加の対象の転送のいずれもが前記対象の転送に矛盾しないことを検証することをさらに含む、請求項2に記載の方法。
【請求項6】
前記新しいブロックが、前記ブロックチェーン台帳の前記最新のブロックの生成に関連付けられた以前の検証者アカウントのための報酬の発行をさらに識別する、請求項1に記載の方法。
【請求項7】
前記転送元アカウントに対応する公開鍵を抽出することと、
前記転送元アカウントに対応する前記公開鍵を使用して、前記メッセージの暗号化されたデジタル署名部分を復号することと、
前記メッセージの前記暗号化されたデジタル署名部分の復号が成功したことに基づき、前記メッセージの前記暗号化されたデジタル署名部分が前記転送元アカウントに関連付けられた秘密鍵を使用して暗号化されたことを検証することと、
前記メッセージの前記暗号化されたデジタル署名部分が前記転送元アカウントに関連付けられた前記秘密鍵を使用して暗号化されたことの検証に基づき、前記メッセージが前記転送元アカウントを介して生成されたことを検証することと、
をさらに含む、請求項1に記載の方法。
【請求項8】
前記新しいブロックヘッダがナンス値も含む、請求項1に記載の方法。
【請求項9】
前記新しいブロックを生成する前に前記新しいブロックの以前のバージョンを生成することであって、前記新しいブロックの前記以前のバージョンが、前記ナンス値以外の以前のナンス値を含む前記新しいブロックヘッダの以前のバージョンを含む、前記生成することと、
前記新しいブロックの前記以前のバージョンの一部のハッシュを生成することと、
前記新しいブロックの前記以前のバージョンの前記一部の前記ハッシュが所定の数値の難度目標値よりも大きいことを識別することと、
前記新しいブロックを生成した後に前記新しいブロックの一部のハッシュを生成することと、
前記新しいブロックの前記一部の前記ハッシュが前記所定の数値の難度目標値よりも小さいことを識別することと、
をさらに含む、請求項8に記載の方法。
【請求項10】
第1の所定の期間中の採掘の難度に対応する第1の数値の難度目標値を格納することと、
前記第1の所定の期間が終了したことを識別することと、
前記第1の所定の期間を、前記第1の所定の期間中に発生した所定の数の転送の合計採掘時間で割ることによって採掘効率比を計算することと、
前記第1の数値の難度目標値に前記採掘効率比を掛けることによって第2の数値の難度目標値を計算することであって、前記第2の数値の難度目標値が第2の所定期間中の採掘の難度に対応する、前記計算することと、
前記第1の所定の期間が開始したことを識別することと、
をさらに含む、請求項1に記載の方法。
【請求項11】
前記ゲーム内仮想資産がゲーム内通貨であり、前記転送先アカウントに関連付けられた前記プレイヤーが、前記ゲーム内通貨以外の1つ以上の追加のゲーム内資産と前記ゲーム内通貨を前記ビデオゲーム内で交換することによって前記ゲーム内通貨を前記ビデオゲーム内で使用する、請求項1に記載の方法。
【請求項12】
前記ゲーム内仮想資産がゲーム内アイテムであり、前記転送先アカウントに関連付けられた前記プレイヤーが、前記ゲームプレイを修正するために前記ゲーム内アイテムを前記ビデオゲーム内で使用する、請求項1に記載の方法。
【請求項13】
前記ブロックチェーン台帳が、前記ビデオゲームにのみ関連付けられた複数の転送を識別し、前記複数の転送のそれぞれが、1つ以上のゲーム内仮想資産のセットのうちの少なくとも1つの転送であり、1つ以上のゲーム内仮想資産の前記セットが前記ゲーム内仮想資産を含む、請求項1に記載の方法。
【請求項14】
前記ブロックチェーン台帳が、特定の種類のビデオゲームコンソールと互換性がある1つ以上のビデオゲームのセットに関連付けられた複数の転送を識別し、1つ以上のビデオゲームの前記セットが前記ビデオゲームを含み、前記複数のコンピューティングデバイスのそれぞれが前記特定の種類のビデオゲームコンソールであり、前記複数の転送のそれぞれが、1つ以上のゲーム内仮想資産のセットのうちの少なくとも1つの転送であり、1つ以上のゲーム内仮想資産の前記セットが前記ゲーム内仮想資産を含む、請求項1に記載の方法。
【請求項15】
前記転送元アカウントが、前記ビデオゲームの前記仮想環境内の第1の仮想位置を表し、前記転送先アカウントが、前記ビデオゲームの仮想環境内の第2の仮想位置を表し、前記識別された量の前記ゲーム内仮想資産の前記転送元アカウントから前記転送先アカウントへの転送が、前記識別された量の前記ゲーム内仮想資産の前記ビデオゲームの前記仮想環境内の前記第1の仮想位置から前記第2の仮想位置への移動を表す、請求項1に記載の方法。
【請求項16】
複数のコンピューティングデバイスを含む分散型アーキテクチャを介してゲーム内仮想資産転送を管理するためのシステムであって、
命令と、複数のブロックを含むブロックチェーン台帳とを少なくとも格納する非一時的コンピュータ可読ストレージ媒体であって、前記複数のコンピューティングデバイスのそれぞれも前記ブロックチェーン台帳のコピーを格納する、前記非一時的コンピュータ可読ストレージ媒体と、
対象の転送を識別するメッセージを受信し、新しいブロックを前記複数のコンピューティングデバイスに送信するネットワーク通信トランシーバであって、前記対象の転送が、識別された量のゲーム内仮想資産の転送元アカウントから転送先アカウントへの転送に対応し、前記識別された量の前記ゲーム内仮想資産が、前記転送元アカウントに関連付けられたプレイヤーによる前記転送元アカウントに関連付けられたデバイスを使用したビデオゲームの仮想環境内のゲームプレイを介して取得され、前記対象の転送の完了時に前記転送先アカウントに関連付けられたプレイヤーによって前記転送先アカウントに関連付けられたデバイスを使用して前記ビデオゲーム内で使用される、前記ネットワーク通信トランシーバと、
前記命令を実行する1つ以上のプロセッサであって、前記1つ以上のプロセッサを介した前記命令の実行により、前記1つの以上のプロセッサに、
前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイス
の両方が前記ビデオゲームのコードを格納し、前記両方が前記ビデオゲームの
前記コードを実行する権限を与えられていることと、前記転送元アカウント及び前記転送先アカウント
の両方が前記ビデオゲームの前記仮想環境内のゲームプレイに関与する権限を与えられていることとを検証することと、
前記ブロックチェーン台帳内の前記複数のブロックのうちの少なくとも1つに基づき、前記転送元アカウントが前記識別された量の前記ゲーム内仮想資産を少なくとも所有していることを識別することによって前記対象の転送が有効であることを検証することと、
前記ブロックチェーン台帳の最新のブロックの一部のハッシュを生成することと、
新しいブロックの新しいブロックヘッダを生成することであって、前記新しいブロックヘッダが前記ブロックチェーン台帳の前記最新のブロックの前記一部の前記ハッシュを少なくとも含む、前記生成することと、
前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイス
の両方が前記ビデオゲームの前記コードを格納し、前記両方が前記ビデオゲームを実
行する権限を与えられていること
と、前記転送元アカウント及び前記転送先アカウントの両方が前記ビデオゲームの前記仮想環境内のゲームプレイに関与する権限を与えられていることとを検証したことに応答して前記新しいブロックを生成することであって、前記新しいブロックが、前記対象の転送及び前記新しいブロックヘッダを少なくとも含む、前記生成することと、
前記対象の転送
が有効であることを検証したことに応答して前記ブロックチェーン台帳の前記複数のブロックに前記新しいブロックを付加することであって、前記複数のコンピューティングデバイスのそれぞれも、前記ネットワーク通信トランシーバによる前記複数のコンピューティングデバイスへの前記新しいブロックの送信に応答して前記ブロックチェーン台帳の各コピーに前記新しいブロックを付加し、それによって前記対象の転送を完了させ、前記転送先アカウントに関連付けられた前記デバイスが前記ビデオゲーム内の前記ゲーム内仮想資産を使用することを可能にする、前記付加することと、を行わせる、前記1つ以上のプロセッサと、
を含む、システム。
【請求項17】
前記非一時的コンピュータ可読ストレージ媒体が前記ビデオゲームも格納し、前記複数のコンピューティングデバイスのそれぞれも前記ビデオゲームを格納する、請求項16に記載のシステム。
【請求項18】
前記非一時的コンピュータ可読ストレージ媒体が、前記ビデオゲーム以外の第2のビデオゲームも格納し、前記複数のコンピューティングデバイスのそれぞれが、少なくとも前記ビデオゲーム及び前記第2のビデオゲームと互換性がある特定の種類のビデオゲームコンールである、請求項16に記載のシステム。
【請求項19】
複数のコンピューティングデバイスを含む分散型アーキテクチャを介して管理されるゲーム内仮想資産を転送する方法であって、
複数のブロックを含むブロックチェーン台帳を第1のコンピューティングデバイス上に格納することであって、前記第1のコンピューティングデバイス以外の複数のコンピューティングデバイスのそれぞれも前記ブロックチェーン台帳のコピーを格納する、前記格納することと、
転送元アカウントに関連付けられた第1のコンピューティングデバイスのユーザインタフェースを介して入力を受信することであって、前記入力が、識別された量のゲーム内仮想資産の前記転送元アカウントから転送先アカウントへの転送に対応する対象の転送を識別し、前記識別された量の前記ゲーム内仮想資産が、前記転送元アカウントに関連付けられたプレイヤーによる前記転送元アカウントに関連付けられたデバイスを使用したビデオゲームの仮想環境内のゲームプレイを介して取得され、前記対象の転送の完了時に前記転送先アカウントに関連付けられたプレイヤーによって前記転送先アカウントに関連付けられたデバイスを使用して前記ビデオゲーム内で使用される、前記受信することと、
前記対象の転送を識別するメッセージを生成することと、
前記転送元アカウントに関連付けられた秘密鍵を抽出することと、
前記メッセージの少なくとも一部を前記秘密鍵を用いて暗号化することによって前記メッセージを修正することと、
前記第1のコンピューティングデバイスから前記第1のコンピューティングデバイス以外の前記複数のコンピューティングデバイスに前記メッセージを送信することであって、前記複数のコンピューティングデバイスの第2のコンピューティングデバイスが、前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイス
の両方が前記ビデオゲームのコードを格納し、前記両方が前記ビデオゲームの
前記コードを実行する権限を与えられていることと、前記転送元アカウント及び前記転送先アカウント
の両方が前記ビデオゲームの前記仮想環境内のゲームプレイに関与する権限を与えられていることとを検証し、前記ブロックチェーン台帳内の前記複数のブロックのうちの少なくとも1つに基づき、前記転送元アカウントが前記識別された量の前記ゲーム内仮想資産を少なくとも所有していることを識別することによって前記対象の転送が有効であることを検証する、前記送信することと、
前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイスの両方が前記ビデオゲームの前記コードを格納し、前記両方が前記ビデオゲームを実行する権限を与えられていることと、前記転送元アカウント及び前記転送先アカウントの両方が前記ビデオゲームの前記仮想環境内のゲームプレイに関与する権限を与えられていることとを検証したことに応答して前記第1のコンピューティングデバイスにて前記第2のコンピューティングデバイスから新しいブロックを受信することであって、前記新しいブロックが前記対象の転送を識別する、前記受信することと、
前記第1のコンピューティングデバイスにて前記新しいブロックを前記ブロックチェーン台帳の前記複数のブロックに付加することであって、それによって前記対象の転送を完了させる、前記付加することと、
を含む、方法。
【請求項20】
前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイス
の両方が前記ビデオゲームのコードを格納し、前記両方が前記ビデオゲームの
前記コードを実行する権限を与えられていることと、前記転送元アカウント及び前記転送先アカウント
の両方が前記ビデオゲームの前記仮想環境内のゲームプレイに関与する権限を与えられていることとを検証することは、前記転送元アカウントに関連付けられた前記デバイス及び前記転送先アカウントに関連付けられた前記デバイスがそれぞれ前記ビデオゲームの実行及びゲームプレイに関連付けられた1つ以上のゲームファイルを格納していることを検証することを含む。請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
主題の技術の態様は、ブロックチェーンベースのビデオゲーム管理に関連し、特に、ゲーム内の資産、通貨、特典及び他のビデオゲームデータの取引を自動的かつ安全に管理及び追跡するための分散型ブロックチェーンベースのプラットフォームに関する。
【背景技術】
【0002】
ビデオゲームは、コンピューティングデバイスに結合されたユーザインタフェースとプレイヤーが対話して、テレビ画面またはコンピュータモニタなどの視覚的出力デバイスを介してコンピューティングデバイスに視覚的フィードバックを生成させる電子ゲームである。ビデオゲームの典型的なユーザインタフェースには、アーケードジョイスティック、ビデオゲームコンソールコントローラ、コンピュータキーボード、コンピュータマウス及びタッチ感応表面が含まれる。
【0003】
一部のビデオゲームは、競争的または協調的なマルチプレイヤーゲームプレイを特徴とする。これは、複数のプレイヤーが同一のビデオゲームを同時にプレイすることを意味し、通常、各プレイヤーは自分のユーザインタフェースを有する。「ローカル」マルチプレイヤーの間、異なるプレイヤーの異なるユーザインタフェースが全て単一のコンピューティングデバイスに接続される。ローカルエリアネットワーク(LAN)マルチプレイヤーまたはオンラインマルチプレイヤーの間、異なるプレイヤーは、それぞれ、異なるコンピューティングデバイスを使用し、それらのコンピューティングデバイスは、次に、LANを介して、またはインターネット経由で対話する。
【0004】
ビデオゲームをプレイしているプレイヤーは、多くの場合、例えば、環境を探索したり、様々な目標を達成したりすることでゲームを進めることができる。次に、プレイヤーは、プレイヤーに対応するアカウントにゲームを保存して、プレイヤーが再びプレイに戻ったときに進行状況が失われないようにすることができる。一部のビデオゲームでは、プレイヤーは仮想のゲーム内資産を取得することができ、次に、それらの資産はプレイヤーのアカウントに保存される。例えば、プレイヤーは、ゲームプレイ中に特定の武器、装備、環境または乗り物をアンロックする場合がある。一部のゲームでは、プレイヤーは、ゲームプレイ中に仮想のゲーム内通貨を取得することもでき、次に、プレイヤーは、ゲームプレイ中にその通貨をゲーム内資産と交換することができる。
【0005】
従来、ゲーム内資産及びゲーム内通貨をあるプレイヤーから別のプレイヤーに転送することは不可能であった。近年、オンラインマルチプレイヤー機能を備えた少数のビデオゲームでは、ゲーム内資産を制限付きで転送することが可能になり始めたが、通常、取引が有効かつ公正であることを保証するために、個々のゲームに関連付けられた集中型サーバが仲介として使用される。ただし、これらの転送方法には大きな問題がある。集中型サーバは、信頼性及び安全性に影響を与え、競合状態及び性能の問題に左右される単一障害点を表す。集中型サーバがクラッシュしたり、不適切な時間でオフラインになったり、不適切な時間でネットワーク帯域幅が不足したりすることは、転送が失敗したり、ゲーム内資産が転送中に失われたりすることを意味し得る。同様に、ハッカーまたは悪意のある当事者によって侵害された集中型サーバは、ユーザを詐欺し、盗難及びサイバー攻撃の手口になる可能性がある。仮想的なゲーム内資産の真正性及び所有権を管理することも困難である可能性があり、異なる集中型サーバが、同一の記録を格納していない場合や、一致しない記録を有する場合がある。データストレージは、集中型サーバに関係し、過去の取引の記録が、スペースを解放するために時間の経過とともに意図的に失われるか、またはデータの破損もしくはサーバの障害によって意図せずに失われることの要因になる可能性もある。記録管理が不十分だと、不正行為の問題が悪化する。最近のニュースレポートは、サイバー犯罪者がゲーム内資産の取引を通じてマネーを洗浄することに注力しており、セキュリティ及び優れた記録管理がますます重要になっていることを示している。
【0006】
ビットコインなどの暗号通貨は、最近開発されたブロックチェーン台帳技術に基づいている。このブロックチェーン台帳技術では、全ての取引の分散型台帳が維持され、当事者間のセキュリティの向上がもたらされる。これまで、ブロックチェーン台帳技術は、主に金融の世界にとどまっていた。
【0007】
従って、ゲーム内資産、ゲーム内通貨及び他のビデオゲームデータを転送するために、より安全で、信頼性が高く、かつ分散型の技術が必要とされる。
【図面の簡単な説明】
【0008】
【
図1A】分散型ブロックチェーン台帳がゲーム毎に保持されるネットワーク環境を示す。
【0009】
【
図1B】分散型ブロックチェーン台帳がプラットフォーム全体毎に保持されるネットワーク環境を示す。
【0010】
【
図1C】異なる種類の分散型ブロックチェーン台帳がプラットフォーム管理サーバを介して保持及び管理されるネットワーク環境を示す。
【0011】
【
図2A】あるプレイヤーアカウントから別のプレイヤーアカウントへのゲーム内資産の転送を伝えるブロックチェーン取引を示す。
【0012】
【
図2B】あるプレイヤーアカウントから別のプレイヤーアカウントへのある量のゲーム内通貨の転送を伝えるブロックチェーン取引を示す。
【0013】
【
図2C】プラットフォームサーバからプレイヤーアカウントへの特典の転送を伝えるブロックチェーン取引を示す。
【0014】
【
図2D】ゲーム内環境の第1の位置からゲーム内環境の第2の位置へのゲーム内資産のゲーム内移動を伝えるブロックチェーン取引を示す。
【0015】
【
図2E】トーナメントにおけるプレイヤーの勝ち/負け履歴を伝えるブロックチェーン取引を示す。
【0016】
【
図2F】ヘルスまたはコインの数などの、特定のプレイヤーに固有のゲーム内価値を伝えるブロックチェーン取引を示す。
【0017】
【
図3】分散型ゲーム内転送機能を実装するブロックチェーン台帳の一部を示す。
【0018】
【
図4】ゲーム内転送取引を実現し、その取引をブロックチェーン台帳に追加するための操作を示すフロー図である。
【0019】
【
図5】ブロックチェーン台帳を使用してゲーム内転送取引を保護するためのマークルツリーの図である。
【0020】
【
図6】分散型の有向非循環グラフ(DAG)台帳を示す。
【0021】
【
図7】異なる種類のクライアントデバイスが分散型ブロックチェーン台帳を介したゲーム内転送に参加するネットワーク環境を示す。
【0022】
【
図8】主題の技術のいくつかの態様を実装するために使用され得る例示的なコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0023】
複数のビデオゲームコンソールは、それぞれ、特定のビデオゲームに、またはビデオゲームコンソールがそれぞれ特徴付けられる特定の種類のビデオゲームコンソールに関連付けられた、複数のブロックを有するブロックチェーン台帳を格納する。コンソールのうちの1つは、識別された量のゲーム内仮想資産の転送元アカウントから転送先アカウントへの転送に対応する対象の取引を識別するメッセージを受信する。コンソールは、対象の取引が有効であることを検証し、その取引、任意選択で1つ以上の追加の検証済みの対象の取引、及びブロックチェーン台帳内の最新ブロックのヘッダのハッシュ(または代替的/追加的に最新のブロック全体のハッシュ)を含むブロックヘッダ、を含む新しいブロックを生成する。コンソールは、新しいブロックをブロックチェーン台帳に付加し、それを他のコンソールに送信する。他のコンソールも、それぞれ、新しいブロックをブロックチェーン台帳のコピーに付加し、それによって取引を完了させる。
【0024】
図1Aは、分散型ブロックチェーン台帳がゲーム毎に保持されるネットワーク環境を示す。
【0025】
図1Aのネットワーク環境は、3つのクライアントデバイス110、具体的には、第1のクライアントデバイス110A、第2のクライアントデバイス110B及び第3のクライアントデバイス110Cを含む。
図1Aの3つのクライアントデバイス110のそれぞれは、ビデオゲームA 120A及びビデオゲームA固有のブロックチェーン台帳125Aを格納する。
【0026】
図1Aの3つのクライアントデバイス110のそれぞれは、ビデオゲームA 120A及び任意選択で複数の他のビデオゲームと互換性がある特定の種類のビデオゲームコンソールである。特定の種類のビデオゲームコンソールは、
図8に示され、またはこの図に関して述べたような1つ以上のコンピューティングデバイス800を含み、または1つ以上のコンピューティングデバイス800の構成要素のサブセットを少なくとも含んでもよい。
【0027】
図1Aのネットワーク環境は、任意選択でネットワークハードウェア105を含む。このネットワークハードウェアは、1つ以上のルータ、サーバ、ゲートウェイ、ネットワークブリッジ、モデム、無線アクセスポイント、ネットワークケーブル、ラインドライバ、スイッチ、ハブ、リピータ、またはこれらの組み合わせを含んでもよい。
【0028】
第1のクライアントデバイス110Aと第2のクライアントデバイス110Bとは通信経路160を介して通信することができる。第2のクライアントデバイス110Bと第3のクライアントデバイス110Cとは通信経路165を介して通信することができる。第1のクライアントデバイス110Aと第3のクライアントデバイス110Cとは通信経路170を介して通信することができる。通信経路160、165及び170のそれぞれは、あるクライアントデバイス110から別のクライアントデバイス110への直接通信であってもよく、または任意選択でネットワークハードウェア105を通過してもよい。通信経路160、165及び170のそれぞれは、公衆インターネットを通過してもよく、無線もしくは有線のローカルエリアネットワーク(LAN)もしくはこれらのいくつかの組み合わせに制限されてもよく、または無線もしくは有線のパーソナルエリアネットワーク(PAN)もしくはこれらのいくつかの組み合わせに制限されてもよい。
【0029】
ブロックチェーン台帳は、公衆または私用のピアツーピアネットワークにわたって共有されたデジタル台帳を含む。これらのデジタル台帳は、改ざん防止され、転送元が仮想資産を転送先に送信する取引を記録する。ネットワーク内の全てのノードに分散される台帳は、
図4に示され、この図に関して述べたプロセスを介して、ネットワーク内の全てのピアにわたって行われる検証済みの取引の履歴を永続的に格納する。
【0030】
ブロックチェーン台帳は複数のブロックを含む。これらのブロックは、それぞれ、1つ以上の取引を識別し、例えば、
図3に示され、この図に関して説明されたようにブロックチェーン内の前のブロックのヘッダのハッシュを各ブロックのヘッダに含めることにより、ブロックチェーン内の前のブロックも参照する。前のブロックのヘッダのハッシュを含むことにより、特定のブロックに対して何らかの変更がなされると次のブロック内のブロックのハッシュが不正確になるため、ブロックがブロックチェーンに入力された後にブロックチェーンの任意のブロックの修正を防ぐことによってブロックチェーン台帳が保護される。さらに、次のブロック内のそのブロックのハッシュを修正すると、次のブロックの後のブロック内の次のブロックのハッシュが不正確になり、以下同様である。
【0031】
ブロックの1つ以上の取引のマークルルートは、新しいブロック内の取引の修正を防ぐために、
図5に示され、この図に関して述べたように同一の、または異なるハッシュアルゴリズムを使用して生成され得る。
【0032】
前のブロックのハッシュ及びマークルルートのハッシュは、ハッシュアルゴリズムを使用して生成される。このハッシュアルゴリズムは、任意選択で、SHA-0、SHA-1、SHA-2、SHA-3、SHA-N、SHA-128、SHA-192、SHA-256、SHA-512、SHA-224、SHA-384、SHA-512/224、SHA-512/256、SHA3-224、SHA3-256、SHA3-384、SHA3-512、SHAKE128、またはこれらの1つ以上の変形もしくは組み合わせなどのセキュアハッシュアルゴリズム(SHA)であってもよい。
【0033】
図1Aのゲーム固有のブロックチェーン台帳125Aは、ビデオゲームA 120Aに固有である。すなわち、
図1Aのゲーム固有のブロックチェーン台帳125Aは、ビデオゲームA 120Aに関与するゲーム内仮想資産の取引を格納する。ビデオゲームA 120Aに関与するゲーム内仮想資産は仮想資産として定義され得る。この仮想資産は、ビデオゲームA 120Aのゲームプレイ中に得られるか、ビデオゲームA 120A内のゲーム内仮想通貨と引き換えに取得されるか、アプリ内購入(IAP)もしくはダウンロード可能なコンテンツ(DLC)を介してビデオゲームA 120Aを通じて購入もしくは他の場合には取得されるか、ビデオゲームA 120Aのゲームプレイを修正するために使用可能であるか、またはこれらの組み合わせである。ゲーム固有のブロックチェーン125Aは、ビデオゲームA 120Aに関与するゲーム内仮想資産の取引を識別/列挙/追跡することのみに限定されてもよく、または場合によっては、ビデオゲームA 120A自体のコピーの購入もしくは転送、個々のビデオゲームA 120Aではなくビデオゲームプラットフォームに紐付けられたギフトカードもしくは他の仮想通貨の購入もしくは使用に関与する取引、続編もしくは前編などのビデオゲームA 120Aに関連するゲームに関与するゲーム内仮想資産の取引、もしくはこれらの組み合わせなどの、他の種類の取引を識別/列挙/追跡してもよい。
【0034】
図1Aのゲーム固有のブロックチェーン台帳125Aは、場合によっては、ビデオゲームA 120Aのコピーを保存/処理するクライアントデバイス110/ユーザアカウント、ビデオゲームA 120Aのコピーにアクセスする権限を与えられたクライアントデバイス110/ユーザアカウント、ビデオゲームA 120Aのコピーを実行する権限を与えられたクライアントデバイス110/ユーザアカウント、ビデオゲームA 120Aのコピーを少なくとも所定の回数(例えば、少なくとも1回)実行したクライアントデバイス110/ユーザアカウント、またはこれらの組み合わせによってのみ格納及び/または維持されてもよい。
【0035】
そのような場合、
図4のステップ420及び425に関して述べたものなどの「採掘者」クライアントデバイス110は、転送元アカウントが、ビデオゲームA 120Aのコピーを格納/所有していること、ビデオゲームA 120Aのコピーにアクセスする権限を与えられていること、ビデオゲームA 120Aのコピーを実行する権限を与えられていること、ビデオゲームA 120Aのコピーを少なくとも所定の回数実行したこと、またはこれらの組み合わせを検証することにより、取引が部分的に有効であることを検証してもよい。このような「採掘者」クライアントデバイス110は、転送先アカウントが、ビデオゲームA 120Aのコピーを格納/所有していること、ビデオゲームA 120Aのコピーにアクセスする権限を与えられていること、ビデオゲームA 120Aのコピーを実行する権限を与えられていること、ビデオゲームA 120Aのコピーを少なくとも所定の回数実行したこと、またはこれらの組み合わせを検証することにより、取引が部分的に有効であることを検証してもよい。最後に、このような「採掘者」クライアントデバイス110は、場合によっては、「採掘者」クライアントデバイス110及び/または「採掘者」クライアントデバイス110に関連付けられたユーザアカウントが、ビデオゲームA 120Aのコピーを格納/所有しているか、ビデオゲームA 120Aのコピーにアクセスする権限を与えられているか、ビデオゲームA 120Aのコピーの実行する権限を与えられているか、ビデオゲームA 120Aのコピーを少なくとも所定の回数実行したか、またはこれらの組み合わせである場合、取引の検証に参加することが許容されるに過ぎない。
【0036】
図1CのビデオゲームB 120Bに対応するゲーム固有のブロックチェーン台帳125Bによって明らかなように、異なるゲーム固有のブロックチェーン台帳125が異なるゲームに対応するように生成されてもよい。各ゲーム固有のブロックチェーン台帳125は、
図2A~2Fにおいて識別される任意の種類の取引のための台帳であってもよく、または代替的に、それらの種類の取引のサブセットに限定されてもよい。
【0037】
図1Bは、分散型ブロックチェーン台帳がプラットフォーム全体毎に保持されるネットワーク環境を示す。
【0038】
図1Bのプラットフォーム固有のブロックチェーン台帳115は、
図1Aのゲーム固有のブロックチェーン台帳12と同様であるが、特定のビデオゲームプラットフォーム上で実行される複数のゲームに関連付けられた取引を識別し得る。例えば、
図1Bでは、クライアントデバイス110D及び110FはビデオゲームA 120Aを格納しているが、クライアントデバイス110Eは代わりにビデオゲームB 120Bを格納している。これにもかかわらず、クライアントデバイス110D、110E及び110Fは全て、プラットフォームブロックチェーン115を格納している。その理由は、ビデオゲームA 120AとビデオゲームB 120Bとが共に、クライアントデバイス110D、110E及び110Fを含む同一のビデオゲームプラットフォームと互換性があるためである。本明細書で述べたビデオゲームプラットフォームは、特定の種類のビデオゲームコンソールの複数のインスタンスを、任意選択で関連ネットワークハードウェア105と共に含んでもよい。
【0039】
例えば、プラットフォーム固有のブロックチェーン台帳115は、
図1Bの状況ではクライアントデバイス110となる複数のPlaystation(登録商標)4コンソールシステム上に格納されてもよく、これらによって管理されてもよい。プラットフォーム固有のブロックチェーン台帳115は、任意選択で、サーバ(このサーバは、
図1Bの状況ではクライアントデバイス100でもあり得る)、及びPlaystation(登録商標)4用のPlaystation(登録商標)PlusオンラインネットワークサービスなどのPlaystation(登録商標)4コンソールシステムに関連付けられたネットワークサービスを実行する他のネットワークハードウェア105上に格納されてもよく、これらによって管理されてもよい。より旧式のPlaystation(登録商標)3コンソールシステムまたはポータブルなPlaystation(登録商標)Vitaポータブルコンソールシステムなどの他の種類のクライアントデバイス100は、
図1Bのプラットフォーム固有のブロックチェーン台帳115への参加から明確に除外される場合があり、代わりに、それら自体の別個の各プラットフォーム固有のブロックチェーン台帳115を格納及び管理する場合がある。プラットフォーム固有のブロックチェーン台帳115は、追加的に、ブロックチェーン台帳機能をサポートするSony(登録商標)クライアントデバイス100、Playstation(登録商標)home及び/もしくはポータブルコンソール、Playstation(登録商標)Plusオンラインネットワークサービスをサポートするクライアントデバイス100、またはこれらの組み合わせなどの、特定のブランド(複数可)もしくはメーカー(複数可)の特定のクライアントデバイス100を含んでもよく、かつ/またはそのようなクライアントデバイスに限定されてもよい。プラットフォーム固有のブロックチェーン台帳115は、追加的に、特定の店舗種別で販売されるクライアントデバイス100、特定の店舗場所で販売されるクライアントデバイス100、一般的にオンラインで購入されるクライアントデバイス100、固有のウェブサイトを通じてオンラインで購入されるクライアントデバイス100、特定の地域に位置するクライアントデバイス100、特定の地域で購入/販売されるクライアントデバイス100、またはこれらの組み合わせなどの、場所または購入方法に基づく特定のクライアントデバイス100を含んでもよく、かつ/またはそのようなクライアントデバイスに限定されてもよい。地域は、国、都市、郡、州、大陸、選挙区、他の予め定義済みの境界、またはこれらの組み合わせによって定義されてもよい。
【0040】
プラットフォーム固有のブロックチェーン台帳115は、特定の種類のクライアントデバイス100を明示的に除外してもよい。例えば、プラットフォーム固有のブロックチェーン台帳115は、ポータブルビデオゲームコンソールデバイスまたは家庭用ビデオゲームコンソールデバイスなどのデバイスのカテゴリを除外してもよい。プラットフォーム固有のブロックチェーン台帳115は、追加的に、Nintendo(登録商標)もしくはMicrosoft(登録商標)のビデオゲームコンソールクライアントデバイス100などの特定のブランド(複数可)もしくはメーカー(複数可)のクライアントデバイス100、ブロックチェーン台帳機能をサポートするには古すぎるか、もしくは他の場合にはブロックチェーン台帳機能をサポートしないクライアントデバイス100、Playstation(登録商標)Plusオンラインネットワークサービスなどの特定のオンラインネットワークサービスへのアクセスを持たないか、もしくはそのようなアクセスをサポートしないクライアントデバイス100、またはこれらの組み合わせを除外してもよい。プラットフォーム固有のブロックチェーン台帳115は、追加的に、特定の店舗種別で販売されるクライアントデバイス100、特定の店舗場所で販売されるクライアントデバイス100、一般にオンラインで購入されるクライアントデバイス100、固有のウェブサイトを通じてオンラインで購入されるクライアントデバイス100、特定の地域に位置するクライアントデバイス100、特定の地域で購入/販売されるクライアントデバイス100、またはこれらの組み合わせなどの、場所または購入方法に基づく特定のクライアントデバイス100を除外してもよい。地域は、国、都市、郡、州、大陸、選挙区、他の予め定義済みの境界、またはこれらの組み合わせによって定義されてもよい。
【0041】
どのクライアントデバイス100がブロックチェーン台帳115への参加もしくはその格納に含まれ得るか、またはそれらから除外され得るかを識別する上記の段落は、ゲーム固有のブロックチェーン台帳125にも適用され得ることが留意されるべきである。この状況における参加は、転送元としての参加、転送先としての参加、採掘者/検証者としての参加、ブロックチェーン台帳125/115の少なくとも一部を単に格納するクライアントデバイス100としての参加、またはこれらの組み合わせに関係し得る。
【0042】
そのような場合、
図4のステップ420及び425に関して述べたものなどの「採掘者」クライアントデバイス110は、転送元アカウント及び/もしくは転送元アカウントに関連付けられたクライアントデバイス100が上述したようにプラットフォームの使用/プラットフォームへのアクセスを許可されていることを検証することにより、転送先アカウント及び/もしくは転送先アカウントに関連付けられたクライアントデバイス100が上述したようにプラットフォームの使用/プラットフォームへのアクセスを許可されていることを検証することにより、「採掘者」クライアントデバイス110及び/もしくは「採掘者」クライアントデバイス110に関連付けられたユーザアカウントが上述したようにプラットフォームの使用/プラットフォームへのアクセスを許可されていることを検証することにより、またはこれらの組み合わせにより、取引が部分的に有効であることを検証してもよい。
【0043】
プラットフォーム固有のブロックチェーン台帳115は、ゲーム固有のブロックチェーン台帳125に関して述べたものと同一の種類の取引を格納/管理してもよい。ただし、プラットフォーム固有のブロックチェーン台帳115は、場合によっては、ゲーム固有のブロックチェーン台帳125を既に有するゲームに固有のゲーム内資産以外の仮想資産の取引に限定されてもよい。例えば、ビデオゲームA 120Aが、対応するゲーム固有のブロックチェーン台帳125Aを使用していることをクライアントデバイス100が検出した場合、このクライアントデバイスは、プラットフォーム固有のブロックチェーン台帳115を使用する代わりにゲーム固有のブロックチェーン台帳125Aを使用してビデオゲームA 120Aのための取引を格納及び管理してもよい。ビデオゲームC 120Cが、対応するゲーム固有のブロックチェーン台帳125Cを持たないことをクライアントデバイス100が検出した場合、このクライアントデバイスは、プラットフォーム固有のブロックチェーン台帳115を使用してビデオゲームC 120Cのための取引を格納及び管理してもよい。プラットフォーム固有のブロックチェーン台帳115は、何らかの個々のゲームを通じてではなくプラットフォームを通じて取得された、ビデオゲームの購入もしくは転送、オンラインマルチプレイヤーなどのサービスの購入もしくは転送、クライアントデバイス100を介して再生するための音楽もしくは映画などのメディアの購入もしくは転送、ギフトカードもしくはクレジットの購入もしくは転送、またはこれらの組み合わせなどの、どの特定のビデオゲームにも関係しないが、代わりにビデオゲームプラットフォームに関係する仮想資産のための仮想資産取引にも使用され得る。
【0044】
図1Cは、異なる種類の分散型ブロックチェーン台帳がプラットフォーム管理サーバを介して保持及び管理されるネットワーク環境を示す。
【0045】
図1Cのネットワーク環境は、
図1Aのクライアントデバイス110A及び110B、ならびに
図1Bのクライアントデバイス110D及び110Eを含む。
図1Cのネットワーク環境は、1つ以上のプラットフォーム管理サーバ150及び1つ以上の特典サーバ140も含む。本明細書での単一のプラットフォーム管理サーバ150または単一の特典サーバ140に対するさらなる言及は、それぞれ、複数の単一のプラットフォーム管理サーバ150または複数の特典サーバ140を代替的に指すように理解されるべきである。一部のサーバは、任意選択でプラットフォーム管理サーバ(複数可)150と特典サーバ(複数可)140との両方として機能してもよい。
【0046】
各プラットフォーム管理サーバ150は、ゲーム固有のブロックチェーン台帳125及び/またはプラットフォーム固有のブロックチェーン台帳115を含む、1つ以上のブロックチェーン台帳を含む。例えば、
図1Cのプラットフォーム管理サーバ(複数可)150は、ビデオゲームA 120Aに対応するゲーム固有のブロックチェーン台帳125A、ビデオゲームB 120Bに対応するゲーム固有のブロックチェーン台帳125B、及びプラットフォーム固有のブロックチェーン台帳115を格納する。これらの台帳は、それぞれ、
図1A及び
図1Bに関して示され、説明されたように機能する。
【0047】
図1Cのプラットフォーム管理サーバ150は、ブロックチェーン台帳115/125に対応したアプリケーションプログラミングインタフェース(API)130/135も含む。
【0048】
具体的には、ゲーム呼び出し可能なブロックチェーン台帳API130は、
図1Cのゲーム中心のブロックチェーン台帳125A及び125Bなどのゲーム中心のブロックチェーン台帳125の機能を実施するために、オペレーティングシステム、ビデオゲーム、またはクライアントデバイス110A及び110B上で実行されている他のソフトウェアによって呼び出すことができる。ゲーム呼び出し可能なAPI130は、ゲーム中心のブロックチェーン台帳125が異なるクライアントデバイス110間で標準化された方法で動作することを可能にし、更新が即座に行われることを可能にする。このAPIは、各ゲーム中心のブロックチェーン台帳125の特定の態様を調整及び制御するために、クライアントデバイス110のメーカーまたは開発者などの当事者にある程度の制御及び集中化も提供する。このような制御及び集中化は、他の場合には、通常、ブロックチェーン技術の焦点である非集中化のために失われる。
【0049】
同様に、プラットフォーム呼び出し可能なブロックチェーン台帳API135は、
図1Cのプラットフォーム中心のブロックチェーン台帳115の機能を実施するために、オペレーティングシステム、ビデオゲーム、またはクライアントデバイス110D及び110E上で実行されている他のソフトウェアによって呼び出すことができる。プラットフォーム呼び出し可能なAPI115は、1つ以上のプラットフォーム中心のブロックチェーン台帳115が異なるクライアントデバイス110間で標準化された方法で動作することを可能にし、更新が即座に行われることを可能にする。このAPIは、各プラットフォーム中心のブロックチェーン台帳115の特定の態様を調整及び制御するために、クライアントデバイス110のメーカーまたは開発者などの当事者にある程度の制御及び集中化も提供する。このような制御及び集中化は、他の場合には、通常、ブロックチェーン技術の焦点である非集中化のために失われる。
【0050】
特典サーバ140は、開発者、発行者、メーカー、ソーシャルメディアインフルエンサー、またはクライアントデバイス110に、もしくは特定のビデオゲーム120に関連付けられた他のエンティティに関連付けられたサーバであってもよい。特典サーバ140は、割引、クーポン、プロモーション、マルチプレイヤーゲームのトーナメント賞、特定のゲームの成果に対する報酬、またはこれらの組み合わせなどの特定の「特典」に関連付けられ得る。「特典」は、代替的または追加的に、サブスクリプション、ゲーム、ギフトカード/トークン、映画及びテレビ番組などのデジタルコンテンツの所有権またはレンタルを定めることができる。ユーザがアイテム、ゲーム、ギフトカード/トークン、ビデオ、またはサービスもしくは上記のいずれかに対するサブスクリプションを購入し、レンタルし、ギフトとして受け取り、または他の場合には取得したとき、そのユーザは特典を入手することができる。これらの特典は、同様にブロックチェーン台帳を介して転送されてもよい。
図1Cでは、特典サーバ140は、プラットフォーム固有のブロックチェーン台帳115を使用するためにプラットフォーム呼び出し可能なAPI135を呼び出すものとして示されているが、この特典サーバは、代わりに、または追加的に、ゲーム固有のブロックチェーン台帳130を使用するためにゲーム呼び出し可能なAPI130を任意選択で呼び出すことができる。
【0051】
例えば、ゲーム発行者は、特定の種類のクライアントデバイス110によってプレイされるプラットフォームを介して、任意選択でプラットフォーム管理サーバ(複数可)150を介して特定のビデオゲーム120を発行することと引き換えに100枚の10%割引クーポンを取得してもよい。これら100枚の10%割引クーポンは、発行者に関連付けられた1つ以上のユーザアカウントに、かつ/または発行者に関連付けられた1つ以上の特典サーバ(複数可)140の特定のハードウェアに紐付けられる場合がある。発行者は、そのクーポンのうちの40枚をトーナメントに勝ったプレイヤーに関連付けられたユーザアカウント/クライアントデバイス100に配布する場合がある。発行者は、そのクーポンのうちの30枚を、有名なゲーマーまたはゲームニュース発行などのソーシャルメディアインフルエンサーに関連付けられたユーザアカウント/クライアントデバイス100/特典サーバ140に配布して、彼らが選択するときに使用し、かつ/またはさらに配信できるようにする場合がある。発行者は、そのクーポンのうちの20枚を、ランダムに選択され、任意選択で地理的領域に基づいて限定されたプレイヤーに関連付けられたユーザアカウント/クライアントデバイス100に配布する場合がある。発行者は、そのクーポンのうちの20枚を、特定のレベルをパスした最初のプレイヤーとなったこと、または高得点もしくは最も速い完了時間を達成したことなどの、ビデオゲーム120において特定の成果に到達したプレイヤーに関連付けられたユーザアカウント/クライアントデバイス100に配布する場合がある。
【0052】
場合によっては、特典サーバ140及び/またはプラットフォーム管理サーバ150、またはこのようなサーバに関連付けられた1つ以上のアカウントは、無制限の量の1つ以上の特典または他の仮想資産を含んでもよい。これは、発行者、ソーシャルメディアインフルエンサー、プレイヤーなどに特典を付与することを可能にするためにプラットフォームを所有する会社にとって役立ち得る。これは、ブロックチェーン台帳を使用して、プレイヤー間での仮想資産の転送以外のアクションのためにプレイヤーによって入手されるか、または失われる特定の仮想資産を追跡し続ける場合にも役立ち得る。
【0053】
例えば、
図2Eは、特定のプレイヤーに関連付けられたトーナメントの勝ち及び負けを追跡する。これは、1つ以上のトーナメントにおけるプレイヤーの成績に基づいて必要に応じて増加され得る。勝ちまたは負けのカウントの増加は、無制限の数の「勝ち」及び「負け」を有するサーバ140/150から特定のプレイヤーにそのプレイヤーの成績に基づいて「勝ち」または「負け」を転送したときに実行されてもよい。別の例として、
図2Fは、非常に類似した方法でプレイヤーのヘルス及びコインの数を追跡する。プレイヤーのヘルスまたはコインを減少させるアクションがゲーム内で発生すると、プレイヤーのアカウントは、特定の量のヘルスまたはコインをプレイヤーのアカウントからサーバ140/150に転送し得る。プレイヤーのヘルスまたはコインを増加させるアクションがゲーム内で発生すると、サーバ140は、特定の量のヘルスまたはコインをプレイヤーのアカウントに転送し得る。
【0054】
追加のネットワークハードウェア105は
図1Cに描写されていないが、
図1Cまたは本件の任意の他の図に示され、またはこれらの図に関して述べた任意の通信またはAPI呼び出しは、
図1A、
図1B及び/または
図7に関して述べたような追加のネットワークハードウェア105を通じてルーティングされ得るか、またはこのネットワークハードウェアを通過し得ることが理解されるべきである。
【0055】
図1A、
図1B、
図1C、
図7または本件の任意の他の図に示された各クライアントデバイス110、プラットフォーム管理サーバ150、特典サーバ140、またはネットワークハードウェア105の要素は、
図8に示され、もしくはこの図に関して述べたような1つ以上のコンピューティングデバイス800を含んでもよく、または1つ以上のコンピューティングデバイス800の構成要素のサブセットを少なくても含んでもよい。
【0056】
本明細書で使用される「ユーザアカウント」または「アカウント」という用語は、特定のブロックチェーン台帳、すなわち、公開鍵基盤(PKI)の特定の秘密/公開鍵のペアに関連付けられたエンティティによって見えるようなユーザを指し得る。鍵のペアは、
図4に関してさらに述べたように取引検証に使用されてもよい。各ユーザアカウントの秘密鍵は、ユーザアカウントに関連付けられたクライアントデバイス110上に格納されてもよい。各ユーザアカウントの秘密鍵は、代替的にプラットフォーム管理サーバ(複数可)150上に格納されてもよい。これにより、クライアントデバイス110上に秘密鍵を保持するよりも安全性が劣り得る/非集中化されにくくなり得るが、プレイヤーにとってより使用し易くなり得、PKI暗号化及び証明書に馴染みのないプレイヤーにとって参入障壁がより低くなり得る。公開鍵及びそれに対応するユーザアカウント識別子は、認証局(CA)を介して検証済みで格納されてもよい。場合によっては、プラットフォーム管理サーバ(複数可)150は、認証局(CA)であってもよい。
【0057】
図2Aは、あるプレイヤーアカウントから別のプレイヤーアカウントへのゲーム内資産の転送を伝えるブロックチェーン取引を示す。
【0058】
図2Aの取引210の前の
図2Aのブロックチェーン台帳の第1の状態205は、USER_123が1のゲーム内資産ITEM_ABCを所有している一方、USER_456が0のゲーム内仮想資産ITEM_ABCを所有していることを記述する。
【0059】
図2Aの取引210は、1のゲーム内仮想資産ITEM_ABCがUSER_123からUSER_456に転送されることを記述する。
【0060】
図2Aの取引210の後の
図2Aのブロックチェーン台帳の第2の状態215は、USER_123が0のゲーム内仮想資産ITEM_ABCを現在所有している一方、USER_456が1のゲーム内仮想資産ITEM_ABCを現在所有していることを記述する。
【0061】
図2Aの取引に使用されるブロックチェーン台帳は、
図2AではゲームAのためのゲーム固有のブロックチェーン台帳125であるように記述されているが、このような取引は、プラットフォーム固有のブロックチェーン台帳115を代替的に使用してもよい。
【0062】
図2Bは、あるプレイヤーアカウントから別のプレイヤーアカウントへのある量のゲーム内通貨の転送を伝えるブロックチェーン取引を示す。
【0063】
図2Bの取引225の前の
図2Bのブロックチェーン台帳の第1の状態220は、USER_123が50,000のゲーム内仮想通貨GOLDを所有している一方、USER_456が200のゲーム内仮想通貨GOLDを所有していることを記述する。
【0064】
図2Bの取引225は、1,000のゲーム内仮想通貨GOLDがUSER_123からUSER_456に転送されることを記述する。
【0065】
図2Bの取引225の後の
図2Bのブロックチェーン台帳の第2の状態230は、USER_123が49,000のゲーム内仮想通貨GOLDを現在所有している一方、USER_456が1,200のゲーム内仮想通貨GOLDを現在所有していることを記述する。
【0066】
集中型サーバを介してではなくブロックチェーンベースの技術を介してゲーム内仮想資産/通貨の取引を追跡することのいくつかの技術的利点は、仮想資産/通貨の取引が、ブロックチェーン構造自体内の各ブロックのヘッダの同一性/取引検証及び自己参照的性質のためにより安全であること、全ての記録がダウンタイムまたは単一障害点に関する懸念を伴わずに確実に更新されること、ブロックチェーン台帳が、ビデオゲーム及び/またはビデオゲームプラットフォーム及び/または地域に基づいてカスタマイズ及びパーソナライズ可能であること、分散型アーキテクチャが、負荷の分散のために、帯域幅などのネットワークリソースならびに処理能力及びメモリなどのシステムリソースへの影響を最小限に抑えることである。制御及び管理の高度化などの、集中型サーバのいくつかの利点を非集中型環境にももたらし、両方のネットワークアーキテクチャの技術的利点を有するように、非集中化のこれらの利点を
図1Cに示したサーバ140/150と組み合わせることができる。
【0067】
図2Bの取引に使用されるブロックチェーン台帳は、
図2BではゲームAのためのゲーム固有のブロックチェーン台帳125であるように記述されているが、このような取引は、プラットフォーム固有のブロックチェーン台帳115を代替的に使用してもよい。
【0068】
図2Cは、プラットフォームサーバからプレイヤーアカウントへの特典の転送を伝えるブロックチェーン取引を示す。
【0069】
図2Cの取引240の前の
図2Cのブロックチェーン台帳の第1の状態235は、USER_123が0の仮想特典資産ENTITLEMENT_XYZを所有していることを記述する。この第1の状態235の代替的変形では、「GAME_PUBLISHER:{ENTITLEMENT_XYZ:500}」または「GAME_PUBLISHER:{ENTITLEMENT_XYZ:infinite}」などの「from」ユーザアカウントが識別されてもよい。
【0070】
図2Cの取引240は、5の仮想特典資産ENTITLEMENT_XYZがUSER_123に転送されることを記述する。「from」ユーザアカウントは識別されず、この量が生成されるか、またはこの量がサーバ140/150もしくはサーバ140/150に関連付けられたユーザアカウントから転送されることを示す。上述した第1の状態235の代替的変形に対応するこの取引240の代替的変形では、「GAME_PUBLISHER」などの「from」ユーザアカウントが識別されてもよい。
【0071】
図2Cの取引240の後の
図2Cのブロックチェーン台帳の第2の状態245は、USER_123が5の仮想特典資産ENTITLEMENT_XYZを現在所有していることを記述する。上述した第1の状態235及び取引240の代替的変形に対応するこの第2の状態245の代替的変形では、「GAME_PUBLISHER:{ENTITLEMENT_XYZ:495}」または「GAME_PUBLISHER:{ENTITLEMENT_XYZ:infinite}」などの「from」ユーザアカウントが識別されてもよい。
【0072】
集中型サーバを介してではなくブロックチェーンベースの技術を介して仮想特典取引を追跡することのいくつかの利点は、ゲームの移動がここでは安全であり、確実に記録され、かつアクセス可能であり、さらには非集中化されることである。
【0073】
図2Cの取引に使用されるブロックチェーン台帳は、
図2Cではプラットフォーム固有のブロックチェーン台帳115であるように記述されているが、このような取引は、ゲーム固有のブロックチェーン台帳125を代替的に使用してもよい。
【0074】
図2Dは、ゲーム内環境の第1の位置からゲーム内環境の第2の位置へのゲーム内資産のゲーム内移動を伝えるブロックチェーン取引を示す。
【0075】
図2Dのゲーム内環境は、例えば、黒いコマ及び白いコマを備えたチェス盤であってもよい。
図2Dに関して述べた取引は、黒側の騎士コマのある位置から別の位置への移動を表す。この取引では、2つのアカウント/鍵のペアは、実際には、異なるプレイヤーではなく、チェス盤(または他のゲーム内仮想環境)上の異なる位置を表す。
【0076】
図2Dの取引255の前の
図2Dのブロックチェーン台帳の第1の状態250は、POSITION_G1が1のゲーム内仮想資産CHARACTER_DARK_KNIGHTを所有している一方、POSITION_F3が0のゲーム内仮想資産CHARACTER_DARK_KNIGHTを所有していることを記述する。
【0077】
図2Dの取引255は、1のゲーム内仮想資産CHARACTER_DARK_KNIGHTがPOSITION_G1からPOSITION_F3に転送されることを記述する。
【0078】
集中型サーバを介してではなくブロックチェーンベースの技術を介してキャラクタの移動を追跡することのいくつかの利点は、ゲームの移動がここでは安全であり、確実に記録され、かつアクセス可能であり、さらには非集中化されることである。
【0079】
図2Dの取引255の後の
図2Dのブロックチェーン台帳の第2の状態260は、POSITION_G1が0のゲーム内仮想資産CHARACTER_DARK_KNIGHTを現在所有している一方、POSITION_F3が1のゲーム内仮想資産CHARACTER_DARK_KNIGHTを現在所有していることを記述する。
【0080】
図2Dの取引に使用されるブロックチェーン台帳は、
図2DではゲームAのためのゲーム固有のブロックチェーン台帳125であるように記述されているが、このような取引は、プラットフォーム固有のブロックチェーン台帳115を代替的に使用してもよい。
【0081】
図2Eは、トーナメントにおけるプレイヤーの勝ち/負け履歴を伝えるブロックチェーン取引を示す。
【0082】
図1Cに関して述べたように、
図2Eは、特定のプレイヤーに関連付けられたトーナメントの勝ち及び負けを追跡する。これは、1つ以上のトーナメントにおけるプレイヤーの成績に基づいて必要に応じて増加され得る。勝ちまたは負けのカウントの増加は、無制限の数の「勝ち」及び「負け」を有するサーバ140/150から特定のプレイヤーにそのプレイヤーの成績に基づいて「勝ち」または「負け」を転送したときに実行されてもよい。
【0083】
具体的には、
図2Eの取引では、
図2Eの取引270の前の
図2Eのブロックチェーン台帳の第1の状態265は、USER_123が52の仮想資産TOURNAMENT_WINS及び37の仮想資産TOURNAMENT_LOSSESを所有していることを記述する。
【0084】
図2Eの取引270は、1の仮想資産TOURNAMENT_WINSがUSER_123に転送されることを記述する。「from」ユーザアカウントは識別されず、以下でさらに述べるように、この量が生成されるか、またはこの量がサーバ140/150もしくはサーバ140/150に関連付けられたユーザアカウントから転送されることを示す。
【0085】
図2Eの取引270の後の
図2Eのブロックチェーン台帳の第2の状態275は、USER_123が53の仮想資産TOURNAMENT_WINSを現在所有しており、依然として37の仮想資産TOURNAMENT_LOSSESを所有していることを記述する。
【0086】
上述した
図2Cの第1の状態235、取引240及び第2の状態245の代替的変形と同様に、
図2Eの第1の状態265、取引270及び第2の状態275は、ゲームに関連付けられた「GAME_PLATFORM」、プラットフォームに関連付けられた「TOURNAMENT_TRACKER」、またはメジャーリーグゲーミングなどのゲーミングリーグに関連付けられた「GAME_LEAGUE」などの、「from」仮想エンティティを列挙してもよい。同じことが
図2Cにも当てはまる。
【0087】
図2Eの取引に使用されるブロックチェーン台帳は、
図2Eではプラットフォーム固有のブロックチェーン台帳115であるように記述されているが、このような取引は、ゲーム固有のブロックチェーン台帳125を代替的に使用してもよい。
【0088】
図2Fは、ヘルスまたはコインの数などの、特定のプレイヤーに固有のゲーム内価値を伝えるブロックチェーン取引を示す。
【0089】
図1Cに関して述べたように、
図2Fは、非常に類似した方法でプレイヤーのヘルス及びコインの数を追跡する。プレイヤーのヘルスまたはコインを減少させるアクションがゲーム内で発生すると、プレイヤーのアカウントは、特定の量のヘルスまたはコインをプレイヤーのアカウントからサーバ140/150に転送し得る。プレイヤーのヘルスまたはコインを増加させるアクションがゲーム内で発生すると、サーバ140は、特定の量のヘルスまたはコインをプレイヤーのアカウントに転送し得る。
【0090】
具体的には、
図2Fの取引では、
図2Fの取引285の前の
図2Fのブロックチェーン台帳の第1の状態280は、USER_123が90の仮想資産PLAYER_HEALTH及び5の仮想資産NUMBER_OF_COINSを所有していることを記述する。
【0091】
図2Fの取引285は、11の仮想資産NUMBER_OF_COINSがUSER_123に転送され、7の仮想資産PLAYER_HEALTHがUSER_123から取り去られることを記述する。取引285の第2の当事者は識別されず、これらの量が別の仮想エンティティとの間で転送されずに微調整されるか、または以下でさらに述べるようにその量がUSER_123とサーバ140/150(もしくはサーバ140/150に関連付けられたユーザアカウント)との間で転送されることを示す。
【0092】
図2Fの取引285の後の
図2Fのブロックチェーン台帳の第2の状態290は、USER_123が83の仮想資産PLAYER_HEALTH及び16の仮想資産NUMBER_OF_COINSを現在所有していることを記述する。
【0093】
上述した
図2Cの第1の状態235、取引240及び第2の状態245の代替的変形と同様に、
図2Fの第1の状態280、取引285及び第2の状態290は、ゲームに関連付けられた「GAME_PLATFORM」、プラットフォームに関連付けられた「PLATFORM_TRACKER」、またはメジャーリーグゲーミングなどのゲーミングリーグに関連付けられた「GAME_LEAGUE」などの、「from」仮想エンティティを列挙してもよい。プレイヤーは、代替的に、仮想エンティティが「to」フィールドにある間、具体的には、プレイヤーが
図2Fの取引285においてPLAYER_HEALTHなどの仮想資産を失っている場合、「from」フィールドにあってもよい。
【0094】
図2Fの取引に使用されるブロックチェーン台帳は、
図2Fではプラットフォーム固有のブロックチェーン台帳115であるように記述されているが、このような取引は、ゲーム固有のブロックチェーン台帳125を代替的に使用してもよい。
【0095】
図2A~
図2Fの取引210、225、240、255、270及び285は、取引を経る前、取引を経ている間、または取引を経た後に生成されるハッシュ値である「sig」または「signature」値を含めて示されている。ハッシュは、
図5に示され、この図に関して述べたように、取引のハッシュまたは同一のブロック内のいくつかの取引のマークルルート546であってもよい。
【0096】
図3は、分散型ゲーム内転送機能を実装するブロックチェーン台帳の一部を示す。
【0097】
ブロックチェーン台帳300の3つのブロックであるブロックA 305、ブロックB 335及びブロックC 365が
図3に示されている。
【0098】
各ブロックは、ブロックヘッダ310/340/370及び1つ以上の取引のリスト330/360/390を含む。ブロックヘッダ310は、前のブロックのブロックヘッダのハッシュ315/345/375を含む。これは、代替的に、前のブロック全体のハッシュによって置換または補完されてもよい。例えば、ブロックC 365のヘッダ370は、ブロックB 335のヘッダ340のハッシュ375を含む。ブロックB 335のヘッダ340は、同様に、ブロックA 305のヘッダ310のハッシュ345を含む。ブロックA 305のヘッダ310は、同様に、ブロックチェーン300内のブロックA 305の前にある前のブロック(図示せず)のヘッダ(図示せず)のハッシュ315を含む。前のブロックのヘッダのハッシュを含めると、ブロックがブロックチェーン300内に入力された後にブロックチェーン300の任意のブロックの修正を防ぐことによってブロックチェーン台帳300が保護される。その理由は、特定のブロックに対して何らかの変更がなされると、次のブロック内のブロックヘッダのハッシュが不正確になるためである。さらに、次のブロック内のそのブロックヘッダのハッシュを修正すると、次のブロックの後のブロック内の次のブロックのヘッダのハッシュが不正確になり、以下同様である。
【0099】
各ブロックのブロックヘッダ310/340/370は、マークルルート320/350/380も含む。このマークルルートは、
図5に関してさらに解説されるように、そのブロックについての取引(複数可)のリスト330/360/390に列挙された取引(複数可)のハッシュに基づいて生成される。ブロックが入力された後に取引を修正しようとする何らかの試みがなされるとマークルルート320/350/380が変更され、これによってブロックヘッダ310/340/370のハッシュ315/345/375が変更されることにより、いずれのブロックが改ざんされたかどうかを全てのノードが再度認識することができる。
【0100】
各ブロックのブロックヘッダ310/340/370は、ブロックチェーン台帳プラットフォームのバージョン番号、試行されたナンスの数を識別するブロック自体のバージョン番号、各取引の検証のタイムスタンプ、ブロックの生成のタイムスタンプ、
図4に関して述べた難度目標値、
図4に関して述べたナンス値、またはこれらの組み合わせなどの、メタデータの様々な要素も含んでもよい。
【0101】
ブロックチェーン300の各ブロック305/335/365は、1つ以上の取引(複数可)のリスト330/360/390も含む。これらの取引のそれぞれは、
図2A~
図2Fの取引210、225、240、255、270及び285と同様の内容で識別されてもよい。
【0102】
図3はブロックチェーン300の3つのブロック305/335/365のみを示しているが、本明細書で述べた任意のブロックチェーンは、3つよりも多いか、またはそれよりも少ないブロックを有し得るという点でより長くなり得るか、またはより短くなり得ることが理解されるべきである。
【0103】
図4は、ゲーム内転送取引を実現し、その取引をブロックチェーン台帳に追加するための操作を示すフロー図である。
【0104】
ステップ405で、ユーザアカウントAに関連付けられたデバイスAは、識別された量の仮想資産の転送元アカウントから転送先アカウントへの対象の取引を伝えるユーザ入力(複数可)を受信する。ほとんどの場合、ユーザアカウントAは、対象の取引を進行させるために転送元アカウントである必要があるが、場合によっては、代替的に転送先アカウントであってもよい。場合によっては、ユーザアカウントAは、ゲーム開発者、発行者、プラットフォーム、取引の裁定エンティティ、または取引に対する権限が強化された他のエンティティに対応するアカウントなどの、転送元及び転送先以外の第三者のアカウントでもあり得る。
【0105】
ステップ410で、ユーザアカウントAに関連付けられたデバイスAは、ユーザアカウントAに関連付けられた秘密鍵を使用して対象の取引の少なくとも一部を暗号化して、対象の取引にデジタル署名する。
【0106】
ステップ415で、デバイスAは、暗号化された対象の取引を、任意選択でステップ410において取引をデジタル署名するために使用された秘密鍵に対応する公開鍵と共に、デバイス(ノード)の分散型ピアツーピアネットワークの各デバイス(ノード)にブロードキャストまたは他の場合には送信する。公開鍵を受信したノードは、CAを介して格納された鍵と照合してその公開鍵を検証してもよく、またはCAを介して格納された公開鍵のハッシュと照合してその公開鍵のハッシュを検証してもよい。代替的に、ノードは、CAから公開鍵を単に取得してもよい。ノードは、それにより、ステップ415でブロードキャストされた対象の取引が、ユーザアカウントAに対応する秘密鍵を用いてユーザアカウントAによってステップ410で実際にデジタル署名されたことを検証してもよい。
【0107】
ステップ420で、分散型ピアツーピアネットワーク内のノードである「採掘者」デバイスBは、対象の取引を3つの方法のうちの1つ以上で確認する。
【0108】
「採掘者」デバイスBは、公開鍵を使用して対象の取引を復号することにより、その取引が、ユーザアカウントAに対応する秘密鍵を用いてユーザアカウントAによってステップ410で実際にデジタル署名されたことを検証してもよく、任意選択でユーザアカウントAが、転送元アカウント、転送先アカウントまたは当該取引を要求する権限を与えられた別のアカウントであることを検証してもよい。
【0109】
「採掘者」デバイスBは、ブロックチェーン内の既存の記録に基づき、転送元アカウントが、転送対象の資産の識別された量を少なくとも所有していることを識別してもよい。
【0110】
「採掘者」デバイスBは、転送元アカウントが転送対象の仮想資産の識別された量を欠いたままとなる取引などの、同時に矛盾する転送を転送元アカウントが実行しようとしないことを識別してもよい。すなわち、「採掘者」デバイスBは、転送元アカウントに関与する全ての対象の取引が完了した場合、負でない(ゼロ以上の)量の仮想資産が転送元アカウントに残されていることをチェックしてもよい。
【0111】
ステップ425で、対象の取引(及び任意選択で同一の所定期間内の他の取引)がステップ420のように一旦確認されると、「採掘者」デバイスBは、検証済みの取引(及び任意選択で同一の所定期間内の他の検証済みの取引)を記録するブロックを生成し、デバイス(ノード)の分散型ピアツーピアネットワークにそのブロックをブロードキャストする。それにより、各デバイス(ノード)は、新しいブロックを付加することによってブロックチェーン台帳のコピーを更新することができる。
【0112】
ステップ430で、分散型ピアツーピアネットワークの各デバイス(ノード)は、「採掘者」デバイスBから新しいブロックを受信すると、新しいブロックを付加することによってブロックチェーン台帳のコピーを更新する。ここで取引が完了する。
【0113】
新しいブロックに関する分散型ネットワークのノード間のコンセンサスは、実用的ビザンチン・フォールト・トレランス(PBFT)アルゴリズム、プルーフ・オブ・ワーク(PoW)アルゴリズム、プルーフ・オブ・ステーク(PoS)アルゴリズム、委任型プルーフ・オブ・ステーク(DPoS)アルゴリズム、プルーフ・オブ・アクティビティ(PoA)アルゴリズム、プルーフ・オブ・バーン(PoB)アルゴリズム、プルーフ・オブ・キャパシティ(PoC)アルゴリズム、プルーフ・オブ・ストレージ(PoSt)アルゴリズム、プルーフ・オブ・スペース(PoSp)アルゴリズム、プルーフ・オブ・エラプスド・タイム(PoET)アルゴリズム、またはこれらの組み合わせを使用して達成することができる。
【0114】
任意選択のステップ440、445及び450は、ステップ420、425及び435を詳しく述べたものである。
【0115】
ステップ440で、新しいブロックの生成に対して、例えば、暗号通貨を用いて「採掘者」デバイスBに報酬を与える。暗号通貨は、実際の価値を有し実際の法定通貨と兌換可能であり得るか、仮想のゲーム内通貨として使用され得るか、またはその両方である。「採掘者」デバイスBに報酬を与えるための暗号通貨の生成及び転送は、ステップ425で「採掘者」デバイスBによって生成されたブロックの後の次のブロック内の取引として識別されてもよい。同様に、ステップ425で「採掘者」デバイスBによって生成されたブロックは、ブロックチェーン内の前のブロックを生成した「採掘者」デバイスを識別してもよく、同様の報酬を生成し、その「採掘者」デバイスに転送してもよい。
【0116】
ステップ445は、「採掘者」デバイス/ノードにステップ440のように報酬が与えられる場合、ブロックチェーンに追加するために新しいブロックを生成することを意図的に困難にすることができることを解説している。所定の数値(10進数または16進数)の難度目標値が使用され得る。新しいブロックを正常に生成するためには、ブロック(またはブロックヘッダ)のハッシュが、新しいブロックが正常であるための難度目標値よりも数値的に小さい必要がある。各「採掘者」デバイス/ノードは、ブロック全体(またはブロックヘッダ)のハッシュが難度目標値よりも数値的に小さくなるナンス値を見出すように試みてブロックヘッダのメタデータ325/355/385内の様々な異なるナンス値を用いて新しいブロックのハッシングを試すことができる。
【0117】
ステップ450は、難度目標値が、2週間などの所定の期間中一定に留まることが可能であることを解説している。所定の期間が終了する直前及び次の期間が始まる前に、難度目標値は、ブロック455において識別された式または類似の式を使用して潜在的に多少上下に調整される。場合によっては、難度目標値が調整され得る程度について所定の上限及び下限を設定してもよい。
【0118】
ブロック455において識別された式により、(新たに調整された難度目標値)=(前の難度目標値)×((所定の期間)/(所定の期間中のN個の取引の合計取引時間))であることが識別される。Nは、((所定の期間)/(所望のブロック生成時間))として定義される。
【0119】
期間が2週間(20160分)であり、各ブロックを生成するのに約10分かける必要がある場合、Nは((20160分)/(10分))=2016である。従って、新たに調整された難度目標値が、(新たに調整された難度目標値)=(前の難度目標値)×((20160分)/(所定の期間中の2016個の取引の合計取引時間))として計算される場合がある。
【0120】
図5は、ブロックチェーン台帳を使用してゲーム内転送取引を保護するためのマークルツリーの図である。
【0121】
図5のマークルツリーは、8つの取引、すなわち取引A 502、取引B 504、取引C 506、取引D 508、取引E 510、取引F 512、取引G 514及び取引H 516を有するブロックのマークルルート546を生成するために使用される。
【0122】
各取引についてハッシュが生成される。取引A 502はハッシュA 518にハッシュされ、取引B 504はハッシュB 520にハッシュされ、取引C 506はハッシュC 522にハッシュされ、取引D 508はハッシュD 524にハッシュされ、取引E 510はハッシュE 526にハッシュされ、取引F 512はハッシュF 528にハッシュされ、取引G 514はハッシュG 530にハッシュされ、取引H 516はハッシュH 532にハッシュされる。
【0123】
ハッシュA 518~ハッシュH 532のそれぞれは、別のハッシュとペアにされた後にハッシュされる。すなわち、ハッシュA 518とハッシュB 520とは共にハッシュAB 534にハッシュされ、ハッシュC 522とハッシュD 524とは共にハッシュCD 536にハッシュされ、ハッシュE 526とハッシュF 528とは共にハッシュEF 538にハッシュされ、ハッシュG 530とハッシュH 532とは共にハッシュGH 540にハッシュされる。
【0124】
このプロセスは、単一のハッシュが生じるまで繰り返される。すなわち、ハッシュAB 534とハッシュCD 536とは共にハッシュABCD 542にハッシュされ、ハッシュEF 538とハッシュGH 540とは共にハッシュEFGH 544にハッシュされる。ハッシュABCD 542とハッシュEFGH 544とは、共にハッシュABCDEFGH 546にハッシュされる。ハッシュABCDEFGH 546は、8つの取引、すなわち取引A 502、取引B 504、取引C 506、取引D 508、取引E 510、取引F 512、取引G 514及び取引H 516のためのマークルルート546としても知られる。これらの8つの取引のいずれかに対して何らかの修正がなされるとマークルルート546も必然的に変更される。これを任意のノードによって検証することにより、任意の所与のブロック内の取引に対して変更が全くなされなかったことを保証することができる。
【0125】
図6は、分散型の有向非循環グラフ(DAG)台帳を示す。
【0126】
図3及び
図4はブロックチェーン台帳の使用について述べているが、
図6の有向非巡回グラフ(DAG)台帳構造などの非線形的な台帳構造が、本明細書で述べたブロックチェーン台帳の代わりに使用され得ることが理解されるべきである。DAG台帳では、各ブロックヘッダは、ブロックチェーン内の単一の前のブロックのハッシュではなく、ランダムに、またはその他の非線形的な手法で選択されたDAG台帳内の所定の数の他の「親」ブロックのブロックヘッダのハッシュを含む。各ブロックヘッダは、親ブロックのヘッダのハッシュのみではなく、親ブロック全体のハッシュを代替的または追加的に含んでもよい。各ブロックヘッダが、異なる親ブロックまたはそれらのヘッダに対応する複数のハッシュを含む場合、これらのハッシュを、
図5のハッシュA 518、ハッシュB 520、ハッシュC 522、ハッシュD 524、ハッシュE 526、ハッシュF 528、ハッシュG 530及びハッシュH 532とほとんど同様に、共に組み合わせてマークルルートを得ることができる。
【0127】
例えば、
図6のDAG台帳では、少なくとも最初の2つのブロックが生成された後、所定の数は2である。
図6のウェブDAG台帳では、親ブロックは矢印を使用して示されている。ブロック610は、親ブロック620及び650のブロックヘッダのハッシュを含む。ブロック620は、親ブロック640及び660のブロックヘッダのハッシュを含む。ブロック630は、親ブロック620及び660のブロックヘッダのハッシュを含む。ブロック640は、親ブロック610及び630のブロックヘッダのハッシュを含む。ブロック650は、親ブロック610及び620のブロックヘッダのハッシュを含む。ブロック660は、親ブロック610及び650のブロックヘッダのハッシュを含む。結果として得られる構造は、ブロックの有向非循環グラフ(DAG)である。この場合、各頂点ブロックは、ブロックチェーンのような直線的な流れのブロックではなく、その親の頂点ブロック(複数可)のハッシュを含む。DAG台帳は、時には「ウェブ」、「タングル」または「ハッシュグラフ」と呼ばれる場合がある。
【0128】
場合によっては、DAG台帳の親ブロックの数は厳密に予め決定されていないが、最小2つの親または最小1つの親などの、予め決定された最小数のブロックが存在し、少なくとも所定の最小数の親ブロックを各ブロックが有することを示す。場合によっては、DAG台帳内の各ブロックは、複数の取引ではなく単一の取引のみを識別するに過ぎない場合があり、従って、マークルルートを省略する、かつ/またはマークルルートを単一の取引のハッシュで置き換える場合がある。他の実施態様では、各ブロックは、本明細書で述べたように、所定の期間に関連付けられた複数の取引を識別してもよい。
【0129】
図7は、異なる種類のクライアントデバイスが分散型ブロックチェーン台帳を介したゲーム内転送に参加するネットワーク環境を示す。
【0130】
図1A、
図1B及び
図1Cは、それぞれが同じ特定の種類のビデオゲームコンソールであるものとしてクライアントデバイス110A~110Fを示しているが、それらは同一である必要はない。異なるクライアントデバイス110の間には、ファームウェア、ファームウェアバージョン、オペレーティングシステム、オペレーティングシステムバージョン、ハードウェア、ハードウェアバージョン、またはこれらの組み合わせなどの、わずかな差異が存在し得る。例えば、異なるクライアントデバイスは、微妙に異なるか、または大きく異なるストレージ機能を備えたハードドライブまたはフラッシュメモリチップを含む場合がある。より後に作製されたクライアントデバイス110は、より高速のプロセッサ(複数可)または追加のコアを含む場合がある。特定のクライアントデバイス110は、それらがそうである場合であっても、他のクライアントデバイス110から失われている場合がある追加のハードウェアを含む場合がある。
【0131】
さらに、
図1A、
図1B及び
図1Cは、それぞれが同じ特定の種類のビデオゲームコンソールであるものとしてクライアントデバイス110A~110Fを示しているが、そのようなことは全く必要ない。
図7には、ラップトップコンピュータであるクライアントデバイス110J、ホームビデオゲームコンソールであるクライアントデバイス110K、デスクトップコンピュータであるクライアントデバイス110L、及びスマートフォン、タブレットコンピューティングデバイス、メディアプレイヤーデバイス、ポータブルビデオゲームコンソール、ウェアラブルデバイスまたはこれらの組み合わせなどのポータブルデバイス/モバイルデバイスであるクライアントデバイス110Mを含む、4つのクライアントデバイス110が示されている。
図7のクライアントデバイス110は、
図1A、
図1B及び
図1Cに関して述べたように、直接的に、またはネットワークハードウェア105を介して通信することができる。
【0132】
図7のクライアントデバイス110は、
図1Aのようにゲーム固有のブロックチェーン台帳125を実行することができる。これは、ゲームが複数のプラットフォーム(コンピューティングデバイスの種類)上でリリースされた場合、または1つのプラットフォーム(コンピューティングデバイスの種類)から1つ以上の他のプラットフォーム(コンピューティングデバイスの種類)に移植された場合に特に役立つ。とはいえ、クライアントデバイス110は、ゲーム固有のブロックチェーン台帳125が対応するビデオゲームと互換性がある必要も、それをプレイ可能である必要もない。
【0133】
図7のクライアントデバイス110は、
図1Bのようにプラットフォーム固有のブロックチェーン台帳115を実行することができる。これは、ゲームが複数のプラットフォーム(コンピューティングデバイスの種類)上でリリースされた場合、または1つのプラットフォーム(コンピューティングデバイスの種類)から1つ以上の他のプラットフォーム(コンピューティングデバイスの種類)に移植された場合に特に役立ち、それによってゲームの実際のプラットフォームを、複数の種類のコンピューティングデバイスを含むプラットフォームに拡大する。とはいえ、クライアントデバイス110は、プラットフォーム固有のブロックチェーン台帳115が対応するプラットフォームに関連付けられた任意のビデオゲーム(複数可)と互換性がある必要も、それをプレイ可能である必要もない。
【0134】
様々なクライアントデバイス110を使用することは、リモートサーバ(複数可)が取引を検証し、必要に応じてブロックを生成する作業の一部を引き受けることを可能にすることにより、ビデオゲームコンソールの負担を軽減する助けとなるのに役立ち得る。これは、最初のいくつかの新しいビデオゲームコンソールがブロックチェーン台帳を使用して取引を試みる場合でも取引を適時に検証できることを確かめるために、新しいビデオゲームコンソールの起動時に特に役立つことができる。
【0135】
図8は、主題の技術のいくつかの態様を実装するために使用され得る例示的なコンピューティングシステム800を示す。例えば、コンピューティングデバイス、コンピューティングシステム、ネットワークデバイス、ネットワークシステム、サーバ及び/または本明細書で説明された各配置構成の回路のいずれかは、少なくとも1つのコンピューティングシステム800を含んでもよく、または
図8において識別されたコンピュータシステム800の少なくとも1つの構成要素を含んでもよい。
図8のコンピューティングシステム800は、1つ以上のプロセッサ810及びメモリ820を含む。プロセッサ(複数可)810のそれぞれは、1つ以上のプロセッサ、コントローラ、マイクロコントローラ、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、算術論理ユニット(ALU)、加速処理ユニット(APU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはこれらの組み合わせを指してもよい。プロセッサ(複数可)810のそれぞれは、単一のチップ上に統合されるか、または共に接続もしくは結合された複数のチップにわたって広がる1つ以上のコアを含み得る。メモリ820は、プロセッサ810による実行のための命令及びデータを部分的に格納する。メモリ820は、動作中に実行可能コードを格納することができる。
図8のシステム800はさらに、大容量ストレージデバイス830、ポータブルストレージ媒体ドライブ(複数可)840、出力デバイス850、ユーザ入力デバイス860、グラフィックスディスプレイ880及び周辺デバイス880を含む。
【0136】
図8に示される構成要素は、単一のバス890を介して接続されるものとして描写されている。しかしながら、構成要素は、1つ以上のデータ移送手段を通じて接続されてもよい。例えば、プロセッサユニット810及びメモリ820は、ローカルマイクロプロセッサバスを介して接続されてもよく、大容量ストレージデバイス830、周辺デバイス(複数可)880、ポータブルストレージデバイス840及びディスプレイシステム880は、1つ以上の入出力(I/O)バスを介して接続されてもよい。
【0137】
磁気ディスクドライブまたは光学ディスクドライブを用いて実装され得る大容量ストレージデバイス830は、プロセッサユニット810による使用のためのデータ及び命令を格納するための不揮発性ストレージデバイスである。大容量ストレージデバイス830は、主題の技術のいくつかの態様を実装するためのシステムソフトウェアを、そのソフトウェアをメモリ820内にロードする目的で格納することができる。
【0138】
ポータブルストレージデバイス840は、
図8のコンピュータシステム800との間でデータ及びコードを入力及び出力するために、フロッピー(登録商標)ディスク、コンパクトディスクまたはデジタルビデオディスクなどのポータブル不揮発性ストレージ媒体と共に動作する。主題の技術の態様を実装するためのシステムソフトウェアは、このようなポータブル媒体上に格納されてもよく、ポータブルストレージデバイス840を介してコンピュータシステム800に入力されてもよい。
【0139】
メモリ820、大容量ストレージデバイス830またはポータブルストレージ840は、場合によっては、取引情報、ヘルス情報または暗号鍵などの機密情報を格納してもよく、場合によっては、プロセッサ810を用いてこのような情報を暗号化または復号してもよい。メモリ820、大容量ストレージデバイス830またはポータブルストレージ840は、場合によっては、プロセッサ810による実行または処理のための命令、実行可能コードまたは他のデータを少なくとも部分的に格納してもよい。
【0140】
出力デバイス850は、例えば、有線または無線手段を通じてデータを出力するための通信回路、表示画面を介してデータを表示するための表示回路、ヘッドフォンまたはスピーカを介して音声を出力するための音声回路、プリンタを介してデータを印刷するためのプリンタ回路、またはこれらのいくつかの組み合わせを含んでもよい。表示画面は、ディスプレイシステム880に関して述べた任意の種類のディスプレイであってもよい。プリンタは、インクジェット、レーザジェット、サーマル、またはこれらのいくつかの組み合わせであってもよい。場合によっては、出デバイス回路850は、音声ジャック/プラグ、マイクロホンジャック/プラグ、ユニバーサルシリアルバス(USB)ポート/プラグ、Apple(登録商標)Lightning(登録商標)ポート/プラグ、イーサネット(登録商標)ポート/プラグ、光ファイバポート/プラグ、専用の有線ポート/プラグ、BLUETOOTH(登録商標)無線信号転送、BLUETOOTH(登録商標)低エネルギー(BLE)無線信号転送、高周波識別(RFID)無線信号転送、近距離通信(NFC)無線信号転送、802.11Wi-Fi無線信号転送、携帯電話データ網無線信号転送、電波信号転送、マイクロ波信号転送、赤外線信号転送、可視光信号転送、紫外線信号転送、電磁スペクトルに沿った無線信号転送、またはこれらのいくつかの組み合わせによるデータの伝送が可能であってもよい。出力デバイス850は、任意のポート、プラグ、アンテナ、または携帯電話加入者識別モジュール(SIM)カードなどの上記に列挙された通信形式に必要な任意の他の構成要素を含んでもよい。
【0141】
入力デバイス860は、ユーザインタフェースの一部を提供する回路を含んでもよい。入力デバイス860は、英数字及び他の情報を入力するための、キーボードなどの英数字キーパッド、またはマウス、トラックボール、スタイラスもしくはカーソル方向キーなどのポインティングデバイスを含んでもよい。入力デバイス860は、タッチスクリーンのようにディスプレイと統合されたか、またはトラックパッドのようにディスプレイから分離されたタッチ感応表面も含んでもよい。タッチ感応表面は、場合によっては、変動する局所的な圧力または力の検出を検出してもよい。場合によっては、入力デバイス回路は、音声ジャック、マイクロホンジャック、ユニバーサルシリアルバス(USB)ポート/プラグ、Apple(登録商標)Lightning(登録商標)ポート/プラグ、イーサネット(登録商標)ポート/プラグ、光ファイバポート/プラグ、専用の有線ポート/プラグ、BLUETOOTH(登録商標)無線信号転送、BLUETOOTH(登録商標)低エネルギー(BLE)無線信号転送、高周波識別(RFID)無線信号転送、近距離通信(NFC)無線信号転送、802.11Wi-Fi無線信号転送、携帯電話データ網無線信号転送、電波信号転送、マイクロ波信号転送、赤外線信号転送、可視光信号転送、紫外線信号転送、電磁スペクトルに沿った無線信号転送、またはこれらのいくつかの組み合わせによるデータの受信が可能であってもよい。入力デバイス860は、任意のポート、プラグ、アンテナ、または携帯電話SIMカードなどの上記に列挙された通信形式に必要な任意の他の構成要素を含んでもよい。
【0142】
ディスプレイシステム880は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電子インクもしくは「電子ペーパー」ディスプレイ、プロジェクタベースのディスプレイ、ホログラフィックディスプレイ、または別の好適なディスプレイデバイスを含んでもよい。ディスプレイシステム880は、テキスト及びグラフィカル情報を受け取り、ディスプレイデバイスへの出力のために情報を処理する。ディスプレイシステム880は、容量性タッチ検出、抵抗性タッチ検出、表面弾性波タッチ検出、または赤外線タッチ検出などのマルチタッチ・タッチスクリーン入力機能を含んでもよい。このようなタッチスクリーン入力機能では、変動する圧力または力の検出が可能である場合と可能ではない場合とがある。
【0143】
周辺機器880は、コンピュータシステムに追加の機能を追加するための任意の種類のコンピュータ対応デバイスを含んでもよい。例えば、周辺デバイス(複数可)880は、モデム、ルータ、アンテナ、プリンタ、バーコードスキャナ、クイックレスポンス(「QR」)コードスキャナ、文書/画像スキャナ、可視光カメラ、サーマル/赤外線カメラ、紫外線感応式カメラ、暗視カメラ、光センサ、電池、電源、またはこれらのいくつかの組み合わせを含んでもよい。
【0144】
図8のコンピュータシステム800に含まれる構成要素は、主題の技術のいくつかの態様での使用に好適であり得るコンピュータシステムにおいて通常見出されるものであり、当技術分野において周知である広範なカテゴリのこのようなコンピュータ構成要素を表すように意図される。従って、
図8のコンピュータシステム800は、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、(「スマート」もしくはその他の)電話、モバイルコンピューティングデバイス、ワークステーション、(サーバラック上もしくはその他の)サーバ、ミニコンピュータ、メインフレームコンピュータ、タブレットコンピューティングデバイス、ウェアラブルデバイス(時計、指輪、眼鏡、または別の種類の宝石/衣類/アクセサリなど)、(ポータブルもしくはその他の)ビデオゲームコンソール、電子書籍リーダ、(ポータブルもしくはその他の)メディアプレイヤーデバイス、車両ベースのコンピュータ、これらのいくつかの組み合わせ、または任意の他のコンピューティングデバイスとすることができる。コンピュータシステム800は、場合によっては、別のコンピュータシステムによって実行される仮想コンピュータシステムであってもよい。コンピュータは、異なるバス構成、ネットワーク化されたプラットフォーム、マルチプロセッサプラットフォームなども含むことができる。Unix(登録商標)、Linux(登録商標)、Windows(登録商標)、Macintosh OS、Palm OS、Android(登録商標)、iOS及び他の好適なオペレーティングシステムを含む、様々なオペレーティングシステムを使用することができる。
【0145】
場合によっては、コンピュータシステム800は、それぞれが1つ以上の特定のタスクまたは目的のための、複数のコンピュータシステム800を使用するマルチコンピュータシステムの一部であってもよい。例えば、マルチコンピュータシステムは、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、都市域ネットワーク(MAN)、広域ネットワーク(WAN)、またはこれらのいくつかの組み合わせのうちの少なくとも1つを介して共に通信可能に結合された複数のコンピュータシステム800を含んでもよい。マルチコンピュータシステムは、インターネットを介して共に通信可能に結合された異なるネットワークからの複数のコンピュータシステム800(「分散型」システムとしても知られる)をさらに含んでもよい。
【0146】
主題の技術のいくつかの態様は、様々なデバイスを使用して運用可能であり得る用途において実装され得る。非一時的コンピュータ可読ストレージ媒体は、命令を実行用の中央処理ユニット(CPU)に提供することに関わり、メモリ820、大容量ストレージ830、ポータブルストレージ840またはこれらのいくつかの組み合わせにおいて使用され得る任意の媒体または複数の媒体を指す。このような媒体は、多くの形態をとることができる。このような形態には、光学ディスクまたは磁気ディスクなどの不揮発性媒体、及びダイナミックメモリなどの揮発性媒体が含まれるが、これらに限定されることはない。非一時的コンピュータ可読媒体のいくつかの形態には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、磁気ストリップ/ストライプ、任意の他の磁気ストレージ媒体、フラッシュメモリ、メモリスタメモリ、任意の他のソリッドステートメモリ、コンパクトディスクリードオンリーメモリ(CD-ROM)光学ディスク、書き換え可能なコンパクトディスク(CD)光学ディスク、デジタルビデオディスク(DVD)光学ディスク、ブルーレイディスク(BDD)光学ディスク、ホログラフィック光学ディスク、別の光学媒体、セキュアデジタル(SD)カード、マイクロセキュアデジタル(microSD)カード、Memory Stick(登録商標)カード、スマートカードチップ、Europay(登録商標)/Mastercard(登録商標)/Visa(登録商標)(EMV)チップ、加入者識別モジュール(SIM)カード、ミニ/マイクロ/ナノ/ピコSIMカード、別の集積回路(IC)チップ/カード、ランダムアクセスメモリ(RAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、リードオンリーメモリ(ROM)、プログラマブルリードオンリーメモリ(PROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM)、電気的消去可能なプログラマブルリードオンリーメモリ(EEPROM)、フラッシュEPROM(FLASHEPROM)、キャッシュメモリ(L1/L2/L3/L4/L5/L8)、抵抗ランダムアクセスメモリ(RRAM(登録商標)/ReRAM)、相変化メモリ(PCM)、スピン転送トルクRAM(STT-RAM)、別のメモリチップもしくはカートリッジ、またはこれらの組み合わせが含まれる。
【0147】
様々な形態の伝送媒体は、1つ以上の命令の1つ以上のシーケンスを実行用のプロセッサ810に伝達することに関与し得る。バス890は、データを、システムRAMまたは別のメモリ820に伝達し、そこからプロセッサ810が命令を取り出し、実行する。システムRAMまたは別のメモリ820によって受信される命令は、任意選択で、プロセッサ810による実行の前に、またはその後に、固定ディスク(大容量ストレージデバイス830/ポータブルストレージ840)上に格納することができる。同様に、様々な形態のストレージが、これを実装するために必要なネットワークインタフェース及びネットワークトポロジと共に実装されてもよい。
【0148】
上記で提供及び説明された様々なフロー図は、主題の技術のいくつかの実施形態によって実行される特定の動作順序を示し得るが、このような順序は例示的であることが理解されるべきである。代替的実施形態は、異なる順序で動作を実行してもよく、特定の動作を組み合わせてもよく、特定の動作を重複させてもよく、またはこれらのいくつかを組み合わせてもよい。
【0149】
本技術の前述の詳細な説明は、例示及び説明の目的で提示されている。これは、包括的であることも、開示されたそのままの形態に本技術を限定することも意図するものではない。上記の教示に鑑みて、多くの修正及び変形が可能である。説明された実施形態は、本技術の原理、その実際の適用を最も良く解説するために、さらには当業者が様々な実施形態において、かつ予期される特定の用途に合うような様々な修正を用いて本技術を利用することを可能にするために選択された。本技術の範囲は、特許請求の範囲によって定められることが意図される。