JP2019115026A - ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法 - Google Patents
ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法 Download PDFInfo
- Publication number
- JP2019115026A JP2019115026A JP2018005004A JP2018005004A JP2019115026A JP 2019115026 A JP2019115026 A JP 2019115026A JP 2018005004 A JP2018005004 A JP 2018005004A JP 2018005004 A JP2018005004 A JP 2018005004A JP 2019115026 A JP2019115026 A JP 2019115026A
- Authority
- JP
- Japan
- Prior art keywords
- user information
- account
- information
- user
- transaction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】本発明は、ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法を提供する。【解決手段】このために、特定のユーザに対して変更されたユーザ情報を含むユーザ情報保存要請トランザクション(Transaction)を、ブロックチェーン内の第1のアカウントから受信する保存要請受信ステップと;ユーザ情報保存要請トランザクションに基づいてユーザ情報を保存する保存ステップと;ブロックチェーン内の第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;第2のアカウントにユーザ情報を送信するユーザ情報送信ステップと;を提供する。【選択図】図1
Description
本発明は、ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法に関する。
最近のゲーム、オンラインコマース及び各種情報提供サービスなどのPC/モバイルアプリケーションの場合は、ユーザにポイントを提供するか、ユーザのサービス使用状態を収集するなど、それぞれのユーザにステータス情報(流入、離脱、コンテンツ評価、コンテンツ消費持続時間など)を付与して様々な顧客関係管理(CRM:Customer Relation Management)を行っている。アプリケーションやWebサイトに対してユーザのステータス情報を用いてCRMを行う代表的なソリューションとしてはGoogle Analyticsがあり、代表的なCRM専門企業としてはSalesforceがある。
このとき、複数のPC/モバイルアプリケーションに対してユーザ情報を連結すると、ユーザの状況に一層最適化されたカスタマイズサービスが可能となる。例えば、複数のPC/モバイルアプリケーションに対するポイント制度を統合するなどの戦略が挙げられる。このためにはデータベース(DB)のミラーリングが必要である。しかしながら、ユーザ情報を互いに連結しようとする試みが複数の主体(entity)によって行われる場合、DBのミラーリングが非常に難しくなるという問題があった。
上記問題を解決するために、A社のサーバとB社のサーバとをミラーリングすることはできるが、完全なミラーリングの場合にはサービスの安定性を損なうおそれがあるので、実際には不可能であると考えられる。また、専用線を設ける方式を用いてもよいが、インフラコストが非常にかかるという問題が発生する。
したがって、本発明は、上記問題を解決するためになされたもので、その目的は、従来のネットワークの形態を維持しながらも、ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法を提供することである。
以下、本発明の目的を達成するための具体的手段について説明する。
本発明の目的は、ユーザ情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;を含み、前記ユーザ情報管理アカウントの前記プログラムコードは、特定のユーザについて変更されたユーザ情報を含むユーザ情報保存要請トランザクション(Transaction)を、前記ブロックチェーン内の前記第1のアカウントから受信する保存要請受信ステップと;前記ユーザ情報保存要請トランザクションに基づいて前記ユーザ情報を保存する保存ステップと;前記ブロックチェーン内の前記第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;前記第2のアカウントに前記ユーザ情報を送信するユーザ情報送信ステップと;を含み、前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳装置を提供することにより達成できる。
本発明の目的は、ユーザ情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;を含み、前記ユーザ情報管理アカウントの前記プログラムコードは、特定のユーザについて変更されたユーザ情報を含むユーザ情報保存要請トランザクション(Transaction)を、前記ブロックチェーン内の前記第1のアカウントから受信する保存要請受信ステップと;前記ユーザ情報保存要請トランザクションに基づいて前記ユーザ情報を保存する保存ステップと;前記ブロックチェーン内の前記第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;前記第2のアカウントに前記ユーザ情報を送信するユーザ情報送信ステップと;を含み、前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳装置を提供することにより達成できる。
また、前記ユーザ情報はポイント情報を意味し、前記ユーザ情報送信ステップでは、既設定された割合で前記ユーザ情報を両替し、前記第2のアカウントに両替された前記ユーザ情報を送信することができる。
また、前記メモリモジュール及び前記処理モジュールは前記特定のユーザのクライアントに保存され、前記分散型台帳は前記第1のサーバ及び前記第2のサーバをミラーリングするように構成できる。
また、前記ユーザ情報は、前記特定のユーザの識別に関する情報である識別情報と、前記ユーザ情報の定量値に関する情報であるステータス情報と、で構成され、前記ユーザ情報における前記識別情報は、前記ステータス情報のハッシュ値に基づいて暗号化されて保存され得る。
本発明の他の目的は、ユーザ情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;を含み、前記ユーザ情報管理アカウントの前記プログラムコードは、前記ブロックチェーン内の前記第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;前記第1のアカウントから受信されて既保存された前記ユーザ情報を前記第2のアカウントに送信するユーザ情報送信ステップと;を含み、前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳装置を提供することにより達成できる。
本発明のまた他の目的は、ユーザ情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;により行われる分散型台帳方法において、前記ユーザ情報管理アカウントが、前記ブロックチェーン内の前記第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;前記ユーザ情報管理アカウントが、前記第1のアカウントから受信されて既保存された前記ユーザ情報を前記第2のアカウントに送信するユーザ情報送信ステップと;を含み、前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳方法を提供することにより達成できる。
本発明のまた他の目的は、ブロックチェーンに保存され、ユーザ情報を保存するユーザ情報管理アカウントが、前記ブロックチェーン内の第2のアカウントから、前記ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;前記ユーザ情報管理アカウントが、前記ブロックチェーン内の第1のアカウントから受信されて既保存された前記ユーザ情報を前記第2のアカウントに送信するユーザ情報送信ステップと;を含み、前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳方法を行うためのプログラムが記録されている記録媒体を提供することにより達成できる。
本発明のまた他の目的は、ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと;受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト(Broadcast)するブロードキャストモジュールと;を含み、前記特定のサービスアカウントは、前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと;既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報保存トランザクション(transaction)を送信するトランザクション送信ステップと;を行うコンピュータ読み取り可能なプログラムコードを含み、前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、トランザクション情報のブロードキャスト装置を提供することにより達成できる。
本発明のまた他の目的は、ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと;受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト(Broadcast)するブロードキャストモジュールと;により行われるトランザクション情報のブロードキャスト方法において、前記特定のサービスアカウントが、前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと;前記特定のサービスアカウントが、既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報の保存トランザクション(transaction)を送信するトランザクション送信ステップ;を含み、前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、トランザクション情報のブロードキャスト方法を提供することにより達成できる。
以上述べたように、本発明によれば、以下のような効果を奏する。
第一に、本発明の一実施形態によれば、従来のネットワークをそのまま維持しながらも複数の主体(entity)のPC/モバイルアプリケーションのユーザ情報を統合することができるという効果が得られる。
第一に、本発明の一実施形態によれば、従来のネットワークをそのまま維持しながらも複数の主体(entity)のPC/モバイルアプリケーションのユーザ情報を統合することができるという効果が得られる。
第二に、本発明の一実施形態によれば、ゲームなどのPC/モバイルアプリケーションにおける難易度、ポイントなどの面においてユーザに連続的な(Seamless)ユーザの経験を与えることができるという効果が得られる。
第三に、本発明の一実施形態によれば、PC/モバイルアプリケーションの作成者がユーザの特性を多様に分析することができるという効果が得られる。
本明細書に添付される下記の図面は本発明の好適な実施形態を例示するものであって、発明の詳細な説明とともに本発明の技術思想をさらに理解させる役割を果たすものであるため、本発明はそのような図面に記載された事項にのみ限定されて解釈されてはいけない。
以下、添付図面に基づいて本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施することができる実施形態について詳細に説明する。但し、本発明の好ましい実施形態についての動作原理を詳細に説明するにあたり、関連した公知の機能または構成についての具体的な説明が本発明の要旨を不必要に不明瞭にするおそれがあると判断される場合は、その詳細な説明を省略する。
また、図面全体にわたって類似した機能及び作用をする部分に対しては同一の符号を使用する。これに加えて、明細書全体において、ある特定の部分が他の部分に「連結」されているとしたとき、これは、直接連結されている場合だけでなく、それらの構成要素の間に別の構成要素が介在して間接連結されている場合も含む。また、ある特定の構成要素を「含む」というのは、特に反対される記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含むことができることを意味する。
ユーザ情報の共有のための分散型台帳装置
分散型台帳装置において、図1は、本発明の一実施形態による分散型台帳装置を示す模式図である。図1に示すように、本発明の一実施形態による分散型台帳装置1は、ブロックチェーン分散ネットワーク100のノードのうちのいずれか一つを意味することができ、通信モジュール10、処理モジュール11、メモリモジュール12を含むことができる。
分散型台帳装置において、図1は、本発明の一実施形態による分散型台帳装置を示す模式図である。図1に示すように、本発明の一実施形態による分散型台帳装置1は、ブロックチェーン分散ネットワーク100のノードのうちのいずれか一つを意味することができ、通信モジュール10、処理モジュール11、メモリモジュール12を含むことができる。
ブロックチェーン分散ネットワーク100は、ブロックチェーンの分散型台帳を保存している複数のノードで構成されたP2P分散ネットワークを意味する。ブロックチェーン分散ネットワーク100は、少なくとも一部のノードが同じ処理を行えるように構成されるので、一部のノードがシャットダウン(Shut down)されるか変調されても、システム全体には影響を与えないという特徴を有する。ノードは、ブロックチェーン分散ネットワーク100に連結された全てのコンピューティング装置を意味することができる。このようなノードは、デジタルウォレット、ブロックチェーンのコピー、検証エンジン、採掘エンジン、P2Pネットワークの配布機能(ブロードキャスト)などを含んでもよく、さらにLightな機能のみで構成されたクライアントをも含んでもよい。本発明の一実施形態によるブロックチェーン分散ネットワーク100は、ピュア(Pure)P2Pと、スーパーノード(Super Node)を有するハイブリッド(Hybrid)P2Pと、を含んでもよい。特に、本発明の一実施形態によるノードは、PC/モバイルアプリケーションのソースコードと共にクライアントにインストールすることができる。
ノードにおいて、図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)方式によりユーザクライアントがマイニングを行うように構成することができる。
通信モジュール10は、トランザクション(Transaction)をブロックチェーン分散ネットワークにブロードキャスト(Broadcast)するネットワークのルーティングモジュール(Network Routing Module)やプールマイニングノード(Pool Mining Node)に連結されるゲートウェイルータ(Gateway Router)などを意味することができる。
処理モジュール11は、メモリモジュール12に保存された分散型台帳であるブロックチェーンのブロックに保存されているトランザクションの内容を処理するモジュールである。本発明の一実施形態による処理モジュール11は、イーサリアム仮想マシン(Ethereum Virtual Machine)のような仮想マシン(VM)で構成されることができる。このような仮想マシンは、例えば、ムータン(Mutan)、LLL、セーペント(Serpent)、ソリディティ(Solidity)などの上位レベルの言語で作られたコード(スマート契約:Smart Contract)がコンパイルされて生成されたバイトコード(Byte Code)を実行するためのランタイム(Runtime)であり、オペコード(Opcode)及びスタック(Stack)のほかメモリ(Memory)及びストレージ(Storage)を使用する主体でもある。
メモリモジュール12は、分散型台帳を保存するモジュールであり、全体ブロックチェーンの全部または一部のブロックを保存するブロックチェーンデータベース(Blockchain Database)を意味することができる。図3は、本発明の一実施形態によるメモリモジュールのデータ構造を示す模式図である。図3に示すように、本発明の一実施形態によるメモリモジュール12は、全部または一部のブロックチェーンを保存することができ、各ブロックヘッダには、前のブロックヘッダのハッシュ値(hash)、解答値(nonce)、トランザクショングループのハッシュ値とその他の生成された時間に関する情報であるタイムスタンプ(Timestamp)(図示せず)、採掘難易度を意味するディフィカルティ(Difficulty)(図示せず)、ブロックのナンバーを意味するブロック番号(Block Number)(図示せず)などが含まれ得る。各ブロック体(Contents)には、少なくとも一つ以上のトランザクション情報(特に、本発明の一実施形態によるユーザ情報保存トランザクション情報)が含まれ得る。
また、ブロックには、特定のサービスアカウントとユーザ情報管理アカウントとが含まれ得る。図4は、本発明の一実施形態による、特定のサービスサーバとブロックチェーン関係を示す模式図である。図4に示すように、特定のサービスアカウントは、EOA(Externel Owned Account)またはCA(Contract Account)で構成されてもよく、特定のPC/モバイルアプリケーションのサーバに連結されて特定のサービスのユーザ情報と特定のサービスアカウントのユーザ情報がペアリング(pairing)されるように構成され、ユーザ情報管理アカウントのユーザ情報とミラーリング(mirroring)されるように構成されてもよい。ユーザ情報管理アカウントは、EOA(Externel Owned Account)またはCA(Contract Account)で構成されてもよく、複数のサービスアカウントと連結されて変更されたユーザ情報を受信し、ユーザ情報を用いて複数のサービスアカウントのユーザ情報とミラーリング(mirroring)されるように構成されてもよい。
ユーザ情報管理アカウントの生成のためのユーザ情報管理アカウント生成トランザクション情報には、アドレス(address)は含まれていない可能性があり、本発明の一実施形態によるスマート契約の一種であるユーザ情報管理アカウントのコード(例えば、バイトコード(Byte code))を含むことができる。ユーザ情報管理アカウント生成トランザクション情報をブロックに保存して実行すると、当該スマート契約に対する契約アカウント(Contract account)の一種であるユーザ情報管理アカウントのアドレスが生成され、ブロックに保存される。本発明の一実施形態によるユーザ情報管理アカウントを生成した後にユーザ情報管理アカウントを条件付きで利用する特定のサービスアカウントである特定のサービスアカウントを生成するか、既存の特定のサービスアカウントを変更して配布することができる。
特定のユーザのクライアントにおいて特定のサービスのアプリケーション(PCまたはモバイル)が終了すると、特定のサービスにおいて変更されたユーザ情報はユーザ情報管理アカウントに保存される。図3に示すように、ユーザ情報保存トランザクション情報には、ユーザ情報管理アカウントアドレス情報、ユーザ情報保存実行命令、当該命令のパラメータ(parameter)のうちのいずれか一つである変更されたユーザ情報(変更を要請するユーザ情報)、その他の伝達しようとする価値情報(Value)またはパラメータ(例えば、カテゴリ情報)を含むことができる。ユーザ情報保存トランザクション情報をブロックに保存して実行すると、ユーザ情報管理アカウントは、変更されたユーザ情報の保存有無を判定し、保存が必要な場合、既保存されたユーザ情報を変更されたユーザ情報に更新することができる。更新されたユーザ情報は、ユーザ情報管理アカウントのストレージ(Storage)やメモリ(memory)内に含まれるなどの方法によりブロックに保存することができる。
本発明の一実施形態によるユーザ情報(ユーザ情報、変更されたユーザ情報)は、ユーザの特定のサービスにおけるポイント情報、ユーザの流入情報、ユーザの離脱情報、ユーザの持続時間情報、ユーザのレベル情報、現在の難易度情報、ユーザのクエスト解決情報、ユーザのコンテンツアップロード情報、ユーザの評価参加情報などを含むことができる。ユーザ情報は、ユーザについての識別情報、上述したようなカテゴリについてのカテゴリ情報、当該カテゴリーについてのユーザ情報の定量的大きさであるステータス情報などで構成されておよい。
特定のユーザのクライアント(PCまたはモバイル)の特定のサービスのアプリケーションが実行されると、ユーザ情報管理アカウントに既保存されたユーザ情報が、特定のサービスアカウントを通じて特定のサービスに適用されることになる。図5は、本発明の一実施形態によるユーザ情報確認クエリを示す模式図である。図5に示すように、本発明の一実施形態により、特定のサービスアカウントは、特定のサービスがロードされると、ユーザ情報管理アカウントの既保存されたユーザ情報からユーザ情報をロードするために、ユーザ情報管理アカウントにユーザ情報確認クエリ(Query)を送信することができる。ユーザ情報確認クエリには、ユーザ情報管理アカウントアドレス情報、ユーザ情報確認命令、当該命令のパラメータのうちのいずれか一つであるカテゴリ情報、その他の確認しようとする価値情報(Value)またはパラメータを含むことができる。ユーザ情報確認クエリは、ローカル(Local)(当該ユーザのクライアントまたは当該サービス社のノード)の分散型台帳装置1にのみ要請され、ブロックチェーン分散ネットワーク全体の状態を変更しない。本発明の一実施形態によるユーザ情報管理アカウントがユーザ情報確認クエリを受信すると、ユーザ情報がユーザ情報管理アカウントのストレージ(Storage)やメモリ(memory)内に保存されたユーザ情報を特定のサービスのアカウントに送信(リターン)して、特定のサービスアカウントのスマート契約が以後のアルゴリズムを実行するように構成されてもよい。
また、ユーザ情報をロード(load)するためにメッセージトランザクションを使用してもよい。図6は、本発明の一実施形態によるミラーリングメッセージトランザクション(Tx、Transaction)及び応答トランザクション(Tx、Transaction)情報を示す模式図である。図6に示すように、特定のサービスアカウントでは、ユーザ情報のミラーリングのためにユーザ情報管理アカウントにミラーリングメッセージトランザクションを送信することができ、ユーザ情報管理アカウントでは、ユーザ情報をロード(load)して特定のサービスアカウントにユーザ情報を含む応答メッセージのトランザクション情報を送信して、特定のサービスアカウントのスマート契約の以後手続きが実行されるように構成されてもよい。このような応答メッセージのトランザクション情報には、特定のサービスアカウントのアドレス情報、ユーザ情報ミラーリング命令、当該命令のパラメータのうちのいずれか一つであるユーザ情報、その他の価値情報(Value)またはパラメータ(例えば、カテゴリ情報)を含むことができる。本発明の一実施形態による応答メッセージのトランザクション情報は、検証が完了すると、ブロックチェーン分散ネットワーク100内に配置(ブロードキャスト)されて、全体ノードにおいて特定のサービスアカウントのスマート契約が実行されるように構成されてもよい。
このようなスマート契約のコード(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)のアドレスを入れてリターンする。
スマートコントラクト(Smart Contract)開発環境は、開発ツール及びコンパイラ(Compiler)を含む範囲を含むことができる。例えば、ソリディティ(Solidity)の場合、コード(Code)を作成してコンパイルすると、すべてのコンパイラは、「バイトコード(Byte Code)」、「ファンクション・シグネチャ(Function Signature)」及び「アプリケーション・バイナリー・インタフェース(Application Binary Interface、ABI)」を出力する。
バイトコード(Byte Code)は、前述したようにスマートコントラクトコード(Smart Contract Code)をコンパイルした結果であり、ブロックチェイン(Blockchain)にコントラクトクリエーショントランザクション(Contract Creation Transaction)を発生させて配置する場合と、コントラクト(Contract)へのメッセージトランザクション(Message Tx:Message Transaction)が発生する場合と、コントラクト(Contract)へのコール/クエリ(Call/Query)が発生する場合とにより分散型台帳装置1(イーサリアムの場合にEVM)上で実行される。
ファンクション・シグネチャ(Function Signature)は、コントラクト(Contract)関数を呼び出す時にインタフェースとして用いられるものであり、コントラクト(Contract)関数名をSHA−3暗号的なハッシュ(Hash)関数でハッシュした4バイトのハッシュ値値である。
アプリケーション・バイナリー・インタフェース(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を提供している。
このようなスマートコントラクト(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)上に構成されている。
このようなスマートコントラクト(Smart Contract)開発環境においてABIはApplicationsと連結可能である。スマートコントラクト(Smart Contract)はロジック(Logic)だけを所有し、ユーザや外部システムとの相互作用のためにはアプリケーション(Application)が必要である。HTML+CSS+JavaScript、アプリケーションサーバ(Application Server)、ウォレット(Wallet)などのアプリケーション(Application)は、例えば、イーサリアム(Ethereum)とのインタフェース(Interface)を介してスマートコントラクト(Smart Contract)と相互作用する構成である。
スマートコントラクトコード(Smart Contract Code)は、「Creation/Deployment」、「Invoke by Message」、「Call」に大別される。本発明の一実施形態によるユーザ情報管理アカウントのコードも、契約アカウント生成、メッセージトランザクションによるユーザ情報保存、クエリによるユーザ情報確認、トランザクションによるユーザ情報ミラーリングに大別される。
本発明の一実施形態によるユーザ情報(ユーザ情報及び変更されたユーザ情報)は、デジタルウォレット情報、e−mail情報、ソーシャルネットワークID、デバイスUUID情報などのユーザ識別に関連した識別情報に、ユーザの特定のサービスのポイント情報、ユーザの流入情報、ユーザの離脱情報、ユーザの持続時間情報、ユーザのレベル情報、現在の難易度情報などに関連したカテゴリー情報と、当該カテゴリの定量的なステータス情報を結合して生成された情報を意味することができている。図7は、本発明の一実施形態によるユーザ情報のデータ構造を示す模式図である。図7に示すように、ユーザ情報は識別情報、カテゴリー情報、ステータス情報を含むことができ、識別情報はウォレット情報、ID情報、デバイス識別情報などを含むことができ、カテゴリ情報はポイント情報、レベル情報などを含むことができ、ステータス情報は当該カテゴリの定量的状態を示すことができる。
本発明の一実施形態によるメモリモジュール12によりユーザ情報がトランザクション情報の形でブロックに保存されるので、ユーザ情報の偽造・変造が困難である点、ユーザ情報の記録時点を明確に把握できる点、当該ブロックチェーンと連結された全てのPC/モバイルアプリケーションに対するユーザ情報を共有し得る点、及び新しいPC/モバイルアプリケーションに対してユーザ情報を簡単に共有し得る点が効果として挙げられる。
ステータス情報の防止において、本発明の一実施例によれば、ユーザ情報における識別情報は、ステータス情報のハッシュ値を用いて暗号化されて保存されるように構成されてもよい。このとき、ハッシュ関数としては、例えば、SHA−256などが用いられる。図8は、本発明の一実施形態による識別情報の暗号化を示す模式図である。図8に示すように、ユーザ情報における識別情報は暗号化されて保存可能であり、このとき、識別情報の暗号化はステータス情報のハッシュ値を用いて行われる。
本発明の一実施例により識別情報をステータス情報のハッシュ値を用いて暗号化して保存する場合、ステータス情報が変造されていない場合には、ステータス情報のハッシュ値を用いて暗号化された識別情報を完全に復号化することができる。しかしながら、ステータス情報が変造されている場合には、ステータス情報のハッシュ値を用いて暗号化された識別情報を完全に復号化することができない。したがって、ステータス情報を変調すると、当該ステータス情報がどのユーザの情報であるのかを識別することができなくなるという効果が得られる。
また、ステータス情報の変造防止において、本発明の一実施例によれば、図3における「トランザクショングループのハッシュ値」が次のブロックの「前のブロックヘッダのハッシュ値」に含まれて連結リスト(linked list)を形成するので、ステータス情報が変調されると、変調されたブロックを含む以後のブロックの全てのハッシュ値が変わるという効果が得られる。これにより、ステータス情報が変調されると新しいブロックチェーンが形成され、ブロックチェーンが分岐する。この際、分岐したブロックチェーンは、元のブロックチェーンに比べてより少ない証明[POW(「仕事量の証明」という意味で「Proof of Work」の略称)、POS(「保有による証明」という意味で「Proof of Stake」の略称)などを含む]が行われるので、所定の特定期間の後に消滅するように構成されてもよい。したがって、本発明の一実施例によれば、ステータス情報が変調されて新しいブロックチェーンが形成されるとしても変調された新しいブロックチェーンが廃棄されるという効果が得られる。
さらにまた、ステータス情報の変造防止において、ブロックの証明方法として従来のPOWを行うと、ノードがPC/モバイルアプリケーションを実行するためのユーザのクライアントである場合、過度のコンピューティングパワーが求められるという問題が発生する。このような問題を解決するために、本発明の一実施例によれば、特定のユーザが特定のPC/モバイルアプリケーションにおいて所定の条件(例えば、アプリケーションの使用時間、レベル上昇、クエスト解決、コンテンツのアップロードなど)を満足すると新たに生成されたブロックを証明するように構成されてもよい。アプリケーションユーザの使用程度、努力、サービス参加度に基づいたこのような証明の方法を用いて特定の時間間隔で生成されるブロックを証明する場合、コンピューティングパワーを乱用しないながらも変調されて新たに形成されたブロックチェーンを廃棄することができるという効果が得られる。
図9は、特定のユーザクライアントから、特定のサービスのアプリケーションが終了されて変更されたユーザ情報の保存が要請されるとき、本発明の一実施形態による分散型台帳装置のブロックチェーン内におけるトークンの流れを示す模式図である。図9に示すように、本発明の一実施形態による分散型台帳装置1は、メモリモジュール12のブロックチェーン内の契約アカウント(CA、Contract Account)の一種である、特定のサービスに対する契約アカウント(特定のサービスアカウント)と、ユーザ情報管理アカウントと、を含むことができる。ユーザ情報管理アカウントは、スマート契約の一種であり、メモリモジュール12のブロックチェーンに保存されて処理モジュール11によって行われるプログラムコードを意味することができる。本発明の一実施形態による分散型台帳装置1に、変更されたユーザ情報の保存がグローバルステート(Global State)の変更を引き起こすメッセージトランザクション(Message Transaction)の形で要請されるとき、このようなトランザクションは、特定のサービスアカウントからユーザ情報管理者アカウントのアドレスに、図3に示すユーザ情報管理アカウントアドレス情報、ユーザ情報保存実行命令、当該命令のパラメータ(parameter)のうちのいずれか一つである変更されたユーザ情報、その他の伝達しようとする価値情報(Value)またはパラメータなどを含めて伝達され得る。
図10は、変更されたユーザ情報の保存が要請されるとき、本発明の一実施形態による分散型台帳装置1の処理モジュール11の処理ステップ(ユーザ情報の保存方法)を示すフローチャートである。図10に示すように、本発明の一実施形態による処理モジュール11は、ユーザ情報保存トランザクション情報を受信すると、アドレス呼び出しステップ(S10)、保存命令ステップ(S11)、保存ステップ(S12)、配布ステップ(S13)を含めてトランザクション情報を処理することができる。
アドレス呼び出しステップ(S10)は、処理モジュール11がユーザ情報保存トランザクション情報に保存されたユーザ情報管理アカウントのアドレスを呼び出すステップである。アドレス呼び出しステップ(S10)により、仮想マシンである分散型台帳装置1においてスマート契約の一種であるユーザ情報管理アカウントのコードが実行できるように活性化される。
保存命令ステップ(S11)は、ユーザ情報保存トランザクション情報のユーザ情報保存実行命令によりユーザ情報管理アカウントのコードのうちの一部であるユーザ情報保存コードを実行するステップである。
保存ステップ(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)(値)を有する。
配布ステップ(S13)では、保存ステップ(S12)により変更された状態(State)を、分散型台帳装置1がブロックチェーン分散ネットワーク100の全ノードに配布するステップである。
本発明の一実施例によるユーザ情報保存トランザクション情報によれば、処理モジュール11によりユーザ情報管理アカウントのストレージまたはメモリに変更されたユーザ情報がユーザ情報として保存され、ノード全体にこのような状態の変更が配布(グローバルステート(Global State)の変更)されるので、その後少なくとも一つ以上の特定のアプリケーションに対して統合的にユーザ情報の管理を行うことができるという効果が得られる。
図11は、ユーザ情報の確認が要請されるとき、本発明の一実施形態による分散型台帳装置1内におけるトークンの流れを示す模式図である。図11に示すように、本発明の一実施形態による分散型台帳装置1にユーザ情報の確認がクエリの形で要請されるとき、このようなクエリは、少なくとも一つ以上の特定のサービスのアカウントからユーザ情報管理アカウントのアドレスに、図5に示すユーザ情報管理アカウントアドレス情報、ユーザ情報確認命令、特定のサービスアカウント情報、その他確認しようとする価値情報(Value)またはパラメータなどを含めて伝達され得る。当該特定のサービスアカウントは、特定のEOA/CAからユーザ情報を含むスマート契約実行要請(トランザクション情報の形態)を受信し、当該ユーザ情報の確認をユーザ情報管理アカウントに要請(クエリの形態)する。その後、特定のサービスアカウントは、ユーザ情報管理アカウントからユーザ情報のリターンを受ける。
図12は、特定のサービスアカウントからユーザ情報の確認が要請されるとき(特定のアプリケーションを実行するとき)、本発明の一実施形態による分散型台帳装置1の処理モジュール11の処理ステップ(ユーザ情報の確認方法)を示すフローチャートである。図12に示すように、本発明の一実施形態による処理モジュール11は、ユーザ情報確認クエリを受信すると、アドレス呼び出しステップ(S20)、検索命令ステップ(S21)、確認ステップ(S22)、リターンステップ(S23)を含めてトランザクション情報を処理することができる。
アドレス呼び出しステップ(S20)は、処理モジュール11が、ユーザ情報確認クエリに含まれているユーザ情報管理アカウントのアドレスを呼び出すステップである。アドレス呼び出しステップ(S20)により、仮想マシンである分散型台帳装置1においてスマート契約の一種であるユーザ情報管理アカウントのストレージまたはメモリの検索が行われる。
検索命令ステップ(S21)は、ユーザ情報確認クエリのユーザ情報検索命令によりユーザ情報の検索を行うステップである。ユーザ情報の検索は、識別情報を用いて行われることができる。
確認ステップ(S22)は、ユーザ情報確認クエリに含まれているパラメータ(parameter)である識別情報を、ユーザ情報管理アカウントのストレージ(Storage)またはメモリ(Memory)に保存されているユーザ情報と比較して、当該識別情報を含むユーザ情報がユーザ情報管理アカウントのストレージまたはメモリに保存されているかどうかを確認するステップである。本発明の一実施例により識別情報が暗号化された場合、ステータス情報のハッシュ値を用いて復号化した後、識別情報の検索を行うことができる。
リターンステップ(S23)は、ユーザ情報管理アカウントが受信した識別情報が既保存されているユーザ情報を特定のサービスアカウントにリターンするステップである。
本発明の一実施形態によるユーザ情報確認クエリによれば、少なくとも一つ以上の特定のスマート契約に対して統合的にユーザ情報の管理を行うことができるという効果が得られる。
トランザクション情報のブロードキャスト装置
本発明の一実施形態によるトランザクション情報のブロードキャスト装置において、図13は、本発明のトランザクション情報送信装置2と分散型台帳装置10のHTTP通信を示す模式図である。図13に示すように、本発明の一実施形態によるトランザクション情報のブロードキャスト装置は、例えば、ソリディティ(Solidity)でコーディングされる場合、ジャバスクリプト(JavaScript)ベースのWeb3.Js APIを用い、内部的にはJSON―RPC APIを用いることができる。これにより、Browser、Node.JS、Mistなどでトランザクション情報送信装置2を構成することができる。トランザクション情報送信装置2の主体は、EOAまたはCAであり得る。
本発明の一実施形態によるトランザクション情報のブロードキャスト装置において、図13は、本発明のトランザクション情報送信装置2と分散型台帳装置10のHTTP通信を示す模式図である。図13に示すように、本発明の一実施形態によるトランザクション情報のブロードキャスト装置は、例えば、ソリディティ(Solidity)でコーディングされる場合、ジャバスクリプト(JavaScript)ベースのWeb3.Js APIを用い、内部的にはJSON―RPC APIを用いることができる。これにより、Browser、Node.JS、Mistなどでトランザクション情報送信装置2を構成することができる。トランザクション情報送信装置2の主体は、EOAまたはCAであり得る。
図13に示すように、本発明の一実施形態によるトランザクション情報送信装置2は、ユーザ情報管理アカウントに特定の変更されたユーザ情報を保存するようにユーザ情報保存トランザクション情報を分散型台帳装置1にJSON−RPC APIを用いて要請することができる。ユーザ情報保存トランザクション情報を受信した分散型台帳装置1は、図10のユーザ情報保存方法に基づいて変更されたユーザ情報をユーザ情報管理アカウントのストレージまたはメモリにユーザ情報として保存した後にブロックチェーン分散ネットワーク100に配布(broadcast、propagation)することができる。
図14は、本発明の一実施形態によるトランザクション情報送信装置2がユーザ情報保存要請(ユーザ情報を含む)を受信した場合を示す模式図であり、図15は、本発明の一実施形態によるトランザクション情報送信装置がユーザ情報保存要請を受信した場合を示すフローチャートである。図14及び15に示すように、ユーザクライアントにおいてAサービスのアプリケーション(Aアプリケーション)が実行された後、ユーザ情報が変更されたまま終了すると、ユーザクライアント及びサーバを介してトランザクション情報送信装置2が、ユーザ情報が含まれているユーザ情報保存要請をブロックチェーン分散ネットワーク100に送信するようにAPIが構成され、コア(Core)においてユーザ情報保存要請がトランザクション情報として生成した後(S30、トランザクション情報の生成ステップ)、トランザクション情報送信装置の秘密キーで署名されたトランザクション情報がブロックチェーン分散ネットワーク100の特定のノード(分散型台帳装置、1)に送信される(S31、トランザクション情報送信ステップ)。このとき、特定のノードは、ユーザクライアントまたはAサービス主体のクライアントであり得る。
Aアプリケーションと、ブロックチェーンを用いてユーザ情報を共有するアプリケーションのうちのいずれか一つであるBサービスのアプリケーション(Bアプリケーション)とが、ユーザクライアントにおいて実行されると、特定のノード(分散型台帳装置)1はBサービスアカウントのスマート契約を実行し(S32、スマート契約実行ステップ)、Bサービスアカウントは、ユーザについての情報である識別情報に対応する既保存されたユーザ情報をユーザ情報管理アカウントに確認してほしいというユーザ情報確認クエリを送信することができる(S33、クエリ送信ステップ)。その後、当該クエリに対するリターンとして、Bサービスアカウントは、ユーザ情報管理アカウントから既保存されたユーザ情報を受信することができる(S34、クエリリターンステップ)。Bアプリケーションに対応するBサービスアカウントは、Bアプリケーションのサーバとペアリングされるように構成されるので、Bアプリケーション内のユーザ情報は、Bサービスアカウントに受信されたユーザ情報に対応することになる。
特定のノードからブロックチェーン分散ネットワーク100に配布されたユーザ情報は、ユーザ情報管理アカウントのメモリに保存されているが、当該特定のノードまたは他の特定のノードが新しいブロック(New block)をマイニング(mining)すると、当該ブロックに記録される。
本発明の一実施例により、各アプリケーションでのポイント情報がユーザ情報を共有される場合、Aアプリケーションにおけるポイント価値とBアプリケーションにおけるポイントの価値とが異なる可能性があるので、クエリリターンステップ(S34)では、ユーザ情報管理アカウントが既設定された割合でユーザ情報を両替してBサービスアカウントに送信するように構成されてもよい。
本発明の一実施例により、各アプリケーションはゲームアプリケーションを意味し、共有されるユーザ情報が難易度情報である場合、Aゲームアプリケーションのa%の離脱率を有する難易度ゲーム環境においてユーザが離脱した後、ユーザがBゲームアプリケーションに流入するとき、a%よりも低いb%の離脱率またはa%よりも高いc%の離脱率を有する難易度を提供するために、クエリリターンステップ(S34)では、ユーザ情報管理アカウントが既設定された割合でユーザ情報を調節してBサービスアカウントに送信するように構成されてもよい。ユーザがAゲームアプリケーションにおけるa%の離脱率を有する難易度のゲーム環境において連続的に失敗した場合、難易度が高いと仮定してBのゲームアプリケーションではa%よりも低いb%の離脱率を有する難易度を提供することができる。ユーザがAゲームアプリケーションにおけるa%の離脱率を有する難易度のゲーム環境において連続的に成功した場合、難易度が低いと仮定してBゲームアプリケーションではa%よりも高いc%の離脱率を有する難易度を提供することができる。
以上説明したように、本発明が属する技術分野における通常の知識を有する者は、本発明がその技術的な思想や必須の特徴を変更することなく、他の具体的な形態に実施できることを理解するはずである。そこで、以上の記述した実施形態は全ての面で例示的なものであり、限定的ではないものと理解しなければならない。本発明の範囲は、詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその均等な概念から導き出される全ての変更または変更された形態が本発明の範囲に含まれるものと解釈されなければならない
本明細書に記述された特徴及び利点は、全てを含む訳ではなく、特に、多くの追加の特徴と利点が、図面、明細書及び特許請求の範囲に鑑みて当業者に明らかになるであろう。更に、本明細書において使用される言語は、主として可読的及び教授的な目的で選択されており、本発明の主題を記述又は限定するために選択されない可能性があることに留意すべきである。
本明細書に記述された特徴及び利点は、全てを含む訳ではなく、特に、多くの追加の特徴と利点が、図面、明細書及び特許請求の範囲に鑑みて当業者に明らかになるであろう。更に、本明細書において使用される言語は、主として可読的及び教授的な目的で選択されており、本発明の主題を記述又は限定するために選択されない可能性があることに留意すべきである。
本発明の実施形態の前述の説明は、例示を目的として提示されたものである。これは、開示された正確な形態に本発明を限定するか網羅的に作製することを意図したものではない。当業者は、前述した開示に照らして種々の修正及び変形が可能であることを理解することができる。
本説明の一部は、演算の記号表現及びアルゴリズムに関する本発明の実施形態を記述する。このようなアルゴリズム的説明および表現は、一般的に作業の核心を効率的に他の当業者に伝達するためにデータ処理分野の当業者により使用される。このような動作は、機能的、演算的、または論理的に説明されるが、コンピュータやこれと同等の電気回路、マイクロコードなどにより実現されると理解される。さらにこれはモジュールとしてのこのような動作の配列を示すために、時には一般性を失うことなく便利に証明される。前述した動作及びその関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせで実現され得る。
ここで記述された任意のステップ、動作、またはプロセスは、一つ以上のハードウェアまたはソフトウェアモジュールと共に単独でまたは他の装置と組み合わせて行われるか実現され得る。一実施形態において、ソフトウェアモジュールは、コンピュータプログラムコードを含むコンピュータ−読み取り可能な媒体で構成されるコンピュータプログラム製品と共に実現され、コンピュータプログラムコードは、記述された任意または全ての工程、ステップ、または動作を行うためのコンピュータプロセッサによって実行され得る。
また、本発明の実施形態は、本明細書における動作を実行するための装置と関連され得る。これらの装置は、必要な目的のために特別に製作されてもよく、又はコンピュータ内に保存されたコンピュータプログラムにより選択的に活性化又は再構成される一般的な目的の演算装置を含むことができる。このようなコンピュータプログラムは、任意の種類のコンピュータ読み取り可能な記憶媒体又は電子命令語の保存に適した任意の種類のメディアに保存されてもよく、コンピュータシステムバスに結合されてもよい。さらに、本明細に参照される任意の演算システムは、単一のプロセッサを含んでもよく、又は計算能力増強のためのマルチプロセッサデザインを採用した構造であってもよい。
最後に、本明細書で使用される言語は、主に読みやすさや教示の目的のために選択されており、本発明の主題を記述又は限定するためには選択されていない。
このため、本発明の範囲は、詳細な説明により限定されるものではなく、これをベースにした出願の任意の請求項によって限定されるものである。したがって、本発明の実施形態の開示は、例示的なものであり、以下の請求項に記載の本発明の範囲を限定するものではない。
1 分散型台帳装置
2 トランザクション情報送信装置
10 通信モジュール
11 処理モジュール
12 メモリモジュール
100 ブロックチェーン分散ネットワーク
2 トランザクション情報送信装置
10 通信モジュール
11 処理モジュール
12 メモリモジュール
100 ブロックチェーン分散ネットワーク
Claims (9)
- ユーザ情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと;
前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;
を含み、
前記ユーザ情報管理アカウントの前記プログラムコードは、
特定のユーザについて変更されたユーザ情報を含むユーザ情報保存要請トランザクション(Transaction)を、前記ブロックチェーン内の前記第1のアカウントから受信する保存要請受信ステップと;
前記ユーザ情報保存要請トランザクションに基づいて前記ユーザ情報を保存する保存ステップと;
前記ブロックチェーン内の前記第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;
前記第2のアカウントに前記ユーザ情報を送信するユーザ情報送信ステップと;
を含み、
前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳装置。 - 前記ユーザ情報はポイント情報を意味し、
前記ユーザ情報送信ステップでは、既設定された割合で前記ユーザ情報を両替し、前記第2のアカウントに両替された前記ユーザ情報を送信する、
請求項1に記載のユーザ情報の共有のための分散型台帳装置。 - 前記メモリモジュール及び前記処理モジュールは前記特定のユーザのクライアントに保存され、前記分散型台帳は前記第1のサーバ及び前記第2のサーバをミラーリングするように構成される、
請求項1に記載のユーザ情報の共有のための分散型台帳装置。 - 前記ユーザ情報は、前記特定のユーザの識別に関する情報である識別情報と、前記ユーザ情報の定量値に関する情報であるステータス情報と、で構成され、
前記ユーザ情報における前記識別情報は、前記ステータス情報のハッシュ値に基づいて暗号化されて保存される、
請求項1に記載のユーザ情報の共有のための分散型台帳装置。 - ユーザ情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと;
前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;
を含み、
前記ユーザ情報管理アカウントの前記プログラムコードは、
前記ブロックチェーン内の前記第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;
前記第1のアカウントから受信されて既保存された前記ユーザ情報を前記第2のアカウントに送信するユーザ情報送信ステップと;
を含み、
前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳装置。 - ユーザ情報管理契約アカウント、第1のアカウント、第2のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと;前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと;により行われる分散型台帳方法において、
前記ユーザ情報管理アカウントが、前記ブロックチェーン内の前記第2のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;
前記ユーザ情報管理アカウントが、前記第1のアカウントから受信されて既保存された前記ユーザ情報を前記第2のアカウントに送信するユーザ情報送信ステップと;
を含み、
前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳方法。 - ブロックチェーンに保存され、ユーザ情報を保存するユーザ情報管理アカウントが、前記ブロックチェーン内の第2のアカウントから、前記ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと;
前記ユーザ情報管理アカウントが、前記ブロックチェーン内の第1のアカウントから受信されて既保存された前記ユーザ情報を前記第2のアカウントに送信するユーザ情報送信ステップと;
を含み、
前記第1のアカウントは第1のアプリケーションをサービスする第1のサーバと連結され、第2のアカウントは第2のアプリケーションをサービスする第2のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳方法を行うためのプログラムが記録されている記録媒体。 - ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと;
受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト(Broadcast)するブロードキャストモジュールと;
を含み、
前記特定のサービスアカウントは、
前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと;
既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報保存トランザクション(transaction)を送信するトランザクション送信ステップと;
を行うコンピュータ読み取り可能なプログラムコードを含み、
前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、
トランザクション情報のブロードキャスト装置。 - ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと;受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト(Broadcast)するブロードキャストモジュールと;により行われるトランザクション情報のブロードキャスト方法において、
前記特定のサービスアカウントが、前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと;
前記特定のサービスアカウントが、既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報の保存トランザクション(transaction)を送信するトランザクション送信ステップと;
を含み、
前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、
トランザクション情報のブロードキャスト方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170178228A KR101932277B1 (ko) | 2017-12-22 | 2017-12-22 | 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법 |
KR10-2017-0178228 | 2017-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019115026A true JP2019115026A (ja) | 2019-07-11 |
Family
ID=65010282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018005004A Pending JP2019115026A (ja) | 2017-12-22 | 2018-01-16 | ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2019115026A (ja) |
KR (1) | KR101932277B1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597868A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的信息查询方法、装置、终端及存储介质 |
CN110727894A (zh) * | 2019-10-12 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 目标素材设置方法、装置、设备及存储介质 |
CN111126978A (zh) * | 2019-12-28 | 2020-05-08 | 飞天诚信科技股份有限公司 | 一种区块链上快速处理事务的实现方法及装置 |
CN114629956A (zh) * | 2021-11-26 | 2022-06-14 | 中国银联股份有限公司 | 用于实现边缘计算网络加速的方法和区块链网络 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200088180A (ko) | 2019-01-14 | 2020-07-22 | 주식회사 비틀게임즈 | 블록체인 기반의 다수의 사용자 간의 자료 공유 서비스를 위한 자료 관리 방법 |
KR102254207B1 (ko) * | 2019-02-18 | 2021-05-20 | 넷마블 주식회사 | 블록체인 상에서의 게임 데이터 관리 방법 |
KR102247815B1 (ko) * | 2019-04-30 | 2021-05-04 | 넷마블 주식회사 | 블록체인 네트워크에 기반한 게임 세이브 데이터 관리 기법 |
KR102243324B1 (ko) * | 2019-05-27 | 2021-04-22 | 넷마블 주식회사 | 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법 |
JP2020197993A (ja) * | 2019-06-04 | 2020-12-10 | 東芝テック株式会社 | ポイント管理方法及びポイント管理装置 |
KR102221520B1 (ko) * | 2019-06-10 | 2021-03-03 | 동국대학교 산학협력단 | 블록체인 기반의 경찰 인력 통합인사관리 시스템 |
CN110443652A (zh) * | 2019-08-07 | 2019-11-12 | 北京艾摩瑞策科技有限公司 | 在区块链上的广告数据处理方法及其装置 |
KR102271670B1 (ko) * | 2019-09-16 | 2021-06-30 | 넷마블 주식회사 | 세이브 데이터를 경매하는 방법 |
KR102454730B1 (ko) * | 2020-07-24 | 2022-10-13 | 넷마블 주식회사 | 게임 내 공략 데이터 거래 방법 |
CN113645264B (zh) * | 2021-05-11 | 2024-01-23 | 网易(杭州)网络有限公司 | 汽车安全性信息的处理方法及装置、电子设备、存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009175874A (ja) * | 2008-01-22 | 2009-08-06 | Nippon Telegraph & Telephone West Corp | ポイント管理装置及び方法、ならびに、コンピュータプログラム |
KR100921171B1 (ko) * | 2008-12-26 | 2009-10-13 | (주)이바이언 | 개인식별코드를 이용한 비가입 고객에 대한 온라인 서비스 제공 방법, 그 시스템 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 |
KR101591244B1 (ko) * | 2014-11-06 | 2016-02-05 | 주식회사 코인플러그 | 멤버십 포인트 또는 사이버머니를 블록체인을 갖는 디지털 가상통화로 전환하여 주는 장치 |
KR101628009B1 (ko) | 2015-04-20 | 2016-06-13 | 주식회사 코인플러그 | 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템 |
-
2017
- 2017-12-22 KR KR1020170178228A patent/KR101932277B1/ko active IP Right Grant
-
2018
- 2018-01-16 JP JP2018005004A patent/JP2019115026A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597868A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的信息查询方法、装置、终端及存储介质 |
CN110597868B (zh) * | 2019-09-24 | 2023-08-15 | 腾讯科技(深圳)有限公司 | 基于区块链的信息查询方法、装置、终端及存储介质 |
CN110727894A (zh) * | 2019-10-12 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 目标素材设置方法、装置、设备及存储介质 |
CN110727894B (zh) * | 2019-10-12 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 目标素材设置方法、装置、设备及存储介质 |
CN111126978A (zh) * | 2019-12-28 | 2020-05-08 | 飞天诚信科技股份有限公司 | 一种区块链上快速处理事务的实现方法及装置 |
CN114629956A (zh) * | 2021-11-26 | 2022-06-14 | 中国银联股份有限公司 | 用于实现边缘计算网络加速的方法和区块链网络 |
CN114629956B (zh) * | 2021-11-26 | 2024-04-16 | 中国银联股份有限公司 | 用于实现边缘计算网络加速的方法和区块链网络 |
Also Published As
Publication number | Publication date |
---|---|
KR101932277B1 (ko) | 2018-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019115026A (ja) | ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法 | |
JP6532930B1 (ja) | ブロックチェーンベースのユーザ識別管理用の分散型台帳装置、分散型台帳方法 | |
US20220318907A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
KR102151907B1 (ko) | 신뢰 실행 환경 하에서의 블록체인 데이터의 처리 및 저장 | |
KR101936756B1 (ko) | 블록체인을 이용한 공유경제 관리 장치 | |
KR101936758B1 (ko) | 정보 조회 기록의 무결성을 위한 암호화 장치, 방법 및 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 | |
Yan et al. | Confidentiality support over financial grade consortium blockchain | |
JP2023168539A (ja) | 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理 | |
KR101936757B1 (ko) | 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치 및 분산 원장 방법 | |
CN110915164A (zh) | 基于可信执行环境中执行的智能合约操作处理区块链数据 | |
KR101962289B1 (ko) | 블록체인 기반의 공유경제를 위해 비대칭키 방식으로 이용자를 식별하는 분산 원장 장치 | |
KR101962290B1 (ko) | 블록체인 기반의 공유경제를 위해 공유재화의 unlock 및 lock을 제어하는 분산 원장 장치 | |
CN111047321A (zh) | 业务处理方法及装置、电子设备、存储介质 | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
KR101878870B1 (ko) | 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법 | |
CN111813441B (zh) | 智能合约发布方法、装置、计算机可读介质及电子设备 | |
CN113422733B (zh) | 区块链的业务处理方法、装置、计算机设备及存储介质 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
KR101962288B1 (ko) | 블록체인을 이용해 공유재화의 가용성을 검증하는 공유경제 관리 장치 | |
CN111178840A (zh) | 业务处理方法及装置、系统、电子设备、存储介质 | |
KR101962285B1 (ko) | 블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치 및 분산 원장 방법 | |
KR102096637B1 (ko) | 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치 | |
KR102095046B1 (ko) | 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법 | |
US20230412404A1 (en) | Systems and methods for mitigating network congestion on blockchain networks by supporting blockchain operations through off-chain interactions | |
CN113014556B (zh) | 银企通讯系统、通讯方法以及电子终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20200501 |