(57)【要約】【課題】本発明は、ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法を提供する。【解決手段】このために、特定のユーザに対して変更されたユーザ情報を含むユーザ情報保存要請トランザクション（Ｔｒａｎｓａｃｔｉｏｎ）を、ブロックチェーン内の第１のアカウントから受信する保存要請受信ステップと；ユーザ情報保存要請トランザクションに基づいてユーザ情報を保存する保存ステップと；ブロックチェーン内の第２のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；第２のアカウントにユーザ情報を送信するユーザ情報送信ステップと；を提供する。【選択図】図１
2019115026.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ情報管理契約アカウント、第１のアカウント、第２のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと；
前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと；
を含み、
前記ユーザ情報管理アカウントの前記プログラムコードは、
特定のユーザについて変更されたユーザ情報を含むユーザ情報保存要請トランザクション（Ｔｒａｎｓａｃｔｉｏｎ）を、前記ブロックチェーン内の前記第１のアカウントから受信する保存要請受信ステップと；
前記ユーザ情報保存要請トランザクションに基づいて前記ユーザ情報を保存する保存ステップと；
前記ブロックチェーン内の前記第２のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；
前記第２のアカウントに前記ユーザ情報を送信するユーザ情報送信ステップと；
を含み、
前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳装置。
【請求項２】
前記ユーザ情報はポイント情報を意味し、
前記ユーザ情報送信ステップでは、既設定された割合で前記ユーザ情報を両替し、前記第２のアカウントに両替された前記ユーザ情報を送信する、
請求項１に記載のユーザ情報の共有のための分散型台帳装置。
【請求項３】
前記メモリモジュール及び前記処理モジュールは前記特定のユーザのクライアントに保存され、前記分散型台帳は前記第１のサーバ及び前記第２のサーバをミラーリングするように構成される、
請求項１に記載のユーザ情報の共有のための分散型台帳装置。
【請求項４】
前記ユーザ情報は、前記特定のユーザの識別に関する情報である識別情報と、前記ユーザ情報の定量値に関する情報であるステータス情報と、で構成され、
前記ユーザ情報における前記識別情報は、前記ステータス情報のハッシュ値に基づいて暗号化されて保存される、
請求項１に記載のユーザ情報の共有のための分散型台帳装置。
【請求項５】
ユーザ情報管理契約アカウント、第１のアカウント、第２のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと；
前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと；
を含み、
前記ユーザ情報管理アカウントの前記プログラムコードは、
前記ブロックチェーン内の前記第２のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；
前記第１のアカウントから受信されて既保存された前記ユーザ情報を前記第２のアカウントに送信するユーザ情報送信ステップと；
を含み、
前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳装置。
【請求項６】
ユーザ情報管理契約アカウント、第１のアカウント、第２のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと；前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと；により行われる分散型台帳方法において、
前記ユーザ情報管理アカウントが、前記ブロックチェーン内の前記第２のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；
前記ユーザ情報管理アカウントが、前記第１のアカウントから受信されて既保存された前記ユーザ情報を前記第２のアカウントに送信するユーザ情報送信ステップと；
を含み、
前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳方法。
【請求項７】
ブロックチェーンに保存され、ユーザ情報を保存するユーザ情報管理アカウントが、前記ブロックチェーン内の第２のアカウントから、前記ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；
前記ユーザ情報管理アカウントが、前記ブロックチェーン内の第１のアカウントから受信されて既保存された前記ユーザ情報を前記第２のアカウントに送信するユーザ情報送信ステップと；
を含み、
前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、
前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、
ユーザ情報の共有のための分散型台帳方法を行うためのプログラムが記録されている記録媒体。
【請求項８】
ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと；
受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト（Ｂｒｏａｄｃａｓｔ）するブロードキャストモジュールと；
を含み、
前記特定のサービスアカウントは、
前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと；
既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報保存トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を送信するトランザクション送信ステップと；
を行うコンピュータ読み取り可能なプログラムコードを含み、
前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、
トランザクション情報のブロードキャスト装置。
【請求項９】
ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと；受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト（Ｂｒｏａｄｃａｓｔ）するブロードキャストモジュールと；により行われるトランザクション情報のブロードキャスト方法において、
前記特定のサービスアカウントが、前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと；
前記特定のサービスアカウントが、既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報の保存トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を送信するトランザクション送信ステップと；
を含み、
前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、
トランザクション情報のブロードキャスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法に関する。
【背景技術】
【０００２】
最近のゲーム、オンラインコマース及び各種情報提供サービスなどのＰＣ／モバイルアプリケーションの場合は、ユーザにポイントを提供するか、ユーザのサービス使用状態を収集するなど、それぞれのユーザにステータス情報（流入、離脱、コンテンツ評価、コンテンツ消費持続時間など）を付与して様々な顧客関係管理（ＣＲＭ：Ｃｕｓｔｏｍｅｒ  Ｒｅｌａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ）を行っている。アプリケーションやＷｅｂサイトに対してユーザのステータス情報を用いてＣＲＭを行う代表的なソリューションとしてはＧｏｏｇｌｅ  Ａｎａｌｙｔｉｃｓがあり、代表的なＣＲＭ専門企業としてはＳａｌｅｓｆｏｒｃｅがある。
【０００３】
このとき、複数のＰＣ／モバイルアプリケーションに対してユーザ情報を連結すると、ユーザの状況に一層最適化されたカスタマイズサービスが可能となる。例えば、複数のＰＣ／モバイルアプリケーションに対するポイント制度を統合するなどの戦略が挙げられる。このためにはデータベース（ＤＢ）のミラーリングが必要である。しかしながら、ユーザ情報を互いに連結しようとする試みが複数の主体（ｅｎｔｉｔｙ）によって行われる場合、ＤＢのミラーリングが非常に難しくなるという問題があった。
【０００４】
上記問題を解決するために、Ａ社のサーバとＢ社のサーバとをミラーリングすることはできるが、完全なミラーリングの場合にはサービスの安定性を損なうおそれがあるので、実際には不可能であると考えられる。また、専用線を設ける方式を用いてもよいが、インフラコストが非常にかかるという問題が発生する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】大韓民国登録特許、１０−１７５１０２５、ブロックチェーンベースのスマート証券業務処理システム（Ｓｍａｒｔ  ｓｙｓｔｅｍ  ｆｏｒ  ｔｒａｄｉｎｇ  ｓｔｏｃｋ  ｂａｓｅｄ  ｂｌｏｃｋｃｈａｉｎ）、株式会社オンザ
【特許文献２】大韓民国登録特許、１０−１７５８８７０、マイニング管理システム及びこれを用いマイニングの管理方法（Ｍｉｎｉｎｇ  Ｒｉｇ  Ｍｏｎｉｔｏｒｉｎｇ  Ｓｙｓｔｅｍ  Ａｎｄ  Ｍｉｎｉｎｇ  Ｒｉｇ  Ｍｏｎｉｔｏｒｉｎｇ  Ｍｅｔｈｏｄ  Ｉｎ  Ｕｓｉｎｇ  Ｓａｍｅ）、株式会社オンザ
【特許文献３】米国公開特許、ＵＳ２０１６／０３４２９８９  Ａ１、Ｍｅｔｈｏｄ  ａｎｄ  ｓｙｓｔｅｍ  ｆｏｒ  ｐｒｏｃｅｓｓｉｎｇ  ｂｌｏｃｋｃｈａｉｎ−ｂａｓｅｄ  ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ｅｘｉｓｔｉｎｇ  ｐａｙｍｅｎｔ  ｎｅｔｗｏｒｋｓ、Ｍａｓｔｅｒｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｉｎｃｏｒｐｏｒａｔｅｄ
【特許文献４】米国公開特許、ＵＳ２０１６／０２９２６７２  Ａ１、Ｓｙｓｔｅｍｓ  ａｎｄ  ｍｅｔｈｏｄｓ  ｏｆ  ｂｌｏｃｋｃｈａｉｎ  ｔｒａｎｓａｃｔｉｏｎ ｒｅｃｏｒｄａｔｉｏｎ、Ｎａｓｄａｑ、Ｉｎｃ.
【特許文献５】米国公開特許、ＵＳ２０１７／０１３２６１５  Ａ１、Ｂｌｏｃｋ  ｃｈａｉｎ  ａｌｉａｓ  ｆｏｒ  ｐｅｒｓｏｎ−ｔｏ−ｐｅｒｓｏｎ  ｐａｙｍｅｎｔｓ、Ｂａｎｋ  Ｏｆ  Ａｍｅｒｉｃａ  Ｃｏｒｐｏｒａｔｉｏｎ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、本発明は、上記問題を解決するためになされたもので、その目的は、従来のネットワークの形態を維持しながらも、ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法を提供することである。
【課題を解決するための手段】
【０００７】
以下、本発明の目的を達成するための具体的手段について説明する。
本発明の目的は、ユーザ情報管理契約アカウント、第１のアカウント、第２のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと；前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと；を含み、前記ユーザ情報管理アカウントの前記プログラムコードは、特定のユーザについて変更されたユーザ情報を含むユーザ情報保存要請トランザクション（Ｔｒａｎｓａｃｔｉｏｎ）を、前記ブロックチェーン内の前記第１のアカウントから受信する保存要請受信ステップと；前記ユーザ情報保存要請トランザクションに基づいて前記ユーザ情報を保存する保存ステップと；前記ブロックチェーン内の前記第２のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；前記第２のアカウントに前記ユーザ情報を送信するユーザ情報送信ステップと；を含み、前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳装置を提供することにより達成できる。
【０００８】
また、前記ユーザ情報はポイント情報を意味し、前記ユーザ情報送信ステップでは、既設定された割合で前記ユーザ情報を両替し、前記第２のアカウントに両替された前記ユーザ情報を送信することができる。
【０００９】
また、前記メモリモジュール及び前記処理モジュールは前記特定のユーザのクライアントに保存され、前記分散型台帳は前記第１のサーバ及び前記第２のサーバをミラーリングするように構成できる。
【００１０】
また、前記ユーザ情報は、前記特定のユーザの識別に関する情報である識別情報と、前記ユーザ情報の定量値に関する情報であるステータス情報と、で構成され、前記ユーザ情報における前記識別情報は、前記ステータス情報のハッシュ値に基づいて暗号化されて保存され得る。
【００１１】
本発明の他の目的は、ユーザ情報管理契約アカウント、第１のアカウント、第２のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと；前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと；を含み、前記ユーザ情報管理アカウントの前記プログラムコードは、前記ブロックチェーン内の前記第２のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；前記第１のアカウントから受信されて既保存された前記ユーザ情報を前記第２のアカウントに送信するユーザ情報送信ステップと；を含み、前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳装置を提供することにより達成できる。
【００１２】
本発明のまた他の目的は、ユーザ情報管理契約アカウント、第１のアカウント、第２のアカウントを含む少なくとも一部のブロックチェーンを保存し、前記ユーザ情報管理アカウントに既保存されたユーザ情報を含む分散型台帳が保存されたメモリモジュールと；前記メモリモジュールと動作可能に結合され、前記ユーザ情報管理アカウントのコンピュータ読み取り可能なプログラムコードを実行する処理モジュールと；により行われる分散型台帳方法において、前記ユーザ情報管理アカウントが、前記ブロックチェーン内の前記第２のアカウントから、ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；前記ユーザ情報管理アカウントが、前記第１のアカウントから受信されて既保存された前記ユーザ情報を前記第２のアカウントに送信するユーザ情報送信ステップと；を含み、前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳方法を提供することにより達成できる。
【００１３】
本発明のまた他の目的は、ブロックチェーンに保存され、ユーザ情報を保存するユーザ情報管理アカウントが、前記ブロックチェーン内の第２のアカウントから、前記ユーザ情報確認に関する要請であるユーザ情報確認クエリを受信するユーザ情報確認要請ステップと；前記ユーザ情報管理アカウントが、前記ブロックチェーン内の第１のアカウントから受信されて既保存された前記ユーザ情報を前記第２のアカウントに送信するユーザ情報送信ステップと；を含み、前記第１のアカウントは第１のアプリケーションをサービスする第１のサーバと連結され、第２のアカウントは第２のアプリケーションをサービスする第２のサーバと連結され、前記ブロックチェーン内の複数のアカウントを用いて、複数のアプリケーションに対いて前記ユーザ情報を共有することを特徴とする、ユーザ情報の共有のための分散型台帳方法を行うためのプログラムが記録されている記録媒体を提供することにより達成できる。
【００１４】
本発明のまた他の目的は、ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと；受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト（Ｂｒｏａｄｃａｓｔ）するブロードキャストモジュールと；を含み、前記特定のサービスアカウントは、前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと；既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報保存トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を送信するトランザクション送信ステップと；を行うコンピュータ読み取り可能なプログラムコードを含み、前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、トランザクション情報のブロードキャスト装置を提供することにより達成できる。
【００１５】
本発明のまた他の目的は、ユーザのクライアントから前記ユーザのユーザ情報を受信するユーザ情報受信モジュールと；受信された前記ユーザ情報を特定のサービスアカウントに対するトランザクション情報に含ませ、前記ユーザ情報が含まれた前記トランザクション情報を分散型台帳に保存した後、ブロックチェーン分散ネットワークを介して少なくとも一部のノードにブロードキャスト（Ｂｒｏａｄｃａｓｔ）するブロードキャストモジュールと；により行われるトランザクション情報のブロードキャスト方法において、前記特定のサービスアカウントが、前記ユーザ情報を含む前記トランザクション情報を受信するトランザクション情報受信ステップと；前記特定のサービスアカウントが、既保存されたユーザ情報を含むユーザ情報管理アカウントに前記ユーザ情報を含むユーザ情報の保存トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を送信するトランザクション送信ステップ;を含み、前記ユーザ情報管理アカウントに既保存された前記ユーザ情報を用いて、複数の前記特定のサービスアカウントが前記ユーザ情報を共有するように管理することを特徴とする、トランザクション情報のブロードキャスト方法を提供することにより達成できる。
【発明の効果】
【００１６】
以上述べたように、本発明によれば、以下のような効果を奏する。
第一に、本発明の一実施形態によれば、従来のネットワークをそのまま維持しながらも複数の主体（ｅｎｔｉｔｙ）のＰＣ／モバイルアプリケーションのユーザ情報を統合することができるという効果が得られる。
【００１７】
第二に、本発明の一実施形態によれば、ゲームなどのＰＣ／モバイルアプリケーションにおける難易度、ポイントなどの面においてユーザに連続的な（Ｓｅａｍｌｅｓｓ）ユーザの経験を与えることができるという効果が得られる。
【００１８】
第三に、本発明の一実施形態によれば、ＰＣ／モバイルアプリケーションの作成者がユーザの特性を多様に分析することができるという効果が得られる。
【００１９】
本明細書に添付される下記の図面は本発明の好適な実施形態を例示するものであって、発明の詳細な説明とともに本発明の技術思想をさらに理解させる役割を果たすものであるため、本発明はそのような図面に記載された事項にのみ限定されて解釈されてはいけない。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態による分散型台帳装置を示す模式図である。
【図２】様々なノードの形態を示す模式図である。
【図３】本発明の一実施形態によるメモリモジュールのデータ構造を示す模式図である。
【図４】本発明の一実施形態による、特定のサービスサーバとブロックチェーン関係を示す模式図である。
【図５】本発明の一実施形態によるユーザ情報確認クエリを示す模式図である。
【図６】本発明の一実施形態によるミラーリングメッセージトランザクション（Ｔｘ、Ｔｒａｎｓａｃｔｉｏｎ）と応答トランザクション（Ｔｘ、Ｔｒａｎｓａｃｔｉｏｎ）情報を示す模式図である。
【図７】本発明の一実施形態によるユーザ情報のデータ構造を示す模式図である。
【図８】本発明の一実施形態による識別情報の暗号化を示す模式図である。
【図９】特定のユーザクライアントから、特定のサービスのアプリケーションが終了されて変更されたユーザ情報の保存が要請されるとき、本発明の一実施形態による分散型台帳装置のブロックチェーン内におけるトークンの流れを示す模式図である。
【図１０】変更されたユーザ情報の保存が要請されるとき、本発明の一実施形態による分散型台帳装置１の処理モジュール１１の処理ステップ（ユーザ情報の保存方法）を示すフローチャートである。
【図１１】ユーザ情報の確認が要請されるとき、本発明の一実施形態による分散型台帳装置１内におけるトークンの流れを示す模式図である。
【図１２】特定のサービスのアカウントからユーザ情報の確認が要請されるとき（特定のアプリケーションを実行するとき）、本発明の一実施形態による分散型台帳装置１の処理モジュール１１の処理ステップ（ユーザ情報確認方法）を示すフローチャートである。
【図１３】本発明のトランザクション情報送信装置２と分散型台帳装置１０のＨＴＴＰ通信を示す模式図である。
【図１４】本発明の一実施形態によるトランザクション情報送信装置２がユーザ情報保存要請を受信した場合を示す模式図である。
【図１５】本発明の一実施形態によるトランザクション情報送信装置がユーザ情報保存要請を受信した場合を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、添付図面に基づいて本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施することができる実施形態について詳細に説明する。但し、本発明の好ましい実施形態についての動作原理を詳細に説明するにあたり、関連した公知の機能または構成についての具体的な説明が本発明の要旨を不必要に不明瞭にするおそれがあると判断される場合は、その詳細な説明を省略する。
【００２２】
また、図面全体にわたって類似した機能及び作用をする部分に対しては同一の符号を使用する。これに加えて、明細書全体において、ある特定の部分が他の部分に「連結」されているとしたとき、これは、直接連結されている場合だけでなく、それらの構成要素の間に別の構成要素が介在して間接連結されている場合も含む。また、ある特定の構成要素を「含む」というのは、特に反対される記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含むことができることを意味する。
【００２３】
ユーザ情報の共有のための分散型台帳装置
分散型台帳装置において、図１は、本発明の一実施形態による分散型台帳装置を示す模式図である。図１に示すように、本発明の一実施形態による分散型台帳装置１は、ブロックチェーン分散ネットワーク１００のノードのうちのいずれか一つを意味することができ、通信モジュール１０、処理モジュール１１、メモリモジュール１２を含むことができる。
【００２４】
ブロックチェーン分散ネットワーク１００は、ブロックチェーンの分散型台帳を保存している複数のノードで構成されたＰ２Ｐ分散ネットワークを意味する。ブロックチェーン分散ネットワーク１００は、少なくとも一部のノードが同じ処理を行えるように構成されるので、一部のノードがシャットダウン（Ｓｈｕｔ  ｄｏｗｎ）されるか変調されても、システム全体には影響を与えないという特徴を有する。ノードは、ブロックチェーン分散ネットワーク１００に連結された全てのコンピューティング装置を意味することができる。このようなノードは、デジタルウォレット、ブロックチェーンのコピー、検証エンジン、採掘エンジン、Ｐ２Ｐネットワークの配布機能（ブロードキャスト）などを含んでもよく、さらにＬｉｇｈｔな機能のみで構成されたクライアントをも含んでもよい。本発明の一実施形態によるブロックチェーン分散ネットワーク１００は、ピュア（Ｐｕｒｅ）Ｐ２Ｐと、スーパーノード（Ｓｕｐｅｒ  Ｎｏｄｅ）を有するハイブリッド（Ｈｙｂｒｉｄ）Ｐ２Ｐと、を含んでもよい。特に、本発明の一実施形態によるノードは、ＰＣ／モバイルアプリケーションのソースコードと共にクライアントにインストールすることができる。
【００２５】
ノードにおいて、図２は、様々なノードの形態を示す模式図である。図２に示すように、参照クライアント（Ｒｅｆｅｒｅｎｃｅ  ｃｌｉｅｎｔ）は、ユーザのデジタルウォレット管理モジュールと、合意アルゴリズムが作業証明（ＰＯＷ、Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ）である場合のブロック採掘（Ｂｌｏｃｋ  Ｍｉｎｉｎｇ）のためのマイニングモジュール（Ｍｉｎｉｎｇ  Ｍｏｄｕｌｅ）と 、全体のブロックチェーンの全部または少なくとも一部のブロックを保存するブロックチェーンデータベース（Ｂｌｏｃｋｃｈａｉｎ  Ｄａｔａｂａｓｅ）と、トランザクション（Ｔｒａｎｓａｃｔｉｏｎ）をブロックチェーン分散ネットワークにブロードキャスト（Ｂｒｏａｄｃａｓｔ）するネットワークルーティングモジュール（Ｎｅｔｗｏｒｋ  Ｒｏｕｔｉｎｇ  Ｍｏｄｕｌｅ）と、を含むノードを意味することができ、例えば、ビットコイン・コア（Ｂｉｔｃｏｉｎ  Ｃｏｒｅ）のクライアント（Ｃｌｉｅｎｔ）などを意味することができる。フルノード（Ｆｕｌｌ  Ｎｏｄｅ）は、ブロックチェーンデータベースと、ネットワークルーティングモジュールと、を含むノードを意味することができる。ソロマイナーノード（Ｓｏｌｏ  Ｍｉｎｅｒ  Ｎｏｄｅ）は、マイニングモジュールと、ブロックチェーンデータベースと、ネットワークルーティングモジュールと、を含むノードを意味することができる。マイニングノード（Ｍｉｎｉｎｇ  Ｎｏｄｅ）は、マイニングプール（Ｍｉｎｉｎｇ  Ｐｏｏｌ）のノードを意味するプールマイニングノード（Ｐｏｏｌ  Ｍｉｎｉｎｇ  Ｎｏｄｅ）に連結されるゲートウェイルータ（Ｇａｔｅｗａｙ  Ｒｏｕｔｅｒ）と、マイニングモジュールと、を含む光ノードを意味することができる。ライトウェイトウォレットノード（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｗａｌｌｅｔ  Ｎｏｄｅ）は、一般的にブロックチェーンのヘッダ情報のみを保存し、デジタルウォレット管理モジュールを保有してユーザのデジタルウォレットを保存し、ネットワークルーティングモジュールを含むがブロックチェーンデータベースを含まないので、トランザクションの生成やブロックチェーン分散ネットワークにアクセスするためには第３者が所有しているサーバに依存する軽いノードを意味することができる。本発明の一実施形態による分散型台帳装置１は、前記ノードのうちブロックチェーンデータベースとネットワークルーティングモジュールとを含むノードを意味することができる。また、本発明の一実施形態によるノードがマイニングモジュールを含む場合には、ＰＯＷ（Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ）またはＰＯＳ（Ｐｒｏｏｆ  ｏｆ  Ｓｔａｋｅ）方式によりユーザクライアントがマイニングを行うように構成することができる。
【００２６】
通信モジュール１０は、トランザクション（Ｔｒａｎｓａｃｔｉｏｎ）をブロックチェーン分散ネットワークにブロードキャスト（Ｂｒｏａｄｃａｓｔ）するネットワークのルーティングモジュール（Ｎｅｔｗｏｒｋ  Ｒｏｕｔｉｎｇ  Ｍｏｄｕｌｅ）やプールマイニングノード（Ｐｏｏｌ  Ｍｉｎｉｎｇ  Ｎｏｄｅ）に連結されるゲートウェイルータ（Ｇａｔｅｗａｙ  Ｒｏｕｔｅｒ）などを意味することができる。
【００２７】
処理モジュール１１は、メモリモジュール１２に保存された分散型台帳であるブロックチェーンのブロックに保存されているトランザクションの内容を処理するモジュールである。本発明の一実施形態による処理モジュール１１は、イーサリアム仮想マシン（Ｅｔｈｅｒｅｕｍ Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）のような仮想マシン（ＶＭ）で構成されることができる。このような仮想マシンは、例えば、ムータン（Ｍｕｔａｎ）、ＬＬＬ、セーペント（Ｓｅｒｐｅｎｔ）、ソリディティ（Ｓｏｌｉｄｉｔｙ）などの上位レベルの言語で作られたコード（スマート契約：Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）がコンパイルされて生成されたバイトコード（Ｂｙｔｅ  Ｃｏｄｅ）を実行するためのランタイム（Ｒｕｎｔｉｍｅ）であり、オペコード（Ｏｐｃｏｄｅ）及びスタック（Ｓｔａｃｋ）のほかメモリ（Ｍｅｍｏｒｙ）及びストレージ（Ｓｔｏｒａｇｅ）を使用する主体でもある。
【００２８】
メモリモジュール１２は、分散型台帳を保存するモジュールであり、全体ブロックチェーンの全部または一部のブロックを保存するブロックチェーンデータベース（Ｂｌｏｃｋｃｈａｉｎ  Ｄａｔａｂａｓｅ）を意味することができる。図３は、本発明の一実施形態によるメモリモジュールのデータ構造を示す模式図である。図３に示すように、本発明の一実施形態によるメモリモジュール１２は、全部または一部のブロックチェーンを保存することができ、各ブロックヘッダには、前のブロックヘッダのハッシュ値（ｈａｓｈ）、解答値（ｎｏｎｃｅ）、トランザクショングループのハッシュ値とその他の生成された時間に関する情報であるタイムスタンプ（Ｔｉｍｅｓｔａｍｐ）（図示せず）、採掘難易度を意味するディフィカルティ（Ｄｉｆｆｉｃｕｌｔｙ）（図示せず）、ブロックのナンバーを意味するブロック番号（Ｂｌｏｃｋ  Ｎｕｍｂｅｒ）（図示せず）などが含まれ得る。各ブロック体（Ｃｏｎｔｅｎｔｓ）には、少なくとも一つ以上のトランザクション情報（特に、本発明の一実施形態によるユーザ情報保存トランザクション情報）が含まれ得る。
【００２９】
また、ブロックには、特定のサービスアカウントとユーザ情報管理アカウントとが含まれ得る。図４は、本発明の一実施形態による、特定のサービスサーバとブロックチェーン関係を示す模式図である。図４に示すように、特定のサービスアカウントは、ＥＯＡ（Ｅｘｔｅｒｎｅｌ  Ｏｗｎｅｄ  Ａｃｃｏｕｎｔ）またはＣＡ（Ｃｏｎｔｒａｃｔ  Ａｃｃｏｕｎｔ）で構成されてもよく、特定のＰＣ／モバイルアプリケーションのサーバに連結されて特定のサービスのユーザ情報と特定のサービスアカウントのユーザ情報がペアリング（ｐａｉｒｉｎｇ）されるように構成され、ユーザ情報管理アカウントのユーザ情報とミラーリング（ｍｉｒｒｏｒｉｎｇ）されるように構成されてもよい。ユーザ情報管理アカウントは、ＥＯＡ（Ｅｘｔｅｒｎｅｌ  Ｏｗｎｅｄ  Ａｃｃｏｕｎｔ）またはＣＡ（Ｃｏｎｔｒａｃｔ  Ａｃｃｏｕｎｔ）で構成されてもよく、複数のサービスアカウントと連結されて変更されたユーザ情報を受信し、ユーザ情報を用いて複数のサービスアカウントのユーザ情報とミラーリング（ｍｉｒｒｏｒｉｎｇ）されるように構成されてもよい。
【００３０】
ユーザ情報管理アカウントの生成のためのユーザ情報管理アカウント生成トランザクション情報には、アドレス（ａｄｄｒｅｓｓ）は含まれていない可能性があり、本発明の一実施形態によるスマート契約の一種であるユーザ情報管理アカウントのコード（例えば、バイトコード（Ｂｙｔｅ  ｃｏｄｅ））を含むことができる。ユーザ情報管理アカウント生成トランザクション情報をブロックに保存して実行すると、当該スマート契約に対する契約アカウント（Ｃｏｎｔｒａｃｔ  ａｃｃｏｕｎｔ）の一種であるユーザ情報管理アカウントのアドレスが生成され、ブロックに保存される。本発明の一実施形態によるユーザ情報管理アカウントを生成した後にユーザ情報管理アカウントを条件付きで利用する特定のサービスアカウントである特定のサービスアカウントを生成するか、既存の特定のサービスアカウントを変更して配布することができる。
【００３１】
特定のユーザのクライアントにおいて特定のサービスのアプリケーション（ＰＣまたはモバイル）が終了すると、特定のサービスにおいて変更されたユーザ情報はユーザ情報管理アカウントに保存される。図３に示すように、ユーザ情報保存トランザクション情報には、ユーザ情報管理アカウントアドレス情報、ユーザ情報保存実行命令、当該命令のパラメータ（ｐａｒａｍｅｔｅｒ）のうちのいずれか一つである変更されたユーザ情報（変更を要請するユーザ情報）、その他の伝達しようとする価値情報（Ｖａｌｕｅ）またはパラメータ（例えば、カテゴリ情報）を含むことができる。ユーザ情報保存トランザクション情報をブロックに保存して実行すると、ユーザ情報管理アカウントは、変更されたユーザ情報の保存有無を判定し、保存が必要な場合、既保存されたユーザ情報を変更されたユーザ情報に更新することができる。更新されたユーザ情報は、ユーザ情報管理アカウントのストレージ（Ｓｔｏｒａｇｅ）やメモリ（ｍｅｍｏｒｙ）内に含まれるなどの方法によりブロックに保存することができる。
【００３２】
本発明の一実施形態によるユーザ情報（ユーザ情報、変更されたユーザ情報）は、ユーザの特定のサービスにおけるポイント情報、ユーザの流入情報、ユーザの離脱情報、ユーザの持続時間情報、ユーザのレベル情報、現在の難易度情報、ユーザのクエスト解決情報、ユーザのコンテンツアップロード情報、ユーザの評価参加情報などを含むことができる。ユーザ情報は、ユーザについての識別情報、上述したようなカテゴリについてのカテゴリ情報、当該カテゴリーについてのユーザ情報の定量的大きさであるステータス情報などで構成されておよい。
【００３３】
特定のユーザのクライアント（ＰＣまたはモバイル）の特定のサービスのアプリケーションが実行されると、ユーザ情報管理アカウントに既保存されたユーザ情報が、特定のサービスアカウントを通じて特定のサービスに適用されることになる。図５は、本発明の一実施形態によるユーザ情報確認クエリを示す模式図である。図５に示すように、本発明の一実施形態により、特定のサービスアカウントは、特定のサービスがロードされると、ユーザ情報管理アカウントの既保存されたユーザ情報からユーザ情報をロードするために、ユーザ情報管理アカウントにユーザ情報確認クエリ（Ｑｕｅｒｙ）を送信することができる。ユーザ情報確認クエリには、ユーザ情報管理アカウントアドレス情報、ユーザ情報確認命令、当該命令のパラメータのうちのいずれか一つであるカテゴリ情報、その他の確認しようとする価値情報（Ｖａｌｕｅ）またはパラメータを含むことができる。ユーザ情報確認クエリは、ローカル（Ｌｏｃａｌ）（当該ユーザのクライアントまたは当該サービス社のノード）の分散型台帳装置１にのみ要請され、ブロックチェーン分散ネットワーク全体の状態を変更しない。本発明の一実施形態によるユーザ情報管理アカウントがユーザ情報確認クエリを受信すると、ユーザ情報がユーザ情報管理アカウントのストレージ（Ｓｔｏｒａｇｅ）やメモリ（ｍｅｍｏｒｙ）内に保存されたユーザ情報を特定のサービスのアカウントに送信（リターン）して、特定のサービスアカウントのスマート契約が以後のアルゴリズムを実行するように構成されてもよい。
【００３４】
また、ユーザ情報をロード（ｌｏａｄ）するためにメッセージトランザクションを使用してもよい。図６は、本発明の一実施形態によるミラーリングメッセージトランザクション（Ｔｘ、Ｔｒａｎｓａｃｔｉｏｎ）及び応答トランザクション（Ｔｘ、Ｔｒａｎｓａｃｔｉｏｎ）情報を示す模式図である。図６に示すように、特定のサービスアカウントでは、ユーザ情報のミラーリングのためにユーザ情報管理アカウントにミラーリングメッセージトランザクションを送信することができ、ユーザ情報管理アカウントでは、ユーザ情報をロード（ｌｏａｄ）して特定のサービスアカウントにユーザ情報を含む応答メッセージのトランザクション情報を送信して、特定のサービスアカウントのスマート契約の以後手続きが実行されるように構成されてもよい。このような応答メッセージのトランザクション情報には、特定のサービスアカウントのアドレス情報、ユーザ情報ミラーリング命令、当該命令のパラメータのうちのいずれか一つであるユーザ情報、その他の価値情報（Ｖａｌｕｅ）またはパラメータ（例えば、カテゴリ情報）を含むことができる。本発明の一実施形態による応答メッセージのトランザクション情報は、検証が完了すると、ブロックチェーン分散ネットワーク１００内に配置（ブロードキャスト）されて、全体ノードにおいて特定のサービスアカウントのスマート契約が実行されるように構成されてもよい。
【００３５】
このようなスマート契約のコード（Ｃｏｄｅ）は、例えば、イーサリアム（Ｅｔｈｅｒｅｕｍ）の場合、ソリディティ（Ｓｏｌｉｄｉｔｙ）、セーペント（Ｓｅｒｐｅｎｔ）、ＬＬＬ、ムータン（Ｍｕｔａｎ）の言語として用いられるが、現在はソリディティ（Ｓｏｌｉｄｉｔｙ）が主に用いられており、文法はジャバスクリプト （ＪａｖａＳｃｒｉｐｔ（登録商標））と類似している。スマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）は、「変数」、「構造体」及び「関数」を含めて処理モジュール１１によって処理されるプログラムコードである。このようなスマートコントラクトコード（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ  Ｃｏｄｅ）は、コンパイル（Ｃｏｍｐｉｌｅ）過程を経てバイトコード（Ｂｙｔｅ  Ｃｏｄｅ）に変換される。バイトコード（Ｂｙｔｅ  Ｃｏｄｅ）はソリディティーリアルタイムコンパイラ（Ｓｏｌｉｄｉｔｙ  Ｒｅａｌｔｉｍｅ  Ｃｏｍｐｉｌｅｒ）を用いてコンパイルされる。ソリディティ（Ｓｏｌｉｄｉｔｙ）のバイトコード（Ｂｙｔｅ  Ｃｏｄｅ）はすべて１６進数のコードであり、ソリディティ（Ｓｏｌｉｄｉｔｙ）においてこのバイトコード（Ｂｙｔｅ  Ｃｏｄｅ）を受信アドレスなしにペイロード（Ｐａｙｌｏａｄ）（ｄａｔａ：）に割り当ててブロックチェイン（Ｂｌｏｃｋｃｈａｉｎ）にトランザクション（Ｔｒａｎｓａｃｔｉｏｎ）を配布すれば、マイナー（Ｍｉｎｅｒ）によってブロック（Ｂｌｏｃｋ）が生成され、このようなトランザクション（Ｔｒａｎｓａｃｔｉｏｎ）はコントラクトクリエーショントランザクション（Ｃｏｎｔｒａｃｔ  Ｃｒｅａｔｉｏｎ  Ｔｒａｎｓａｃｔｉｏｎ）とみなされ、トランザクションレシート（Ｔｒａｎｓａｃｔｉｏｎ  Ｒｅｃｅｉｐｔ）のコントラクトアドレス（Ｃｏｎｔｒａｃｔ  Ａｄｄｒｅｓｓ）：フィールドに生成（配布）されたコントラクト（Ｃｏｎｔｒａｃｔ）のアドレスを入れてリターンする。
【００３６】
スマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）開発環境は、開発ツール及びコンパイラ（Ｃｏｍｐｉｌｅｒ）を含む範囲を含むことができる。例えば、ソリディティ（Ｓｏｌｉｄｉｔｙ）の場合、コード（Ｃｏｄｅ）を作成してコンパイルすると、すべてのコンパイラは、「バイトコード（Ｂｙｔｅ  Ｃｏｄｅ）」、「ファンクション・シグネチャ（Ｆｕｎｃｔｉｏｎ  Ｓｉｇｎａｔｕｒｅ）」及び「アプリケーション・バイナリー・インタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｂｉｎａｒｙ  Ｉｎｔｅｒｆａｃｅ、ＡＢＩ）」を出力する。
【００３７】
バイトコード（Ｂｙｔｅ  Ｃｏｄｅ）は、前述したようにスマートコントラクトコード（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ  Ｃｏｄｅ）をコンパイルした結果であり、ブロックチェイン（Ｂｌｏｃｋｃｈａｉｎ）にコントラクトクリエーショントランザクション（Ｃｏｎｔｒａｃｔ  Ｃｒｅａｔｉｏｎ  Ｔｒａｎｓａｃｔｉｏｎ）を発生させて配置する場合と、コントラクト（Ｃｏｎｔｒａｃｔ）へのメッセージトランザクション（Ｍｅｓｓａｇｅ  Ｔｘ：Ｍｅｓｓａｇｅ  Ｔｒａｎｓａｃｔｉｏｎ）が発生する場合と、コントラクト（Ｃｏｎｔｒａｃｔ）へのコール／クエリ（Ｃａｌｌ／Ｑｕｅｒｙ）が発生する場合とにより分散型台帳装置１（イーサリアムの場合にＥＶＭ）上で実行される。
【００３８】
ファンクション・シグネチャ（Ｆｕｎｃｔｉｏｎ  Ｓｉｇｎａｔｕｒｅ）は、コントラクト（Ｃｏｎｔｒａｃｔ）関数を呼び出す時にインタフェースとして用いられるものであり、コントラクト（Ｃｏｎｔｒａｃｔ）関数名をＳＨＡ−３暗号的なハッシュ（Ｈａｓｈ）関数でハッシュした４バイトのハッシュ値値である。
【００３９】
アプリケーション・バイナリー・インタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｂｉｎａｒｙ  Ｉｎｔｅｒｆａｃｅ、ＡＢＩ）は、特定の言語やプラットフォームに従属しない方法で記述されたアプリケーション・インタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ）を意味する。ＡＢＩの定義をコンパイラ或いはＡＢＩジェネレーター（ＡＢＩ  Ｇｅｎｅｒａｔｏｒ）が出力するが、ＡＢＩにはスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）の関数とパラメータ（Ｐａｒａｍｅｔｅｒ）のメタデータ（Ｍｅｔａ  ｄａｔａ）が定義されている。ＡＢＩを用いてジャバスクリプト （ＪａｖａＳｃｒｉｐｔ）言語ベースのアプリケーションを作成するときに、オブジェクトを作成させることができ、簡単にそのオブジェクトのメソッド（Ｍｅｔｈｏｄ）を呼び出すだけでコントラクト（Ｃｏｎｔｒａｃｔ）の関数が呼び出されるようにすることができる。現在イーサリアム（Ｅｔｈｅｒｅｕｍ）は、ｗｅｂ３．ｊｓと共にジャバスクリプト （ＪａｖａＳｃｒｉｐｔ）応用で簡単にＡＢＩを用いてオブジェクトを作成して使用できるようにサポートしており、１.４.０以降のｇｏ−イーサリアム（Ｅｔｈｅｒｅｕｍ）では、Ｇｏ  Ｎａｔｉｖｅ言語ベースの応用でスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）を簡単にバインディング（Ｂｉｎｄｉｎｇ）できるように、ＡＢＩをベースでＧｏ  Ｃｏｄｅを生成させるＡＢＩＧｅｎを提供している。
【００４０】
このようなスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）開発環境は、ブロックチェーンエンジン（Ｂｌｏｃｋｃｈａｉｎ  Ｅｎｇｉｎｅ）と連結されてコントラクトクリエーション（Ｃｏｎｔｒａｃｔ  Ｃｒｅａｔｉｏｎ）／デプロイメント（Ｄｅｐｌｏｙｍｅｎｔ）、メッセージトランザクション（Ｍｅｓｓａｇｅ  Ｔｘ）、コール（Ｃａｌｌ）／クエリ（Ｑｕｅｒｙ）を伝達することができるが、このようなブロックチェーンエンジン（Ｂｌｏｃｋｃｈａｉｎ  Ｅｎｇｉｎｅ）は、本発明の一実施形態による分散型台帳装置１を意味し、イーサリアムの例では、ゲス（ｇｅｔｈ）やパリティ（ｐａｒｉｔｙ）、エス（ｅｔｈ）のようなイーサリアムノード（Ｅｔｈｅｒｅｕｍ  Ｎｏｄｅ）を意味する。最終的にはすべてのスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）と関連したトランザクション（Ｔｒａｎｓａｃｔｉｏｎ）処理とコントラクト（Ｃｏｎｔｒａｃｔ）実行のためのＥＶＭのような仮想マシンは、分散型台帳装置１のようなノード（Ｎｏｄｅ）上に構成されている。
【００４１】
このようなスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）開発環境においてＡＢＩはＡｐｐｌｉｃａｔｉｏｎｓと連結可能である。スマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）はロジック（Ｌｏｇｉｃ）だけを所有し、ユーザや外部システムとの相互作用のためにはアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ）が必要である。ＨＴＭＬ＋ＣＳＳ＋ＪａｖａＳｃｒｉｐｔ、アプリケーションサーバ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ）、ウォレット（Ｗａｌｌｅｔ）などのアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ）は、例えば、イーサリアム（Ｅｔｈｅｒｅｕｍ）とのインタフェース（Ｉｎｔｅｒｆａｃｅ）を介してスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）と相互作用する構成である。
【００４２】
スマートコントラクトコード（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ  Ｃｏｄｅ）は、「Ｃｒｅａｔｉｏｎ／Ｄｅｐｌｏｙｍｅｎｔ」、「Ｉｎｖｏｋｅ  ｂｙ  Ｍｅｓｓａｇｅ」、「Ｃａｌｌ」に大別される。本発明の一実施形態によるユーザ情報管理アカウントのコードも、契約アカウント生成、メッセージトランザクションによるユーザ情報保存、クエリによるユーザ情報確認、トランザクションによるユーザ情報ミラーリングに大別される。
【００４３】
本発明の一実施形態によるユーザ情報（ユーザ情報及び変更されたユーザ情報）は、デジタルウォレット情報、ｅ−ｍａｉｌ情報、ソーシャルネットワークＩＤ、デバイスＵＵＩＤ情報などのユーザ識別に関連した識別情報に、ユーザの特定のサービスのポイント情報、ユーザの流入情報、ユーザの離脱情報、ユーザの持続時間情報、ユーザのレベル情報、現在の難易度情報などに関連したカテゴリー情報と、当該カテゴリの定量的なステータス情報を結合して生成された情報を意味することができている。図７は、本発明の一実施形態によるユーザ情報のデータ構造を示す模式図である。図７に示すように、ユーザ情報は識別情報、カテゴリー情報、ステータス情報を含むことができ、識別情報はウォレット情報、ＩＤ情報、デバイス識別情報などを含むことができ、カテゴリ情報はポイント情報、レベル情報などを含むことができ、ステータス情報は当該カテゴリの定量的状態を示すことができる。
【００４４】
本発明の一実施形態によるメモリモジュール１２によりユーザ情報がトランザクション情報の形でブロックに保存されるので、ユーザ情報の偽造・変造が困難である点、ユーザ情報の記録時点を明確に把握できる点、当該ブロックチェーンと連結された全てのＰＣ／モバイルアプリケーションに対するユーザ情報を共有し得る点、及び新しいＰＣ／モバイルアプリケーションに対してユーザ情報を簡単に共有し得る点が効果として挙げられる。
【００４５】
ステータス情報の防止において、本発明の一実施例によれば、ユーザ情報における識別情報は、ステータス情報のハッシュ値を用いて暗号化されて保存されるように構成されてもよい。このとき、ハッシュ関数としては、例えば、ＳＨＡ−２５６などが用いられる。図８は、本発明の一実施形態による識別情報の暗号化を示す模式図である。図８に示すように、ユーザ情報における識別情報は暗号化されて保存可能であり、このとき、識別情報の暗号化はステータス情報のハッシュ値を用いて行われる。
【００４６】
本発明の一実施例により識別情報をステータス情報のハッシュ値を用いて暗号化して保存する場合、ステータス情報が変造されていない場合には、ステータス情報のハッシュ値を用いて暗号化された識別情報を完全に復号化することができる。しかしながら、ステータス情報が変造されている場合には、ステータス情報のハッシュ値を用いて暗号化された識別情報を完全に復号化することができない。したがって、ステータス情報を変調すると、当該ステータス情報がどのユーザの情報であるのかを識別することができなくなるという効果が得られる。
【００４７】
また、ステータス情報の変造防止において、本発明の一実施例によれば、図３における「トランザクショングループのハッシュ値」が次のブロックの「前のブロックヘッダのハッシュ値」に含まれて連結リスト（ｌｉｎｋｅｄ  ｌｉｓｔ）を形成するので、ステータス情報が変調されると、変調されたブロックを含む以後のブロックの全てのハッシュ値が変わるという効果が得られる。これにより、ステータス情報が変調されると新しいブロックチェーンが形成され、ブロックチェーンが分岐する。この際、分岐したブロックチェーンは、元のブロックチェーンに比べてより少ない証明［ＰＯＷ（「仕事量の証明」という意味で「Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ」の略称）、ＰＯＳ（「保有による証明」という意味で「Ｐｒｏｏｆ  ｏｆ  Ｓｔａｋｅ」の略称）などを含む］が行われるので、所定の特定期間の後に消滅するように構成されてもよい。したがって、本発明の一実施例によれば、ステータス情報が変調されて新しいブロックチェーンが形成されるとしても変調された新しいブロックチェーンが廃棄されるという効果が得られる。
【００４８】
さらにまた、ステータス情報の変造防止において、ブロックの証明方法として従来のＰＯＷを行うと、ノードがＰＣ／モバイルアプリケーションを実行するためのユーザのクライアントである場合、過度のコンピューティングパワーが求められるという問題が発生する。このような問題を解決するために、本発明の一実施例によれば、特定のユーザが特定のＰＣ／モバイルアプリケーションにおいて所定の条件（例えば、アプリケーションの使用時間、レベル上昇、クエスト解決、コンテンツのアップロードなど）を満足すると新たに生成されたブロックを証明するように構成されてもよい。アプリケーションユーザの使用程度、努力、サービス参加度に基づいたこのような証明の方法を用いて特定の時間間隔で生成されるブロックを証明する場合、コンピューティングパワーを乱用しないながらも変調されて新たに形成されたブロックチェーンを廃棄することができるという効果が得られる。
【００４９】
図９は、特定のユーザクライアントから、特定のサービスのアプリケーションが終了されて変更されたユーザ情報の保存が要請されるとき、本発明の一実施形態による分散型台帳装置のブロックチェーン内におけるトークンの流れを示す模式図である。図９に示すように、本発明の一実施形態による分散型台帳装置１は、メモリモジュール１２のブロックチェーン内の契約アカウント（ＣＡ、Ｃｏｎｔｒａｃｔ  Ａｃｃｏｕｎｔ）の一種である、特定のサービスに対する契約アカウント（特定のサービスアカウント）と、ユーザ情報管理アカウントと、を含むことができる。ユーザ情報管理アカウントは、スマート契約の一種であり、メモリモジュール１２のブロックチェーンに保存されて処理モジュール１１によって行われるプログラムコードを意味することができる。本発明の一実施形態による分散型台帳装置１に、変更されたユーザ情報の保存がグローバルステート（Ｇｌｏｂａｌ  Ｓｔａｔｅ）の変更を引き起こすメッセージトランザクション（Ｍｅｓｓａｇｅ  Ｔｒａｎｓａｃｔｉｏｎ）の形で要請されるとき、このようなトランザクションは、特定のサービスアカウントからユーザ情報管理者アカウントのアドレスに、図３に示すユーザ情報管理アカウントアドレス情報、ユーザ情報保存実行命令、当該命令のパラメータ（ｐａｒａｍｅｔｅｒ）のうちのいずれか一つである変更されたユーザ情報、その他の伝達しようとする価値情報（Ｖａｌｕｅ）またはパラメータなどを含めて伝達され得る。
【００５０】
図１０は、変更されたユーザ情報の保存が要請されるとき、本発明の一実施形態による分散型台帳装置１の処理モジュール１１の処理ステップ（ユーザ情報の保存方法）を示すフローチャートである。図１０に示すように、本発明の一実施形態による処理モジュール１１は、ユーザ情報保存トランザクション情報を受信すると、アドレス呼び出しステップ（Ｓ１０）、保存命令ステップ（Ｓ１１）、保存ステップ（Ｓ１２）、配布ステップ（Ｓ１３）を含めてトランザクション情報を処理することができる。
【００５１】
アドレス呼び出しステップ（Ｓ１０）は、処理モジュール１１がユーザ情報保存トランザクション情報に保存されたユーザ情報管理アカウントのアドレスを呼び出すステップである。アドレス呼び出しステップ（Ｓ１０）により、仮想マシンである分散型台帳装置１においてスマート契約の一種であるユーザ情報管理アカウントのコードが実行できるように活性化される。
【００５２】
保存命令ステップ（Ｓ１１）は、ユーザ情報保存トランザクション情報のユーザ情報保存実行命令によりユーザ情報管理アカウントのコードのうちの一部であるユーザ情報保存コードを実行するステップである。
【００５３】
保存ステップ（Ｓ１２）は、ユーザ情報管理アカウントのコードのうちの一部であるユーザ情報保存コードによりユーザ情報保存トランザクション情報に含まれているパラメータ（ｐａｒａｍｅｔｅｒ）である変更されたユーザ情報をユーザ情報管理アカウントのストレージ（Ｓｔｏｒａｇｅ）またはメモリ（Ｍｅｍｏｒｙ）に保存するステップである。契約アカウント（Ｃｏｎｔｒａｃｔ  Ａｃｃｏｕｎｔ）はストレージ（Ｓｔｏｒａｇｅ）と呼ばれる永続的な（Ｐｅｒｓｉｓｔｅｎｔ）格納場所を含むことができる。ストレージ（Ｓｔｏｒａｇｅ）では、キー値マップ（Ｋｅｙ−Ｖａｌｕｅ）マップ構造で３２バイトのキーを３２バイト値にマッピングするようになっている。特定のスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）は、自分以外のコントラクト（Ｃｏｎｔｒａｃｔ）のストレージ（Ｓｔｏｒａｇｅ）を読み書きすることができない。メモリ（Ｍｅｍｏｒｙ）はスマートコントラクト（Ｓｍａｒｔ  Ｃｏｎｔｒａｃｔ）がメッセージコール（Ｍｅｓｓａｇｅ  Ｃａｌｌ）があるたびに最新のインスタンス（Ｉｎｓｔａｎｃｅ）を得ることができる空間である。メモリ（Ｍｅｍｏｒｙ）ではバイト（ｂｙｔｅ）レベルで読み書きすることができるが、３２バイト単位チャンク（Ｃｈｕｎｋ）で保存することができる。すなわち、メモリ（Ｍｅｍｏｒｙ）では、１という値を保存すると３２バイト（２５６ビット）空間に保存される。例えば、ＥＶＭは、合計１０２４個の命令セット（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ）（ＯＰＣＯＤＥ）を入れることができるスタック（Ｓｔａｃｋ）を含み、２５６ビットのワード（ｗｏｒｄ）（値）を有する。
【００５４】
配布ステップ（Ｓ１３）では、保存ステップ（Ｓ１２）により変更された状態（Ｓｔａｔｅ）を、分散型台帳装置１がブロックチェーン分散ネットワーク１００の全ノードに配布するステップである。
【００５５】
本発明の一実施例によるユーザ情報保存トランザクション情報によれば、処理モジュール１１によりユーザ情報管理アカウントのストレージまたはメモリに変更されたユーザ情報がユーザ情報として保存され、ノード全体にこのような状態の変更が配布（グローバルステート（Ｇｌｏｂａｌ  Ｓｔａｔｅ）の変更）されるので、その後少なくとも一つ以上の特定のアプリケーションに対して統合的にユーザ情報の管理を行うことができるという効果が得られる。
【００５６】
図１１は、ユーザ情報の確認が要請されるとき、本発明の一実施形態による分散型台帳装置１内におけるトークンの流れを示す模式図である。図１１に示すように、本発明の一実施形態による分散型台帳装置１にユーザ情報の確認がクエリの形で要請されるとき、このようなクエリは、少なくとも一つ以上の特定のサービスのアカウントからユーザ情報管理アカウントのアドレスに、図５に示すユーザ情報管理アカウントアドレス情報、ユーザ情報確認命令、特定のサービスアカウント情報、その他確認しようとする価値情報（Ｖａｌｕｅ）またはパラメータなどを含めて伝達され得る。当該特定のサービスアカウントは、特定のＥＯＡ／ＣＡからユーザ情報を含むスマート契約実行要請（トランザクション情報の形態）を受信し、当該ユーザ情報の確認をユーザ情報管理アカウントに要請（クエリの形態）する。その後、特定のサービスアカウントは、ユーザ情報管理アカウントからユーザ情報のリターンを受ける。
【００５７】
図１２は、特定のサービスアカウントからユーザ情報の確認が要請されるとき（特定のアプリケーションを実行するとき）、本発明の一実施形態による分散型台帳装置１の処理モジュール１１の処理ステップ（ユーザ情報の確認方法）を示すフローチャートである。図１２に示すように、本発明の一実施形態による処理モジュール１１は、ユーザ情報確認クエリを受信すると、アドレス呼び出しステップ（Ｓ２０）、検索命令ステップ（Ｓ２１）、確認ステップ（Ｓ２２）、リターンステップ（Ｓ２３）を含めてトランザクション情報を処理することができる。
【００５８】
アドレス呼び出しステップ（Ｓ２０）は、処理モジュール１１が、ユーザ情報確認クエリに含まれているユーザ情報管理アカウントのアドレスを呼び出すステップである。アドレス呼び出しステップ（Ｓ２０）により、仮想マシンである分散型台帳装置１においてスマート契約の一種であるユーザ情報管理アカウントのストレージまたはメモリの検索が行われる。
【００５９】
検索命令ステップ（Ｓ２１）は、ユーザ情報確認クエリのユーザ情報検索命令によりユーザ情報の検索を行うステップである。ユーザ情報の検索は、識別情報を用いて行われることができる。
【００６０】
確認ステップ（Ｓ２２）は、ユーザ情報確認クエリに含まれているパラメータ（ｐａｒａｍｅｔｅｒ）である識別情報を、ユーザ情報管理アカウントのストレージ（Ｓｔｏｒａｇｅ）またはメモリ（Ｍｅｍｏｒｙ）に保存されているユーザ情報と比較して、当該識別情報を含むユーザ情報がユーザ情報管理アカウントのストレージまたはメモリに保存されているかどうかを確認するステップである。本発明の一実施例により識別情報が暗号化された場合、ステータス情報のハッシュ値を用いて復号化した後、識別情報の検索を行うことができる。
【００６１】
リターンステップ（Ｓ２３）は、ユーザ情報管理アカウントが受信した識別情報が既保存されているユーザ情報を特定のサービスアカウントにリターンするステップである。
【００６２】
本発明の一実施形態によるユーザ情報確認クエリによれば、少なくとも一つ以上の特定のスマート契約に対して統合的にユーザ情報の管理を行うことができるという効果が得られる。
【００６３】
トランザクション情報のブロードキャスト装置
本発明の一実施形態によるトランザクション情報のブロードキャスト装置において、図１３は、本発明のトランザクション情報送信装置２と分散型台帳装置１０のＨＴＴＰ通信を示す模式図である。図１３に示すように、本発明の一実施形態によるトランザクション情報のブロードキャスト装置は、例えば、ソリディティ（Ｓｏｌｉｄｉｔｙ）でコーディングされる場合、ジャバスクリプト（ＪａｖａＳｃｒｉｐｔ）ベースのＷｅｂ３．Ｊｓ  ＡＰＩを用い、内部的にはＪＳＯＮ―ＲＰＣ  ＡＰＩを用いることができる。これにより、Ｂｒｏｗｓｅｒ、Ｎｏｄｅ．ＪＳ、Ｍｉｓｔなどでトランザクション情報送信装置２を構成することができる。トランザクション情報送信装置２の主体は、ＥＯＡまたはＣＡであり得る。
【００６４】
図１３に示すように、本発明の一実施形態によるトランザクション情報送信装置２は、ユーザ情報管理アカウントに特定の変更されたユーザ情報を保存するようにユーザ情報保存トランザクション情報を分散型台帳装置１にＪＳＯＮ−ＲＰＣ  ＡＰＩを用いて要請することができる。ユーザ情報保存トランザクション情報を受信した分散型台帳装置１は、図１０のユーザ情報保存方法に基づいて変更されたユーザ情報をユーザ情報管理アカウントのストレージまたはメモリにユーザ情報として保存した後にブロックチェーン分散ネットワーク１００に配布（ｂｒｏａｄｃａｓｔ、ｐｒｏｐａｇａｔｉｏｎ）することができる。
【００６５】
図１４は、本発明の一実施形態によるトランザクション情報送信装置２がユーザ情報保存要請（ユーザ情報を含む）を受信した場合を示す模式図であり、図１５は、本発明の一実施形態によるトランザクション情報送信装置がユーザ情報保存要請を受信した場合を示すフローチャートである。図１４及び１５に示すように、ユーザクライアントにおいてＡサービスのアプリケーション（Ａアプリケーション）が実行された後、ユーザ情報が変更されたまま終了すると、ユーザクライアント及びサーバを介してトランザクション情報送信装置２が、ユーザ情報が含まれているユーザ情報保存要請をブロックチェーン分散ネットワーク１００に送信するようにＡＰＩが構成され、コア（Ｃｏｒｅ）においてユーザ情報保存要請がトランザクション情報として生成した後（Ｓ３０、トランザクション情報の生成ステップ）、トランザクション情報送信装置の秘密キーで署名されたトランザクション情報がブロックチェーン分散ネットワーク１００の特定のノード（分散型台帳装置、１）に送信される（Ｓ３１、トランザクション情報送信ステップ）。このとき、特定のノードは、ユーザクライアントまたはＡサービス主体のクライアントであり得る。
【００６６】
Ａアプリケーションと、ブロックチェーンを用いてユーザ情報を共有するアプリケーションのうちのいずれか一つであるＢサービスのアプリケーション（Ｂアプリケーション）とが、ユーザクライアントにおいて実行されると、特定のノード（分散型台帳装置）１はＢサービスアカウントのスマート契約を実行し（Ｓ３２、スマート契約実行ステップ）、Ｂサービスアカウントは、ユーザについての情報である識別情報に対応する既保存されたユーザ情報をユーザ情報管理アカウントに確認してほしいというユーザ情報確認クエリを送信することができる（Ｓ３３、クエリ送信ステップ）。その後、当該クエリに対するリターンとして、Ｂサービスアカウントは、ユーザ情報管理アカウントから既保存されたユーザ情報を受信することができる（Ｓ３４、クエリリターンステップ）。Ｂアプリケーションに対応するＢサービスアカウントは、Ｂアプリケーションのサーバとペアリングされるように構成されるので、Ｂアプリケーション内のユーザ情報は、Ｂサービスアカウントに受信されたユーザ情報に対応することになる。
【００６７】
特定のノードからブロックチェーン分散ネットワーク１００に配布されたユーザ情報は、ユーザ情報管理アカウントのメモリに保存されているが、当該特定のノードまたは他の特定のノードが新しいブロック（Ｎｅｗ  ｂｌｏｃｋ）をマイニング（ｍｉｎｉｎｇ）すると、当該ブロックに記録される。
【００６８】
本発明の一実施例により、各アプリケーションでのポイント情報がユーザ情報を共有される場合、Ａアプリケーションにおけるポイント価値とＢアプリケーションにおけるポイントの価値とが異なる可能性があるので、クエリリターンステップ（Ｓ３４）では、ユーザ情報管理アカウントが既設定された割合でユーザ情報を両替してＢサービスアカウントに送信するように構成されてもよい。
【００６９】
本発明の一実施例により、各アプリケーションはゲームアプリケーションを意味し、共有されるユーザ情報が難易度情報である場合、Ａゲームアプリケーションのａ％の離脱率を有する難易度ゲーム環境においてユーザが離脱した後、ユーザがＢゲームアプリケーションに流入するとき、ａ％よりも低いｂ％の離脱率またはａ％よりも高いｃ％の離脱率を有する難易度を提供するために、クエリリターンステップ（Ｓ３４）では、ユーザ情報管理アカウントが既設定された割合でユーザ情報を調節してＢサービスアカウントに送信するように構成されてもよい。ユーザがＡゲームアプリケーションにおけるａ％の離脱率を有する難易度のゲーム環境において連続的に失敗した場合、難易度が高いと仮定してＢのゲームアプリケーションではａ％よりも低いｂ％の離脱率を有する難易度を提供することができる。ユーザがＡゲームアプリケーションにおけるａ％の離脱率を有する難易度のゲーム環境において連続的に成功した場合、難易度が低いと仮定してＢゲームアプリケーションではａ％よりも高いｃ％の離脱率を有する難易度を提供することができる。
【００７０】
以上説明したように、本発明が属する技術分野における通常の知識を有する者は、本発明がその技術的な思想や必須の特徴を変更することなく、他の具体的な形態に実施できることを理解するはずである。そこで、以上の記述した実施形態は全ての面で例示的なものであり、限定的ではないものと理解しなければならない。本発明の範囲は、詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその均等な概念から導き出される全ての変更または変更された形態が本発明の範囲に含まれるものと解釈されなければならない
本明細書に記述された特徴及び利点は、全てを含む訳ではなく、特に、多くの追加の特徴と利点が、図面、明細書及び特許請求の範囲に鑑みて当業者に明らかになるであろう。更に、本明細書において使用される言語は、主として可読的及び教授的な目的で選択されており、本発明の主題を記述又は限定するために選択されない可能性があることに留意すべきである。
【００７１】
本発明の実施形態の前述の説明は、例示を目的として提示されたものである。これは、開示された正確な形態に本発明を限定するか網羅的に作製することを意図したものではない。当業者は、前述した開示に照らして種々の修正及び変形が可能であることを理解することができる。
【００７２】
本説明の一部は、演算の記号表現及びアルゴリズムに関する本発明の実施形態を記述する。このようなアルゴリズム的説明および表現は、一般的に作業の核心を効率的に他の当業者に伝達するためにデータ処理分野の当業者により使用される。このような動作は、機能的、演算的、または論理的に説明されるが、コンピュータやこれと同等の電気回路、マイクロコードなどにより実現されると理解される。さらにこれはモジュールとしてのこのような動作の配列を示すために、時には一般性を失うことなく便利に証明される。前述した動作及びその関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせで実現され得る。
【００７３】
ここで記述された任意のステップ、動作、またはプロセスは、一つ以上のハードウェアまたはソフトウェアモジュールと共に単独でまたは他の装置と組み合わせて行われるか実現され得る。一実施形態において、ソフトウェアモジュールは、コンピュータプログラムコードを含むコンピュータ−読み取り可能な媒体で構成されるコンピュータプログラム製品と共に実現され、コンピュータプログラムコードは、記述された任意または全ての工程、ステップ、または動作を行うためのコンピュータプロセッサによって実行され得る。
【００７４】
また、本発明の実施形態は、本明細書における動作を実行するための装置と関連され得る。これらの装置は、必要な目的のために特別に製作されてもよく、又はコンピュータ内に保存されたコンピュータプログラムにより選択的に活性化又は再構成される一般的な目的の演算装置を含むことができる。このようなコンピュータプログラムは、任意の種類のコンピュータ読み取り可能な記憶媒体又は電子命令語の保存に適した任意の種類のメディアに保存されてもよく、コンピュータシステムバスに結合されてもよい。さらに、本明細に参照される任意の演算システムは、単一のプロセッサを含んでもよく、又は計算能力増強のためのマルチプロセッサデザインを採用した構造であってもよい。
【００７５】
最後に、本明細書で使用される言語は、主に読みやすさや教示の目的のために選択されており、本発明の主題を記述又は限定するためには選択されていない。
【００７６】
このため、本発明の範囲は、詳細な説明により限定されるものではなく、これをベースにした出願の任意の請求項によって限定されるものである。したがって、本発明の実施形態の開示は、例示的なものであり、以下の請求項に記載の本発明の範囲を限定するものではない。
【符号の説明】
【００７７】
１  分散型台帳装置
２  トランザクション情報送信装置
１０  通信モジュール
１１  処理モジュール
１２  メモリモジュール
１００  ブロックチェーン分散ネットワーク
【図１】
2019115026.tif 000003
【図２】
2019115026.tif 000004
【図３】
2019115026.tif 000005
【図４】
2019115026.tif 000006
【図５】
2019115026.tif 000007
【図６】
2019115026.tif 000008
【図７】
2019115026.tif 000009
【図８】
2019115026.tif 000010
【図９】
2019115026.tif 000011
【図１０】
2019115026.tif 000012
【図１１】
2019115026.tif 000013
【図１２】
2019115026.tif 000014
【図１３】
2019115026.tif 000015
【図１４】
2019115026.tif 000016
【図１５】
2019115026.tif 000017
【外国語明細書】
2019115026000001.pdf