(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134964
(43)【公開日】2024-10-04
(54)【発明の名称】管理システム、管理方法、及び管理プログラム
(51)【国際特許分類】
G06Q 20/40 20120101AFI20240927BHJP
【FI】
G06Q20/40
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023045435
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】近藤 佑樹
(72)【発明者】
【氏名】大島 敬志
【テーマコード(参考)】
5L020
5L055
【Fターム(参考)】
5L020AA72
5L055AA72
(57)【要約】 (修正有)
【課題】トークンの価値を確認する手段を利用者に提供する管理システム、管理方法及び管理プログラムを提供する。
【解決手段】通貨管理システムにおいて、監査者装置は、トークンの情報を記憶している利用者装置200A、200B又は運用者装置300から、当該トークンの価値の検証要求を受信する受信部と、検証要求に係るトークンを裏付ける担保資産の情報を、トークンを裏付ける担保資産を管理する発行体装置500から取得し、受信した検証要求及び取得した担保資産の情報に基づき、検証要求に係るトークンの価値を検証する検証部と、検証の結果を装置に送信する送信部と、を備える。
【選択図】
図11
【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを有し、
トークンの情報を記憶している装置から、当該トークンの価値の検証要求を受信する受信部と、
前記検証要求に係るトークンを裏付ける担保資産の情報を、前記トークンを裏付ける担保資産を管理する発行体装置から取得し、前記受信した検証要求及び前記取得した担保資産の情報に基づき、前記検証要求に係るトークンの価値を検証する検証部と、
前記検証の結果を前記装置に送信する送信部と、
を備える管理システム。
【請求項2】
前記検証部は、前記取得した担保資産の価格が、前記検証要求に係るトークンの現在価格に基づく下限価格よりも高い場合に、検証に成功したと判定する、
請求項1に記載の管理システム。
【請求項3】
前記検証部は、トークンの価格に対して確保すべき担保の割合である担保比率を、トークンの種別ごとに記憶したトークン種別テーブルを参照して取得した、前記検証要求に係るトークンの担保比率、及び前記検証要求に係るトークンの現在価格に基づいて、前記下限価格を算出する、
請求項2に記載の管理システム。
【請求項4】
前記受信部は、前記トークンの所有者の情報が付帯した検証要求を受信し、
前記検証部は、トークンの所有者ごとに担保資産の情報を記憶した通貨口座テーブルを参照して取得した、前記検証要求に係るトークンの所有者の担保資産の情報に基づいて、前記検証要求に係るトークンの価値を検証する、
請求項1に記載の管理システム。
【請求項5】
前記検証要求に係るトークンを前記所有者からから監査者へ移転させることにより、前記検証要求に係るトークンを裏付ける担保資産を前記所有者から前記監査者へ移転させる管理部を備え、
前記検証部は、前記監査者の担保資産の情報を参照することで、前記検証要求に係るトークンの価値を検証する、
請求項4に記載の管理システム。
【請求項6】
前記管理部は、前記検証要求に係るトークンを前記所有者から前記監査者へ移転させる際に、前記検証要求に係るトークンに対応する監査トークンを、前記監査者から前記所有者に移転する、
請求項5に記載の管理システム。
【請求項7】
前記監査トークンは、用途が前記検証要求に係るトークンの検証の保証金の場合にのみ利用可能である、
請求項6に記載の管理システム。
【請求項8】
前記受信部は、前記トークンの種別の情報が付帯した検証要求を受信し、
前記検証部は、トークンの種別ごとに運用者の情報を記憶したトークン種別テーブルを参照することで、前記検証要求に係るトークンの種別に対応する運用者を特定し、前記特定した運用者の担保資産の情報を参照することで、前記検証要求に係るトークンの価値を検証する、
請求項1に記載の管理システム。
【請求項9】
前記検証部は、前記検証要求に係るトークンの総発行量の価格と、前記特定した運用者の担保資産の価格とに基づいて、前記検証要求に係るトークンの価値を検証する、
請求項8に記載の管理システム。
【請求項10】
トークンの情報を記憶している装置と第1の通信ネットワークにより通信可能に接続され、前記受信部と、前記送信部とを備える監査者装置と、
前記発行体装置と第2の通信ネットワークにより通信可能に接続され、前記検証部を備える担保検証装置と、
を備える請求項1に記載の管理システム。
【請求項11】
情報処理装置が、
トークンの情報を記憶している装置から、当該トークンの価値の検証要求を受信する受信処理と、
前記検証要求に係るトークンを裏付ける担保資産の情報を、前記トークンを裏付ける担保資産を管理する発行体装置から取得し、前記受信した検証要求及び前記取得した担保資産の情報に基づき、前記検証要求に係るトークンの価値を検証する検証処理と、
前記検証の結果を前記装置に送信する送信処理とを実行する
管理方法。
【請求項12】
情報処理装置に、
トークンの情報を記憶している装置から、当該トークンの価値の検証要求を受信する受信処理と、
前記検証要求に係るトークンを裏付ける担保資産の情報を、前記トークンを裏付ける担保資産を管理する発行体装置から取得し、前記受信した検証要求及び前記取得した担保資産の情報に基づき、前記検証要求に係るトークンの価値を検証する検証処理と、
前記検証の結果を前記装置に送信する送信処理とを実行させる
管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理システム、管理方法、及び管理プログラムに関する。
【背景技術】
【0002】
デジタル通貨の流通を活性化する手段として、トークンやプログラマブルマネーが注目されている。デジタル通貨は、中央銀行や金融機関のように金融免許を所有する組織のみが発行できるのに対し、トークンやプログラマブルマネーは、様々な業種の企業が発行できる。そして、トークンに対して、デジタル通貨を裏付け資産として確保することで、その価値の安全性を担保することができる。また、トークンは、その発行主体が異なるため、デジタル通貨とは異なるネットワークで運用される。
【0003】
特許文献1には、現金通貨に対応付けられたコイン(デジタル通貨)とトークンとが異なるネットワークで運用されるシステムにおいて、運用者がトークンを発行する際に、銀行が当該トークンの金額に相当する運用者のコインにロックをかけることにより、トークンの価値を担保する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、トークンを運用するネットワークとデジタル通貨を運用するネットワークとが分断されている状況において、デジタル通貨の発行体(例えば、銀行)、トークンの運用者、及びトークンの利用者というステークホルダの間に完全な信頼関係が無いにもかかわらず、トークンの価値を裏付ける担保(以下、「トークンの裏付け担保」とする。)の存在を確認できるのがデジタル通貨の発行体のみである、という問題がある。
【0006】
すなわち、利用者は、デジタル通貨のネットワークにあるトークンの裏付け担保を参照することができない。そのため、利用者は、トークンに本当に価値があるかを確認する手段がないため、運用者の信頼性に基づいて、トークンに価値を判断せざるを得ない。
【0007】
一方、運用者は、裏付け担保の管理を発行体に依存しているため、トークンに裏付け担保が存在することを利用者に証明することができない。そのため、中小企業のように、社会的信用力が低い主体がトークンを発行する場合、利用者がトークンを受容しないリスクがある。これは、トークンやデジタル通貨の社会普及の障壁になる。
【0008】
本発明は、このような事情に鑑みてなされたものであり、その目的は、トークンの価値を確認する手段を利用者に提供することが可能な管理システム、管理方法、及び管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための本発明の一つは、プロセッサ及びメモリを有し、トークンの情報を記憶している装置から、当該トークンの価値の検証要求を受信する受信部と、前記検証要求に係るトークンを裏付ける担保資産の情報を、前記トークンを裏付ける担保資産を管理する発行体装置から取得し、前記受信した検証要求及び前記取得した担保資産の情
報に基づき、前記検証要求に係るトークンの価値を検証する検証部と、前記検証の結果を前記装置に送信する送信部と、を備える管理システムである。
【発明の効果】
【0010】
本発明によれば、トークンの価値を確認する手段を利用者に提供することができる。
上記した以外の構成及び効果等は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】本実施形態における通貨管理システムの構成例を示す図である。
【
図7】トークン種別テーブルの一例を示す図である。
【
図8】トークン口座テーブルの一例を示す図である。
【
図10】通貨管理システムにおける担保の管理方法を説明する図である。
【
図11】通貨管理システムにおけるトークンの担保の検証方法を説明する図である。
【
図12】トークンの担保を検証する担保検証シーケンスの一例を示す図である。
【
図13】担保検証要求処理の詳細を説明する処理フロー図である。
【
図14】担保検証結果表示画面の一例を示す図である。
【
図15】担保検証管理処理の詳細を説明する処理フロー図である。
【
図16】個別担保検証管理処理の概要を説明する図である。
【
図17】個別担保検証管理処理の詳細を説明する処理フロー図である。
【
図18】一括担保検証管理処理の概要を説明する図である。
【
図19】一括担保検証管理処理の詳細を説明する処理フロー図である。
【
図20】トークン管理処理の詳細を説明する処理フロー図である。
【
図21】通貨管理処理の詳細を説明する処理フロー図である。
【
図22】担保検証処理の詳細を説明する処理フロー図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態について詳細に説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
以下の説明では、「テーブル」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プロ
グラムは、プロセッサ(例えばCPU、GPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路(例えばFPGAやASIC)を含んでいてもよい。
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0013】
<システム構成>
図1は、本実施形態における通貨管理システム100の構成例を示す図である。
通貨管理システム100は、運用者が発行するトークンに対し、銀行等の発行体がデジタル通貨を上記トークンの裏付け資産(担保資産)として確保することにより、トークンの価値の安全性を担保するシステムである。運用者は、例えば、電力会社、又は小売業者等の事業者であり、独自のトークンを発行して運用する。
【0014】
デジタル通貨とは、コンピュータシステムでデジタル化された通貨であり、インターネット上で管理、保存、又は交換されるものである。デジタル通貨には、発行体又は運用形態の異なる複数のモデルが存在する。例えば、中央銀行デジタル通貨は、中央銀行の債務として発行されるデジタル形式の法定通貨である。中央銀行デジタル通貨は、中央銀行が通貨を発行して、銀行などの仲介機関が利用者への流通を行う。また、民間デジタル通貨は、銀行などの民間企業が発行するデジタル通貨である。民間デジタル通貨は、単独企業、または、複数企業で構成されたコンソーシアムが通貨の発行と流通を行う。民間デジタル通貨は、デジタル通貨を発行するとき、法定通貨を裏付け資産として確保する。暗号資産は、ブロックチェーンのアルゴリズムを活用したデジタル通貨である。暗号資産は、非中央集権的なネットワークを通じて、デジタル通貨の発行と流通が行われる。暗号資産は、デジタル通貨の裏付け資産は無い。本実施形態におけるデジタル通貨は、裏付け資産のある中央銀行デジタル通貨、または、民間デジタル通貨である。
【0015】
トークンとは、デジタル通貨に、属性又はビジネスロジックを付加したものである。例えば、トークンは、使途、有効期限、又は、特定条件を満たしたら割引を適用する、といった機能がデジタル通貨に付加される。例えば、飲食店のみで利用可能で、1年以内の利用期限があり、10%の割引を受けられるフードクーポンをトークンで発行することがで
きる。その他にも、電力の売買のみに利用できる「電力トークン」、又は、特定地域の小売店又は飲食店のみで利用できる「地域振興トークン」などが発行可能である。トークンを紙媒体ではなくデジタル形式にすることで、発行や流通を効率化することができる。
【0016】
図示するように、通貨管理システム100は、トークンを運用するトークンネットワーク(第1の通信ネットワーク)を構成するトークンシステム110と、デジタル通貨を運用する通貨ネットワーク(第2の通信ネットワーク)を構成する通貨システム120とを含んで構成される。トークンシステム110及び通貨システム120の間は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、又は専
用線等の有線又は無線の通信ネットワークNにより接続される。
【0017】
トークンシステム110は、1又は複数の利用者装置200、運用者装置300、及び監査者装置400を含んで構成される。運用者装置300は、運用者が使用する情報処理装置である。利用者装置200は、トークンを運用者から購入して利用する利用者が使用する情報処理装置である。監査者装置400は、利用者からの要求に応じて、トークンの価値を裏付ける裏付け担保の検証を行う監査者が使用する情報処理装置である。各利用者装置200、運用者装置300、及び監査者装置400は、相互に通信接続し、トークンネットワークを構成する。
【0018】
通貨システム120は、1又は複数の発行体装置500、及び担保検証装置600を含んで構成される。発行体装置500は、デジタル通貨を発行する銀行等の発行体が使用する情報処理装置である。担保検証装置600は、監査者が使用する情報処理装置である。各発行体装置500、及び担保検証装置600は、相互に通信可能に接続し、デジタル通貨ネットワークを構成する。
【0019】
なお、以下では、監査者が使用する監査者装置400及び担保検証装置600からなるシステムを、管理システム1000と称する。
【0020】
図2は、本実施形態における利用者装置200の構成例を示す図である。
利用者装置200は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ201と、CPU(Central Processing Unit)等の演算装置202と、キー
ボード、マウス、又はタッチパネル等の入力装置203と、ディスプレイ及びタッチパネル等の出力装置204と、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、又はシリアル通信モジュール等で構成される通信装置205と、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージ装置206等を備える。
【0021】
ストレージ装置206は、トークン種別テーブル700、トークン口座テーブル800、トークン管理プログラム1300、及び、担保検証要求プログラム1100をそれぞれ記憶している。トークン種別テーブル700は、トークンの種別に関する情報を保持する。トークン種別テーブル700の詳細については、後述する。トークン口座テーブル800は、運用者及び各利用者のそれぞれが保有しているトークンの数量に関する情報を保持する。トークン口座テーブル800の詳細については、後述する。
【0022】
トークン管理プログラム1300は、トークンを移転させる処理を実行する。トークンを移転させるとは、トークンの所有者を変更することである。トークン管理プログラム1300が実行する処理の詳細については、後述する。担保検証要求プログラム1100は、利用者が保有しているトークンの価値の検証要求を監査者装置400に送信し、検証要求の応答である検証結果を受信し、受信した検証結果を出力する処理を実行する。担保検証要求プログラム1100が実行する処理の詳細については、後述する。利用者装置200の以上の各プログラムは、演算装置202がメモリ201又はストレージ装置206から読み出すことにより実行される。
【0023】
図3は、本実施形態における運用者装置300の構成例を示す図である。
運用者装置300は、RAM、ROM等のメモリ301と、CPU等の演算装置302と、キーボード、マウス、又はタッチパネル等の入力装置303と、ディスプレイ及びタッチパネル等の出力装置304と、NIC、無線通信モジュール、USBモジュール、又はシリアル通信モジュール等で構成される通信装置305と、HDD、SSD等のストレージ装置306等を備える。
【0024】
ストレージ装置306は、後述するトークン種別テーブル700、後述するトークン口
座テーブル800、後述する担保検証要求プログラム1100、及び、後述するトークン管理プログラム1300をそれぞれ記憶している。運用者装置300の以上の各プログラムは、演算装置302がメモリ301又はストレージ装置306から読み出すことにより実行される。
【0025】
図4は、本実施形態における監査者装置400の構成例を示す図である。
監査者装置400は、RAM、ROM等のメモリ401と、CPU等の演算装置402と、キーボード、マウス、又はタッチパネル等の入力装置403と、ディスプレイ及びタッチパネル等の出力装置404と、NIC、無線通信モジュール、USBモジュール、又はシリアル通信モジュール等で構成される通信装置405と、HDD、SSD等のストレージ装置406等を備える。
【0026】
ストレージ装置406は、後述するトークン種別テーブル700、後述するトークン口座テーブル800、後述するトークン管理プログラム1300、及び、担保検証管理プログラム1200をそれぞれ記憶している。
【0027】
担保検証管理プログラム1200は、受信部1201、管理部1202、及び、送信部1203の各機能を実現する。受信部1201は、利用者が保有するトークンの価値の検証要求を利用者装置200から受信する受信処理を実行する。管理部1202は、受信した検証要求に係るトークン(以下、「対象トークン」とする。)の検証を担保検証装置600に要求する要求処理を実行する。また、管理部1202は、検証要求に係るトークンを所有者からから監査者へ移転させることにより、検証要求に係るトークンを裏付ける担保資産を所有者から監査者へ移転させる管理処理を実行する。送信部1203は、担保検証装置600から検証の結果を受信し、受信した検証の結果を利用者装置200に送信する送信処理を実行する。担保検証管理プログラム1200が実行する処理の詳細については、後述する。監査者装置400の以上の各プログラムは、演算装置402がメモリ401又はストレージ装置406から読み出すことにより実行される。
【0028】
図5は、本実施形態における発行体装置500の構成例を示す図である。
発行体装置500は、RAM、ROM等のメモリ501と、CPUなどの演算装置502と、キーボード、マウス、又はタッチパネル等の入力装置503と、ディスプレイ及びタッチパネル等の出力装置504と、NIC、無線通信モジュール、USBモジュール、又はシリアル通信モジュール等で構成される通信装置505と、HDD、SSD等のストレージ装置506等を備える。
【0029】
ストレージ装置506は、通貨口座テーブル900、及び、通貨管理プログラム1400をそれぞれ記憶している。通貨口座テーブル900は、運用者及び各利用者のそれぞれの通貨口座に関する情報を保持する。通貨口座テーブル900の詳細については、後述する。通貨管理プログラム1400は、トークンの移転に伴い、当該トークンの裏付け担保を移転させる。裏付け担保を移転させるとは、裏付け担保の所有者を変更することである。通貨管理プログラム1400が実行する処理の詳細については、後述する。発行体装置500の以上の各プログラムは、演算装置502がメモリ501又はストレージ装置506から読み出すことにより実行される。
【0030】
図6は、本実施形態における担保検証装置600の構成例を示す図である。
担保検証装置600は、RAM、ROM等のメモリ601と、CPU等の演算装置602と、キーボード、マウス、又はタッチパネル等の入力装置603と、ディスプレイ及びタッチパネル等の出力装置604と、NIC、無線通信モジュール、USBモジュール、又はシリアル通信モジュール等で構成される通信装置605と、HDD、SSD等のストレージ装置606等を備える。
【0031】
ストレージ装置606は、後述する通貨口座テーブル900、後述する通貨管理プログラム1400、及び、担保検証処理プログラム1500をそれぞれ記憶している。
【0032】
担保検証処理プログラム1500は、検証部1501の機能を実現する。検証部1501は、監査者装置400からの要求に応じて、対象トークンの裏付け担保の情報を発行体装置500から取得して当該対象トークンの価値を検証し、その検証の結果を監査者装置400に送信する検証処理を実行する。担保検証処理プログラム1500が実行する処理の詳細については、後述する。担保検証装置600の以上の各プログラムは、演算装置602がメモリ601又はストレージ装置606から読み出すことにより実行される。
【0033】
前記で説明した各装置の各プログラムは、例えば、可搬性の又は固定された記録媒体に記録して配布することができる。
【0034】
(トークン種別テーブル)
図7は、トークン種別テーブル700の一例を示す図である。トークン種別テーブル700は、各トークンの種別であるトークンIDが設定されるトークンID701、各運用者のユーザIDが設定される運用者ID702、トークンの担保となるデジタル通貨の種別が設定される担保ID703、担保比率704、担保の管理方法が設定される担保管理方法705、及び、単位数量当たりの現在価格が設定される単価706の各データ項目を有する。
【0035】
担保比率704には、裏付け担保として、トークンの現在価格に対し最低限確保すべき価格の割合が設定される。また、担保管理方法705には、第1の担保管理方法「Individual」、又は、第2の担保管理方法「All」が設定される。担保管理方法「Individual」
では、担保を管理する通貨口座が、トークンの所有者(利用者又は運用者)ごと、かつ、トークンの種別ごとに存在する。例えば、担保管理方法「Individual」では、利用者Aの電力トークンの担保を管理する通貨口座、利用者Bの電力トークンの口座など、各トークンを保有する所有者ごと、かつ、トークンの種別ごと通貨口座が存在する。一方、担保管理方法「All」では、トークンの種別ごとに、担保を管理する通貨口座が存在する。例え
ば、担保管理方法「All」では、電力トークンの担保を管理する通貨口座、地域商店街ト
ークンの担保を管理する通貨口座など、トークンの種別ごとに、トークンを発行する運用者の通貨口座が存在する。すなわち、担保管理方法「All」では、トークンを発行する運
用者の通貨口座で、担保が一元管理される。
【0036】
(トークン口座テーブル)
図8は、トークン口座テーブル800の一例を示す図である。トークン口座テーブル800は、各利用者又は運用者を識別するユーザIDが設定されるユーザID801、トークンIDが設定されるトークンID802、及び、利用者又は運用者が保有するトークンの数量が設定されるトークン数量803の各データ項目を有する。
【0037】
(通貨口座テーブル)
図9は、通貨口座テーブル900の一例を示す図である。通貨口座テーブル900は、ユーザIDが設定されるユーザID901、デジタル通貨の種別が設定される通貨ID902、デジタル通貨の残高が設定される残高903、及び、トークンIDが設定される属性タグ904の各データ項目を有する。
【0038】
本実施形態では、各利用者装置200、運用者装置300、及び監査者装置400が参加するトークンネットワークが、ブロックチェーン等の分散台帳ネットワークである場合について説明する。そのため、各利用者装置200、運用者装置300、及び監査者装置
400のそれぞれが記憶するトークン種別テーブル700及びトークン口座テーブル800のデータは全て同一である。
【0039】
また、本実施形態では、各発行体装置500及び担保検証装置600が参加する通貨ネットワークが、ブロックチェーン等の分散台帳ネットワークである場合について説明する。そのため、各発行体装置500及び担保検証装置600のそれぞれが記憶する通貨口座テーブル900のデータは全て同一である。
【0040】
次に、通貨管理システム100で行われる処理について説明する。
【0041】
<担保管理方法>
図10は、通貨管理システム100における担保の管理方法を説明する図である。本図には、担保管理方法が「Individual」である場合における担保の管理方法について示している。
【0042】
運用者が発行するトークンを運用するトークンネットワークN1は、運用者装置300、及び、1又は複数の利用者装置200で構成される。以下、説明の便宜を図るため、利用者Aが使用する利用者装置200に「A」の符号を付して利用者装置200Aとし、利用者Bが使用する利用者装置200に「B」の符号を付して利用者装置200Bとし、各利用者装置200を区別する。なお、利用者装置200A及び利用者装置200Bを特に区別しない場合には、「A」及び「B」の符号を省略し、単に「利用者装置200」又は「各利用者装置200」と記す。一方、トークンを裏付ける裏付け担保であるデジタル通貨を運用する通貨ネットワークN2は、1又は複数の発行体装置500で構成される。
【0043】
(トークン発行)
まず、運用者がトークンを発行する際の通貨管理システム100の動作について説明する。運用者装置300は、トークンを発行する際に、トークン発行要求を発行体装置500に送信する(S1)。トークン発行要求には、運用者のユーザID、発行するトークンのトークンID及び、発行するトークンの数量等が含まれる。発行体装置500は、トークン発行要求を受信すると、トークンの発行額に相当するデジタル通貨を担保として運用者の通貨口座に確保する(S2)。通貨口座は、ユーザの資金を保管する仮想的な口座である。具体的には、発行体装置500は、トークン発行要求に係るユーザID及びトークンIDに対応する通貨口座テーブル900の残高903の値に、トークンの発行額を加算する。図示する例では、発行体装置500は、運用者装置300が発行するトークンの価格「50」に相当するデジタル通貨を担保として運用者の通貨口座に確保する。
【0044】
(トークン購入)
続いて、利用者Aが運用者からトークンを購入する際の通貨管理システム100の動作について説明する。まず、利用者装置200Aは、トークンの購入を要求するトークン購入要求を運用者装置300に送信し、購入するトークンの代金「10」を現金通貨などで支払う(S11)。運用者装置300は、支払われた代金「10」に相当する数量のトークンを利用者装置200Aに送信する。このとき、運用者装置300は、運用者の保持するトークンの数量から、利用者Aに販売したトークンの数量を減算する。そして、運用者装置300は、トークンの移転を指示するトークン移転指示を発行体装置500に送信する(S12)。トークン移転指示には、移転元となる運用者のユーザIDと、移転先となる利用者AのユーザIDと、販売したトークンのトークンIDと、販売したトークンの数量とが含まれる。発行体装置500は、トークン移転指示を受信すると、運用者が販売したトークンに相当する価格「10」のデジタル通貨を、運用者の通貨口座から利用者Aの通貨口座に移転する(S13)。具体的には、発行体装置500は、トークン移転指示に係る移転元のユーザID及びトークンIDに対応する通貨口座テーブル900の残高90
3の値からトークンの販売額を減算し、トークン移転指示に係る移転先のユーザID及びトークンIDに対応する通貨口座テーブル900の残高903の値にトークンの販売額を加算する。
【0045】
(トークン移転)
続いて、利用者Aから利用者Bにトークンを移転する際の通貨管理システム100の動作について説明する。まず、利用者装置200Aは、移転するトークンを利用者装置Bに送信する。そして、利用者装置200Aは、トークン移転指示を発行体装置500に送信する(S21)。トークン移転指示には、移転元となる利用者AのユーザIDと、移転先となる利用者BのユーザIDと、移転したトークンのトークンIDと、移転したトークンの数量とが含まれる。発行体装置500は、トークン移転指示を受信すると、利用者Aから利用者Bに移転したトークンに相当する価格「10」のデジタル通貨を、利用者Aの通貨口座から利用者Bの通貨口座に移転する(S22)。具体的には、発行体装置500は、トークン移転指示に係る移転元のユーザID及びトークンIDに対応する通貨口座テーブル900の残高903の値から移転したトークンの額を減算し、トークン移転指示に係る移転先のユーザID及びトークンIDに対応する通貨口座テーブル900の残高903の値に移転したトークンの額を加算する。すなわち、発行体装置500は、トークンの移転に伴って、担保資産になっているデジタル通貨を移転させる。
【0046】
なお、トークンネットワークN1を構成する装置と、通貨ネットワークN2を構成する装置との間の通信は、トークンネットワークN1及び通貨ネットワークN2の両方に接続可能な中継装置が中継してもよい。
【0047】
一方、担保管理方法が「All」である場合には、発行体装置500は、デジタル通貨の
移転はしない。例えば、上述した例では、担保管理方法が「All」である場合には、トー
クンが購入又は移転された場合であっても、発行したトークンに相当する価格「50」のデジタル通貨が運用者の通貨口座に保管されたままであり、利用者A又は利用者Bの通貨口座には移転しない。
【0048】
上述した担保管理方法によりトークンの担保を管理する通貨管理システム100では、トークンの裏付け担保となるデジタル通貨の存在を確認できるのは、通貨ネットワークN2に参加している発行体装置500のみである。すなわち、運用者装置300及び利用者装置200は、通貨ネットワークN2に参加していないため、トークンを担保するデジタル通貨の存在を確認することができない。そのため、本実施形態では、監査者が使用する監査者装置400、及び担保検証装置600を介して、利用者が、自身の保有するトークンの価値を確認できるようにする。
【0049】
<処理の概要>
図11は、通貨管理システム100におけるトークンの担保の検証方法を説明する図である。図示するように、監査者装置400は、運用者装置300及び利用者装置200により構成されるトークンネットワークN1に通信接続可能である。また、担保検証装置600は、発行体装置500により構成される通貨ネットワークN2に通信接続可能である。
【0050】
図12は、トークンの担保を検証する担保検証シーケンスの一例を示す図である。
図11及び
図12を参照して、利用者Bが、自身が保有する価格「10」に相当するトークンの価値を確認する際の通貨管理システム100の動作について説明する。まず、利用者装置200Bの担保検証要求プログラム1100が、利用者Bが保有するトークンのうち、担保の価値を検証する対象トークンを指定した第1担保検証要求を監査者装置400に送信する(S101)。第1担保検証要求の詳細については後述する。
【0051】
監査者装置400の担保検証管理プログラム1200は、受信した第1担保検証要求で指定された対象トークンについて、運用者ID702、担保ID703、担保比率704、担保管理方法705、及び単価706の情報を、トークン種別テーブル700から取得する。そして、監査者装置400の担保検証管理プログラム1200は、取得した情報を含む第2担保検証要求を、担保検証装置600に送信する(S102)。第2担保検証要求の詳細については後述する。
【0052】
担保検証装置600の担保検証処理プログラム1500は、受信した第2担保検証要求に基づいて、発行体装置500と通信して、通貨口座テーブル900を参照することにより、対象トークンに対する担保の下限価格を上回る資産が通貨口座にあるか否かを検証する。担保の下限価格は、対象トークンの現在価格(トークン数量に単価を乗算した値)に、担保比率を乗算した価格である。担保検証装置600の担保検証処理プログラム1500は、参照した通貨口座において、指定されたトークンの裏付け担保の価格が下限価格より大きい場合に、検証結果を「成功」とし、裏付け担保の価格が下限価格以下である場合に、検証結果を「失敗」とする。担保を検証する方法の詳細については後述する。
【0053】
そして、担保検証装置600の担保検証処理プログラム1500は、検証した結果である担保検証結果を監査者装置400に返信する(S103)。担保検証結果の詳細については後述する。監査者装置400の担保検証管理プログラム1200は、受信した担保検証結果を、利用者装置200Bに転送する(S104)。利用者装置200Bは、受信した担保検証結果を出力装置204に出力する。
【0054】
これにより、利用者Bは、自身の保有するトークンの価値の検証結果を確認することができる。すなわち、利用者Bは、監査者を通じて、自身の保有するトークンに本当に価値があるかを確認することができる。
【0055】
続いて、上述した担保検証シーケンスにおいて、各装置が実行する処理の詳細について説明する。
【0056】
<担保検証要求処理>
図13は、担保検証要求処理S1100の詳細を説明する処理フロー図である。本図に示す担保検証要求処理S1100は、利用者装置200担保検証要求プログラム1100が、上述した担保検証シーケンスにおいて、S101で第1担保検証要求を送信してから、S104で担保検証結果を受信するまでの間に、実行する処理(S110)である。
【0057】
まず、担保検証要求プログラム1100は、利用者のユーザID、及び、担保を検証する対象トークンのトークンIDの入力を受け付けるフォーム画面を出力装置204に表示する(S1101)。
【0058】
続いて、担保検証要求プログラム1100は、S1101で表示したフォーム画面において、入力装置203で利用者からの入力を受け付け、利用者のユーザID、及び、担保を検証する対象トークンのトークンIDを取得する(S1102)。
【0059】
続いて、担保検証要求プログラム1100は、S1102で取得したユーザID及びトークンIDをキーに、トークン口座テーブル800を検索し、該当するレコード(以下、「トークン口座レコード」とする。)を取得する(S1103)。
【0060】
そして、担保検証要求プログラム1100は、S1103で取得したトークン口座レコードからトークン数量803を抽出する(S1104)。
【0061】
続いて、担保検証要求プログラム1100は、S1102で取得したユーザID、S1102で取得したトークンID、及び、S1104で取得したトークン数量を含む第1担保検証要求を生成する(S1105)。
【0062】
そして、担保検証要求プログラム1100は、S1105で生成した第1担保検証要求を監査者装置400に送信する(S1106)。
【0063】
その後、担保検証要求プログラム1100は、S1106で送信した担保検証要求の応答である担保検証結果を監査者装置400から受信する(S1107)。
【0064】
続いて、担保検証要求プログラム1100は、S1107で受信した担保検証結果を示す担保検証結果表示画面2000を出力装置204に表示する(S1108)。その後、担保検証要求プログラム1100は、本担保検証要求処理S1100を終了する。
【0065】
(担保検証結果表示画面)
図14は、担保検証結果表示画面2000の一例を示す図である。担保検証結果表示画面2000は、担保検証結果を表示する領域2001を備える。領域2001には、第1担保検証要求に含まれるユーザID、第1担保検証要求に含まれるトークンID、第1担保検証要求に含まれるトークン数量、及び、第1担保検証要求に対する担保検証結果(「成功」又は「失敗」)が表示される。担保検証結果「成功」は、第1担保検証要求で指定したトークンに対し、ユーザが保有するトークン数量の価格に相当する担保があることを示す。一方、担保検証結果「失敗」は、第1担保検証要求で指定したトークンに対し、ユーザが保有するトークン数量の価格に相当する担保がないことを示す。
【0066】
<担保検証管理処理>
図15は、担保検証管理処理S1200の詳細を説明する処理フロー図である。本図に示す担保検証管理処理S1200は、監査者装置400の担保検証管理プログラム1200が、上述した担保検証シーケンスにおいて、S101で第1担保検証要求を受信してから、S104で担保検証結果を送信するまでの間に、実行する処理(S111)である。
【0067】
まず、担保検証管理プログラム1200は、利用者装置200から第1担保検証要求を受信する(S1201)。
【0068】
続いて、担保検証管理プログラム1200は、S1201で受信した第1担保検証請求に含まれるトークンIDでトークン種別テーブル700を検索し、該当するレコード(以下、トークン種別レコード」とする。)を取得する(S1202)。
【0069】
続いて、担保検証管理プログラム1200は、S1202で取得したトークン種別レコードから、運用者ID702、担保ID703、担保比率704、担保管理方法705、及び単価706を抽出する(S1203)。
【0070】
続いて、担保検証管理プログラム1200は、S1203で抽出した担保管理方法が「Individual」であるか「All」であるかを判定する(S1204)。
【0071】
担保検証管理プログラム1200は、担保管理方法が「Individual」である場合には、後述する個別担保検証管理処理を実行する(S1205)。
【0072】
一方、担保検証管理プログラム1200は、担保管理方法が「All」である場合には、
後述する一括担保検証管理処理を実行する(S1206)。
【0073】
その後、担保検証管理プログラム1200は、S1205の個別担保検証管理処理又はS1206の一括担保検証管理処理で、担保検証装置600から受信した担保検証結果を、利用者装置200に送信する(S1207)。その後、担保検証管理プログラム1200は、本担保検証管理処理S1200を終了する。
【0074】
<個別担保検証管理処理>
図16は、個別担保検証管理処理S1205の概要を説明する図である。担保管理方法が「Individual」である場合には、監査者装置400及び担保検証装置600は、利用者ごと、かつ、トークンの種別ごとに、担保が確保されているかを検証する。
【0075】
まず、監査者装置400は、利用者の通貨口座に担保が存在することを検証するため、利用者が保有する対象トークンを監査者に移転させる(S41)。対象トークンは、第1担保検証要求で指定されたトークンである。各装置は、トークン管理プログラム1300を実行することにより、トークンを移転させる。トークン管理プログラム1300によるトークンを移転させる処理の詳細は、後述する。また、トークン管理プログラム1300は、対象トークンの移転に連動させて、通貨管理プログラム1400を実行させることにより、通貨ネットワークN2において、対象トークンの裏付け担保も利用者の通貨口座から監査者の通貨口座に移転させる(S42)。通貨管理プログラム1400による裏付け担保をさせる処理の詳細は、後述する。これにより、監査者の使用する担保検証装置600が、監査者の通貨口座において、対象トークンの裏付け担保を参照することができる。
【0076】
また、検証業務を保証するため、監査者装置400は、対象トークンの現在価格に相当する監査トークンを監査者から利用者に移転させる(S43)。図示する例では、対象トークンの価格が「10」であるため、監査者装置400は、価格「10」に相当する監査トークンを、監査者から利用者に移転している。
【0077】
監査トークンは、担保の検証業務の保証金に用途が限定されたトークンである。すなわち、監査トークンは、用途が、対象トークンの検証の保証金の場合にのみ利用可能である。監査トークンには、用途が、対象トークンの検証の保証金に限定されることを表す所定の情報が付加されている。各装置は、監査トークンの利用の要求を受信した場合には、監査トークンに付加された情報に基づいて、用途が対象トークンの検証の保証金である場合にのみ、精算を行う。そのため、監査トークンは、商品の決済などには利用できない。監査トークンを利用者に移転させることで、対象トークンを一旦監査者に移転させることに対し、利用者に安心感を与えることができる。また、監査トークンは、その用途が担保の検証業務に対する保証金に限定されているため、担保の検証中に利用者が監査トークンを他の用途に使用してしまうことを防ぐことができる。
【0078】
担保検証装置600は、担保検証処理プログラム1500を実行することにより、監査者の通貨口座(通貨口座テーブル900における監査者のユーザIDのレコード)を参照して、対象トークンの担保を検証する。担保検証処理プログラム1500による担保を検証する処理の詳細は後述する。そして、監査者装置400は、担保検証装置600から担保検証結果を受信すると、トークン管理プログラム1300を実行することにより、監査者に移転させた対象トークンを監査者から利用者に戻すとともに、利用者に移転させた監査トークンを利用者から監査者に戻す。
【0079】
図17は、個別担保検証管理処理S1205の詳細を説明する処理フロー図である。まず、担保検証管理プログラム1200は、対象トークンのトークン移転要求を生成する(S1211)。当該トークン移転要求には、トークンID「第1担保検証要求に含まれるトークンID」、トークン数量「第1担保検証要求に含まれるトークン数量」、送信元「
第1担保検証要求に含まれるユーザID」、及び、送信先「監査者のユーザID」が設定される。
【0080】
続いて、担保検証管理プログラム1200は、運用者装置300のトークン管理プログラム1300を呼び出して(実行して)、対象トークンを利用者から監査者に移転させる(S1212)。このとき、担保検証管理プログラム1200は、運用者装置300のトークン管理プログラム1300に、S1211で生成したトークン移転要求を送信する。
【0081】
続いて、担保検証管理プログラム1200は、対象トークンのトークン数量の現在価格に相当する監査トークンの数量を算出する(S1213)。具体的には、担保検証管理プログラム1200は、対象トークンのトークン数量に対象トークンの単価を乗算した値を、監査トークンの単価で除算することにより、監査トークンの数量を算出する。
【0082】
続いて、担保検証管理プログラム1200は、監査トークンのトークン移転要求を生成する(S1214)。当該トークン移転要求には、トークンID「Audit」、トークン数
量「S1213で算出した監査トークンの数量」、送信元「監査者のユーザID」、及び、送信先「第1担保検証要求に含まれるユーザID」が設定される。
【0083】
続いて、担保検証管理プログラム1200は、トークン管理プログラム1300を実行して、監査トークンを監査者から利用者に移転させる(S1215)。このとき、担保検証管理プログラム1200は、トークン管理プログラム1300に、S1214で生成したトークン移転要求を送信する。
【0084】
続いて、担保検証管理プログラム1200は、第1担保検証要求に基づいて、第2担保検証要求を生成する(S1216)。当該第2担保検証要求には、ユーザID「第1担保検証要求に含まれるユーザID」、トークンID「第1担保検証要求に含まれるトークンID」、トークン数量「第1担保検証要求に含まれるトークン数量」、担保ID「トークン種別レコードの担保ID」、担保比率「トークン種別レコードの担保比率」、担保管理方法「Individual」、及び単価「トークン種別レコードの単価」が設定される。
【0085】
続いて、担保検証管理プログラム1200は、S1216で生成した第2担保検証要求を、担保検証装置600に送信する(S1217)。
【0086】
その後、担保検証管理プログラム1200は、S1217で送信した第2担保検証要求の応答である担保検証結果を、担保検証装置600から受信する(S1218)。
【0087】
続いて、担保検証管理プログラム1200は、対象トークンのトークン移転要求を生成する(S1219)。当該トークン移転要求には、トークンID「第1担保検証要求に含まれるトークンID」、トークン数量「第1担保検証要求に含まれるトークン数量」、送信元「監査者のユーザID」、及び、送信先「第1担保検証要求に含まれるユーザID」が設定される。
【0088】
続いて、担保検証管理プログラム1200は、運用者装置300のトークン管理プログラム1300を呼び出して(実行して)、対象トークンを監査者から利用者に移転させる(S1220)。このとき、担保検証管理プログラム1200は、運用者装置300のトークン管理プログラム1300に、S1219で生成したトークン移転要求を送信する。
【0089】
続いて、担保検証管理プログラム1200は、監査トークンのトークン移転要求を生成する(S1221)。当該トークン移転要求には、トークンID「Audit」、トークン数
量「S1213で算出した監査トークンの数量」、送信元「第1担保検証要求に含まれる
ユーザID」、及び、送信先「監査者のユーザID」が設定される。
【0090】
続いて、担保検証管理プログラム1200は、トークン管理プログラム1300を実行して、監査トークンを利用者から監査者に移転させる(S1222)。このとき、担保検証管理プログラム1200は、トークン管理プログラム1300に、S1221で生成したトークン移転要求を送信する。その後、担保検証管理プログラム1200は、本個別担保検証要求処理を終了する。
【0091】
なお、上述した処理フローでは、担保検証管理プログラム1200は、S1212及びS1220において、運用者装置300のトークン管理プログラム1300を呼び出して、対象トークンを移転させているが、これに限らず、自身のトークン管理プログラム1300を実行することにより、対象トークンを移転させてもよい。
【0092】
<一括担保検証管理処理>
図18は、一括担保検証管理処理S1206の概要を説明する図である。担保管理方法が「All」である場合には、監査者装置400及び担保検証装置600は、運用者の通貨
口座(通貨口座テーブル900における運用者のユーザIDのレコード)を参照して、対象トークンの総発行量に対して必要な価格の担保が確保されているかを検証する。
【0093】
担保管理方法が「All」である場合には、監査者装置400は、第1担保検証要求に含
まれるトークンIDでトークン口座テーブル800を検索して、対象トークンの総発行量を集計する(S51)。一方、担保検証装置600は、運用者の通貨口座を参照して、対象トークンの総発行量に対して必要な価格(下限価格)の担保があるか否かを検証する(S52)。
【0094】
図19は、一括担保検証管理処理S1206の詳細を説明する処理フロー図である。まず、担保検証管理プログラム1200は、第1担保検証要求に含まれるトークンIDでトークン口座テーブル800を検索して、合致するレコードを全件取得する(S1231)。
【0095】
続いて、担保検証管理プログラム1200は、取得した全てのレコードからトークン数量803を抽出し、抽出したトークン数量を合計することにより、対象トークンIDの総発行量を集計する(S1232)。
【0096】
続いて、担保検証管理プログラム1200は、第1担保検証要求に基づいて、第2担保検証要求を生成する(S1233)。当該第2担保検証要求には、ユーザID「トークン種別レコードの運用者ID」、トークンID「第1担保検証要求に含まれるトークンID」、トークン数量「S1232で集計した総発行量」、担保ID「トークン種別レコードの担保ID」、担保比率「トークン種別レコードの担保比率」、担保管理方法「All」、
及び単価「トークン種別レコードの単価」が設定される。
【0097】
続いて、担保検証管理プログラム1200は、S1233で生成した第2担保検証要求を、担保検証装置600に送信する(S1234)。
【0098】
その後、担保検証管理プログラム1200は、S1234で送信した第2担保検証要求の応答である担保検証結果を、担保検証装置600から受信する(S1235)。その後、担保検証管理プログラム1200は、本一括担保検証要求処理を終了する。
【0099】
<トークン管理処理>
図20は、トークン管理処理S1300の詳細を説明する処理フロー図である。本図に
示すトークン管理処理S1300は、上述した担保検証管理処理S1200のS1212,S1215,S1220,S1222において、トークンを移転する際に、トークン管理プログラム1300が実行する処理である。
【0100】
まず、トークン管理プログラム1300は、担保検証管理プログラム1200からトークン移転要求を受信する(S1301)。
【0101】
続いて、トークン管理プログラム1300は、S1301で受信したトークン移転要求から、「トークンID」、「トークン数量」、「送信元」、及び「送信先」を抽出する(S1302)。
【0102】
続いて、トークン管理プログラム1300は、S1302で抽出したトークンIDでトークン種別テーブル700を検索して、該当するレコードを取得する(S1303)。
【0103】
続いて、トークン管理プログラム1300は、S1303で取得したレコードから、運用者ID702、担保ID703、及び担保比率704を抽出する(S1304)。
【0104】
続いて、トークン管理プログラム1300は、トークン口座テーブル800を検索して、ユーザIDが「トークン移転要求の送信元のユーザID」であり、かつ、トークンIDが「トークン移転要求のトークンID」であるレコード(以下、「送信元トークン口座レコード」)とする。)を取得する(S1305)。
【0105】
続いて、トークン管理プログラム1300は、S1305で取得した送信元トークン口座レコードのトークン数量から、移転するトークン数量を減算する(S1306)。
【0106】
続いて、トークン管理プログラム1300は、トークン口座テーブル800を検索して、ユーザIDが「トークン移転要求の送信先のユーザID」であり、かつ、トークンIDが「トークン移転要求のトークンID」であるレコード(以下、「送信先トークン口座レコード」)とする。)を取得する(S1307)。
【0107】
続いて、トークン管理プログラム1300は、S1307で取得した送信先トークン口座レコードのトークン数量に、移転するトークン数量を加算する(S1308)。
【0108】
続いて、トークン管理プログラム1300は、移転したトークンの裏付け担保であるデジタル通貨の移転を要求する通貨移転要求を生成する(S1309)。当該通貨移転要求には、通貨ID「担保ID」、金額「トークン数量に相当する現在価格」、送信元「送信元のユーザID」、及び、送信先「送信先のユーザID」が設定される。
【0109】
続いて、トークン管理プログラム1300は、発行体装置500の通貨管理プログラム1400を呼び出して(実行して)、トークンの裏付け担保になるデジタル通貨を送信元から送信先に移転する(S1310)。このとき、トークン管理プログラム1300は、発行体装置500の通貨管理プログラム1400に、S1309で生成した通貨移転要求を送信する。
【0110】
続いて、トークン管理プログラム1300は、トークンを移転させた結果であるトークン取引結果を、トークン移転要求の送信元に送信する(S1311)。トークン取引結果には、例えば、トークンの移転に成功したか失敗したかを示す情報等が含まれる。その後、トークン管理プログラム1300は、本トークン管理処理S1300を終了する。
【0111】
<通貨管理処理>
図21は、通貨管理処理S1400の詳細を説明する処理フロー図である。本図に示す通貨管理処理S1400は、上述したトークン管理処理S1300のS1310において、デジタル通貨を移転する際に、発行体装置500の通貨管理プログラム1400が実行する処理である。
【0112】
まず、通貨管理プログラム1400は、トークン管理プログラム1300から通貨移転要求を受信する(S1401)。
【0113】
続いて、通貨管理プログラム1400は、S1401で受信した通貨移転要求から「通貨ID」、「金額」、「送信元」、及び「送信先」を抽出する(S1402)。
【0114】
続いて、通貨管理プログラム1400は、通貨口座テーブル900を検索して、ユーザIDが「通貨移転要求の送信元のユーザID」であり、かつ、通貨ID「通貨移転要求の通貨ID」であるレコード(以下、「送信元通貨口座レコードとする。」を取得する(S1403)。
【0115】
続いて、通貨管理プログラム1400は、S1403で取得した送信元通貨口座レコードの残高から、移転する金額を減算する(S1404)。移転する金額は、S1402で通貨移転要求から抽出した金額である。
【0116】
続いて、通貨管理プログラム1400は、通貨口座テーブル900を検索して、ユーザIDが「通貨移転要求の送信先のユーザID」であり、かつ、通貨ID「通貨移転要求の通貨ID」であるレコード(以下、「送信先通貨口座レコードとする。」を取得する(S1405)。
【0117】
続いて、通貨管理プログラム1400は、S1405で取得した送信先の通貨口座レコードの残高に、移転する金額を加算する(S1406)。
【0118】
続いて、通貨管理プログラム1400は、デジタル通貨を移転させた結果である通貨取引結果を、通貨移転要求の送信元に送信する(S1407)。通貨取引結果には、例えば、デジタル通貨の移転に成功したか失敗したかを示す情報等が含まれる。その後、通貨管理プログラム1400は、本通貨管理処理S1400を終了する。
【0119】
<担保検証処理>
図22は、担保検証処理S1500の詳細を説明する処理フロー図である。本図に示す担保検証処理S1500は、担保検証装置600の担保検証処理プログラム1500が、上述した担保検証シーケンスにおいて、S102で第2担保検証要求を受信してから、S103で担保検証結果を送信するまでの間に、実行する処理(S112)である。
【0120】
まず、担保検証処理プログラム1500は、監査者装置400の担保検証管理プログラム1200から第2担保検証要求を受信する(S1501)。
【0121】
続いて、担保検証処理プログラム1500は、S1501で受信した第2担保検証要求から、「ユーザID」、「トークンID」、「トークン数量」、「担保ID」、「担保比率」、「担保管理方法」、及び「単価」を抽出する(S1502)。
【0122】
続いて、担保検証処理プログラム1500は、S1502で抽出したトークン数量の現在価格に、抽出した担保比率を乗算して、担保の下限価格を算出する(S1503)。このとき、担保検証処理プログラム1500は、トークン数量に単価を乗算して、トークン数量の現在価格を算出する。
【0123】
続いて、担保検証処理プログラム1500は、抽出した担保管理方法が「Individual」であるか「All」であるかを判定する(S1504)。
【0124】
担保検証処理プログラム1500は、担保管理方法が「Individual」である場合には、通貨口座テーブル900を検索して、利用者から監査者に移転された担保を管理する通貨口座のレコードを取得する(S1205)。このとき通貨口座テーブル900を検索する条件は、ユーザID「監査者のユーザID」、通貨ID「S1502で抽出した担保ID」、かつ、属性タグ「S1502で抽出したトークンID」である。
【0125】
一方、担保検証処理プログラム1500は、担保管理方法が「All」である場合には、
通貨口座テーブルを検索して、運用者の担保を管理する通貨口座のレコードを取得する(S1506)。このとき通貨口座テーブル900を検索する条件は、ユーザID「運用者のユーザID」、通貨ID「S1502で抽出した担保ID」、かつ、属性タグ「S1502で抽出したトークンID」である。
【0126】
その後、担保検証処理プログラム1500は、S1505又はS1506で取得したレコードから「残高」を抽出する(S1507)。
【0127】
続いて、担保検証処理プログラム1500は、S1507で抽出した残高が、S1503で算出した担保の下限価格より大きいか否かを判定する(S1508)。
【0128】
担保検証処理プログラム1500は、残高が担保の下限価格より大きい場合(S1508:Yes)、担保検証結果を「成功」に設定する(S1509)。
【0129】
一方、担保検証処理プログラム1500は、残高が担保の下限価格以下である場合(S1508:No)、担保検証結果を「失敗」に設定する(S1510)。
【0130】
その後、担保検証処理プログラム1500は、第2担保検証要求の送信元の監査者装置400の担保検証管理プログラム1200に、担保検証結果を送信する(S1511)。その後、担保検証処理プログラム1500は、本担保検証処理S1500を終了する。
【0131】
なお、上述した処理フローでは、担保検証処理プログラム1500は、残高が担保の下限価格より大きい場合に、担保検証結果を「成功」に設定しているが、トークンの価値を検証する基準はこれに限られない。例えば、担保検証処理プログラム1500は、通貨口座の残高がトークンの現在価格以上である場合に、担保検証結果を「成功」に設定する等、他の基準によりトークンの価値を検証してもよい。
【0132】
また、上述した処理フローでは、担保検証処理プログラム1500は、担保検証結果に「成功」又は「失敗」を設定しているが、これに限らず、対象トークンの現在価格、又は、通貨口座の残高等、検証に関わる他の情報を担保検証結果に含めてもよい。
【0133】
また、上述した処理フローでは、担保検証処理プログラム1500は、トークン数量に単価を乗算して対象トークンの現在価格を算出しているが、これに限らず、対象トークンの現在価格を提供するウェブサイトなどから対象トークンの現在価格を取得してもよい。
【0134】
以上説明したように、本実施形態の管理システム1000(監査者装置400及び担保検証装置600)は、トークンの情報を記憶している装置(利用者装置200又は運用者装置300)から、当該トークンの価値の検証要求を受信し、検証要求に係るトークン(対象トークン)を裏付ける担保資産(裏付け担保)の情報を、トークンを裏付ける担保資
産を管理する発行体装置500から取得し、受信した検証要求及び取得した担保資産の情報に基づき、検証要求に係るトークンの価値を検証し、検証の結果を装置(利用者装置200又は運用者装置300)に送信する。
【0135】
すなわち、本実施形態の管理システム1000は、利用者装置200又は運用者装置300から受信したトークンの検証要求と、発行体装置500から取得した担保資産の情報とに基づいてトークンの価値を検証した結果を、利用者装置200又は運用者装置300に通知することができる。これにより、利用者装置200又は運用者装置300がトークンの裏付け担保を発行体装置500により直接参照できない状況であっても、利用者装置200又は運用者装置300は、監査者装置400及び担保検証装置600を介して、トークンの価値を検証することができる。よって、利用者又は運用者は、利用者装置200又は運用者装置300から監査者装置400にトークンの検証要求を送信することで、自身が保有するトークンの価値を容易に確認することができる。そして、トークンの価値を確認することができるため、利用者は、社会的信用力の低い組織が発行したトークンでも安心して利用できる。これにより、デジタル通貨の導入意義である金融包摂に繋げることができる。
【0136】
また、本実施形態の管理システム1000は、取得した担保資産の価格が、検証要求に係るトークンの現在価格に基づく下限価格よりも高い場合に、検証に成功したと判定する。
【0137】
このような構成により、対象トークンに対し、対象トークンの現在価格に基づく下限価格を上回る裏付け担保が存在する場合に、検証に成功する。これにより、対象トークンの価格変動に柔軟に対応することができる。よって、利用者は、対象トークンの現在価格に応じた裏付け担保が存在することを確認することができる。
【0138】
また、本実施形態の管理システム1000は、トークンの価格に対して確保すべき担保の割合である担保比率を、トークンの種別ごとに記憶するトークン種別テーブル700を参照して取得した、検証要求に係るトークンの担保比率、及び検証要求に係るトークンの現在価格に基づいて、下限価格を算出する。
【0139】
このような構成により、対象トークンに対し、対象トークンの担保比率に基づく下限価格を上回る裏付け担保が存在する場合に、検証に成功する。これにより、確保すべき担保資産の割合をトークンの特性に応じて柔軟に調整することができる。
【0140】
また、本実施形態の管理システム1000は、トークンの所有者の情報が付帯した検証要求を受信し、トークンの所有者ごとに担保資産の情報を記憶した通貨口座テーブル900を参照して取得した、検証要求に係るトークンの所有者の担保資産の情報に基づいて、検証要求に係るトークンの価値を検証する。
【0141】
このような構成により、トークンの所有者ごとに担保資産を管理する担保管理方法「Individual」では、トークンの所有者の通貨口座にある担保資産を参照して対象トークンの価値を検証する。これにより、トークンの所有者ごとに担保資産を管理する場合であっても、正確に対象トークンの価値を検証することができる。
【0142】
また、本実施形態の管理システム1000は、検証要求に係るトークンを所有者からから監査者へ移転させることにより、検証要求に係るトークンを裏付ける担保資産を所有者から監査者へ移転させ、監査者の担保資産の情報を参照することで、検証要求に係るトークンの価値を検証する。
【0143】
このような構成により、対象トークンの担保資産が監査者へ移転されるため、監査者の通貨口座を参照すれば、対象トークンを検証することができる。よって、検証の際に、対象トークンの所有者(利用者又は運用者)の通貨口座を参照する必要がないため、所有者のプライバシーを保ち、セキュリティを向上させることができる。
【0144】
また、本実施形態の管理システム1000は、検証要求に係るトークンを所有者から監査者へ移転させる際に、検証要求に係るトークンに対応する監査トークンを、監査者から所有者に移転する。
【0145】
このような構成により、対象トークンの移転の際に、対象トークンと等価の監査トークンが所有者(利用者又は運用者)に移転される。これにより、対象トークンを監査者へ移転させる際に、所有者に安心感を与えることができる。よって、対象トークンを移転することに対する、所有者の心理的な抵抗感を緩和させることができる。
【0146】
また、監査トークンは、用途が検証要求に係るトークンの検証の保証金の場合にのみ利用可能である。
【0147】
これにより、対象トークンの検証中に、所有者(利用者又は運用者)が監査トークンを他の用途に使用してしまうことを防ぐことができる。
【0148】
また、本実施形態の管理システム1000は、トークンの種別の情報が付帯した検証要求を受信し、トークンの種別ごとに運用者の情報を記憶したトークン種別テーブルを参照することで、検証要求に係るトークンの種別に対応する運用者を特定し、特定した運用者の担保資産の情報を参照することで、検証要求に係るトークンの価値を検証する。
【0149】
このような構成により、トークンの種別ごとに担保資産を管理する担保管理方法「All
」では、トークンの運用者の通貨口座にある担保資産を参照して対象トークンの価値を検証する。これにより、トークンの種別ごとに担保資産を管理する場合であっても、正確に対象トークンの価値を検証することができる。
【0150】
また、本実施形態の管理システム1000は、検証要求に係るトークンの総発行量の価格と、特定した運用者の担保資産の価格とに基づいて、検証要求に係るトークンの価値を検証する。
【0151】
このような構成により、対象トークンの総発行量の現在価格に相当する担保が、運用者の通貨口座に存在することを検証する。これにより、対象トークンが複数の利用者に購入され、対象トークンの所有者が複数いる状況においても、各利用者は、その総発行量に応じた担保が存在することを確認することができる。
【0152】
また、本実施形態の管理システム1000は、トークンの情報を記憶している装置とトークンネットワークN1により通信可能に接続され、受信部1201と、送信部1203とを備える監査者装置400と、発行体装置500と通貨ネットワークN2により通信可能に接続され、検証部1501を備える担保検証装置600と、を備える。
【0153】
このような構成により、トークンネットワークN1と通貨ネットワークN2とが分断されており、利用者装置200又は運用者装置300がトークンの裏付け担保を直接参照できない状況であっても、利用者装置200又は運用者装置300は、監査者装置400及び担保検証装置600を介して、トークンの価値を検証することができる。
【0154】
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、
任意の構成要素を用いて実施可能である。以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【0155】
例えば、本実施形態の各装置が備えるハードウェアの一部は、他の装置に設けてもよい。
【0156】
また、監査者装置400又は担保検証装置600の各プログラムは他の装置に設けてもよいし、あるプログラムを複数のプログラムからなるものとしてもよいし、複数のプログラムを一つのプログラムに統合してもよい。
【0157】
また、本実施形態では、監査者装置400及び担保検証装置600が別の装置である場合を例に説明したが、1つの装置が、監査者装置400及び担保検証装置600の両方の機能を備えていてもよい。
【0158】
また、本実施形態では、対象トークンの裏付け担保がデジタル通貨である場合を例に説明したが、対象トークンの裏付け担保は、デジタル通貨に限らず、現金通貨、銀行等の預金、又は証券等、他の資産であってもよい。
【0159】
また、本実施形態では、トークンネットワークN1及び通貨ネットワークN2が分散台帳ネットワークである場合を例に説明したが、これに限らず、所定のサーバ装置又はクラウドが集中管理するネットワークであってもよい。例えば、トークンネットワークN1を運用者装置300が集中管理する場合には、運用者装置300のみがトークン種別テーブル700及びトークン口座テーブル800を記憶する。この場合には、監査者装置400は、運用者装置300に問い合わせることで、トークン種別テーブル700又はトークン口座テーブル800を参照する。また、通貨ネットワークN2を発行体装置500が集中管理する場合には、発行体装置500のみが通貨口座テーブル900を記憶する。この場合には、担保検証装置600は、発行体装置500に問い合わせることで、通貨口座テーブル900を参照する。
【0160】
また、本実施形態では、利用者がトークンの価値を確認する場合を例に説明したが、これに限らず、運用者装置300から第1担保検証要求を送信して、運用者がトークンの価値を確認できるようにしてもよい。
【符号の説明】
【0161】
100 通貨管理システム、200 利用者装置、300 運用者装置 400 監査者装置、500 発行体装置、600 担保検証装置、700 トークン種別テーブル、800 トークン口座テーブル、900 通貨口座テーブル、1000 管理システム、1100 担保検証要求プログラム、1200 担保検証管理プログラム1200 トークン管理プログラム、1400 通貨管理プログラム、1500 担保検証処理プログラム
N1 トークンネットワーク、N2 通貨ネットワーク