(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-12
(45)【発行日】2023-12-20
(54)【発明の名称】制御方法、サーバ、および、プログラム
(51)【国際特許分類】
G06Q 20/38 20120101AFI20231213BHJP
【FI】
G06Q20/38 310
(21)【出願番号】P 2020571245
(86)(22)【出願日】2020-02-06
(86)【国際出願番号】 JP2020004453
(87)【国際公開番号】W WO2020162515
(87)【国際公開日】2020-08-13
【審査請求日】2022-11-22
(32)【優先日】2019-02-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】海上 勇二
(72)【発明者】
【氏名】道山 淳児
(72)【発明者】
【氏名】廣瀬 雄揮
(72)【発明者】
【氏名】渕上 哲司
(72)【発明者】
【氏名】大森 基司
【審査官】宮地 匡人
(56)【参考文献】
【文献】特表2018-515833(JP,A)
【文献】米国特許出願公開第2018/0189753(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数の分散台帳を利用してトークンの取り引きを管理する複数のサーバであって、それぞれが前記複数の分散台帳のうちの1以上の分散台帳を管理する複数のサーバのうちの一のサーバによって実行される制御方法であって、
第1ユーザにより操作された端末から、前記第1ユーザが取り引きを行う予定の日時を含む申し込み情報を受信し、
前記一のサーバが管理する第1分散台帳を参照し、受信した前記申し込み情報に含まれる前記予定の日時以前に前記第1分散台帳に記録されている前記第1ユーザによる取り引きに基づいて手数料を算出し、
算出した前記手数料を含む手数料情報を前記端末に送信し、
前記端末から前記予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータを受信し、受信した前記第1トランザクションデータを前記複数のサーバのうちの前記一のサーバとは異なる複数の他のサーバに転送し、かつ、前記第1トランザクションデータを含む第1ブロックを前記第1分散台帳に格納し、
前記端末から前記手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータを受信し、受信した前記第2トランザクションデータを前記複数の他のサーバに転送し、かつ、前記第2トランザクションデータを含む第2ブロックを前記第1分散台帳に格納する
制御方法。
【請求項2】
前記申し込み情報は、前記予定の日時を含む第3トランザクションデータであり、
前記複数の分散台帳のそれぞれは、前記第3トランザクションデータに基づいて前記手数料を算出するためのコントラクトコードを含み、
前記手数料の算出では、前記第3トランザクションデータを受信すると、前記第1分散台帳に含まれる前記コントラクトコードを実行することで前記手数料を算出する
請求項1に記載の制御方法。
【請求項3】
前記第1ブロックの前記第1分散台帳への格納では、前記複数の他のサーバと共にコンセンサスアルゴリズムを実行し、前記第1ブロックを前記第1分散台帳に格納し、
前記第2ブロックの前記第1分散台帳への格納では、前記複数の他のサーバと共にコンセンサスアルゴリズムを実行し、前記第2ブロックを前記第1分散台帳に格納する
請求項1または2に記載の制御方法。
【請求項4】
前記手数料の算出では、前記第1分散台帳における前記第1ユーザの前記トークンの残高が多いほど高い額の手数料を算出する
請求項1から3のいずれか1項に記載の制御方法。
【請求項5】
前記手数料の算出では、前記第1分散台帳における前記第1ユーザによる前回の取り引きタイミングからの経過時間が長いほど高い額の手数料を算出する
請求項1から4のいずれか1項に記載の制御方法。
【請求項6】
前記手数料の算出では、前記第1分散台帳における前記第1ユーザによる取り引きにおいて、現時点から所定時間前までの期間における取引量の単位時間当たりの平均が小さいほど高い額の手数料を算出する
請求項1から5のいずれか1項に記載の制御方法。
【請求項7】
前記手数料情報は、前記端末の表示部に前記手数料を表示させるための情報である
請求項1から6のいずれか1項に記載の制御方法。
【請求項8】
前記トークンは、複数種類のトークンを含み、
前記第1分散台帳は、異なる種類のトークン毎に異なる複数のサブ分散台帳を含み、
前記手数料の算出では、前記申し込み情報に含まれる前記予定の日時以前に前記複数のサブ分散台帳に記録されている前記第1ユーザによる取り引きに基づいて、異なる種類のトークン毎に手数料を複数算出し、
前記手数料の送信では、前記手数料情報として、算出した前記複数の手数料を含む情報を前記端末に送信する
請求項1から6のいずれか1項に記載の制御方法。
【請求項9】
前記手数料情報は、前記端末の表示部に、異なる種類のトークン毎に前記手数料を表示させるための情報である
請求項8に記載の制御方法。
【請求項10】
前記手数料情報は、前記第1ユーザに前記手数料情報に含まれる前記手数料に同意するか否かを問い合わせる問い合わせ情報を含む
請求項1から9のいずれか1項に記載の制御方法。
【請求項11】
複数の分散台帳を利用してトークンの取り引きを管理する複数のサーバであって、それぞれが前記複数の分散台帳のうちの1以上の分散台帳を管理する複数のサーバのうちの一のサーバであって、
前記複数の分散台帳のうちの第1分散台帳を管理する管理部と、
第1ユーザにより操作された端末から、前記第1ユーザにより取り引きを行う予定の日時を含む申し込み情報と、前記端末から前記予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータと、前記端末から手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータとを受信する受信部と、
前記管理部における前記第1分散台帳を参照し、受信された前記申し込み情報に含まれる前記予定の日時以前に前記第1分散台帳に記録されている前記第1ユーザによる取り引きに基づいて前記手数料を算出する算出部と、
前記端末に算出した前記手数料を含む手数料情報を送信する送信部と、を備え、
(i)前記受信部が前記第1トランザクションデータを受信すると、前記送信部は、受信された前記第1トランザクションデータを前記複数のサーバのうちの前記一のサーバとは異なる複数の他のサーバに転送し、かつ、前記管理部は、前記第1トランザクションデータを含む第1ブロックを前記第1分散台帳に記録し、
(ii)前記受信部が前記第2トランザクションデータを受信すると、前記送信部は、受信された前記第2トランザクションデータを前記複数の他のサーバに転送し、かつ、前記管理部は、前記第2トランザクションデータを含む第2ブロックを前記第1分散台帳に記録する
サーバ。
【請求項12】
請求項1から10のいずれか1項に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御方法、サーバ、および、プログラムに関する。
【背景技術】
【0002】
特許文献1には、仮想通貨において、仮想通貨を投資対象とさせずにユーザに仮想通貨の消費を促すために、仮想通貨の購入時からの時間の経過とともに、購入した仮想通貨が減価する仕組みについて開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、仮想通貨などのトークンの取引を管理する複数のサーバの処理が不安定になるおそれがある。
【0005】
そこで、本開示は、トークンの取引を管理する各サーバの処理を安定化することができる制御方法などを提供する。
【課題を解決するための手段】
【0006】
本発明の一態様に係る制御方法は、複数の分散台帳を利用してトークンの取り引きを管理する複数のサーバであって、それぞれが前記複数の分散台帳のうちの1以上の分散台帳を管理する複数のサーバのうちの一のサーバによって実行される制御方法であって、第1ユーザにより操作された端末から、前記第1ユーザが取り引きを行う予定の日時を含む申し込み情報を受信し、前記一のサーバが管理する第1分散台帳を参照し、受信した前記申し込み情報に含まれる前記予定の日時以前に前記第1分散台帳に記録されている前記第1ユーザによる取り引きに基づいて手数料を算出し、算出した前記手数料を含む手数料情報を前記端末に送信し、前記端末から前記予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータを受信し、受信した前記第1トランザクションデータを前記複数のサーバのうちの前記一のサーバとは異なる複数の他のサーバに転送し、かつ、前記第1トランザクションデータを含む第1ブロックを前記第1分散台帳に格納し、前記端末から前記手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータを受信し、受信した前記第2トランザクションデータを前記複数の他のサーバに転送し、かつ、前記第2トランザクションデータを含む第2ブロックを前記第1分散台帳に格納する。
【0007】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本開示の制御方法は、トークンの取引を管理する各サーバの処理を安定化することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施の形態における取引管理システムの構成を模式的に示すブロック図である。
【
図2】
図2は、本実施の形態におけるサーバの構成を模式的に示すブロック図である。
【
図3】
図3は、本実施の形態における手数料算出情報の一例を示す説明図である。
【
図4】
図4は、本実施の形態における申込トランザクションデータを模式的に示す説明図である。
【
図5】
図5は、本実施の形態における支払トランザクションデータを模式的に示す説明図である。
【
図6】
図6は、本実施の形態における手数料トランザクションデータを模式的に示す説明図である。
【
図7】
図7は、本実施の形態における取引管理システムの処理の一例を示すフロー図である。
【
図8】
図8は、端末の表示部が表示するUIの一例を示す図である。
【
図9】
図9は、端末の表示部が表示するUIを示す図である。
【
図10】
図10は、端末の表示部が表示するUIの一例を示す図である。
【
図11】
図11は、端末の表示部が表示するUIの一例を示す図である。
【
図12】
図12は、変形例3における取引管理システムの構成を模式的に示すブロック図である。
【
図13】
図13は、変形例3における取引管理システムの構成を模式的に示すブロック図である。
【
図14】
図14は、変形例4におけるサーバの処理を示すフロー図である。
【
図15】
図15は、実施の形態の変形例4におけるサーバの構成を模式的に示すブロック図である。
【
図16】
図16は、ブロックチェーンのデータ構造を示す説明図である。
【
図17】
図17は、トランザクションデータのデータ構造を示す説明図である。
【発明を実施するための形態】
【0010】
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、トークンの取り引きに関する技術に関し、以下の問題が生じることを見出した。
【0011】
特許文献1に記載の仕組みでは、時間の経過に応じた仮想通貨などのトークンの減価量が予め定められているため、取り引きの状況に応じて取り引きの制御が難しい。例えば、ある期間に多くの取り引きが集中した場合、トークンを管理している複数のサーバの処理負荷が増加して複数のサーバによる処理が不安定になるおそれがある。また、例えば、他の期間では取り引きが生じずに取り引きに関する処理が複数のサーバで行われないおそれがあり、この場合、複数のサーバは、取り引きが発生するのを待機することとなるため、取り引きに関する処理が行われていないのにもかかわらず電力を消費するおそれがある。
【0012】
そこで、本開示は、トークンの取り引きを管理する複数のサーバの処理が特定の期間に偏らないように取り引きが発生するタイミングを制御することで、複数のサーバの処理の安定化を図り、かつ、取り引きに関する処理が行われずに電力が消費されることを低減することができる制御方法などを提供する。
【0013】
このような問題を解決するために、本発明の一態様に係る制御方法は、複数の分散台帳を利用してトークンの取り引きを管理する複数のサーバであって、それぞれが前記複数の分散台帳のうちの1以上の分散台帳を管理する複数のサーバのうちの一のサーバによって実行される制御方法であって、第1ユーザにより操作された端末から、前記第1ユーザが取り引きを行う予定の日時を含む申し込み情報を受信し、前記一のサーバが管理する第1分散台帳を参照し、受信した前記申し込み情報に含まれる前記予定の日時以前に前記第1分散台帳に記録されている前記第1ユーザによる取り引きに基づいて手数料を算出し、算出した前記手数料を含む手数料情報を前記端末に送信し、前記端末から前記予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータを受信し、受信した前記第1トランザクションデータを前記複数のサーバのうちの前記一のサーバとは異なる複数の他のサーバに転送し、かつ、前記第1トランザクションデータを含む第1ブロックを前記第1分散台帳に格納し、前記端末から前記手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータを受信し、受信した前記第2トランザクションデータを前記複数の他のサーバに転送し、かつ、前記第2トランザクションデータを含む第2ブロックを前記第1分散台帳に格納する。
【0014】
これによれば、トークンの取り引きを管理する複数のサーバの処理が特定の期間に偏らないように取り引きが発生するタイミングを制御することができる。このため、複数のサーバの処理の安定化を図り、かつ、取り引きに関する処理が行われずに電力が消費されることを低減することができる。
【0015】
例えば、前記申し込み情報は、前記予定の日時を含む第3トランザクションデータであり、前記複数の分散台帳のそれぞれは、前記第3トランザクションデータに基づいて前記手数料を算出するためのコントラクトコードを含み、前記手数料の算出では、前記第3トランザクションデータを受信すると、前記第1分散台帳に含まれる前記コントラクトコードを実行することで前記手数料を算出してもよい。
【0016】
これによれば、手数料の算出を、他の人または他のシステムを介在することなく、早期かつ安全に実行することができる。よって、本開示に係る制御方法は、トークンの取り引きを管理する複数のサーバの消費電力を削減することができる。
【0017】
例えば、前記第1ブロックの前記第1分散台帳への格納では、前記複数の他のサーバと共にコンセンサスアルゴリズムを実行し、前記第1ブロックを前記第1分散台帳に格納し、前記第2ブロックの前記第1分散台帳への格納では、前記複数の他のサーバと共にコンセンサスアルゴリズムを実行し、前記第2ブロックを前記第1分散台帳に格納してもよい。
【0018】
これによれば、コンセンサスアルゴリズムの実行を経て分散台帳を格納する。よって、本開示に係る制御方法は、コンセンサスアルゴリズムの実行を経ることによって、より容易に、トークンの取り引きを適切に管理することができる。
【0019】
例えば、前記手数料の算出では、前記第1分散台帳における前記第1ユーザの前記トークンの残高が多いほど高い額の手数料を算出してもよい。
【0020】
このため、第1ユーザにトークンを早く使用するように促すことができる。よって、取り引きが発生するタイミングを制御することができる。
【0021】
例えば、前記手数料の算出では、前記第1分散台帳における前記第1ユーザによる前回の取り引きタイミングからの経過時間が長いほど高い額の手数料を算出してもよい。
【0022】
このため、第1ユーザにトークンを早く使用するように促すことができる。よって、取り引きが発生するタイミングを制御することができる。
【0023】
例えば、前記手数料の算出では、前記第1分散台帳における前記第1ユーザによる取り引きにおいて、現時点から所定時間前までの期間における取引量の単位時間当たりの平均が小さいほど高い額の手数料を算出してもよい。
【0024】
このため、第1ユーザにトークンを早く使用するように促すことができる。よって、取り引きが発生するタイミングを制御することができる。
【0025】
例えば、前記手数料情報は、前記端末の表示部に前記手数料を表示させるための情報であってもよい。
【0026】
このため、手数料を端末の表示部に表示させることで、第1ユーザにトークンを早く使用するように促すことができる。よって、取り引きが発生するタイミングを制御することができる。
【0027】
例えば、前記トークンは、複数種類のトークンを含み、前記第1分散台帳は、異なる種類のトークン毎に異なる複数のサブ分散台帳を含み、前記手数料の算出では、前記申し込み情報に含まれる前記予定の日時以前に前記複数のサブ分散台帳に記録されている前記第1ユーザによる取り引きに基づいて、異なる種類のトークン毎に手数料を複数算出し、前記手数料の送信では、前記手数料情報として、算出した前記複数の手数料を含む情報を前記端末に送信してもよい。
【0028】
これによれば、複数種類のトークン毎に手数料を算出するため、トークンの種類毎に取引量の調整を行うことができる。
【0029】
例えば、前記手数料情報は、前記端末の表示部に、異なる種類のトークン毎に前記手数料を表示させるための情報であってもよい。
【0030】
このため、トークンの種類毎に手数料を端末の表示部に表示させることで、第1ユーザに種類毎にトークンを早く使用するように促すことができる。よって、トークンの種類毎に取り引きが発生するタイミングを制御することができる。
【0031】
例えば、前記手数料情報は、前記第1ユーザに前記手数料情報に含まれる前記手数料に同意するか否かを問い合わせる問い合わせ情報を含んでもよい。
【0032】
これによれば、端末を介して、手数料に同意するか否かを第1ユーザに問い合わせることができるため、第1ユーザがトークンを使用するタイミングを調整することができる。例えば、手数料の額を大きくするほどトークンを使用するタイミングを早めることができる。よって、取り引きが発生するタイミングを制御することができる。
【0033】
また、本発明の一態様にかかるサーバは、複数の分散台帳を利用してトークンの取り引きを管理する複数のサーバであって、それぞれが前記複数の分散台帳のうちの1以上の分散台帳を管理する複数のサーバのうちの一のサーバであって、前記複数の分散台帳のうちの第1分散台帳を管理する管理部と、第1ユーザにより操作された端末から、前記第1ユーザにより取り引きを行う予定の日時を含む申し込み情報と、前記端末から前記予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータと、前記端末から手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータとを受信する受信部と、前記管理部における前記第1分散台帳を参照し、受信された前記申し込み情報に含まれる前記予定の日時以前に前記第1分散台帳に記録されている前記第1ユーザによる取り引きに基づいて前記手数料を算出する算出部と、前記端末に算出した前記手数料を含む手数料情報を送信する送信部と、を備え、(i)前記受信部が前記第1トランザクションデータを受信すると、前記送信部は、受信された前記第1トランザクションデータを前記複数のサーバのうちの前記一のサーバとは異なる複数の他のサーバに転送し、かつ、前記管理部は、前記第1トランザクションデータを含む第1ブロックを前記第1分散台帳に記録し、(ii)前記受信部が前記第2トランザクションデータを受信すると、前記送信部は、受信された前記第2トランザクションデータを前記複数の他のサーバに転送し、かつ、前記管理部は、前記第2トランザクションデータを含む第2ブロックを前記第1分散台帳に記録する。
【0034】
これによれば、トークンの取り引きを管理する複数のサーバの処理が特定の期間に偏らないように取り引きが発生するタイミングを制御することができる。このため、複数のサーバの処理の安定化を図り、かつ、取り引きに関する処理が行われずに電力が消費されることを低減することができる。
【0035】
また、本発明の一態様に係るプログラムは、上記の制御方法をコンピュータに実行させるためのプログラムである。
【0036】
上記態様により、上記制御方法と同様の効果を奏する。
【0037】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0038】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0039】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0040】
(実施の形態)
本実施の形態において、トークンの取引管理システムの複数のサーバの処理の安定化、および、無駄な電力消費の低減を図ることができる取引管理システムおよびその制御方法などについて説明する。
【0041】
図1は、本実施の形態における取引管理システム1の構成を模式的に示すブロック図である。
【0042】
図1に示されるように、取引管理システム1は、サーバ10A、10B及び10Cと、端末40、41および42とを備える。取引管理システム1が備える各装置は、ネットワークNによって互いに通信可能に接続されている。ネットワークNは、どのような通信回線又はネットワークから構成されてもよく、例えば、インターネット、携帯電話のキャリアネットワークなどを含む。サーバ10A、10B及び10Cを「サーバ10A等」ともいう。
【0043】
複数のサーバ10A、10B及び10Cは、複数の分散台帳を利用してトークンの取引を管理する。サーバ10Aは、複数のサーバ10A、10B及び10Cのうちの1つである。サーバ10Aは、分散台帳を保有している複数のサーバ10A、10B及び10Cのうちの1つである。サーバ10Aが保有している分散台帳には、取り引き通貨の取り引きにおける手続または処理(申込、支払い、手数料の支払いなど)に関する各種トランザクションデータが格納される。サーバ10Aは、上記トランザクションデータを受信することで、トークンの取り引きにおける手続または処理を受け付ける。なお、トークンは、例えば、トークンである。トークンは、分散台帳により管理されている価値情報であり、金銭、ポイント(ロイヤリティ)、商品券またはクーポン等に相当し、又は、交換可能である。
【0044】
サーバ10B及び10Cは、それぞれ、サーバ10Aと同じ機能を有する装置であり、サーバ10Aとは独立に動作する。なお、サーバの台数は、3に限られず、複数であればよい。また、サーバ10A等同士は、通信可能に接続されており、ネットワークNを介して接続されていてもよい。
【0045】
ここでは例として、サーバ10A等のうち、サーバ10Aが端末40等からトランザクションデータを受信したり、端末40等に通知を送信したりする場合を説明するが、他のサーバ(サーバ10Bまたは10C)が上記の処理を行ってもよい。
【0046】
端末40は、支払者U1が保有する端末装置である。端末40は、サーバ10A等に対してトークンの取り引きの申し込み、トークンの取り引き、および、手数料の支払いを行うための端末である。端末40は、例えば、トークンの取り引きの予定日時を示す入力、および、取り引き予定額を示す入力を支払者U1から受け付ける。端末40は、受け付けた入力に基づいて、取り引きの申込のためのトランザクションデータ(申込トランザクションデータ、第3トランザクションデータともいう)を生成し、生成した申込トランザクションデータをサーバ10A等に送信する。端末40は、具体的には、取り引き予定日時、および、取り引き予定額を含むトランザクションデータを、申込トランザクションデータとして生成する。なお、申込トランザクションデータは、取り引き予定を示す情報を含んでいればよく、取り引き予定日時および取り引き予定額を含んでいなくてもよい。
【0047】
また、端末40は、サーバ10A等から受信した手数料情報を受信し、受信した手数料情報を表示してもよい。つまり、手数料情報は、端末40の表示部60(
図8参照)に手数料を表示させるための情報である。また、端末40は、受信した手数料情報に基づいて手数料を取り引きの手続きを管理する業者Xに支払うためのトランザクションデータ(手数料トランザクションデータ、第2トランザクションデータともいう)を生成し、生成したトランザクションデータをサーバ10A等に送信する。端末40は、具体的には、手数料情報に含まれる手数料の額を含むトランザクションデータを、手数料トランザクションデータとして生成する。
【0048】
また、端末40は、申し込みのための入力に基づいて支払い取り引きのためのトランザクションデータ(支払トランザクションデータ、第1トランザクションデータともいう)を生成し、生成した支払トランザクションデータをサーバ10A等に送信する。端末40は、具体的には、取り引き予定日時と同じ取り引き日時、および、取り引き予定額と同じ額の取り引き額を含むトランザクションデータを、支払トランザクションデータとして生成する。手数料情報は、端末40のユーザである支払者U1に手数料情報に含まれる手数料に同意するか否かを問い合わせる問い合わせ情報を含んでいてもよい。つまり、端末40は、手数料情報に含まれる手数料の額に同意するか否かを支払者U1に問い合わせるUI(User Interface)を提示してもよい。端末40は、提示したUIに対して同意を示す入力を受け付けたか否かを判定し、同意を示す入力を受け付けた場合に、手数料トランザクションデータを生成し、同意を示す入力を受け付けなかった場合に、手数料トランザクションデータを生成しなくてもよい。
【0049】
端末40は、例えばパーソナルコンピュータ、スマートフォン、タブレットなどである。
【0050】
端末41は、支払者U1による取り引きによる支払いが行われる先である支払先U2のユーザが保有する端末装置である。端末41は、取り引きによる支払いが行われたことを示す通知をサーバ10A等から受信する。端末41は、通知を受信すると、支払トランザクションデータに含まれる支払額の支払いが支払者U1によって取り引き日時に行われたことを示す情報を表示してもよい。
【0051】
端末41は、例えばパーソナルコンピュータ、スマートフォン、タブレットなどである。
【0052】
端末42は、業者Xが保有する端末装置である。端末42は、支払者U1による手数料の支払いが行われたことを示す通知をサーバ10A等から受信する。端末42は、通知を受信すると、手数料トランザクションデータに含まれる手数料の額の支払いが支払者U1によって取り引き日時に行われたことを示す情報を表示してもよい。
【0053】
端末42は、例えばパーソナルコンピュータ、スマートフォン、タブレットなどである。
【0054】
端末40は、さらに、端末41の機能を有していてもよいし、端末42の機能を有していてもよい。同様に、端末41は、端末40の機能を有していてもよいし、端末42の機能を有していてもよい。同様に、端末42は、端末40の機能を有していてもよいし、端末41の機能を有していてもよい。各端末40~42は、他の端末とは独立に動作する。
【0055】
以降において、取引管理システム1が備えるサーバ10A等の構成について詳細に説明する。
【0056】
図2は、本実施の形態におけるサーバ10Aの構成を模式的に示すブロック図である。
【0057】
図2に示されるように、サーバ10Aは、処理部11と、台帳管理部12と、制御部13とを備える。サーバ10Aが備える上記機能部は、例えばCPU(Central Processing Unit)がメモリを用いてプログラムを実行することで実現され得る。
【0058】
処理部11は、分散台帳によって各種情報の管理を行う処理部である。処理部11は、取引管理システム1内の装置からトランザクションデータを受信した場合、又は、制御部13が生成したトランザクションデータを取得した場合に、受信又は取得したトランザクションデータを台帳管理部12に提供することで分散台帳に格納する。トランザクションデータには、申込トランザクションデータ、支払トランザクションデータおよび手数料トランザクションデータが含まれる。各トランザクションデータの詳細は後述する。
【0059】
台帳管理部12は、分散台帳を管理している処理部である。具体的には、台帳管理部12は、トランザクションデータを受信した場合、受信したトランザクションデータを他の複数のサーバに転送し、かつ、受信したトランザクションデータを分散台帳に格納する。例えば、台帳管理部12は、端末40から支払トランザクションデータを受信し、受信した支払トランザクションデータを複数のサーバ10A、10B及び10Cのうちのサーバ10Aとは異なる複数の他のサーバ10B及び10Cに転送し、かつ、支払トランザクションデータを含む第1ブロックを台帳記憶部16に記憶されている分散台帳に格納する。また、台帳管理部12は、端末40から手数料トランザクションデータを受信し、受信した手数料トランザクションデータを複数の他のサーバ10B及び10Cに転送し、かつ、第2トランザクションデータを含む第2ブロックを台帳記憶部16に記憶されている分散台帳に格納する。
【0060】
このように、台帳管理部12は、処理部11から提供されたトランザクションデータを分散台帳に格納する。分散台帳には、過去から現在までのトランザクションデータが格納される。分散台帳では、分散台帳に記録された情報の改ざんが困難であるという特性に基づいて、上記トランザクションデータが改ざんされないように管理されている。
【0061】
台帳管理部12は、格納部15と、台帳記憶部16とを有する。
【0062】
格納部15は、分散台帳に格納すべき新しいトランザクションデータを台帳記憶部16に格納する処理部である。格納部15は、分散台帳の種別に応じた方式で新しいトランザクションデータを台帳記憶部16に格納する。また、格納部15は、サーバ10A等のうちの他のサーバの格納部15との間で通信データを送受信し、他のサーバの台帳記憶部16にも上記新しいトランザクションデータを格納させる。例えば、格納部15は、分散台帳がブロックチェーンである場合には、新しいトランザクションデータを含むブロックを生成し、生成したブロックをサーバ10A等の間で同期をとった上で、上記ブロックを台帳記憶部16に格納する。格納部15は、例えば、第1ブロックの分散台帳への格納では、複数の他のサーバ10B及び10Cと共にコンセンサスアルゴリズムを実行し、第1ブロックを分散台帳に格納する。また、格納部15は、例えば、第2ブロックの分散台帳への格納では、複数の他のサーバ10B及び10Cと共にコンセンサスアルゴリズムを実行し、第2ブロックを分散台帳に格納する。
【0063】
台帳記憶部16は、分散台帳を記憶している記憶装置である。台帳記憶部16に格納されている分散台帳は、1以上のトランザクションデータを記憶しており、ハッシュ値などの特性を用いて改ざんが困難であるように管理されている。この詳細は、後述する。
【0064】
また、台帳記憶部16に格納されている分散台帳には、支払者による支払いの手続きを行うための手数料を算出に用いられる手数料算出情報が予め格納されている。また、分散台帳には、申込トランザクションデータに基づいて手数料を算出するためのスマートコントラクトのコードが含まれている。手数料の算出については、後述する。
【0065】
なお、分散台帳は、例えばブロックチェーンであり、この場合を例として説明するが、他の方式の分散台帳(例えば、IOTA又はハッシュグラフ等)を採用することも可能である。なお、分散台帳は、新しいデータの格納の際にコンセンサスアルゴリズム(例えば、PBFT(Practical Byzantine Fault Tolerance)、PoW(Proof of Work)又はPoS(Proof of Stake))を実行するものであってもよいし、実行しないものであってもよい。コンセンサスアルゴリズムを実行しない分散台帳技術の一例としてHyperledger fabricがある。
【0066】
制御部13は、トークンの提供に係る処理を制御する処理部である。制御部13は、申込トランザクションデータを端末40から受信することにより、支払者がトークンの取り引きを行う予定の日時を含む情報を端末40から受信する。また、制御部13は、台帳記憶部16に格納されている分散台帳を参照し、申込トランザクションデータに含まれる取り引き予定の日時以前に分散台帳に記録されている支払者U1による取り引きに基づいて、支払者U1の取り引き予定の取り引きにかかる手数料の額を算出する。制御部13は、算出した手数料の額を含む手数料情報を端末40に送信する。
【0067】
制御部13は、例えば、取り引き予定日時における、分散台帳における支払者のトークンの残高が多いほど高い額の手数料を算出する。また、制御部13は、例えば、分散台帳における支払者による前回の取り引きタイミングからの経過時間が長いほど高い額の手数料を算出する。経過時間は、例えば、前回の取り引きタイミングから申込トランザクションデータを受信したタイミングまでの時間である。また、制御部13は、例えば、分散台帳における支払者による取り引きにおいて、申込トランザクションデータを受信したタイミングから所定時間前までの期間における取引量の単位時間当たりの平均が小さいほど高い額の手数料を算出する。なお、期間における取引量とは、例えば、支払者の当該期間における支払額の合計である。支払いとは送金、出金、振り込みなどであってもよい。
【0068】
なお、制御部13の上記の処理の一部または全部は、台帳記憶部16に記憶されたコントラクトコードを実行することで実現されるスマートコントラクトによりなされる。制御部13は、申込トランザクションデータを端末40から受信すると、分散台帳に含まれるコントラクトコードを実行することで手数料を算出する。コントラクトコードは、スマートコントラクトを実現するために実行されるコードである。
【0069】
以降において、支払者に請求される、支払者による取り引きにかかる手数料について説明する。
【0070】
支払者に請求される手数料は、手数料算出情報に基づいて、支払者による取り引きの申し込みのタイミングに基づいて決定される。具体的には、手数料は、(i)申し込みのタイミングにおける、分散台帳における支払者のトークンの残高、(ii)分散台帳における支払者による前回の取り引きタイミングからの経過時間、および、(iii)分散台帳における支払者による取り引きにおいて、申込トランザクションデータを受信したタイミングから所定時間前までの期間における取引量の単位時間当たりの平均の少なくとも1つに基づいて決定される。手数料算出情報は、例えば、手数料を規定する関数またはテーブルである。
【0071】
図3は、本実施の形態における手数料算出情報の一例を示す説明図である。
図3に示される手数料算出情報は、手数料額を関数によって規定する手数料算出情報の例である。
【0072】
図3において、横軸は、支払者のトークンの残高xを示しており、縦軸は、各残高xにおける手数料額F(x)を示している。
【0073】
関数F(x)は、原則として、xの増加に対して増加する傾向を有する。言い換えれば、手数料額は、残高が多くなるにつれて増加する傾向を有する。より具体的には、関数F(x)は、xに対して単調増加の関数である。ただし、関数F(x)は、xの変化に対して値を維持する区間を含んでもよい。
【0074】
制御部13は、
図3に示される手数料算出情報である関数F(x)を用いて以下のように手数料額を算出することで決定する。
【0075】
以降において、処理部11が分散台帳に格納する各種トランザクションデータである、(1)申込トランザクションデータ、(2)支払トランザクションデータ、および(3)手数料トランザクションデータについて説明する。
【0076】
(1)申込トランザクションデータ
図4は、本実施の形態における申込トランザクションデータを模式的に示す説明図である。申込トランザクションデータは、支払者U1が取り引きを行う際に、支払者U1が保有する端末40によって生成され、サーバ10A等に送信される。
【0077】
図4に示されるように、申込トランザクションデータは、支払者IDと、支払先IDと、支払い予定日時と、支払い予定額と、指示と、署名とを含む。
【0078】
支払者IDは、取り引き(支払い)予定における支払者を一意に特定するための識別子である。
【0079】
支払先IDは、取り引き(支払い)予定における支払先を一意に特定するための識別子である。
【0080】
支払い予定日時は、取り引き(支払い)が行われる予定のタイミングを示す情報である。支払い予定日時は、取り引きが行われる予定の日時が示されているが、取り引きが行われる予定の時刻が示されていなくてもよく、日時のうちの日のみが示されていてもよい。
【0081】
支払い予定額は、取り引きで支払われる予定の額を示す情報である。額は、例えば、トークンの量である。
【0082】
指示は、取り引きにかかる手数料の算出処理をサーバ10Aに行わせることを指示するための情報である。なお、申込トランザクションデータは、指示の代わりに、当該トランザクションデータが、取り引きが行われる予定を示す情報が含まれる申込トランザクションデータであることを示す情報を含んでいてもよい。この場合、サーバ10A等は、申込トランザクションデータを受信した場合、申込トランザクションデータであることを示す情報が受信したトランザクションデータに含まれていることを検出すると、手数料の算出を行ってもよい。
【0083】
署名は、当該申込トランザクションデータを生成した装置又は人が付した電子署名である。
【0084】
図4に示される申込トランザクションデータは、支払者IDが「aaa001」である支払者が、支払先IDが「bbb01」である支払先に支払う予定を示す申込トランザクションデータである。この取り引きの予定において、支払い予定額は「5」トークンであり、支払い予定日時は「2018.10.10 15:00」である。署名は、支払者の電子署名である。
【0085】
(2)支払トランザクションデータ
図5は、本実施の形態における支払トランザクションデータを模式的に示す説明図である。支払トランザクションデータは、支払者U1が取り引きを行う際に、支払者U1が保有する端末40によって生成され、サーバ10A等に送信される。
【0086】
図5に示されるように、支払トランザクションデータは、支払者IDと、支払先IDと、支払い日時と、支払い額と、署名とを含む。
【0087】
支払者IDは、取り引き(支払い)における支払者を一意に特定するための識別子である。
【0088】
支払先IDは、取り引き(支払い)における支払先を一意に特定するための識別子である。
【0089】
支払い日時は、取り引き(支払い)が行われるタイミングを示す情報である。支払い日時は、取り引きが行われる日時が示されているが、取り引きが行われる時刻が示されていなくてもよく、日時のうちの日のみが示されていてもよい。
【0090】
支払い額は、取り引きで支払われる額を示す情報である。額は、例えば、トークンの量である。
【0091】
署名は、当該支払トランザクションデータを生成した装置又は人が付した電子署名である。
【0092】
図5に示される支払トランザクションデータは、支払者IDが「aaa001」である支払者が、支払先IDが「bbb01」である支払先に支払う取り引きの支払トランザクションデータである。この取り引きにおいて、支払い額は「5」トークンであり、支払い日時は「2018.10.10 15:00」である。署名は、支払者の電子署名である。
【0093】
(3)手数料トランザクションデータ
図6は、本実施の形態における手数料トランザクションデータを模式的に示す説明図である。手数料トランザクションデータは、支払者U1が取り引き行う際に、支払者U1が保有する端末40によって生成され、サーバ10A等に送信される。
【0094】
図6に示されるように、手数料トランザクションデータは、支払者IDと、支払先IDと、支払い日時と、手数料額と、署名とを含む。
【0095】
支払者IDは、取り引きにかかる手数料の支払いにおける支払者を一意に特定するための識別子である。
【0096】
支払先IDは、取り引きにかかる手数料の支払先を一意に特定するための識別子である。
【0097】
支払い日時は、取り引きにかかる手数料の支払いが行われるタイミングを示す情報である。支払い日時は、手数料の支払いが行われる日時が示されているが、手数料の支払いが行われる時刻が示されていなくてもよく、日時のうちの日のみが示されていてもよい。
【0098】
手数料額は、取り引きにかかる手数料の額を示す情報である。額は、例えば、トークンの量である。
【0099】
署名は、当該申込トランザクションデータを生成した装置又は人が付した電子署名である。
【0100】
図6に示される申込トランザクションデータは、支払者IDが「aaa001」である支払者が、支払先IDが「fljad4019」である支払先に手数料を支払うこと示す手数料トランザクションデータである。この手数料の支払いにおいて、支払い額は「1」トークンであり、支払い予定日時は「2018.10.10 15:00」である。署名は、支払者の電子署名である。
【0101】
以降において、取引管理システム1の処理について、具体例を説明する。
【0102】
図7は、本実施の形態における取引管理システム1の処理の一例を示すフロー図である。
【0103】
支払者U1の端末40は、支払者U1から取り引き予定の日時を示す入力、および、取り引き予定の額を示す入力を受け付けて(S101)。
【0104】
端末40は、受け付けた入力に基づいて、取り引き予定の日時、および、取り引き予定の額を含む申込トランザクションデータを生成する(S102)。
【0105】
端末40は、生成した申込トランザクションデータをサーバ10A等に送信する(S103)。このとき、端末40は、生成した申込トランザクションデータをサーバ10A等のうちの1つのサーバに送信してもよいし、複数のサーバに送信してもよい。
【0106】
サーバ10A等は、端末40により送信された申込トランザクションデータを受信し、分散台帳に格納する(S104)。
【0107】
サーバ10A等は、申込トランザクションデータの送信元である端末40に係る支払者U1による支払いの手続きを行うために要する手数料の額を算出する(S105)。
【0108】
サーバ10A等は、算出した手数料の額を含む手数料情報を支払者U1が保有する端末40に送信する(S106)。この時、サーバ10A等に含まれる複数のサーバの全てが手数料情報を端末40に送信しなくてもよい。例えば、手数料の額を算出し終えたサーバは、手数料情報を端末40に送信すると共に、手数料の額を算出し終えたことを示す完了情報を他のサーバに送信してもよい。他のサーバは、完了情報を受信したときに手数料情報を端末40へ送信していない場合、手数料情報を端末40に送信しなくてもよい。
【0109】
端末40は、サーバ10A等から送信された手数料情報を受信すると、手数料情報に含まれる手数料の額を端末40に表示させる(S107)。このとき、端末40は、手数料情報に含まれる手数料の額に同意するか否かを支払者U1に問い合わせるUI(User Interface)を提示してもよい。
【0110】
図8は、端末40の表示部60が表示するUI50の一例を示す図である。
【0111】
UI50は、手数料の額51と、手数料の支払いに同意することを示す入力を受け付けるための同意ボタン52と、手数料の支払いに同意しないこと(不同意)を示す入力を受け付けるための不同意ボタン53とを含む。
【0112】
端末40は、提示したUIに対して同意を示す入力を受け付けたか否かを判定する(S108)。
【0113】
端末40は、同意を示す入力を受け付けた場合(S108でYes)、例えばUI50において同意ボタン52への入力を受け付けた場合、ステップS101で受け付けた入力に基づく、取り引き予定日時と同じ取り引き日時、および、取り引き予定額と同じ額の取り引き額を含む支払トランザクションデータを生成する(S109)。一方で、端末40は、不同意を示す入力を受け付けた場合、例えばUI50において不同意ボタン53への入力を受け付けた場合、または、同意を示す入力を一定期間受け付けない場合(S108でNo)、当該取り引きに係る処理を終了する。この場合、端末40は、処理が終了したことを示す終了情報をサーバ10A等に送信してもよい。サーバ10A等は、終了情報を受信すると、当該取り引きに係る処理を終了する。なお、サーバ10A等は、終了情報を受信することに限らずに、手数料情報を送信してから一定期間端末40から情報(例えば、支払トランザクションデータまたは手数料トランザクションデータ)を受信しない場合、当該取り引きに係る処理を終了してもよい。
【0114】
ステップS109の後で、端末40は、生成した支払トランザクションデータをサーバ10A等に送信する(S110)。このとき、端末40は、生成した支払トランザクションデータをサーバ10A等のうちの1つのサーバに送信してもよいし、複数のサーバに送信してもよい。
【0115】
サーバ10A等は、端末40により送信された支払トランザクションデータを受信し、分散台帳に格納する(S111)。
【0116】
サーバ10A等は、支払トランザクションデータに含まれる支払額の支払いが支払者U1によって取り引き日時に行われたことを支払先U2の端末41に通知する(S112)。
【0117】
また、ステップS109の後で、端末40は、手数料情報に基づく、手数料の額を含む手数料トランザクションデータを生成する(S113)。
【0118】
端末40は、生成した手数料トランザクションデータをサーバ10A等に送信する(S114)。このとき、端末40は、生成した手数料トランザクションデータをサーバ10A等のうちの1つのサーバに送信してもよいし、複数のサーバに送信してもよい。
【0119】
サーバ10A等は、端末40により送信された手数料トランザクションデータを受信し、分散台帳に格納する(S115)。
【0120】
サーバ10A等は、手数料トランザクションデータに含まれる手数料の額の支払いが支払者U1によって取り引き日時に行われたことを業者Xの端末42に通知する(S116)。
【0121】
なお、ステップS109は、ステップS113の後に行われてもよいし、ステップS113と並行して行われてもよい。また、ステップS110は、ステップS114の後に行われてもよいし、ステップS114と並行して行われてもよい。また、ステップS111は、ステップS115の後に行われてもよいし、ステップS115と並行して行われてもよい。また、ステップS112は、ステップS116の後に行われてもよいし、ステップS116と並行して行われてもよい。
【0122】
以上のように、本実施の形態に係る制御方法によれば、受信した申込トランザクションデータに含まれる予定の日時以前に分散台帳に記録されている支払者U1による取り引きに基づいて手数料を算出し、手数料を支払うように要求する。このため、例えば、算出する手数料の額の大きさを調整することで、トークンの取り引きを管理する複数のサーバの処理が特定の期間に偏らないように取り引きが発生するタイミングを制御することができる。このため、複数のサーバの処理の安定化を図り、かつ、取り引きに関する処理が行われずに電力が消費されることを低減することができる。
【0123】
また、手数料の算出を、他の人または他のシステムを介在することなく、早期かつ安全に実行することができる。よって、本開示に係る制御方法は、トークンの取り引きを管理する複数のサーバの消費電力を削減することができる。
【0124】
また、コンセンサスアルゴリズムの実行を経て分散台帳を格納する。よって、本開示に係る制御方法は、コンセンサスアルゴリズムの実行を経ることによって、より容易に、トークンの取り引きを適切に管理することができる。
【0125】
また、手数料の算出では、分散台帳における支払者U1のトークンの残高が多いほど高い額の手数料を算出する。また、手数料の算出では、分散台帳における支払者U1による前回の取り引きタイミングからの経過時間が長いほど高い額の手数料を算出する。また、手数料の算出では、分散台帳における支払者U1による取り引きにおいて、現時点から所定時間前までの期間における取引量の単位時間当たりの平均が小さいほど高い額の手数料を算出する。このため、支払者U1がトークンを使用していないほど高い額の手数料を要求することができる。よって、支払者U1にトークンを早く使用するように促すことができ、取り引きが発生するタイミングを制御することができる。
【0126】
また、手数料情報は、端末40の表示部60に手数料を表示させるための情報である。このため、手数料を端末40の表示部60に表示させることで、支払者U1にトークンを早く使用するように促すことができる。よって、取り引きが発生するタイミングを制御することができる。
【0127】
また、手数料情報は、支払者U1に手数料情報に含まれる手数料に同意するか否かを問い合わせる問い合わせ情報を含む。これによれば、端末40を介して、手数料に同意するか否かを支払者U1に問い合わせることができるため、支払者U1がトークンを使用するタイミングを調整することができる。例えば、手数料の額を大きくするほどトークンを使用するタイミングを早めることができる。よって、取り引きが発生するタイミングを制御することができる。
【0128】
(変形例1)
上記実施の形態では、トークンは、複数種類のトークンを含んでいてもよい。つまり、取引管理システム1は、複数種類のトークンの取り引きを管理していてもよい。この場合、サーバ10A等が保有する分散台帳は、異なる種類のトークン毎に異なる複数のサブ分散台帳を含む。分散台帳は、例えば、2種類のトークンAおよびトークンBがある場合、トークンAの取り引きを示すサブ分散台帳Aと、トークンBの取り引きを示すサブ分散台帳Bとを含む。
【0129】
サーバ10A等の制御部13は、手数料の算出(S105)において、申し込み情報に含まれる予定の日時以前に複数のサブ分散台帳に記録されている支払者U1による取り引きに基づいて、異なる種類のトークン毎に手数料を複数算出する。制御部13は、例えば、申し込み情報に含まれる予定の日時以前にサブ分散台帳Aに記録されている支払者U1によるトークンAの取り引きに基づいて、トークンAの取り引きにかかる手数料Aを算出する。これと共に、制御部13は、申し込み情報に含まれる予定の日時以前にサブ分散台帳Bに記録されている支払者U1によるトークンBの取り引きに基づいて、トークンBの取り引きにかかる手数料Bを算出する。
【0130】
なお、手数料の算出では、制御部13は、トークンAの流通量が多く、トークンBの流通量がトークンAと比較して少ない場合、トークンBの流通量を増加させるために、トークンBの取り引きにかかる手数料をトークンAの取り引きに係る手数料よりも少なくしてもよい。ここで、流通量とは、例えば、現時点から所定時間前までの期間における、複数のユーザによる取引量の単位時間当たりの平均であってもよい。複数のユーザによる取引量とは、特定の種類のトークンを利用しているユーザ全ての取引量の総和であってもよい。平均とは、単位時間当たりの平均に加えて、さらに、一人当たりのユーザの平均であってもよい。トークンBの取り引きにかかる手数料をトークンAの取り引きに係る手数料よりも少なくするとは、トークンAの価値およびトークンBの価値を比較するための共通の価値で比較したときに当該価値に換算したときのトークンBの価値がトークンAの価値よりも少なくなるように算出することである。また、この場合、例えば、手数料の算出では、トークンBの手数料を算出するための手数料算出情報を示す関係が、トークンAの手数料を算出するための手数料算出情報を示す関係よりも、上記の共通の価値換算における手数料額が、どの残高、どの経過時間、またはどの平均においても小さくなるように調整し、調整後の2つの関係を用いてトークンAの手数料およびトークンBの手数料を算出してもよい。調整では、例えば、トークンBの関係における手数料額に1より小さい係数を乗じることで、トークンBの関係をトークンAの関係よりも小さくしてもよいし、トークンAの関係における手数料額に1より大きい係数を乗じることで、トークンBの関係をトークンAの関係よりも小さくしてもよい。また、調整では、例えば、トークンBの関係における手数料額に所定の手数料額を減算する(つまり、負の方向にオフセットする)ことで、トークンBの関係をトークンAの関係よりも小さくしてもよいし、トークンAの関係における手数料額に所定の手数料額を加算する(つまり、正の方向にオフセットする)ことで、トークンBの関係をトークンAの関係よりも小さくしてもよい。
【0131】
制御部13は、手数料の送信(S106)において、手数料情報として、算出した複数の手数料、つまり、手数料Aおよび手数料Bを含む情報を端末40に送信する。このように、複数種類のトークン毎に手数料を算出するため、トークンの種類毎に取引量の調整を行うことができる。
【0132】
端末40は、サーバ10A等から送信された手数料情報を受信すると、手数料情報に含まれる手数料の額を、異なる種類のトークン毎に端末40の表示部60に表示させる(S107)。つまり、手数料情報は、端末40の表示部60に、異なる種類のトークン毎に手数料を表示させるための情報である。このため、トークンの種類毎に手数料を端末の表示部に表示させることで、支払者U1に種類毎にトークンを早く使用するように促すことができる。よって、トークンの種類毎に取り引きが発生するタイミングを制御することができる。
【0133】
図9は、端末40の表示部60が表示するUI50Aの一例を示す図である。
【0134】
UI50Aは、トークンAの取り引きにかかる手数料Aを表示する。UI50Aは、手数料Aの額51Aと、手数料Aの支払いに同意することを示す入力を受け付けるための同意ボタン52Aと、手数料Aの支払いに同意しないこと(不同意)を示す入力を受け付けるための不同意ボタン53Aと、手数料Bを表示するUI50Bに表示を切り替える切り替えボタン54Aとを含む。
【0135】
端末40は、トークンAの手数料Aへの同意を示す入力を受け付けた場合、例えばUI50Aにおいて同意ボタン52Aへの入力を受け付けた場合、ステップS101で受け付けた入力に基づく、取り引き予定日時と同じ取り引き日時、および、取り引き予定額と同じ額の取り引き額を含む支払トランザクションデータを生成する。生成される支払トランザクションデータは、トークンAを取り引きに用いることを示す情報をさらに含む。一方で、端末40は、不同意を示す入力を受け付けた場合、例えばUI50Aにおいて不同意ボタン53Aへの入力を受け付けた場合、または、同意を示す入力を一定期間受け付けない場合、当該取り引きに係る処理を終了する、または、手数料Bを表示するUI50Bに表示を切り替える。
【0136】
図10は、端末40の表示部60が表示するUI50Bの一例を示す図である。
【0137】
UI50Bは、トークンBの取り引きにかかる手数料Bを表示する。UI50Bは、手数料Bの額51Bと、手数料Bの支払いに同意することを示す入力を受け付けるための同意ボタン52Bと、手数料Bの支払いに同意しないこと(不同意)を示す入力を受け付けるための不同意ボタン53Bと、手数料Aを表示するUI50Aに表示を切り替える切り替えボタン54Bとを含む。
【0138】
端末40は、トークンBの手数料Bへの同意を示す入力を受け付けた場合、例えばUI50Bにおいて同意ボタン52Bへの入力を受け付けた場合、ステップS101で受け付けた入力に基づく、取り引き予定日時と同じ取り引き日時、および、取り引き予定額と同じ額の取り引き額を含む支払トランザクションデータを生成する。生成される支払トランザクションデータは、トークンBを取り引きに用いることを示す情報をさらに含む。一方で、端末40は、不同意を示す入力を受け付けた場合、例えばUI50Bにおいて不同意ボタン53Bへの入力を受け付けた場合、または、同意を示す入力を一定期間受け付けない場合、当該取り引きに係る処理を終了する、または、手数料Aを表示するUI50Aに表示を切り替える。
【0139】
なお、処理を終了する場合、端末40は、処理が終了したことを示す終了情報をサーバ10A等に送信してもよい。サーバ10A等は、終了情報を受信すると、当該取り引きに係る処理を終了する。なお、サーバ10A等は、終了情報を受信することに限らずに、手数料情報を送信してから一定期間端末40から情報(例えば、支払トランザクションデータまたは手数料トランザクションデータ)を受信しない場合、当該取り引きに係る処理を終了してもよい。
【0140】
図11は、端末40の表示部60が表示するUI50Cを示す図である。UI50Cは、UI50AおよびUI50Bとは別の例におけるUIである。
【0141】
UI50Cは、トークンAおよびトークンBのうちで、手数料がお得である(つまり安い)方のトークンAの取り引きにかかる手数料Aを表示する。UI50Cは、手数料Cの額51Cと、手数料Cの支払いに同意することを示す入力を受け付けるための同意ボタン52Cと、手数料Cの支払いに同意しないこと(不同意)を示す入力を受け付けるための不同意ボタン53Cとを含む。なお、UI50Cは、さらに、手数料Bを表示するUIに表示を切り替える切り替えボタンを含んでいてもよい。
【0142】
なお、各UIには、さらに、提示する手数料が算出されることとなった理由を示すメッセージを含んでいてもよい。メッセージは、例えば、取り引き予定日時における、分散台帳における支払者のトークンの残高が所定の残高であることが理由で、提示された手数料が算出されたことを示してもよい。この場合、メッセージには、トークンの残高が少ないほど手数料が安くなることが示されてもよい。また、メッセージは、例えば、分散台帳における支払者による前回の取り引きタイミングからの経過時間が所定の経過時間であることが理由で、提示された手数料が算出されたことを示してもよい。この場合、メッセージには、経過時間が短いほど手数料が安くなることが示されてもよい。また、メッセージは、例えば、分散台帳における支払者による取り引きにおいて、申込トランザクションデータを受信したタイミングから所定時間前までの期間における取引量の単位時間当たりの平均が所定の平均値であることが理由で、提示された手数料が算出されたことを示してもよい。この場合、メッセージには、平均値が大きいほど手数料が安くなることが示されてもよい。
【0143】
(変形例2)
本変形例において、上記各実施の形態の取引管理システムの別の構成について説明する。
【0144】
図12は、本変形例における取引管理システム2の構成を模式的に示すブロック図である。
【0145】
図12に示されるように、取引管理システム2は、サーバ10A、10B及び10Cと、端末40、41および42とを備える。取引管理システム2が備える各装置は、ネットワークNによって互いに通信可能に接続されている。ネットワークNは、どのような通信回線又はネットワークから構成されてもよく、例えば、インターネット、携帯電話のキャリアネットワークなどを含む。
【0146】
特に、取引管理システム2では、サーバ10A、10B及び10Cが互いにネットワークNを介して接続されている。また、サーバ10Aに端末40が接続されており、サーバ10Bに端末41が接続されており、サーバ10Cに端末42が接続されている。
【0147】
このような構成は、例えば、複数の団体が取引管理システム2を運営する場合において、各団体が管理するサーバを、ネットワークNを介して接続する場合に利用され得る。例えば、団体Aにサーバ10Aと端末40とが所属しており、団体Bにサーバ10Bと端末41とが所属しており、団体Cにサーバ10Cと端末42とが所属している。
【0148】
サーバ10A等及び端末40等の動作は、上記各実施の形態における場合と同様であるので説明を省略する。
【0149】
(変形例3)
本変形例において、上記各実施の形態の取引管理システムの別の構成について説明する。
【0150】
図13は、本変形例における取引管理システム3の構成を模式的に示すブロック図である。
【0151】
図13に示されるように、取引管理システム3は、サーバ10Dと、端末40、41および42とを備える。取引管理システム3が備える各装置は、ネットワークNによって互いに通信可能に接続されている。ネットワークNは、どのような通信回線又はネットワークから構成されてもよく、例えば、インターネット、携帯電話のキャリアネットワークなどを含む。
【0152】
特に、取引管理システム3では、サーバ10D、並びに、端末40および41が互いにネットワークNを介して接続されている。また、サーバ10Dに端末42が接続されている。この場合、サーバ10D、端末40および41それぞれが、上記各実施の形態におけるサーバ10A等の動作をする。
【0153】
このような構成は、例えば、1以上の団体と1以上の個人とが取引管理システム3を運営する場合において、各団体又は各個人が管理するサーバ又は端末を、ネットワークNを介して接続する場合に利用され得る。例えば、団体Dにサーバ10Dと端末42とが所属しており、団体Dと、個人である支払者U1及び支払先U2とが取引管理システム3を運営している。
【0154】
サーバ10A等及び端末40等の動作は、上記各実施の形態における場合と同様であるので説明を省略する。
【0155】
(変形例4)
ここで、実施の形態の変形例4について説明する。
【0156】
図14は、本変形例におけるサーバの処理を示すフロー図である。
【0157】
図14に示されるように、サーバ10A等は、第1ユーザとしての支払者U1により操作された端末40から、支払者U1が取り引きを行う予定の日時を含む申し込み情報を受信する(S201)。
【0158】
各サーバ10A~10Cは、当該サーバが管理する第1分散台帳を参照し、受信した申し込み情報に含まれる予定の日時以前に第1分散台帳に記録されている支払者U1による取り引きに基づいて手数料を算出する(S202)。
【0159】
各サーバ10A~10Cは、端末40に算出した手数料を含む手数料情報を送信する(S203)。
【0160】
各サーバ10A~10Cは、端末40から取り引きの予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータを受信し、受信した第1トランザクションデータを複数のサーバ10A~10Cのうちの当該サーバ(ステップS204の処理の主体となるサーバ)とは異なる複数の他のサーバに転送し、かつ、第1トランザクションデータを含む第1ブロックを第1分散台帳に格納する(S204)。
【0161】
各サーバ10A~10Cは、端末40から手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータを受信し、受信した第2トランザクションデータを複数の他のサーバに転送し、かつ、第2トランザクションデータを含む第2ブロックを第1分散台帳に格納する(S205)。
【0162】
これにより、トークンの取り引きを管理する複数のサーバの処理が特定の期間に偏らないように取り引きが発生するタイミングを制御することができる。よって、複数のサーバの処理の安定化を図り、かつ、取り引きに関する処理が行われずに電力が消費されることを低減することができる。
【0163】
図15は、実施の形態の変形例4におけるサーバの構成を模式的に示すブロック図である。
【0164】
図15に示されるように、分散台帳を保有している複数のサーバを備える取り引き管理システムにおいて、当該複数のサーバのうちの一のサーバ60Aは、処理部61と制御部63とを備える。
【0165】
処理部61は、第1ユーザとしての支払者U1により操作された端末40から、支払者U1が取り引きを行う予定の日時を含む申し込み情報を受信する。
【0166】
制御部63は、当該サーバが管理する第1分散台帳を参照し、受信した申し込み情報に含まれる予定の日時以前に第1分散台帳に記録されている支払者U1による取り引きに基づいて手数料を算出する。制御部63は、端末40に算出した手数料を含む手数料情報を送信する。
【0167】
処理部61は、さらに、端末40から取り引きの予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータを受信し、受信した第1トランザクションデータを複数のサーバ10A~10Cのうちの当該サーバ(当該処理部61を備えるサーバ)とは異なる複数の他のサーバに転送し、かつ、第1トランザクションデータを含む第1ブロックを第1分散台帳に格納する。また、処理部61は、さらに、端末40から手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータを受信し、受信した第2トランザクションデータを複数の他のサーバに転送し、かつ、第2トランザクションデータを含む第2ブロックを第1分散台帳に格納する。
【0168】
これにより、トークンの取り引きを管理する複数のサーバの処理が特定の期間に偏らないように取り引きが発生するタイミングを制御することができる。よって、複数のサーバの処理の安定化を図り、かつ、取り引きに関する処理が行われずに電力が消費されることを低減することができる。
【0169】
(補足)
上記各実施の形態、又は、変形例におけるブロックチェーンについて補足的に説明する。
【0170】
図16は、ブロックチェーンのデータ構造を示す説明図である。
【0171】
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、記録されたトランザクションデータの改ざんを有効に防止する。
【0172】
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。この性質を使用して、ブロックチェーンに改ざん困難性が担保されている。
【0173】
図17は、トランザクションデータのデータ構造を示す説明図である。
【0174】
図17に示されるトランザクションデータは、トランザクション本体P1と、電子署名P2とを含む。トランザクション本体P1は、当該トランザクションデータに含まれるデータ本体である。電子署名P2は、トランザクション本体P1のハッシュ値に対して、当該トランザクションデータの作成者の署名鍵で署名する、より具体的には、作成者の秘密鍵で暗号化することで生成されたものである。
【0175】
トランザクションデータは、電子署名P2を有するので、改ざんが実質的に不可能である。これにより、トランザクション本体の改ざんが防止される。
【0176】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態のコンテンツ管理システムなどを実現するソフトウェアは、次のようなプログラムである。
【0177】
すなわち、このプログラムは、コンピュータに、複数の分散台帳を利用してトークンの取り引きを管理する複数のサーバであって、それぞれが前記複数の分散台帳のうちの1以上の分散台帳を管理する複数のサーバのうちの一のサーバによって実行される制御方法であって、第1ユーザにより操作された端末から、前記第1ユーザが取り引きを行う予定の日時を含む申し込み情報を受信し、前記一のサーバが管理する第1分散台帳を参照し、受信した前記申し込み情報に含まれる前記予定の日時以前に前記第1分散台帳に記録されている前記第1ユーザによる取り引きに基づいて手数料を算出し、算出した前記手数料を含む手数料情報を前記端末に送信し、前記端末から前記予定に対応する取り引きにかかるトークンの量を示す第1トークン量を含む第1トランザクションデータを受信し、受信した前記第1トランザクションデータを前記複数のサーバのうちの前記一のサーバとは異なる複数の他のサーバに転送し、かつ、前記第1トランザクションデータを含む第1ブロックを前記第1分散台帳に格納し、前記端末から前記手数料にかかるトークンの量を示す第2トークン量を含む第2トランザクションデータを受信し、受信した前記第2トランザクションデータを前記複数の他のサーバに転送し、かつ、前記第2トランザクションデータを含む第2ブロックを前記第1分散台帳に格納する制御方法を実行させるプログラムである。
【0178】
以上、一つまたは複数の態様に係るファンド管理システムなどについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0179】
本開示は、トークンの取り引きを管理する取引管理システムに利用可能である。
【符号の説明】
【0180】
1~3 取引管理システム
10A~10C、60A サーバ
11、61 処理部
12 台帳管理部
13、63 制御部
15 格納部
16 台帳記憶部
40~42 端末
50、50A~50C UI(User Interface)
51、51A~51C 手数料の額
52、52A~52C 同意ボタン
53、53A~53C 不同意ボタン
54A、54B 切り替えボタン
B1、B2、B3 ブロック
N ネットワーク
U1 支払者
U2 支払先
X 業者