(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】取引記録システム、取引記録方法及び中継装置
(51)【国際特許分類】
G06Q 20/02 20120101AFI20240228BHJP
G06Q 20/06 20120101ALI20240228BHJP
G06Q 20/38 20120101ALI20240228BHJP
【FI】
G06Q20/02 310
G06Q20/06
G06Q20/38 310
(21)【出願番号】P 2022000469
(22)【出願日】2022-01-05
【審査請求日】2023-02-15
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】黒田 知宏
(72)【発明者】
【氏名】石井 庸介
(72)【発明者】
【氏名】林崎 浩典
(72)【発明者】
【氏名】佐久間 慧
【審査官】速水 雄太
(56)【参考文献】
【文献】中国特許出願公開第113220453(CN,A)
【文献】米国特許出願公開第2021/0152334(US,A1)
【文献】Ghareeb FALAZI et al.,“Smart Contract Invocation Protocol (SCIP): A Protocol for the Uniform Integration of Heterogeneous Blockchain Smart Contracts”,Advanced Information Systems Engineering,Springer International Publishing,2020年,LNCS 12127,pp.134-149,DOI: 10.1007/978-3-030-49435-3_9
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
暗号資産の取引情報を生成するアプリケーションを実行するアプリ実行部と、
前記アプリケーションおよび前記取引情報の記録先となるブロックチェーンネットワークを中継する中継プログラムを実行する中継部と、
前記中継プログラムに対する更新を実行する更新部と、
を有
し、
前記中継部は、第一のブロックチェーンプラットフォームの指定を受け付け、前記取引情報に基づいて生成されるトランザクションデータの登録を、複数のブロックチェーンネットワークのうち前記第一のブロックチェーンプラットフォームに対応する第一のブロックチェーンネットワークにリクエストし、前記第一のブロックチェーンプラットフォームからの変更先とする第二のブロックチェーンプラットフォームの指定を受け付け、前記取引情報に基づいて生成されるトランザクションデータの登録を、前記第二のブロックチェーンプラットフォームに対応する第二のブロックチェーンネットワークにリクエストする、ことを特徴とする取引記録システム。
【請求項2】
前記中継部は、前記第二のブロックチェーンプラットフォームの指定を受け付けるまでに前記第一のブロックチェーンネットワークがブロックチェーンに記録するトランザクションデータを登録するリクエストを、前記第二のブロックチェーンネットワークに送信する、
ことを特徴とする請求項
1に記載の取引記録システム。
【請求項3】
前記中継部は、前記第一のブロックチェーンネットワークがブロックチェーンに記録するトランザクションデータに基づいてユーザの一覧を作成し、前記ユーザの一覧に基づいて各ユーザのウォレットを作成するリクエストを前記第二のブロックチェーンネットワークに送信する、
ことを特徴とする請求項
2に記載の取引記録システム。
【請求項4】
暗号資産の取引情報を生成するアプリケーションを実行し、
前記アプリケーションおよび前記取引情報の記録先となるブロックチェーンネットワークを中継する中継プログラムを実行し、
前記中継プログラムに対する更新を実行する、
処理をコンピュータが実行し、
前記中継プログラムを実行する処理は、第一のブロックチェーンプラットフォームの指定を受け付け、前記取引情報に基づいて生成されるトランザクションデータの登録を、複数のブロックチェーンネットワークのうち前記第一のブロックチェーンプラットフォームに対応する第一のブロックチェーンネットワークにリクエストし、前記第一のブロックチェーンプラットフォームからの変更先とする第二のブロックチェーンプラットフォームの指定を受け付け、前記取引情報に基づいて生成されるトランザクションデータの登録を、前記第二のブロックチェーンプラットフォームに対応する第二のブロックチェーンネットワークにリクエストする、処理を含むことを特徴とする取引記録方法。
【請求項5】
暗号資産の取引情報を生成するアプリケーションおよび前記取引情報の記録先となるブロックチェーンネットワークを中継する中継プログラムを実行する中継部と、
前記中継プログラムに対する更新を実行する更新部と、
を有
し、
前記中継部は、第一のブロックチェーンプラットフォームの指定を受け付け、前記取引情報に基づいて生成されるトランザクションデータの登録を、複数のブロックチェーンネットワークのうち前記第一のブロックチェーンプラットフォームに対応する第一のブロックチェーンネットワークにリクエストし、前記第一のブロックチェーンプラットフォームからの変更先とする第二のブロックチェーンプラットフォームの指定を受け付け、前記取引情報に基づいて生成されるトランザクションデータの登録を、前記第二のブロックチェーンプラットフォームに対応する第二のブロックチェーンネットワークにリクエストする、ことを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、取引記録システム、取引記録方法、中継装置及び更新プログラムに関する。
【背景技術】
【0002】
トークンの取引記録にブロックチェーン技術が活用されている。このような技術の1つとして、ブロックチェーンネットワークに対してアセットの所有権者の変更を要求することで、アセットの提供者とアセットの使用者との間でのアセットに関する取引の仲介を行う仲介サーバが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-152847号公報
【文献】特開2002-109216号公報
【文献】特開2012-155718号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の仲介サーバに代表される従来技術は、提供者や使用者などのユーザ向けのポータルと、ブロックチェーンプラットフォーム向けのインタフェイスとがパッケージ化されたアプリケーションにより実現される。それ故、上記の従来技術では、ブロックチェーンプラットフォームの仕様変更などに伴うアップデート時にアプリケーション全体の入れ替えやアップデートが必要になる側面がある。
【0005】
1つの側面では、本発明は、アプリケーションの入れ替え又はアップデートの削減を実現することを目的とする。
【課題を解決するための手段】
【0006】
1つの側面にかかる取引記録システムは、暗号資産の取引情報を生成するアプリケーションを実行するアプリ実行部と、前記アプリケーションおよび前記取引情報の記録先となるブロックチェーンネットワークを中継する中継プログラムを実行する中継部と、前記中継プログラムに対する更新を実行する更新部と、を有する。
【0007】
1つの側面にかかる取引記録方法では、暗号資産の取引情報を生成するアプリケーションを実行し、前記アプリケーションおよび前記取引情報の記録先となるブロックチェーンネットワークを中継する中継プログラムを実行し、前記中継プログラムに対する更新を実行する。
【0008】
1つの側面にかかる中継装置は、暗号資産の取引情報を生成するアプリケーションおよび前記取引情報の記録先となるブロックチェーンネットワークを中継する中継プログラムを実行する中継部と、前記中継プログラムに対する更新を実行する更新部と、を有する。
【0009】
1つの側面にかかる更新プログラムは、暗号資産の取引情報を生成するアプリケーションと、前記取引情報の記録先となるブロックチェーンネットワークとを中継する中継プログラムに対する更新を実行する、処理を中継装置に実行させる。
【発明の効果】
【0010】
アプリケーションの入れ替え又はアップデートの削減を実現できる。
【図面の簡単な説明】
【0011】
【
図2】中継装置の機能構成例を示すブロック図である。
【
図3】アプリケーション登録処理の手順を示すシーケンス図である。
【
図4】アプリケーション削除処理の手順を示すシーケンス図である。
【
図5】アプリケーション編集処理の手順を示すシーケンス図である。
【
図6】ウォレット作成処理の手順を示すシーケンス図である。
【
図7】ウォレット参照処理の手順を示すシーケンス図である。
【
図8】トークン定義処理の手順を示すシーケンス図である。
【
図9】トークン無効化処理の手順を示すシーケンス図である。
【
図10】トランザクション登録処理の手順を示すシーケンス図(1)である。
【
図11】トランザクション登録処理の手順を示すシーケンス図(2)である。
【
図12】トランザクション参照処理の手順を示すシーケンス図である。
【
図13】スマートコントラクト登録処理の手順を示すシーケンス図である。
【
図14】スマートコントラクト無効化処理の手順を示すシーケンス図である。
【
図15】更新処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本願に係る取引記録システム、取引記録方法、中継装置及び更新プログラムの実施形態について説明する。各実施形態には、あくまで1つの例や側面を示すに過ぎず、このような例示により数値や機能の範囲、利用シーンなどは限定されない。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0013】
<システム構成>
図1は、取引記録システムの構成例を示す図である。
図1に示す取引記録システム1は、トークンエコノミにおける取引情報をブロックチェーンに記録するプラットフォームを提供するものである。
【0014】
図1に示すように、取引記録システム1には、ユーザ端末10A~10Nと、IoT(Internet of Things)デバイス20A~20Nと、管理者端末30と、APP(APPlication)サーバ50と、BC(Block Chain)ネットワーク70A~70Nと、中継装置100とが含まれ得る。
【0015】
以下、ユーザ端末10A~10Nの各々の個体を区別せずともよい場合、「ユーザ端末10」と記載する場合がある。同様に、IoTデバイス20A~20Nの各々の個体を区別せずともよい場合、「IoTデバイス20」と記載する場合がある。同様に、BCネットワーク70A~70Nの各々の個体を区別せずともよい場合、「BCネットワーク70」と記載する場合がある。
【0016】
これらユーザ端末10、IoTデバイス20、管理者端末30、APPサーバ50、BCネットワーク70及び中継装置100は、ネットワークNWを介して、通信可能に接続され得る。なお、ネットワークNWは、有線や無線を問わず、インターネット技術、工業用通信規格、あるいはIoT向けの省電力無線通信規格などの任意の技術により実現されてよい。
【0017】
ユーザ端末10は、トークンエコノミに参加するユーザにより使用される端末装置である。ユーザ端末10は、パーソナルコンピュータを始め、スマートフォン、タブレット端末、ウェアラブル端末などの任意の情報処理装置により実現されてよい。
【0018】
IoTデバイス20は、図示しない任意のセンサをネットワークNWに接続する機能を一側面として有するデバイスである。IoTデバイス20は、1または複数のセンサと接続するI/O(Input/Output)機能を有してよい。例えば、I/O機能が有線通信で実現される場合、UART(Universal Asynchronous Receiver/Transmitter)により実現されてよい。また、I/O機能が無線通信で実現される場合、BLE(Bluetooth(登録商標) Low Energy)、あるいはRFID(Radio Frequency Identification)などの近距離無線通信により実現されてよい。
【0019】
管理者端末30は、トークンエコノミの管理者により使用される端末装置である。ここで言う「管理者」には、トークンエコノミの運営者、例えばトークンの発行者を始め、取引記録システム1を運営する事業者などの関係者が含まれてよい。このような管理者端末30も、ユーザ端末10と同様、パーソナルコンピュータを始め、スマートフォン、タブレット端末、ウェアラブル端末などの任意の情報処理装置により実現されてよい。
【0020】
APPサーバ50は、ユーザ端末10及びIoTデバイス20向けのアプリケーションを実行するサーバ装置である。一実施形態として、APPサーバ50は、パッケージソフトウェア又はオンラインソフトウェアとして、上記のアプリケーションを任意のコンピュータにインストールさせることによって実装できる。例えば、APPサーバ50は、SaaS(Software as a Service)型のアプリケーションとして実現することで、上記のアプリケーションに対応するサービスをクラウドサービスとして提供できる。この他、APPサーバ50は、上記のアプリケーションに対応するサービスをオンプレミスに提供するサーバとして実現することもできる。
【0021】
ここで言う「アプリケーション」は、1つの側面として、ユーザ端末10の利用状況またはIoTデバイス20のセンシング状況に応じて、トークンの取引情報、例えば取引をするユーザや取引で授受されるトークンの数量などの情報を生成する機能を有する。
【0022】
例えば、アプリケーションは、トークンエコノミを形成するコミュニティに所属するユーザを自律的に動かすモチベーションの1つとして、ユーザにトークンを発行したり、ユーザ間でトークンを交換したりといった形式の取引情報を生成する。
【0023】
このようなアプリケーションは、企業における社員特性の見える化・交流の促進、サプライチェーンにおける資源循環の促進、組織のKPI(Key Performance Indicator)改善などの利用シーンで用いることができる。
【0024】
例えば、企業における社員特性の見える化を例に挙げれば、アプリケーションは、質疑応答のQ&Aの貢献を把握する側面から、コメント投稿ツールとして実現されてよい。この場合、コメント投稿ツールは、あくまで例示として、質問コメントの回数が条件を満たすユーザにトークンを発行する。この他、アプリケーションは、タスクの進捗を把握する側面から、タスクの進捗管理ツールとして実現されてよい。この場合、進捗管理ツールは、あくまで例示として、タスクの進捗をアップロードする頻度またはタスクの進捗が条件を満たすユーザにトークンを発行したり、進捗の下位所定数に該当するユーザから進捗の上位所定数に該当するユーザにトークンを移動させたりする。
【0025】
BCネットワーク70は、ブロックチェーンの管理に用いるP2P(Peer to Peer)ネットワークである。
【0026】
ブロックチェーンは、P2Pネットワークを構成する複数のノードが同一のデータベースを保持する分散型台帳技術の1つである。ブロックチェーンでは、P2Pネットワーク上のトランザクション群がブロックとしてまとめて処理され、ハッシュ関数によって各ブロックがリンクされている。ブロックチェーンにおいて記録されたブロックのデータは、後続のすべてのブロックを変更しない限り遡及的に変更することはできず、ブロックチェーンを用いた台帳管理のプラットフォームは改変に対する安全性が高い。
【0027】
このようなBCネットワーク70を形成するノード間で用いられるコンセンサスアルゴリズムには、PoW(Proof of Work)、あるいはPoS(Proof of Stake)などの任意の方式を用いることができる。
【0028】
ブロックチェーンでは、トランザクションデータに秘密鍵を用いた電子署名が付与されることにより、なりすましが防止される。なお、トランザクションデータの暗号化には、必ずしも公開鍵暗号方式を用いずともよい。例えば、AES(Advanced Encryption Standard)、SHA(Secure Hash Algorithm)、RSA(Rivest-Shamir-Adleman cryptosystem)、ECC(Elliptic Curve Cryptography)などの任意の暗号化アルゴリズムを用いることができる。
【0029】
また、各トランザクションのデータは、公開されると共にBCネットワーク70全体で共有される。なお、P2Pデータベースの種類によっては、P2Pネットワーク全体で必ずしも同一の記録を保持せずともよい。
【0030】
このようなBCネットワーク70を形成するノード間で用いられるコンセンサスアルゴリズムには、PoW、あるいはPoSなどの任意の方式を用いることができる。
【0031】
<課題の一側面>
上記の背景技術の欄で説明した通り、上記の従来技術は、ユーザ向けのポータルと、ブロックチェーンプラットフォーム向けのインタフェイスとがパッケージ化されたアプリケーションにより実現される。それ故、上記の従来技術では、ブロックチェーンプラットフォームの仕様変更などに伴うアップデート時にアプリケーション全体の入れ替えやアップデートが必要になる側面がある。
【0032】
<課題解決アプローチの一側面>
そこで、本実施例に係る取引記録システム1では、ユーザ向けのポータルと、ブロックチェーンプラットフォーム向けのインタフェイスとを分離する側面から、APPサーバ50およびBCネットワーク70を中継する中継機能を独立のモジュールとして構築する。これにより、ブロックチェーンプラットフォームの仕様変更などに伴うアップデート時に上記の中継機能に対応するモジュールのみを更新できる。
【0033】
あくまで一例として、取引記録システム1には、上記の中継機能を有する中継装置100が構築される。一実施形態として、中継装置100は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の中継機能に対応するソフトウェアを任意のコンピュータにインストールさせることによって実装できる。例えば、中継装置100は、SaaS型のアプリケーションとして実現することで、上記の中継機能をクラウドサービスとして提供できる。この他、中継装置100は、上記の中継機能をオンプレミスに提供するサーバとして実現することもできる。
【0034】
したがって、本実施例に係る取引記録システム1によれば、アプリケーションの入れ替え又はアップデートの削減を実現できる。それ故、アプリケーション管理者は、アプリケーション自体のアップデートや管理に注力することができ、管理コストを下げることにもつながる。
【0035】
なお、
図1に示す取引記録システム1では、あくまで一例として、上記の中継機能を有する中継装置100がAPPサーバ50と独立するマシンとして実現される例を挙げるが、これに限定されない。例えば、上記のアプリケーションおよび上記の中継機能の各々は、任意の仮想化技術を通じて、異なる仮想マシンとして実現されることとしてもよい。この場合、上記のアプリケーションおよび上記の中継機能が同一の物理マシンで動作したり、あるいは両者がパッケージ化されたプラットフォーム、あるいはクラウドサービスとして実現したりすることを妨げない。
【0036】
<中継装置100の構成>
次に、本実施例に係る中継機能を有する中継装置100の機能構成例について説明する。
図2は、中継装置100の機能構成例を示すブロック図である。
図2には、上記の中継機能に対応する機能のブロックが模式化されている。
【0037】
図2に示すように、中継装置100は、リクエスト受付部110と、APP管理部130と、Tx(transaction)管理部150と、更新部170とを有する。
【0038】
これらリクエスト受付部110、APP管理部130、Tx管理部150および更新部170などの機能部は、ハードウェアプロセッサにより実現される。例えば、ハードウェアプロセッサの例として、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、GPGPU(General-Purpose computing on GPU)が挙げられる。プロセッサは、図示しないストレージ、例えばHDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などからOS(Operating System)の他、上記の中継機能に対応する中継プログラムなどを読み出す。その上で、プロセッサは、上記の中継プログラムを実行することにより、RAM(Random Access Memory)等のメモリ上に上記の機能部に対応するプロセスを展開する。このように、上記の中継プログラムが実行される結果、上記の機能部がプロセスとして仮想的に実現される。この他、上記の機能部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックにより実現されてもよい。
【0039】
リクエスト受付部110は、各種のリクエストを受け付ける処理部である。ここで言う「リクエスト」には、あくまで例示として、「アプリケーション」や「ウォレット」、「トークン」、「スマートコントラクト」、「取引」に関するものが含まれてよい。
【0040】
1つの側面として、リクエスト受付部110は、管理者端末30からAPPサーバ50が実行するアプリケーションの登録、編集または削除などのリクエストを受け付ける。他の側面として、リクエスト受付部110は、管理者端末30からウォレットの登録または参照などのリクエストを受け付ける。更なる側面として、リクエスト受付部110は、管理者端末30からトークンの定義または無効化などのリクエストを受け付ける。他の側面として、リクエスト受付部110は、管理者端末30からスマートコントラクトの登録または無効化などのリクエストを受け付ける。更なる側面として、リクエスト受付部110は、APPサーバ50から取引登録または取引参照などのリクエストを受け付ける。
【0041】
APP管理部130は、APPサーバ50により実行されるアプリケーションを管理する処理部である。
図1に示すように、APP管理部130は、APP登録部131と、APP削除部132と、APP編集部133とを有する。
【0042】
APP登録部131は、アプリケーションに関する設定を登録する処理部である。
図3は、アプリケーション登録処理の手順を示すシーケンス図である。
図3に示すように、管理者端末30は、APP登録部131が提供する登録ウィンドウを介して、アプリケーションの設定に関するAPP情報の入力を受け付ける(ステップS101)。なお、上記のステップS101では、トークンエコノミの運営者などに付与される管理者権限のアカウントが認証済みである場合に絞ってAPP情報の入力を受け付けることができる。
【0043】
以下、あくまで例示として、登録ウィンドウのHTML(HyperText Markup Language)ソースが中継装置100から管理者端末30へ提供される場合を例に挙げる。
【0044】
この場合、登録ウィンドウは、汎用のブラウザなどにレンダリングさせることができる。例えば、登録ウィンドウには、APP情報の例として、アプリケーション名、アプリケーション管理者、アプリケーションパスワード、初期設定時の記録先とする第一のブロックチェーンプラットフォームなどの項目を指定が可能なGUI部品を含めることができる。なお、GUIは、「Graphical User Interface」の略称である。
【0045】
APP情報の入力受付後、管理者端末30は、アプリケーション登録のリクエストを中継装置100へ送信する(ステップS102)。
【0046】
このようにアプリケーション登録のリクエストをリクエスト受付部110を介して受け付けた場合、APP登録部131は、アプリケーションを識別する識別情報、例えばAPPidを採番する(ステップS103)。
【0047】
続いて、APP登録部131は、ステップS103で採番されたAPPidに上記の登録ウィンドウを介して入力された項目が対応付けられた新規エントリを、図示しないストレージなどに記憶されるAPP情報に追加する(ステップS104)。
【0048】
その後、APP登録部131は、ステップS103で採番されたAPPidを含むレスポンスを管理者端末30に返信し(ステップS105)、処理を終了する。
【0049】
このような処理により、1つの側面として、複数のブロックチェーンプラットフォームごとに提供されるBCネットワーク70A~70NのうちAPP登録時におけるトークンの取引情報の記録先とする第一のブロックチェーンプラットフォームを指定することが可能になる。これにより、特定のブロックチェーンプラットフォームに依存するのではなく、単一のインタフェイスで複数のブロックチェーンプラットフォームに対応できる。
【0050】
APP削除部132は、アプリケーションに関する設定を削除する処理部である。
図4は、アプリケーション削除処理の手順を示すシーケンス図である。
図4に示すように、管理者端末30は、APP削除部132が提供する削除ウィンドウを介して、アプリケーション削除に関する入力を受け付ける(ステップS201)。なお、上記のステップS201では、トークンエコノミの運営者などに付与される管理者権限のアカウントが認証済みである場合に絞ってアプリケーション削除に関する入力を受け付けることができる。
【0051】
例えば、削除ウィンドウには、アプリケーション削除に関する入力の例として、アプリケーション名やアプリケーションパスワードなどの項目を指定が可能なGUI部品を含めることができる。なお、ここでは、アプリケーション名を入力させる例を挙げたが、アプリケーション名に対応するAPPidを入力させることとしてもよい。
【0052】
アプリケーション削除の入力受付後、管理者端末30は、アプリケーション削除のリクエストを中継装置100へ送信する(ステップS202)。
【0053】
このようにアプリケーション削除のリクエストをリクエスト受付部110を介して受け付けた場合、APP削除部132は、次のような処理を実行する。すなわち、APP削除部132は、APP情報に含まれるエントリのうち、ステップS201で削除ウィンドウを介して指定を受け付けたアプリケーション名またはAPPidに対応するエントリを削除する(ステップS203)。
【0054】
その後、APP削除部132は、ステップS203で実行された削除の成否などを含むレスポンスを管理者端末30に返信し(ステップS204)、処理を終了する。
【0055】
APP編集部133は、アプリケーションに関する設定を編集する処理部である。
図5は、アプリケーション編集処理の手順を示すシーケンス図である。
図5に示すように、管理者端末30は、APP編集部133が提供する編集ウィンドウを介して、アプリケーション編集に関する内容の入力を受け付ける(ステップS301)。なお、上記のステップS301では、トークンエコノミの運営者などに付与される管理者権限のアカウントが認証済みである場合に絞ってアプリケーション編集に関する入力を受け付けることができる。
【0056】
編集ウィンドウには、アプリケーション編集に関する内容の例として、アプリケーション名、アプリケーション管理者、アプリケーションパスワード、変更先とする第二のブロックチェーンプラットフォームなどの項目を指定が可能なGUI部品を含めることができる。
【0057】
アプリケーション編集の入力受付後、管理者端末30は、アプリケーション編集のリクエストを中継装置100へ送信する(ステップS302)。
【0058】
このようにアプリケーション編集のリクエストをリクエスト受付部110を介して受け付けた場合、APP編集部133は、次のような処理を実行する。すなわち、APP編集部133は、APP情報に含まれるエントリのうち、編集ウィンドウを介して指定を受け付けたアプリケーション名またはAPPidに対応するエントリの内容を編集ウィンドウを介して編集を受け付けた内容に更新する(ステップS303)。
【0059】
このとき、編集ウィンドウを介する編集で記録先のブロックチェーンプラットフォームが変更された場合(ステップS304Yes)、APP編集部133は、次のような処理を実行する。すなわち、APP編集部133は、全ての取引に関するトランザクションデータを参照するリクエストを、変更前のブロックチェーンプラットフォーム、例えばアプリケーション登録時に設定された第一のブロックチェーンプラットフォームに対応する第一のBCネットワーク70Aに送信する(ステップS305)。なお、記録先のブロックチェーンプラットフォームが変更されない場合(ステップS304No)、ステップS316の処理へ移行する。
【0060】
このリクエストに応答して、第一のブロックチェーンプラットフォームに対応する第一のBCネットワーク70Aは、全ての取引に関するトランザクションデータのレスポンスを中継装置100へ送信する(ステップS306)。
【0061】
続いて、APP編集部133は、ステップS306のレスポンスで得られた全ての取引に関するトランザクションデータに含まれるユーザを抽出することにより、ユーザの一覧を作成する(ステップS307)。
【0062】
そして、APP編集部133は、ステップS307で作成されたユーザの一覧に従って各ユーザのウォレット作成のリクエストを第二のブロックチェーンプラットフォームに対応する第二のBCネットワーク70Bに送信する(ステップS308)。
【0063】
このリクエストに応答して、第二のブロックチェーンプラットフォームに対応する第二のBCネットワーク70Bは、各ユーザのウォレットを作成する(ステップS309)。その上で、第二のBCネットワーク70Bは、各ユーザのウォレット作成の結果、例えば成否のレスポンスを中継装置100へ送信する(ステップS310)。
【0064】
さらに、APP編集部133は、ステップS306のレスポンスで得られた全ての取引に関するトランザクションデータをパースする(ステップS311)。
【0065】
これにより、取引ごとにユーザ間におけるトークンの取引情報、例えば取引をするユーザや取引で授受されるトークンの数量などが得られる。なお、ここで言う「取引」には、発行者からユーザへトークンを発行するトークン付与やユーザ間でトークンを交換するトークン交換などが含まれ得る。
【0066】
そして、APP編集部133は、ステップS311のパースで取引ごとに得られた取引情報を用いて、第二のブロックチェーンプラットフォームのフォーマットに対応するトランザクションデータを取引ごとに生成する(ステップS312)。
【0067】
その上で、APP編集部133は、ステップS312で取引ごとに生成された全てのトランザクションデータの登録を、第二のブロックチェーンプラットフォームに対応する第二のBCネットワーク70Bへリクエストする(ステップS313)。
【0068】
このリクエストに応答して、第二のブロックチェーンプラットフォームに対応する第二のBCネットワーク70Bは、全てのトランザクションデータをブロックチェーンに登録する(ステップS314)。その上で、第二のBCネットワーク70Bは、全てのトランザクションデータの登録結果、例えば成否のレスポンスを中継装置100へ送信する(ステップS315)。
【0069】
その後、APP編集部133は、ステップS303の編集成否や第一のBCネットワーク70Aから第二のBCネットワーク70Bへのトランザクションデータの移行登録等を含むレスポンスを管理者端末30に返信し(ステップS316)、処理を終了する。
【0070】
このような処理により、1つの側面として、複数のブロックチェーンプラットフォームの間で任意のブロックチェーンプラットフォームへの変更が可能になる。すなわち、様々なブロックチェーンプラットフォームが提供されている現状では、各々にメリットおよびデメリットが異なるので、いずれのプラットフォームがデファクトスタンダードになるかは定かではない。このような現状の下、より良いブロックチェーンプラットフォームが登場する場合でも、ブロックチェーンプラットフォームへの変更が可能になる技術的意義は大きいと言える。
【0071】
さらに、ブロックチェーンプラットフォームの変更時に必要な処理、例えばトランザクションデータの移行登録を自動化できる。さらに、アプリケーション側からは記録先のブロックチェーンプラットフォームが変更となってもアクセス先は同じままで処理できる。
【0072】
Tx管理部150は、トランザクションを管理する処理部である。
図1に示すように、Tx管理部150は、ウォレット作成部151と、ウォレット参照部152と、トークン定義部153と、トークン無効化部154と、Tx登録部155と、Tx参照部156と、SC(Smart Contract)登録部157と、SC無効化部158とを有する。
【0073】
ウォレット作成部151は、トークンエコノミに参加するユーザのウォレット作成を中継する処理部である。
図6は、ウォレット作成処理の手順を示すシーケンス図である。
図6に示すように、管理者端末30は、ウォレット作成部151が提供するユーザ情報ウィンドウを介して、トークンエコノミに参加する新規ユーザに関するユーザ情報の入力を受け付ける(ステップS401)。
【0074】
例えば、ユーザ情報ウィンドウには、ユーザ情報の例として、ユーザ名や鍵生成用パスフレーズ、鍵管理オプションなどの項目を指定が可能なGUI部品を含めることができる。
【0075】
ユーザ情報の入力受付後、管理者端末30は、ステップS401で受け付けたユーザ情報を含むウォレット作成のリクエストをAPPサーバ50へ送信する(ステップS402)。
【0076】
このようにウォレット作成のリクエストを受け付けたAPPサーバ50は、ウォレット作成のリクエストに新規ユーザが利用するアプリケーションのAPPidをさらに含めて中継装置100へ送信する(ステップS403)。
【0077】
そして、中継装置100のウォレット作成部151は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたウォレット作成のリクエストに含まれるAPPidに対応するエントリを検索する(ステップS404)。
【0078】
続いて、ウォレット作成部151は、ユーザ情報ウィンドウを介して受け付けたユーザ情報、例えば鍵生成用パスフレーズから鍵情報、例えば秘密鍵や公開鍵などを生成する(ステップS405)。その上で、ウォレット作成部151は、ステップS405で生成された鍵情報を含むウォレット作成のリクエストをBCネットワーク70に送信する(ステップS406)。
【0079】
このリクエストに応答して、BCネットワーク70は、ステップS405で生成された鍵情報に基づいて新規ユーザのウォレットアドレスを作成する(ステップS407)。その上で、BCネットワーク70は、ステップS407で生成されたウォレットアドレスなどを含むレスポンスを中継装置100へ送信する(ステップS408)。
【0080】
続いて、ウォレット作成部151は、図示しないストレージなどに記憶されたユーザウォレット情報に含まれるエントリに新規ユーザが利用するアプリケーションのAPPid及び新規ユーザのユーザ名に対応する新規エントリを追加し、当該新規エントリにBCネットワーク70から受け付けたウォレットアドレスのうち公開鍵のウォレットアドレスを登録する(ステップS409)。
【0081】
そして、ユーザ情報ウィンドウを介する鍵管理オプションで秘密鍵のウォレットアドレスの管理が「システム」、例えば取引記録システム1の中継装置100に設定されている場合(ステップS410Yes)、ウォレット作成部151は、次のような処理を実行する。すなわち、ウォレット作成部151は、ユーザウォレット情報に含まれるエントリのうち新規ユーザのユーザ名に対応するエントリに、秘密鍵のウォレットアドレスを登録する(ステップS411)。
【0082】
これら秘密鍵および公開鍵のペアの管理には、PKI(Public Key Infrastructure)などの技術を用いることができる。
【0083】
なお、ユーザ情報ウィンドウを介する鍵管理オプションで秘密鍵のウォレットアドレスの管理が「ユーザ」に設定されている場合(ステップS410No)、秘密鍵のウォレットアドレスは登録されない。
【0084】
その後、ウォレット作成部151は、新規ユーザのウォレットアドレスをAPPサーバ50を介して管理者端末30に返信し(ステップS412およびステップS413)、処理を終了する。
【0085】
ウォレット参照部152は、ウォレット参照を中継する処理部である。
図7は、ウォレット参照処理の手順を示すシーケンス図である。
図7に示すように、管理者端末30は、ウォレット参照部152が提供するユーザウォレット情報ウィンドウを介して、ユーザウォレット情報の入力を受け付ける(ステップS501)。
【0086】
例えば、ユーザウォレット情報ウィンドウには、ユーザウォレット情報の例として、ユーザ名やトークン名などの項目を指定が可能なGUI部品を含めることができる。
【0087】
ユーザウォレット情報の入力受付後、管理者端末30は、ウォレット参照のリクエストをAPPサーバ50へ送信する(ステップS502)。
【0088】
このようにウォレット参照のリクエストを受け付けたAPPサーバ50は、ウォレット作成のリクエストにユーザが利用するアプリケーションのAPPidをさらに含めて中継装置100へ送信する(ステップS503)。
【0089】
そして、中継装置100のウォレット参照部152は、ユーザウォレット情報から、APPサーバ50から受け付けたウォレット参照のリクエストに含まれるAPPidおよびユーザ名に対応付けられたウォレットアドレスを検索する(ステップS504)。
【0090】
その上で、ウォレット参照部152は、ステップS504の検索でヒットするウォレットアドレスに基づいて、ウォレット参照のリクエストを記録先のBCネットワーク70に送信する(ステップS505)。
【0091】
このリクエストに応答して、BCネットワーク70は、ウォレットアドレスに対応するウォレット情報、例えば暗号資産の一例であるトークンの残高などを含むレスポンスを中継装置100へ送信する(ステップS506)。
【0092】
その後、ウォレット参照部152は、BCネットワーク70からレスポンスとして受け付けたウォレット情報をAPPサーバ50を介して管理者端末30に返信し(ステップS507およびステップS508)、処理を終了する。
【0093】
なお、
図7に示すシーケンス図では、ウォレット参照のリクエスト元の例として管理者端末30を例に挙げたが、これに限らず、ウォレット参照のリクエスト元はユーザ端末10であってもかまわない。
【0094】
トークン定義部153は、トークンの定義を中継する処理部である。
図8は、トークン定義処理の手順を示すシーケンス図である。
図8に示すように、管理者端末30は、トークン定義部153が提供するトークン情報ウィンドウを介して、トークンの定義に関する内容の入力を受け付ける(ステップS601)。
【0095】
例えば、トークン情報ウィンドウには、トークンの定義に関する内容の例として、トークン名や単位、管理者、パスワードなどの項目を指定が可能なGUI部品を含めることができる。
【0096】
トークン情報の入力受付後、管理者端末30は、ステップS601で受け付けたトークン情報を含むトークン定義のリクエストをAPPサーバ50へ送信する(ステップS602)。
【0097】
このようにトークン定義のリクエストを受け付けたAPPサーバ50は、トークン定義のリクエストにトークンが利用されるアプリケーションのAPPidをさらに含めて中継装置100へ送信する(ステップS603)。
【0098】
そして、中継装置100のトークン定義部153は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたトークン定義のリクエストに含まれるAPPidに対応するエントリを検索する(ステップS604)。
【0099】
続いて、トークン定義部153は、トークン情報ウィンドウを介して受け付けたトークン情報に基づいてトークン定義用のトランザクションデータを生成する(ステップS605)。その上で、トークン定義部153は、ステップS605で生成されたトークン定義用のトランザクションデータの登録を記録先のBCネットワーク70にリクエストする(ステップS606)。
【0100】
このリクエストに応答して、BCネットワーク70は、中継装置100から受け付けたトークン定義用のトランザクションデータをブロックチェーンに登録する(ステップS607)。その上で、BCネットワーク70は、ステップS607でブロックチェーンに登録されたトランザクションデータのトランザクションidを含むレスポンスを中継装置100へ送信する(ステップS608)。
【0101】
その後、トークン定義部153は、BCネットワーク70から受け付けたトランザクションidをAPPサーバ50を介して管理者端末30に返信し(ステップS609およびステップS610)、処理を終了する。
【0102】
トークン無効化部154は、トークンの無効化を中継する処理部である。
図9は、トークン無効化処理の手順を示すシーケンス図である。
図9に示すように、管理者端末30は、トークン無効化部154が提供するトークン情報ウィンドウを介して、トークンの無効化に関する内容の入力を受け付ける(ステップS701)。
【0103】
例えば、トークン情報ウィンドウには、トークンの無効化に関する内容の例として、トークン名やパスワードなどの項目を指定が可能なGUI部品を含めることができる。
【0104】
トークン情報の入力受付後、管理者端末30は、ステップS701で受け付けたトークン情報を含むトークン無効化のリクエストをAPPサーバ50へ送信する(ステップS702)。
【0105】
このようにトークン無効化のリクエストを受け付けたAPPサーバ50は、トークン無効化のリクエストにトークンが利用されるアプリケーションのAPPidをさらに含めて中継装置100へ送信する(ステップS703)。
【0106】
そして、中継装置100のトークン無効化部154は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたトークン無効化のリクエストに含まれるAPPidに対応するエントリを検索する(ステップS704)。
【0107】
続いて、トークン無効化部154は、トークン情報ウィンドウを介して受け付けたトークン情報に基づくトークン無効化用のリクエストを記録先のBCネットワーク70に送信する(ステップS705)。
【0108】
このリクエストに応答して、BCネットワーク70は、中継装置100から受け付けたトークン無効化用のリクエストで指定されたトークン情報に対応するトークンを無効化する(ステップS706)。その上で、BCネットワーク70は、ステップS706におけるトークン無効化の結果、例えば成否を含むレスポンスを中継装置100へ送信する(ステップS707)。
【0109】
その後、トークン無効化部154は、BCネットワーク70から受け付けたトークン無効化の結果をAPPサーバ50を介して管理者端末30に返信し(ステップS708およびステップS709)、処理を終了する。
【0110】
Tx登録部155は、トランザクションの登録を中継する処理部である。
図10は、トランザクション登録処理の手順を示すシーケンス図(1)である。
図10には、あくまで1つの側面として、ユーザ端末10におけるアプリケーションの利用状況に応じて取引情報が生成される例が示されている。
【0111】
図10に示すように、ユーザ端末10は、APPサーバ50により実行されるアプリケーションが提供するサービスをリクエストする(ステップS801)。これにより、アプリケーションの利用が開始される。
【0112】
その後、APPサーバ50は、ユーザ端末10のアプリケーションの利用状況があらかじめ定義されたルールに適合する場合、ルールに基づいて取引情報を生成する(ステップS802)。
【0113】
あくまで一例として、上記のルールには、条件部および帰結部を定義することができる。例えば、コメント投稿ツールを例に挙げれば、条件部には、質問コメントの回数「5回」などを設定すると共に、帰結部には、条件部に設定された条件を満たす場合に生成する取引の内容「発行者からユーザへ10トークン発行」を設定できる。このようなルールの場合、ユーザの質問コメントの回数が5回になると、発行者から当該ユーザへ10トークンを付与する取引情報が生成される。
【0114】
その後、APPサーバ50は、ステップS802で生成された取引情報およびユーザ端末10が利用中であるアプリケーションのAPPidを中継装置100へ送信する(ステップS803)。
【0115】
そして、中継装置100のTx登録部155は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたAPPidに対応するエントリを検索する(ステップS804)。
【0116】
続いて、Tx登録部155は、APPサーバ50から受け付けた取引情報に基づいて取引登録用のトランザクションデータを生成する(ステップS805)。このとき、トークンの取引情報がトークン交換である場合、取引登録用のトランザクションデータは、トークンの送信元のユーザの秘密鍵のウォレットアドレスを参照して生成することができる。その上で、Tx登録部155は、ステップS805で生成されたトランザクションデータの登録をステップS804の検索でヒットする記録先のBCネットワーク70にリクエストする(ステップS806)。
【0117】
このリクエストに応答して、BCネットワーク70は、中継装置100から受け付けたトランザクションデータをブロックチェーンに登録する(ステップS807)。その上で、BCネットワーク70は、ステップS807でブロックチェーンに登録されたトランザクションデータのトランザクションidを含むレスポンスを中継装置100へ送信する(ステップS808)。なお、ステップS807では、トランザクションの登録に必要な情報が揃っている場合に絞ってトランザクションの登録を実行できるのは言うまでもない。
【0118】
その後、Tx登録部155は、BCネットワーク70から受け付けたトランザクションidをAPPサーバ50を介してユーザ端末10に送信し(ステップS809およびステップS810)、処理を終了する。
【0119】
図11は、トランザクション登録処理の手順を示すシーケンス図(2)である。
図11には、あくまで1つの側面として、IoTデバイス20のセンシング状況に応じて取引情報が生成される例が示されている。
【0120】
図11に示すように、IoTデバイス20は、センサにより測定されたセンサ値をAPPサーバ50にアップロードする(ステップS901)。
【0121】
その後、APPサーバ50は、IoTデバイス20のセンシング状況があらかじめ定義されたルールに適合する場合、ルールに基づいて取引情報を生成する(ステップS902)。
【0122】
あくまで一例として、上記のルールには、条件部および帰結部を定義することができる。例えば、センサが画像センサである場合を例に挙げれば、条件部には、休日出勤回数「3回」などを設定すると共に、帰結部には、条件部に設定された条件を満たす場合に生成する取引の内容「発行者からユーザへ10トークン発行」を設定できる。このようなルールの場合、画像認識AI(Artificial Intelligence)などによりユーザの顔が異なる3回の休日に認識されると、発行者から当該ユーザへ10トークンを付与する取引情報が生成される。
【0123】
その後、APPサーバ50は、ステップS902で生成された取引情報およびセンシング状況を監視するアプリケーションのAPPidを中継装置100へ送信する(ステップS903)。
【0124】
そして、中継装置100のTx登録部155は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたAPPidに対応するエントリを検索する(ステップS904)。
【0125】
続いて、Tx登録部155は、APPサーバ50から受け付けた取引情報に基づいて取引登録用のトランザクションデータを生成する(ステップS905)。このとき、トークンの取引情報がトークン交換である場合、取引登録用のトランザクションデータは、トークンの送信元のユーザの秘密鍵のウォレットアドレスを参照して生成することができる。その上で、Tx登録部155は、ステップS905で生成されたトランザクションデータの登録をステップS904の検索でヒットする記録先のBCネットワーク70にリクエストする(ステップS906)。
【0126】
このリクエストに応答して、BCネットワーク70は、中継装置100から受け付けたトランザクションデータをブロックチェーンに登録する(ステップS907)。その上で、BCネットワーク70は、ステップS907でブロックチェーンに登録されたトランザクションデータのトランザクションidを含むレスポンスを中継装置100へ送信する(ステップS908)。なお、ステップS907では、トランザクションの登録に必要な情報が揃っている場合に絞ってトランザクションの登録を実行できるのは言うまでもない。
【0127】
その後、Tx登録部155は、BCネットワーク70から受け付けたトランザクションidをAPPサーバ50を介してIoTデバイス20に送信し(ステップS909およびステップS910)、処理を終了する。
【0128】
Tx参照部156は、トランザクションの参照を中継する処理部である。
図12は、トランザクション参照処理の手順を示すシーケンス図である。
図12に示すように、ユーザ端末10は、参照対象とするトランザクションを識別するトランザクションidの指定を受け付ける(ステップS1001)。
【0129】
その上で、ユーザ端末10は、ステップS1001で指定を受け付けたトランザクションidを含むトランザクション参照のリクエストをAPPサーバ50へ送信する(ステップS1002)。
【0130】
その後、APPサーバ50は、ユーザ端末10から受け付けたトランザクション参照のリクエストに当該ユーザが利用するアプリケーションのAPPidをさらに含めて中継装置100へ送信する(ステップS01003)。
【0131】
そして、中継装置100のTx参照部156は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたAPPidに対応するエントリを検索する(ステップS1004)。
【0132】
その上で、Tx参照部156は、APPサーバ50から受け付けたトランザクション参照のリクエストをステップS1004の検索でヒットする記録先のBCネットワーク70に送信する(ステップS1005)。
【0133】
このリクエストに応答して、BCネットワーク70は、中継装置100から受け付けたリクエストに含まれるトランザクションidに対応するトランザクションデータを検索する(ステップS1006)。その上で、BCネットワーク70は、ステップS1006の検索でヒットするトランザクションデータを含むレスポンスを中継装置100へ送信する(ステップS1007)。
【0134】
その後、Tx参照部156は、BCネットワーク70から受け付けたトランザクションデータをAPPサーバ50を介してユーザ端末10に送信し(ステップS1008およびステップS1009)、処理を終了する。
【0135】
SC登録部157は、スマートコントラクトの登録を中継する処理部である。スマートコントラクトとは、ブロックチェーン上で契約を自動執行する仕組みであり、例えば、ブロックチェーン上に書き込まれるコンピュータプログラムとして実現され得る。このようなスマートコントラクトに定義されるルールに従ってBCネットワーク70にトランザクションデータの登録を自動的に実行させることとしてもかまわない。
【0136】
図13は、スマートコントラクト登録処理の手順を示すシーケンス図である。
図13に示すように、管理者端末30は、SC登録部157が提供するSC登録ウィンドウを介して、スマートコントラクトの内容の入力を受け付ける(ステップS1101)。
【0137】
スマートコントラクトの内容の入力受付後、管理者端末30は、ステップS1101で受け付けたスマートコントラクトの内容を含むスマートコントラクト登録のリクエストをAPPサーバ50へ送信する(ステップS1102)。
【0138】
このようにスマートコントラクト登録のリクエストを受け付けたAPPサーバ50は、スマートコントラクト登録のリクエストにスマートコントラクトが利用されるアプリケーションのAPPidをさらに含めて中継装置100へ送信する(ステップS1103)。
【0139】
そして、中継装置100のSC登録部157は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたスマートコントラクト登録のリクエストに含まれるAPPidに対応するエントリを検索する(ステップS1104)。
【0140】
続いて、SC登録部157は、SC登録ウィンドウを介して受け付けたスマートコントラクトの内容に基づいてSC登録用のトランザクションデータを生成する(ステップS1105)。その上で、SC登録部157は、ステップS1105で生成されたSC登録用のトランザクションデータの登録をステップS1104の検索でヒットする記録先のBCネットワーク70にリクエストする(ステップS1106)。
【0141】
このリクエストに応答して、BCネットワーク70は、中継装置100から受け付けたSC登録用のトランザクションデータをブロックチェーンに登録する(ステップS1107)。その上で、BCネットワーク70は、ステップS1107でブロックチェーンに登録されたトランザクションデータのトランザクションidを含むレスポンスを中継装置100へ送信する(ステップS1108)。
【0142】
その後、SC登録部157は、BCネットワーク70から受け付けたトランザクションidをAPPサーバ50を介して管理者端末30に返信し(ステップS1109およびステップS1110)、処理を終了する。
【0143】
SC無効化部158は、スマートコントラクトの無効化を中継する処理部である。
図14は、スマートコントラクト無効化処理の手順を示すシーケンス図である。
図14に示すように、管理者端末30は、SC無効化部158が提供するSC削除ウィンドウを介して、削除対象とするスマートコントラクトに対応するトランザクションidの入力を受け付ける(ステップS1201)。
【0144】
トランザクションidの入力受付後、管理者端末30は、ステップS1201で受け付けたトランザクションidを含むSC無効化のリクエストをAPPサーバ50へ送信する(ステップS1202)。
【0145】
このようにSC無効化のリクエストを受け付けたAPPサーバ50は、SC無効化のリクエストに当該スマートコントラクトに対応するアプリケーションのAPPidをさらに含めて中継装置100へ送信する(ステップS1203)。
【0146】
そして、中継装置100のSC無効化部158は、APP情報に含まれるエントリのうち、APPサーバ50から受け付けたSC無効化のリクエストに含まれるAPPidに対応するエントリを検索する(ステップS1204)。
【0147】
続いて、SC無効化部158は、SC削除ウィンドウを介して受け付けたトランザクションidに基づくSC無効化のリクエストをステップS1204の検索でヒットする記録先のBCネットワーク70にリクエストする(ステップS1205)。
【0148】
このリクエストに応答して、BCネットワーク70は、中継装置100から受け付けたSC無効化のリクエストで指定されたトランザクションidに対応するスマートコントラクトの登録を無効化する(ステップS1206)。その上で、BCネットワーク70は、ステップS1206におけるSC無効化の結果、例えば成否を含むレスポンスを中継装置100へ送信する(ステップS1207)。
【0149】
その後、SC無効化部158は、BCネットワーク70から受け付けたSC無効化の結果をAPPサーバ50を介して管理者端末30に返信し(ステップS1208およびステップS1209)、処理を終了する。
【0150】
更新部170は、上記の中継プログラムの更新を実行する処理部である。
図15は、更新処理の手順を示すシーケンス図である。
図15に示すように、更新部170は、管理者端末30から上記の中継プログラムの更新ファイルの指定を受け付ける(ステップS1301)。
【0151】
ここで言う「更新ファイル」は、あくまで1つの側面として、ブロックチェーンプラットフォームの仕様変更などに対応する側面から、取引記録システム1の運営事業者に所属する関係者、例えばシステム管理者などにより作成され得る。
【0152】
更新ファイルの指定の受付後、管理者端末30は、更新ファイルのインストールを中継装置100へリクエストする(ステップS1302)。
【0153】
このように更新ファイルのインストールのリクエストを受け付けた中継装置100の更新部170は、更新ファイルをインストールする(ステップS1303)。その後、更新部170は、更新ファイルのインストールの実行結果、例えば成否を含むレスポンスを管理者端末30へ送信し(ステップS1304)、処理を終了する。
【0154】
<効果の一側面>
上述してきたように、本実施例に係る取引記録システム1では、APPサーバ50およびBCネットワーク70を中継する中継機能を独立のモジュールとして構築する。これにより、ブロックチェーンプラットフォームの仕様変更などに伴うアップデート時に上記の中継機能に対応するモジュールのみを更新できる。したがって、本実施例に係る取引記録システム1によれば、アプリケーションの入れ替え又はアップデートの削減を実現できる。
【0155】
<応用例>
上記の実施形態は一例を示したものであり、種々の応用が可能である。
【0156】
(1)アプリケーション
上記の実施形態では、APPサーバ50により実行されるWebアプリケーションとして実現される例を挙げたが、ユーザ端末10またはIoTデバイス20により実行される配布型のアプリケーションとして実現されることとしてもよい。この場合、取引記録システム1には、必ずしもAPPサーバ50を設置せずともよい。
【0157】
<適用例>
上記の実施形態は一例を示したものであり、種々の適用が可能である。
【0158】
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0159】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0160】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0161】
<ハードウェア>
次に、上記の実施形態に係る中継装置100のハードウェア構成例を説明する。
図16は、ハードウェア構成例を示す図である。
図16に示すように、中継装置100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、プロセッサ100dを有する。また、
図12に示した各部は、バス等で相互に接続される。
【0162】
通信装置100aは、ネットワークインタフェイスカードなどであり、他のサーバとの通信を行う。HDD100bは、
図2に示された機能を動作させるプログラムやデータを記憶する。
【0163】
プロセッサ100dは、
図2に示した各処理部と同様の処理を実行するプログラムをHDD100b等から読み出してメモリ100cに展開することで、
図2等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、中継装置100が有する各処理部と同様の機能を実行する。具体的には、プロセッサ100dは、リクエスト受付部110、APP管理部130、Tx管理部150および更新部170等と同様の機能を有するプログラムをHDD100b等から読み出す。そして、プロセッサ100dは、リクエスト受付部110、APP管理部130、Tx管理部150および更新部170等と同様の処理を実行するプロセスを実行する。
【0164】
このように、中継装置100は、プログラムを読み出して実行することで中継方法を実行するコンピュータとして動作する。また、中継装置100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記の実施形態と同様の機能を実現することもできる。なお、この他の実施形態でいうプログラムは、中継装置100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0165】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0166】
1 取引記録システム
10 ユーザ端末
20 IoTデバイス
30 管理者端末
50 APPサーバ
70 BCネットワーク
100 中継装置
110 リクエスト受付部
130 APP管理部
131 APP登録部
132 APP削除部
133 APP編集部
150 Tx管理部
151 ウォレット作成部
152 ウォレット参照部
153 トークン定義部
154 トークン無効化部
155 Tx登録部
156 Tx参照部
157 SC登録部
158 SC無効化部
170 更新部