(57)【要約】【課題】ブロックチェーン技術に基づくスマート・コントラクトを利用して実施されるトークン交換を活性化すること。【解決手段】第１コンピュータが、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップと、記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップとを含むステップを含む方法。【選択図】図１
2019212165.tif 000002
【特許請求の範囲】
【請求項１】
第１コンピュータが、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップと、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップと
を含むステップ
を含む方法。
【請求項２】
請求項１に記載の方法であって、
記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップは、記憶されている第１ユーザに関連付けられた第１トークンの量を第１の所定量だけ減少させるステップを含み、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップは、記憶されている第１ユーザに関連付けられた第２トークンの量を第１の所定量に第１の所定の割合を乗じた量だけ増加させるステップを含み、
前記方法は、
第１コンピュータが、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられたカウンタの値に基づき、第１の所定の割合を定めるステップであって、前記カウンタの値が増えたときに、第１の所定の割合が増えないように定めるステップと、
記憶されている第１ユーザに関連付けられたカウンタの値をインクリメントするステップと
を含むステップ
を含む、方法。
【請求項３】
請求項１又は２に記載の方法であって、
第１コンピュータが、第１ユーザが第２ユーザに対して第２トークンを送金するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられた第２トークンの量を減少させるステップと、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるステップと
を含むステップ
を更に含む方法。
【請求項４】
請求項１から３のうちの何れか一項に記載の方法であって、
第２コンピュータが、定期処理を行うためのトランザクションを、ブロックチェーンに記憶されるように第１コンピュータに送信することを、１以上の回数行うステップと、
第１コンピュータが、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき、記憶されている第１ユーザに関連付けられた日時を更新するステップと、
第１コンピュータが、定期処理を行うためのトランザクションに基づき、ユーザごとに行うステップであって、
定期処理を行うためのトランザクションに係る日時を基準として、記憶されている当該ユーザに関連付けられた日時が、所定の時間の長さよりも前であるという第１の条件を満たしているかを判定するステップと、
第１の条件を満たしている場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を減少させ、そうでない場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を増加させるステップと
を含むステップと
を含む方法。
【請求項５】
請求項４に記載の方法であって、
ブロックチェーンに記憶されるトランザクションに基づき、第１コンピュータが、第１トークンの期限の日時を記憶するステップと、
第１コンピュータが、定期処理を行うためのトランザクションに基づき行うステップであって、
定期処理を行うためのトランザクションに係る日時が、記憶されている第１トークンの期限の日時よりも後であるという第２の条件を判定するステップと、
第２の条件を満たしている場合に、記憶されている各ユーザに関連付けられた第１トークンの量をゼロにするステップと
を含むステップと
を含む方法。
【請求項６】
請求項１から５のうちの何れか一項に記載の方法であって、
第１コンピュータが、前記のトランザクションに基づき、当該トランザクションに対応した情報をイベントとして記憶するステップと、
第２コンピュータが、第１コンピュータにイベントとして記憶されている情報であるイベント・ログを取得するステップと
を含む方法。
【請求項７】
請求項６に記載の方法であって、
イベント・ログを取得するステップは、第２コンピュータが、イベント・ログのうち、第３の条件を満たすイベント・ログを取得するステップを含む、
方法。
【請求項８】
請求項７に記載の方法であって、
第３の条件は、
イベント・ログに係る日時が所定の期間内であることと、
イベント・ログが所定のタグを含むことと、
イベント・ログが所定の送金元ユーザを含むことと、
イベント・ログが所定の送金先ユーザを含むことと
のうちの１以上を含む、
方法。
【請求項９】
請求項６から８のうちの何れか一項に記載の方法であって、
前記のトランザクションは、タグ及びメッセージＩＤを含み、
前記方法は、
第２コンピュータが、取得したイベント・ログに基づき、トランザクションに対応した情報のうちの少なくとも一部を表示するステップであって、トランザクションに対応した情報のうちの少なくとも一部は、当該トランザクションが含むタグ、及び、当該トランザクションが含むメッセージＩＤによって特定されるメッセージを含む、ステップ
を含む、方法。
【請求項１０】
請求項６から９のうちの何れか一項に記載の方法であって、
第２コンピュータが、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップ
を含み、
第１のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードの表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各有向エッジは、第２トークンの送金元ユーザに対応するノードから送金先ユーザに対応するノードに延び、各有向エッジの表現は、当該有向エッジの一端である送金元ユーザからの送金量の合計に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
第２トークンの送金元ユーザは、第１トークンの使用ユーザを含み、
第２トークンの送金先ユーザは、第１トークンの被使用ユーザを含む、
方法。
【請求項１１】
請求項１０に記載の方法であって、
前記ノードは、対応するユーザについてのトークンに係る比率を表す円グラフであり、
前記ノードの表現は、前記円グラフの大きさである、
方法。
【請求項１２】
請求項１０又は１１のうちの何れか一項に記載の方法であって、
各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属し、各グループには１以上のユーザが属し、
取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップは、前記１以上の階層のうちの１つの階層について、
当該１つの階層における複数のグループのうちの各グループについて、当該グループに属する１以上のユーザにそれぞれ対応した１以上のノード全体を当該グループに対応する１つのノードとおき、当該１つの階層における複数のグループにそれぞれ対応する複数のノード間の距離が、当該１つの階層に対応したパラメータに応じたものとなるように、各ユーザに対応したノードの位置を調整するステップ
を含む、方法。
【請求項１３】
請求項６から１２のうちの何れか一項に記載の方法であって、
第２コンピュータが、取得したイベント・ログに基づき第２のグラフを表示するための出力を生成するステップ
を含み、
第２のグラフは、第１の軸と第２の軸とを有し、複数の図形を含み、
各図形は、ユーザに対応し、
各図形の表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各図形の第１の軸及び第２の軸についての位置は、それぞれ、対応するユーザが第２トークンを送金した回数、及び、対応するユーザに第２トークンが送金された回数に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
ユーザが第２トークンを送金した回数は、当該ユーザが第１トークンを使用した回数を含み、
ユーザに第２トークンが送金された回数は、当該ユーザに第１トークンが使用された回数を含む、
方法。
【請求項１４】
請求項６から１３のうちの何れか一項に記載の方法であって、
第１コンピュータが、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して、発行元、入手先及び用途のうちの１以上が異なる複数種類のトークンのうちの少なくとも１つを送金するためのトランザクションに基づき、当該トランザクションに係る情報を、イベントとして記憶するステップと、
第２コンピュータが、取得したイベント・ログに基づき、第３のグラフを表示するための出力を生成するステップと
を含み、
第３のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードは、対応するユーザに送金された複数種類のトークンの量の比率を表す円グラフであり、
各有向エッジは、複数のトークンのうちの少なくとも１つの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びる、
方法。
【請求項１５】
１以上のコンピュータを含むシステムであって、前記システムが含む第１コンピュータは、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップと、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップと
を含むステップ
を実行する、システム。
【請求項１６】
請求項１５に記載のシステムであって、
記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップは、記憶されている第１ユーザに関連付けられた第１トークンの量を第１の所定量だけ減少させるステップを含み、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップは、記憶されている第１ユーザに関連付けられた第２トークンの量を第１の所定量に第１の所定の割合を乗じた量だけ増加させるステップを含み、
前記システムが含む第１コンピュータは、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられたカウンタの値に基づき、第１の所定の割合を定めるステップであって、前記カウンタの値が増えたときに、第１の所定の割合が増えないように定めるステップと、
記憶されている第１ユーザに関連付けられたカウンタの値をインクリメントするステップと
を含むステップ
を実行する、システム。
【請求項１７】
請求項１５又は１６に記載のシステムであって、
前記システムが含む第１コンピュータは、第１ユーザが第２ユーザに対して第２トークンを送金するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられた第２トークンの量を減少させるステップと、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるステップと
を含むステップを更に実行する、
システム。
【請求項１８】
請求項１５から１７のうちの何れか一項に記載のシステムであって、
前記システムが含む第２コンピュータは、定期処理を行うためのトランザクションを、ブロックチェーンに記憶されるように第１コンピュータに送信することを、１以上の回数行うステップを実行し、
前記システムが含む第１コンピュータは、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき、記憶されている第１ユーザに関連付けられた日時を更新するステップと、
定期処理を行うためのトランザクションに基づき、ユーザごとに行うステップであって、
定期処理を行うためのトランザクションに係る日時を基準として、記憶されている当該ユーザに関連付けられた日時が、所定の時間の長さよりも前であるという第１の条件を満たしているかを判定するステップと、
第１の条件を満たしている場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を減少させ、そうでない場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を増加させるステップと
を含むステップと
を実行する、システム。
【請求項１９】
請求項１８に記載のシステムであって、前記システムが含む第１コンピュータは、
ブロックチェーンに記憶されるトランザクションに基づき、第１トークンの期限の日時を記憶するステップと、
定期処理を行うためのトランザクションに基づき行うステップであって、
定期処理を行うためのトランザクションに係る日時が、記憶されている第１トークンの期限の日時よりも後であるという第２の条件を判定するステップと、
第２の条件を満たしている場合に、記憶されている各ユーザに関連付けられた第１トークンの量をゼロにするステップと
を含むステップと
を実行する、システム。
【請求項２０】
請求項１５から１９のうちの何れか一項に記載のシステムであって、
前記システムが含む第１コンピュータは、前記のトランザクションに基づき、当該トランザクションに対応した情報をイベントとして記憶するステップを実行し、
前記システムが含む第２コンピュータは、第１コンピュータにイベントとして記憶されている情報であるイベント・ログを取得するステップを実行する、
システム。
【請求項２１】
請求項２０に記載のシステムであって、
イベント・ログを取得するステップは、イベント・ログのうち、第３の条件を満たすイベント・ログを取得するステップを含む、
システム。
【請求項２２】
請求項２１に記載のシステムであって、
第３の条件は、
イベント・ログに係る日時が所定の期間内であることと、
イベント・ログが所定のタグを含むことと、
イベント・ログが所定の送金元ユーザを含むことと、
イベント・ログが所定の送金先ユーザを含むことと
のうちの１以上を含む、
システム。
【請求項２３】
請求項２０から２２のうちの何れか一項に記載のシステムであって、
前記のトランザクションは、タグ及びメッセージＩＤを含み、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき、トランザクションに対応した情報のうちの少なくとも一部を表示するステップであって、トランザクションに対応した情報のうちの少なくとも一部は、当該トランザクションが含むタグ、及び、当該トランザクションが含むメッセージＩＤによって特定されるメッセージを含む、ステップを実行する、
システム。
【請求項２４】
請求項２０から２３のうちの何れか一項に記載のシステムであって、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップを実行し、
第１のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードの表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各有向エッジは、第２トークンの送金元ユーザに対応するノードから送金先ユーザに対応するノードに延び、各有向エッジの表現は、当該有向エッジの一端である送金元ユーザからの送金量の合計に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
第２トークンの送金元ユーザは、第１トークンの使用ユーザを含み、
第２トークンの送金先ユーザは、第１トークンの被使用ユーザを含む、
システム。
【請求項２５】
請求項２４に記載のシステムであって、
前記ノードは、対応するユーザについてのトークンに係る比率を表す円グラフであり、
前記ノードの表現は、前記円グラフの大きさである、
システム。
【請求項２６】
請求項２４又は２５のうちの何れか一項に記載のシステムであって、
各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属し、各グループには１以上のユーザが属し、
取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップは、前記１以上の階層のうちの１つの階層について、
当該１つの階層における複数のグループのうちの各グループについて、当該グループに属する１以上のユーザにそれぞれ対応した１以上のノード全体を当該グループに対応する１つのノードとおき、当該１つの階層における複数のグループにそれぞれ対応する複数のノード間の距離が、当該１つの階層に対応したパラメータに応じたものとなるように、各ユーザに対応したノードの位置を調整するステップ
を含む、システム。
【請求項２７】
請求項２０から２６のうちの何れか一項に記載のシステムであって、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき第２のグラフを表示するための出力を生成するステップを実行し、
第２のグラフは、第１の軸と第２の軸とを有し、複数の図形を含み、
各図形は、ユーザに対応し、
各図形の表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各図形の第１の軸及び第２の軸についての位置は、それぞれ、対応するユーザが第２トークンを送金した回数、及び、対応するユーザに第２トークンが送金された回数に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
ユーザが第２トークンを送金した回数は、当該ユーザが第１トークンを使用した回数を含み、
ユーザに第２トークンが送金された回数は、当該ユーザに第１トークンが使用された回数を含む、
システム。
【請求項２８】
請求項２０から２７のうちの何れか一項に記載のシステムであって、
前記システムが含む第１コンピュータは、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して、発行元、入手先及び用途のうちの１以上が異なる複数種類のトークンのうちの少なくとも１つを送金するためのトランザクションに基づき、当該トランザクションに係る情報を、イベントとして記憶するステップを実行し、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき、第３のグラフを表示するための出力を生成するステップを実行し、
第３のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードは、対応するユーザに送金された複数種類のトークンの量の比率を表す円グラフであり、
各有向エッジは、複数のトークンのうちの少なくとも１つの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びる、
システム。
【請求項２９】
１以上のプログラムであって、第１コンピュータに、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップと、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップと
を含むステップ
を実行させる１以上のプログラム。
【請求項３０】
請求項２９に記載の１以上のプログラムであって、
記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップは、記憶されている第１ユーザに関連付けられた第１トークンの量を第１の所定量だけ減少させるステップを含み、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップは、記憶されている第１ユーザに関連付けられた第２トークンの量を第１の所定量に第１の所定の割合を乗じた量だけ増加させるステップを含み、
第１コンピュータに、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられたカウンタの値に基づき、第１の所定の割合を定めるステップであって、前記カウンタの値が増えたときに、第１の所定の割合が増えないように定めるステップと、
記憶されている第１ユーザに関連付けられたカウンタの値をインクリメントするステップと
を含むステップ
を実行させる１以上のプログラム。
【請求項３１】
請求項２９又は３０に記載の１以上のプログラムであって、
第１コンピュータに、第１ユーザが第２ユーザに対して第２トークンを送金するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられた第２トークンの量を減少させるステップと、
記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるステップと
を含むステップを更に実行させる
１以上のプログラム。
【請求項３２】
請求項２９から３１のうちの何れか一項に記載の１以上のプログラムであって、
第２コンピュータに、定期処理を行うためのトランザクションを、ブロックチェーンに記憶されるように第１コンピュータに送信することを、１以上の回数行うステップを実行させ、
第１コンピュータに、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき、記憶されている第１ユーザに関連付けられた日時を更新するステップと、
定期処理を行うためのトランザクションに基づき、ユーザごとに行うステップであって、
定期処理を行うためのトランザクションに係る日時を基準として、記憶されている当該ユーザに関連付けられた日時が、所定の時間の長さよりも前であるという第１の条件を満たしているかを判定するステップと、
第１の条件を満たしている場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を減少させ、そうでない場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を増加させるステップと
を含むステップと
を実行させる
１以上のプログラム。
【請求項３３】
請求項３２に記載の１以上のプログラムであって、第１コンピュータに、
ブロックチェーンに記憶されるトランザクションに基づき、第１トークンの期限の日時を記憶するステップと、
定期処理を行うためのトランザクションに基づき行うステップであって、
定期処理を行うためのトランザクションに係る日時が、記憶されている第１トークンの期限の日時よりも後であるという第２の条件を判定するステップと、
第２の条件を満たしている場合に、記憶されている各ユーザに関連付けられた第１トークンの量をゼロにするステップと
を含むステップと
を実行させる１以上のプログラム。
【請求項３４】
請求項２９から３３のうちの何れか一項に記載の１以上のプログラムであって、
第１コンピュータに、前記のトランザクションに基づき、当該トランザクションに対応した情報をイベントとして記憶するステップを実行させ、
第２コンピュータに、第１コンピュータにイベントとして記憶されている情報であるイベント・ログを取得するステップを実行させる
１以上のプログラム。
【請求項３５】
請求項３４に記載の１以上のプログラムであって、
イベント・ログを取得するステップは、イベント・ログのうち、第３の条件を満たすイベント・ログを取得するステップを含む、
１以上のプログラム。
【請求項３６】
請求項３５に記載の１以上のプログラムであって、
第３の条件は、
イベント・ログに係る日時が所定の期間内であることと、
イベント・ログが所定のタグを含むことと、
イベント・ログが所定の送金元ユーザを含むことと、
イベント・ログが所定の送金先ユーザを含むことと
のうちの１以上を含む、
１以上のプログラム。
【請求項３７】
請求項３４から３６のうちの何れか一項に記載の１以上のプログラムであって、
前記のトランザクションは、タグ及びメッセージＩＤを含み、
第２コンピュータに、取得したイベント・ログに基づき、トランザクションに対応した情報のうちの少なくとも一部を表示するステップであって、トランザクションに対応した情報のうちの少なくとも一部は、当該トランザクションが含むタグ、及び、当該トランザクションが含むメッセージＩＤによって特定されるメッセージを含む、ステップを実行させる
１以上のプログラム。
【請求項３８】
請求項３４から３７のうちの何れか一項に記載の１以上のプログラムであって、
第２コンピュータに、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップを実行させ、
第１のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードの表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各有向エッジは、第２トークンの送金元ユーザに対応するノードから送金先ユーザに対応するノードに延び、各有向エッジの表現は、当該有向エッジの一端である送金元ユーザからの送金量の合計に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
第２トークンの送金元ユーザは、第１トークンの使用ユーザを含み、
第２トークンの送金先ユーザは、第１トークンの被使用ユーザを含む、
１以上のプログラム。
【請求項３９】
請求項３８に記載の１以上のプログラムであって、
前記ノードは、対応するユーザについてのトークンに係る比率を表す円グラフであり、
前記ノードの表現は、前記円グラフの大きさである、
１以上のプログラム。
【請求項４０】
請求項３８又は３９のうちの何れか一項に記載の１以上のプログラムであって、
各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属し、各グループには１以上のユーザが属し、
取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップは、前記１以上の階層のうちの１つの階層について、
当該１つの階層における複数のグループのうちの各グループについて、当該グループに属する１以上のユーザにそれぞれ対応した１以上のノード全体を当該グループに対応する１つのノードとおき、当該１つの階層における複数のグループにそれぞれ対応する複数のノード間の距離が、当該１つの階層に対応したパラメータに応じたものとなるように、各ユーザに対応したノードの位置を調整するステップ
を含む、
１以上のプログラム。
【請求項４１】
請求項３４から４０のうちの何れか一項に記載の１以上のプログラムであって、
第２コンピュータに、取得したイベント・ログに基づき第２のグラフを表示するための出力を生成するステップを実行させ、
第２のグラフは、第１の軸と第２の軸とを有し、複数の図形を含み、
各図形は、ユーザに対応し、
各図形の表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各図形の第１の軸及び第２の軸についての位置は、それぞれ、対応するユーザが第２トークンを送金した回数、及び、対応するユーザに第２トークンが送金された回数に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
ユーザが第２トークンを送金した回数は、当該ユーザが第１トークンを使用した回数を含み、
ユーザに第２トークンが送金された回数は、当該ユーザに第１トークンが使用された回数を含む、
１以上のプログラム。
【請求項４２】
請求項３４から４１のうちの何れか一項に記載の１以上のプログラムであって、
第１コンピュータに、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して、発行元、入手先及び用途のうちの１以上が異なる複数種類のトークンのうちの少なくとも１つを送金するためのトランザクションに基づき、当該トランザクションに係る情報を、イベントとして記憶するステップを実行させ、
前記システムが含む第２コンピュータに、取得したイベント・ログに基づき、第３のグラフを表示するための出力を生成するステップを実行させ、
第３のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードは、対応するユーザに送金された複数種類のトークンの量の比率を表す円グラフであり、
各有向エッジは、複数のトークンのうちの少なくとも１つの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びる、
１以上のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トークンを交換することに関する。より詳細には、本発明は、ブロックチェーン技術に基づくスマート・コントラクトを利用して、トークンをユーザ間で交換することに関する。
【背景技術】
【０００２】
感謝度を数値化した評価価値である地域通貨についての、携帯電話やパソコン等モーバイル機器を使用した特定グループ内支払い決済方法が知られている（例えば、特許文献１を参照。）。
【０００３】
また、イーサリアム等のブロックチェーン技術に基づくスマート・コントラクトを利用して実現されたトークンが知られている（例えば、非特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３０３２７９号公報
【非特許文献】
【０００５】
【非特許文献１】ＥＲＣ：  Ｔｏｋｅｎ  Ｓｔａｎｄａｒｄ  ＃２０，https://github.com/ethereum/eips/issues/20
【発明の概要】
【発明が解決しようとする課題】
【０００６】
出願人は、感謝度等を数値化した評価価値によれば、様々な事象の可視化が可能となることに気付いた。
例えば、感謝度等を数値化したトークンを、ある企業内で発行・流通させることによって、社員同士のつながりや評価を可視化することができるようになる。この可視化によれば、部・課といった組織レベルの活性度や、目立たないが貢献度の高い社員即ち人財の発掘を容易に行うことができるようになる。
【０００７】
また、例えば、感謝度等を数値化したトークンを、グローバルに発行・流通させることによって、企業等の組織の枠組みにとらわれずに、人と人とのつながりや、特定のスキルを有する人財の存在等を可視化することができるようになる。
【０００８】
しかしながら、上記特許文献１は、感謝度を数値化した評価価値である地域通貨をどのように支払い決済するかを開示しているにすぎず、感謝度等を数値化したトークンに係る可視化については示唆すらしていない。
【０００９】
また、出願人は、感謝度等を数値化したトークンの交換を活性化するためには、トークンの交換に対してインセンティブを与えることが好ましいことに気付いた。
更に、出願人は、ブロックチェーン技術に基づくスマート・コントラクトを利用して、上記のような可視化やトークンの交換に対するインセンティブを与えることを実現できれば、より堅牢なシステムが容易に構築できることに気付いた。
【課題を解決するための手段】
【００１０】
本発明は、以上に鑑みてなされたものである。
本発明の実施形態の一例は、第１コンピュータが、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップと、記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップとを含むステップを含む方法である。
【００１１】
この方法において、記憶されている第２ユーザに関連付けられた第１トークンの量を増加させることなく、記憶されている第１ユーザに関連付けられた第１トークンの量を減少させるステップは、記憶されている第１ユーザに関連付けられた第１トークンの量を第１の所定量だけ減少させるステップを含むことができ、記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるとともに、記憶されている第１ユーザに関連付けられた第２トークンの量を増加させるステップは、記憶されている第１ユーザに関連付けられた第２トークンの量を第１の所定量に第１の所定の割合を乗じた量だけ増加させるステップを含むことができる。また、この方法は、第１コンピュータが、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、記憶されている第１ユーザに関連付けられたカウンタの値に基づき、第１の所定の割合を定めるステップであって、前記カウンタの値が増えたときに、第１の所定の割合が増えないように定めるステップと、記憶されている第１ユーザに関連付けられたカウンタの値をインクリメントするステップとを含むステップを含むことができる。
【００１２】
この方法は、第１コンピュータが、第１ユーザが第２ユーザに対して第２トークンを送金するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、記憶されている第１ユーザに関連付けられた第２トークンの量を減少させるステップと、記憶されている第２ユーザに関連付けられた第２トークンの量を増加させるステップとを含むステップを更に含むことができる。
【００１３】
この方法は、第２コンピュータが、定期処理を行うためのトランザクションを、ブロックチェーンに記憶されるように第１コンピュータに送信することを、１以上の回数行うステップと、第１コンピュータが、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき、記憶されている第１ユーザに関連付けられた日時を更新するステップと、第１コンピュータが、定期処理を行うためのトランザクションに基づき、ユーザごとに行うステップであって、定期処理を行うためのトランザクションに係る日時を基準として、記憶されている当該ユーザに関連付けられた日時が、所定の時間の長さよりも前であるという第１の条件を満たしているかを判定するステップと、第１の条件を満たしている場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を減少させ、そうでない場合に、記憶されている当該ユーザに関連付けられた第１トークンの量を増加させるステップとを含むステップとを含むことができる。
【００１４】
この方法は、ブロックチェーンに記憶されるトランザクションに基づき、第１コンピュータが、第１トークンの期限の日時を記憶するステップと、第１コンピュータが、定期処理を行うためのトランザクションに基づき行うステップであって、定期処理を行うためのトランザクションに係る日時が、記憶されている第１トークンの期限の日時よりも後であるという第２の条件を判定するステップと、第２の条件を満たしている場合に、記憶されている各ユーザに関連付けられた第１トークンの量をゼロにするステップとを含むステップとを含むことができる。
【００１５】
この方法は、第１コンピュータが、前記のトランザクションに基づき、当該トランザクションに対応した情報をイベントとして記憶するステップと、第２コンピュータが、第１コンピュータにイベントとして記憶されている情報であるイベント・ログを取得するステップとを含むことができる。
【００１６】
この方法において、イベント・ログを取得するステップは、第２コンピュータが、イベント・ログのうち、第３の条件を満たすイベント・ログを取得するステップを含むことができる。
【００１７】
この方法において、第３の条件は、イベント・ログに係る日時が所定の期間内であることと、イベント・ログが所定のタグを含むことと、イベント・ログが所定の送金元ユーザを含むことと、イベント・ログが所定の送金先ユーザを含むこととのうちの１以上を含むことができる。
【００１８】
この方法において、前記のトランザクションは、タグ及びメッセージＩＤを含むことができる。また、この方法は、第２コンピュータが、取得したイベント・ログに基づき、トランザクションに対応した情報のうちの少なくとも一部を表示するステップであって、トランザクションに対応した情報のうちの少なくとも一部は、当該トランザクションが含むタグ、及び、当該トランザクションが含むメッセージＩＤによって特定されるメッセージを含む、ステップを含むことができる。
【００１９】
この方法は、第２コンピュータが、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップを含むことができる。ここで、第１のグラフは、２以上のノードと、１以上の有向エッジとを含み、各ノードは、ユーザに対応し、各ノードの表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、各有向エッジは、第２トークンの送金元ユーザに対応するノードから送金先ユーザに対応するノードに延び、各有向エッジの表現は、当該有向エッジの一端である送金元ユーザからの送金量の合計に応じたものであり、ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、第２トークンの送金元ユーザは、第１トークンの使用ユーザを含み、第２トークンの送金先ユーザは、第１トークンの被使用ユーザを含むことができる。
【００２０】
この方法において、前記ノードは、対応するユーザについてのトークンに係る比率を表す円グラフであり、前記ノードの表現は、前記円グラフの大きさであることができる。
この方法において、各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属し、各グループには１以上のユーザが属し、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップは、前記１以上の階層のうちの１つの階層について、当該１つの階層における複数のグループのうちの各グループについて、当該グループに属する１以上のユーザにそれぞれ対応した１以上のノード全体を当該グループに対応する１つのノードとおき、当該１つの階層における複数のグループにそれぞれ対応する複数のノード間の距離が、当該１つの階層に対応したパラメータに応じたものとなるように、各ユーザに対応したノードの位置を調整するステップを含むことができる。
【００２１】
この方法は、第２コンピュータが、取得したイベント・ログに基づき第２のグラフを表示するための出力を生成するステップを含むことができる。ここで、第２のグラフは、第１の軸と第２の軸とを有し、複数の図形を含み、各図形は、ユーザに対応し、各図形の表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、各図形の第１の軸及び第２の軸についての位置は、それぞれ、対応するユーザが第２トークンを送金した回数、及び、対応するユーザに第２トークンが送金された回数に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、ユーザが第２トークンを送金した回数は、当該ユーザが第１トークンを使用した回数を含み、ユーザに第２トークンが送金された回数は、当該ユーザに第１トークンが使用された回数を含むことができる。
【００２２】
この方法は、第１コンピュータが、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して、発行元、入手先及び用途のうちの１以上が異なる複数種類のトークンのうちの少なくとも１つを送金するためのトランザクションに基づき、当該トランザクションに係る情報を、イベントとして記憶するステップと、第２コンピュータが、取得したイベント・ログに基づき、第３のグラフを表示するための出力を生成するステップとを含むことができる。ここで、第３のグラフは、２以上のノードと、１以上の有向エッジとを含み、各ノードは、ユーザに対応し、各ノードは、対応するユーザに送金された複数種類のトークンの量の比率を表す円グラフであり、各有向エッジは、複数のトークンのうちの少なくとも１つの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びることができる。
【００２３】
本発明の実施形態の別例は、上記の第１コンピュータ及び第２コンピュータの一方又は双方を含むシステムである。
本発明の実施形態に更に別の例は、上記の第１コンピュータ及び第２コンピュータの一方又は双方に上記のステップを実行させる１以上のプログラムである。この１以上のプログラムは、上記第１コンピュータに上記のステップを実行させる１以上のスマート・コントラクトと、上記第２コンピュータに上記のステップを実行させる、スマート・コントラクトではない１以上のプログラムとを含むことができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態に係る例示システムの概略構成を表している。
【図２】例示のトークン使用・送金画面を表している。
【図３】例示のトークン履歴画面を表している。
【図４Ａ】例示の第２トークン送金関係視覚化画面を表している。
【図４Ｂ】１以上の階層から構成された複数のグループの例を表している。
【図４Ｃ】所属コードの値が近いユーザに対応したノードがより近接して配置された例示のグラフを表している。
【図４Ｄ】グラフの表示を調整するためのコンポーネントを表している。
【図４Ｅ】エッジ距離の調整を説明するためのグラフを表している。
【図４Ｆ】エッジ距離の調整を説明するためのグラフを表している。
【図５】例示の第２トークン送金回数視覚化画面を表している。
【図６】例示のトークン・ランキング画面を表している。
【図７Ａ】例示の第１トークン配布処理を表している。
【図７Ｂ】例示の第１トークン期限設定処理を表している。
【図８】例示の第１トークン使用処理を表している。
【図９】例示の第２トークン送金処理を表している。
【図１０】例示の定期処理を表している。
【図１１】例示の第１トークン期限切れ処理を表している。
【図１２】例示の第１トークン増減処理を表している。
【図１３】例示のトークン履歴出力生成処理を表している。
【図１４Ａ】第２トークン送金関係視覚化画面に含まれるグラフの例示の生成処理を表している。
【図１４Ｂ】エッジ距離を調整するための例示処理を表している。
【図１５】第２トークン送金回数視覚化画面に含まれるグラフの例示の生成処理を表している。
【図１６Ａ】例示のトークン保有割合視覚化画面を表している。
【図１６Ｂ】例示のトークン種類別保有量視覚化画面を表している。
【図１６Ｃ】トークン種類別保有量視覚化画面生成処理に含まれる例示処理を表している。
【図１７】コンピュータのハードウエア構成の一例を表している。
【発明を実施するための形態】
【００２５】
１  本発明の一実施形態
本発明の実施形態の一例は、ユーザ間でトークンを交換するためのシステムである。
１−１  本発明の一実施形態に係るシステムの概略構成
図１は、本発明の一実施形態に係る例示システム１００の概略構成を表している。
【００２６】
１１０Ａ〜１１０Ｃは、システム１００のユーザが用いる端末を示している。図１において端末は３つのみ表されているが、システム１００のユーザが用いる端末は、１以上の任意の数であってよい。なお、システム１００のユーザは、システム１００の管理者を含む。端末１１０Ａ〜１１０Ｃは、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット、スマートフォン等の任意の種類のコンピュータである。以下、端末１１０Ａ〜１１０Ｃを総称して「端末１１０」という。
【００２７】
１２０は、端末１１０、並びに、後述するデータベース１３０及びブロックチェーン・ノード群１４０（より詳細には、ブロックチェーン・ノード群１４０が含むブロックチェーン・ノードのうちの少なくとも１つ）と通信するゲートウェイを示している。この図においてゲートウェイ１２０は１つのみ表されているが、ゲートウェイ１２０は、１以上の任意の数であってよい。ゲートウェイ１２０は、任意の種類のコンピュータである。
【００２８】
１３０は、ゲートウェイ１２０と通信するデータベースを示している。この図においてデータベース１３０は１つのみ表されているが、データベース１３０は、１以上の任意の数であってよい。データベース１３０は、データベース機能を少なくとも有する任意の種類のコンピュータである。データベース１３０には、システム１００において必要となる任意の情報を記憶することができる。
【００２９】
１４０は、ゲートウェイ１２０と通信するブロックチェーン・ノード群を示しており、１４０Ａ〜１４０Ｄは、ブロックチェーン・ノード群１４０が含む各ブロックチェーン・ノードを示している。図１においてブロックチェーン・ノード群１４０が含むブロックチェーン・ノードは４つのみ表されているが、ブロックチェーン・ノード群１４０が含むブロックチェーン・ノードの数は、１以上の任意の数であってよく、好ましくは４以上の任意の数であってよい。ブロックチェーン・ノード１４０Ａ〜１４０Ｄは、ブロックチェーン技術及び当該技術に基づくスマート・コントラクトを実施する機能を少なくとも有する任意の種類のコンピュータである。
【００３０】
なお、端末１１０、ゲートウェイ１２０、データベース１３０及びブロックチェーン・ノード群１４０が含む各ブロックチェーン・ノードのうちの少なくとも１つは、１つの物理的なコンピュータではなく、１つの物理的なコンピュータ上で動作する１以上の仮想コンピュータのうちの１つであり得ることに留意されたい。また、ゲートウェイ１２０及びデータベース１３０のうちの一方又は双方としての機能は、ブロックチェーン・ノード群１４０が含む１つのブロックチェーン・ノードとしての１つの物理的な又は仮想的なコンピュータが有していてもよい。
【００３１】
また、端末１１０とゲートウェイ１２０との間、ゲートウェイ１２０とデータベース１３０との間、ゲートウェイ１２０とブロックチェーン・ノード群１４０との間、ブロックチェーン・ノード群１４０が含む各ブロックチェーン・ノードの間には、インターネットを含む１以上のネットワーク（図示せず）が存在し得ることに留意されたい。
【００３２】
１−２  システム１００において表示される画面
システム１００において表示される画面は、端末１１０において表示されるものと仮定しているが、別のコンピュータにおいて表示されてもよい。
【００３３】
１−２−１  トークン使用・送金画面
システム１００によれば、各ユーザには第１トークンが配布され、配布された第１トークンを別のユーザに対して使用することにより、当該別のユーザには第２トークンが配布されることになる。更に、各ユーザは、第２トークンを別のユーザに送金することもできる。以下、この節において、便宜上、第１トークンの「使用」も第１トークンの「送金」と表現している。
【００３４】
図２は、各ユーザが第１トークン又は第２トークンを送金するための例示画面２００を表している。
２０５は、端末１１０を現在利用しているユーザ（以下、「端末利用ユーザ」という。）についての表示を行うためのコンポーネントを示している。なお、端末利用ユーザは周知の手法によってシステム１００に既にログインしており、システム１００は端末利用ユーザを特定できるものとする。この図においては、端末利用ユーザについての表示として、端末利用ユーザのアドレスである「ａｂｃｄｅｆｇｈ．．．」が表示されている。なお、ユーザのアドレスは、ブロックチェーン・ノード群１４０において実施されるスマート・コントラクトにおいて、当該ユーザを特定するものである。また、コンポーネント２０５のうちの２０５Ａは、端末利用ユーザを特定する情報をエンコードしたＱＲコード（登録商標）を表示するためのコンポーネントを示しており、コンポーネント２０５Ａをタップ等することにより当該ＱＲコードが表示されるようになっている。なお、「ユーザを特定する情報」は、「ユーザのアドレス」であってよいが、これに限定されるわけではない。
【００３５】
２１０は、端末利用ユーザが保有するトークンの量を表示するためのコンポーネントを示している。この図においては、第１トークンの量である「５０，０００」と、第２トークンの量である「０」と、その合計である「５０，０００」とが表示されている。
【００３６】
２１５は、トークンの送金先となるユーザを指定するためのコンポーネントである。コンポーネント２１５のうちの２１５Ａは、ユーザを特定する情報をエンコードしたＱＲコードを読み取るためのコンポーネントを示しており、コンポーネント２１５Ａをタップ等することにより、ＱＲコードを読み取るための画面（図示せず）が表示されるようになっている。ＱＲコードの読み取りに成功すると、当該ＱＲコードにエンコードされた情報が特定するユーザが送金先ユーザとして指定されることになる。この図においては、指定されたユーザの名前である「Ｂさん」と、そのアドレスである「ｓｔｕｖｗｘｙａ．．．」とが表示されている。なお、送金先ユーザを指定する手法は任意であり、ＱＲコードを利用した手法に限定されないことに留意されたい。
【００３７】
２２０は、トークンの送金に関連付ける任意の情報を入力するためのコンポーネントを示している。システム１００において、トークンの送金に関連付ける情報は、タグ及びメッセージである。コンポーネント２２０において入力可能なタグは、複数の所定のタグのうちの１つである。コンポーネント２２０のうちの２２０Ａは、入力するタグを選択するためのコンポーネントを示しており、コンポーネント２２０Ａのタップ等により、入力可能なタグのリストが表示され、選択されたタグが入力されることになる。また、タグの入力に応じて、コンポーネント２２０にはメッセージとして入力されたタグに対応した定型文が自動的に入力されるようになっているが、コンポーネント２２０は、自動的に入力されたメッセージをユーザが編集可能なように構成されている。この図においては、入力されたタグである「業務支援」と、入力されたメッセージである「Thank you for your kindness.」とが表示されている。
【００３８】
２２５は、送金するトークンの量及び種類を指定するためのコンポーネントである。コンポーネント２２５のうちの２２５Ａは、第１トークンと第２トークンとのどちらを送金するのかを指定するためのコンポーネントを示している。この図においては、送金されるトークンは第１トークンであることと、送金量として「１，０００」とが表示されている。
【００３９】
２３０は、端末利用ユーザをトークンの送金元ユーザとして、指定された送金先ユーザに、指定された量の指定されたトークンを、入力された情報に関連付けて送金するためのコンポーネントを示している。コンポーネント２３０をタップ等することにより、当該送金の指示がゲートウェイ１２０になされることになる。
【００４０】
１−２−２  トークン履歴画面
システム１００によれば、あるユーザによる別のユーザに対する第１トークンの使用により、第１トークンを使用したユーザ自身にも第２トークンが配布され、また、各ユーザに配布された第１トークンは、所定の条件を満たしているか否かに応じて、自動的に増減するようになっている。
【００４１】
図３は、あるユーザについてのトークンの使用、送金及び配布の履歴を確認するための例示画面３００を表している。画面３００において、履歴はテーブルの形式で表されており、テーブルの最初の行は各列のラベルを示しており、第２行から最終行までの各行は、トークンの使用、送金及び配布にそれぞれ対応し、トークンの使用、送金及び配布は、時系列的に降順に並べられている。また、テーブルにおける「金額」の列の「［１ｓｔ］」は第１トークンを、「［２ｎｄ］」は第２トークンをそれぞれ示している。更に、この図における「…」を９０度傾けたものは省略を意味している。なお、画面３００は、一度にテーブルの一部分のみが表示され、スクロール等によりテーブルの別の部分が表示されるように構成できる。以下、テーブルにおける「＃」の列の数字を参照して、幾つかの行について説明する。
【００４２】
「＃」の列が「１００」である行は、システム１００における初期化処理として、各ユーザに第１トークンが配布されたことに対応する。この行によれば、少なくとも端末利用ユーザ（この図においては、「自分」と表示されている。）に対する配布量は５０，０００である。また、この行によれば、第１トークンの配布は、管理者から端末利用ユーザへの第１トークンの送金として表示されている
「＃」の列が「１０１」である行は、所定の条件を満たしていないために、端末利用ユーザが保有する第１トークンの量が減少したことに対応する。この行についての所定の条件は、端末利用ユーザが前日に第１トークンを使用したという条件である。また、この行によれば、端末利用ユーザの第１トークンの量の減少は、端末利用ユーザから管理者への第１トークンの送金として表示されている。
【００４３】
「＃」の列が「１０２」である行は、端末利用ユーザが別のユーザであるＢさんに第１トークンを使用したことに対応する。この行についての第１トークンの使用量は１，０００であり、タグは「業務支援」であり、メッセージは「Thank you for your kindness.」である。また、この行によれば、端末利用ユーザの第１トークンの使用は、端末利用ユーザから別のユーザへの第１トークンの送金として表示されている。
【００４４】
「＃」の列が「１０３」である行は、端末利用ユーザによる第１トークンの使用により、端末利用ユーザに第２トークンが配布されたことに対応する。この行についての第２トークンの配布量は、第１トークンの使用量の５０％である５００である。また、この行によれば、第１トークンの使用による第２トークンの配布は、管理者から端末利用ユーザへの第２トークンの送金として表示されている。
【００４５】
「＃」の列が「１０４」である行は、所定の条件即ち端末利用ユーザが前日に第１トークンを使用したという条件を満たしているために、端末利用ユーザが保有する第１トークンの量が増加したことに対応する。この行によれば、端末利用ユーザの第１トークンの量の増加は、管理者から端末利用ユーザへの第１トークンの送金として表示されている。
【００４６】
「＃」の列が「１０５」である行は、端末利用ユーザに対して別のユーザが第１トークンを使用したか又は第２トークンを送金したことに対応する。この行によれば、第１トークンの使用と第２トークンの送金とは、両者を区別せずに別のユーザから端末利用ユーザへの第２トークンの送金として表示されているが、前者と後者とを区別して表示できるようにシステム１００を構成してもよい。
【００４７】
「＃」の列が「３２１」である行は、所定の条件を満たしているために、端末利用ユーザが保有する第１トークンの量が減少したことに対応する。この行についての条件は、第１トークンの期限を過ぎたという条件である。この減少によって、端末利用ユーザが保有する第１トークンの量はゼロとなってよいが、ゼロではない所定量や、この減少の直前に保有していた第１トークンの量に応じた量となってもよい。
【００４８】
１−２−３  第２トークン送金関係視覚化画面
図４Ａは、システム１００のユーザ間で第２トークンの送金がどのように行なわれているのかを確認するための例示画面４００を表している。なお、第２トークンの送金は、第１トークンを使用したことによるもの、例えば、画面３００における「＃」の列が「１０３」に対応する送金と、第１トークンが使用されたことによるもの、例えば、画面３００における「＃」の列が「１０５」に対応する送金とのうちの一方若しくは双方のみであるか、当該一方若しくは双方を含むか、又は、当該一方若しくは双方を含まないことができる。画面４００は、ノードと有向エッジとから構成されたグラフを含んでいる。
【００４９】
画面４００に含まれるグラフにおいて、「Ａ」〜「Ｚ」がそれぞれ付されたノードは、ユーザＡ〜ユーザＺのそれぞれに対応しており、ノードの表現は、対応するユーザに対する第２トークンの送金の総量に応じたものとなっている。なお、この図における「ノード」は円であり、「ノードの表現」は円の大きさ（即ち、第２トークンの送金の総量が多いほど円が大きくなる。）であるが、これらに限定されるわけではない。「ノードの表現」としてはノードの形状や色、表示濃度等も考えられる。また、管理者に対応したノードは、画面４００に含まれるグラフからは除外されることが好ましい。更に、ノードをタップ等することにより、当該ノードを送金先ユーザとした画面２００を表示できるように画面４００を構成してもよい。
【００５０】
また、ノードは円グラフであってもよく、この円グラフは、対応するユーザについてのトークンに係る比率を表すことができる。この比率は、第１トークンの保有量と第２トークンの保有量との比率と、第１トークンを使用したことによる第２トークンの送金の量と、第１トークンが使用されたことによる第２トークンの送金の量との比率とを含むことができるが、これらに限定されるわけではない。なお、円グラフである「ノードの表現」は、円グラフにおける色分け（例えば、第１トークンの保有量に対応する部分は第１の色とし、第２トークンの保有量に対応する部分は第２の色とする。）を含む。
【００５１】
画面４００に含まれるグラフにおいて、有向エッジは、第２トークンの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びている。有向エッジに付された数字は対応する送金の総量を示しており、また、有向エッジの表現は、当該総量に応じたものとなっている。なお、この図における「有向エッジの表現」は、有向エッジの太さ（即ち、対応する送金の総量が多いほど有向エッジが太くなる）であるが、これに限定されるわけではない。「有向エッジの表現」としては、有向エッジの先端の形状や表示濃度等も考えられる。
【００５２】
ところで、システム１００の各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属することがある。図４Ｂは、そのような１以上の階層の例を表す図である。この例において、最も上の階層は「部門」であり、最も下の階層は「チーム」である。このような場合、各ユーザには、各階層におけるグループに対応した値を各桁の値とした所属コードを割り当てることができる。例えば、この図において、最上位の階層におけるグループである「Ａ部」には最上位の桁である３桁目の値として１が、「Ａ２課」には２桁目の値として２が、最下位の階層におけるグループであるチーム「Ａ２ｂ」には最下位の桁である１桁目の値として２が割り当てられているため、チーム「Ａ２ｂ」に属するユーザには所属コードとして「１２２」が割り当てられることになる。なお、図４Ｂにおける「１２３」は例えばＡ２課の課長に、「１３１」は例えばＡ部の部長に割り当てられる所属コードを意図したものである。
【００５３】
ここで、画面４００が含むグラフにおいては、このように割り当てられた所属コードの値が近いユーザに対応したノードがより近接して配置されることが好ましい。図４Ｃはそのようにノードが配置されたグラフを表しており、実線の円はノードを示しており、点線の円は各階層におけるグループを示している。なお、点線の円は説明のために描いたもので、実際には画面４００において表示されなくてよい。また、この図において、エッジは省略されている。
【００５４】
また、本システムの各ユーザには、属性、例えば役職や役割が割り当てられることがある。画面４００が含むグラフにおいては、ノードの表現を、各ユーザの属性に応じたものともすることができる。なお、対応するユーザに対する第２トークンの送金の総量に応じたノードの表現と、対応するユーザの属性に応じて定まるノードの表現とは、異なるもの（例えば、前者はノードの大きさであり、後者はノードの形状であってよい。）であることが好ましい。
【００５５】
画面４００によれば、ノード及びエッジから、ユーザ間のつながり（相互関係や、中心人物の存在）や、あるユーザのグループ外部とのつながりの有無を視覚的に把握することができる。
【００５６】
また、システム１００における第１トークンの使用には、タグ及びメッセージを関連付けることができるため、コミュニケーションの意味合いを持つことになる。従って、画面４００によれば、ノード及びエッジから、ユーザ間のコミュニケーションの活性度を視覚的に把握することができる。
【００５７】
画面４００によれば、ノード及びエッジから、あるグループに所属し、当該グループ外部とのやり取りが少ないユーザのことを、当該あるグループ外のユーザであっても視覚的に把握することができる。
【００５８】
更に、画面４００によれば、ユーザの属性に応じてノードの形状や色を変えることにより、組織構造とコミュニケーションとをひもづけることができる。
画面４００は、図４Ｄに表すような部分４１０を含んでいてもよい。部分４１０は、画面４００に含まれるグラフの表示を調整するためのものである。なお、部分４１０は、画面４００とは別の画面に表示することもできる。
【００５９】
４１２は、システム１００のユーザ間での第２トークンの送金のうち、選択された期間内の送金のみを画面４００において視覚化するためのコンポーネントを示している。コンポーネント４１２は、まずある日付を選択し、次に別の日付を選択することによって、前者を開始日とし、後者を終了日とする期間が選択されるように構成することができる。この図においては、２０１７年１０月２日から８日までの期間が選択されている。
【００６０】
４１４は、システム１００のユーザ間での第２トークンの送金のうち、選択されたタグに関連付けられた送金のみを画面４００において視覚化するためのコンポーネントを示している。コンポーネント４１４は、複数の所定のタグから１つのタグを選択できるように構成することができる。この図においては、タグとして「出退勤」が選択されている。
【００６１】
なお、期間やタグは、画面４００において視覚化する第２トークンの送金を抽出するための条件の例にすぎない。即ち、部分４１０は、画面４００において視覚化する第２トークンの送金を抽出するための任意の条件を選択、指定又は入力するための任意のコンポーネントを含むことができる。また、部分４１０は、コンポーネント４１２及び４１４並びにこれらに相当するものを介して選択、指定又は入力された条件を、端末１１０が少なくともゲートウェイ１２０に送信するように構成することができる。
【００６２】
４１６は、画面４００に含まれるグラフにおけるノード間の表示上の距離（エッジ距離）を調整するためのコンポーネントである。コンポーネント４１６は、ノブ４１６Ａを右方（又は左方）に動かすことによって、エッジ距離が大きくなる（又は小さくなる）ように構成することができる。また、部分４１０は、コンポーネント４１６のノブ４１６Ａの位置に応じた値を、端末１１０が少なくともゲートウェイ１２０に送信するように構成することができる。
【００６３】
コンポーネント４１６は１以上設けることができ、その各々は、図４Ｂ及び４Ｃに関連して説明した１以上の階層のうちの各階層に係るエッジ距離を調整するためのものであることができる。なお、コンポーネント４１６は、１以上の階層のうちの一部についてのみ設けてもよい。
【００６４】
具体的に説明すると、図４Ｅにおいて表されるグラフ（エッジは省略されている。）を初期状態とすると、例えば、「チーム」の階層に対応したコンポーネント４１６のみを調整してエッジ距離が大きくなるようにすると、グラフは図４Ｆに表されるようになることができる。図４Ｅ及び４Ｆによれば、同一の「チーム」（無所属を含む）に属さないノード間の表示上の距離は大きくなっているものの、同一の「チーム」に属するノード間の表示上の距離は変化していないことが分かる。
【００６５】
即ち、１以上のコンポーネント４１６のうちの各コンポーネントは、対応する階層における異なるグループに属するユーザに対応するノード間の距離を変化させるものであることができる。ここで、各コンポーネントの操作により、対応する階層における同一のグループに属するユーザに対応するノード間の距離が変化しないか又はその変化が最小限となるように、エッジ距離が調整されることが好ましい。
【００６６】
部分４１０によれば、多数のノードが存在する場合であっても、一部のノードのみを表示することや、ノード間の表示上の間隔を広げることができるために、システム１００のユーザ間でどのように第２トークンの送金が行われているかを、より見やすく視覚化することができる。
【００６７】
また、部分１１０によれば、所定の条件を満たす送金のみを視覚化することができるために、特定の関係を有するユーザを把握することが容易となる。
１−２−４  第２トークン送金回数視覚化画面
図５は、システム１００のユーザについて、第２トークンを送金した回数（以下、「送金回数」という。）と、第２トークンが送金された回数（以下、「被送金回数」という。）と、送金された第２トークンの総量とを確認するための例示画面５００を表している。なお、第２トークンの送金は、第１トークンを使用したことによるものと、第１トークンが使用されたことによるもののうちの一方若しくは双方のみであるか、当該一方若しくは双方を含むか、又は、当該一方若しくは双方を含まないことができる。画面５００は、送金回数を第１の軸とし、被送金回数を第２の軸としたグラフを含んでいる。
【００６８】
画面５００が含むグラフにおいて、「Ａ」〜「Ｚ」がそれぞれ付された図形は、ユーザＡ〜ユーザＺのそれぞれに対応しており、図形の表現は、対応するユーザに対する第２トークンの送金の総量に応じたものとなっている。なお、この図における「図形」は円であり、「図形の表現」は円の大きさ（即ち、第２トークンの送金の総量が多いほど円が大きくなる。）であるが、これらに限定されるわけではない。「図形の表現」としては図形の色や形状、表示濃度等も考えられる。また、管理者に対応した図形は、画面５００に含まれるグラフからは除外されることが好ましい。更に、図形をタップ等することにより、当該図形を送金先ユーザとした画面２００を表示できるように画面５００を構成してもよい。更にまた、画面５００が含むグラフにおいては、図形の表現を、各ユーザの属性に応じたものともすることができる。なお、対応するユーザに対する第２トークンの送金の総量に応じた図形の表現と、対応するユーザの属性に応じて定まるノードの表現とは、異なるもの（例えば、前者は図形の大きさであり、後者は図形の形状であってよい。）であることが好ましい。画面５００が含むグラフにおいて、各ユーザに対応した図形の位置、より詳細には、図形の特定の箇所（例えば、中心や重心）の第１の軸及び第２の軸についての位置は、当該ユーザの送金回数及び被送金回数によって定まっている。
【００６９】
上述したように、システム１００においては、あるユーザが別のユーザに対して第１トークンを使用した場合、別のユーザだけではなく、当該あるユーザ自身にも第２トークンが配布される。そのため、あるユーザが保有する第２トークンの量は、当該あるユーザに対する第１トークンの使用及び第２トークンの送金によるものだけではない。
【００７０】
画面５００によれば、送金回数、即ち、あるユーザが別のユーザに対して第１トークンを使用した回数及び第２トークンを送金した回数のうちの一方又は双方と、被送金回数、即ち、別のユーザがあるユーザに対して第１トークンを使用した回数及び第２トークンを送金した回数のうちの一方又は双方との比率が視覚化されることになる。従って、あるユーザに対する第１トークンの使用及び第２トークンの送信のうちの一方又は双方を当該あるユーザに対する肯定的評価の結果によるものと考えた場合に、画面５００によれば、相対的に評価の高いユーザを容易に特定することができる。例えば、送金回数と被送金回数とが一致する点のプロットを示す点線５１０より上にあり、且つ、最も大きい円で表現された図形に対応したユーザＡは、被送金回数が送金回数より大きく、且つ、送金された第２トークンの総量も大きいことから、ユーザＡからユーザＺまでのうち、他者からの評価が高いユーザということになる。
【００７１】
１−２−５  トークン・ランキング画面
図６は、システム１００のユーザについて、第２トークンに係るランキングを表示するための例示画面６００を表している。画面６００は、期間ごと及びユーザの所属ごとの、第２トークンが送金された総量のランキングを含んでいる。なお、トークン・ランキング画面は、第２トークンが送金された総量ではなく、第２トークンを送金した回数又は第２トークンが送金された回数のランキングを含んでいてもよい。また、第２トークンの送金は、第１トークンの使用によるもののみであるか、含むか又は含まないことができる。
【００７２】
１−３  システム１００において実行される処理
システム１００において実行される処理は、一般的なプログラムが、端末１１０と、ゲートウェイ１２０と、データベース１３０と、ブロックチェーン・ノード群１４０が含むブロックチェーン・ノードのうちの少なくとも１つとに実行させる処理と、プログラムの一種であるスマート・コントラクトが、ブロックチェーン・ノード群１４０が含む各ブロックチェーン・ノードに実行させる処理とを含んでいる。
【００７３】
１−３−１  スマート・コントラクトに係る基本的な仕組み
以下、ブロックチェーン技術に基づくスマート・コントラクトに係る基本的な仕組みについて説明する。なお、以下の説明では、ブロックチェーン・ノードが実施するブロックチェーン技術としてイーサリアムに基づく技術を仮定しており、説明しない事項については、イーサリアムにおける事項を適用してよい。しかしながら、ブロックチェーン・ノードが実施するブロックチェーン技術は、これに限定されるわけではないことに留意されたい。
【００７４】
ブロックチェーン・ノードは、いわゆるブロックチェーンを記憶する。ブロックチェーンは複数のブロックから構成されており、各ブロックは、最初のブロック（例えば、ジェネシス・ブロック）を除いて、ただ１つの親ブロックが定められている。
【００７５】
各ブロックは、スマート・コントラクトを含むことができる。スマート・コントラクトには、ブロックチェーン・ノードが実行すべき処理と、ブロックチェーン・ノードが記憶すべき情報（例えば、ステートやイベント）とを少なくとも定義することができる。また、スマート・コントラクトは、実行すべき処理を各々が定義する１以上の部分（例えば、関数）を含むことができる。なお、実行すべき処理は、記憶すべき情報の内容を更新する処理、及び、要求に応答して記憶すべき情報の内容を返す処理を含むことができる。
【００７６】
各ブロックは、親ブロックが含むものに応じて一意に定まる情報（例えば、親ブロックのハッシュ値）、及び、当該ブロックが生成された時点において、ブロックチェーン・ノードが記憶すべき情報の内容に応じて一意に定まる情報（例えば、ステート・ルートやレシート・ルート）を含んでおり、あるブロックから最初のブロックまでの間の何れかのブロックが含むものや、当該何れかのブロックが生成された時点における記憶すべき情報の内容の改竄が矛盾を生じさせるようになっている。
【００７７】
ブロックチェーン・ノードは、トランザクションを受信すると、当該トランザクションの妥当性を検証する。このトランザクションは、スマート・コントラクトを生成するためのトランザクション（当該スマート・コントラクト自体を含む）と、スマート・コントラクトの部分に定義された処理を実行するためのトランザクション（処理に関するパラメータを含むことができる。）とを含むことができる。トランザクションの妥当性の検証に成功すると、ブロックチェーン・ノードは、当該トランザクション即ち妥当性のあるトランザクションを少なくとも１つの別のブロックチェーン・ノードに転送する。なお、ブロックチェーン・ノードは、妥当性のあるトランザクションを自ら生成し、少なくとも１つの別のブロックチェーン・ノードに転送することもある。また、スマート・コントラクトの部分に定義された処理は、トランザクションを介さずに（例えば、ｃａｌｌメソッドを介して）実行される場合もある。
【００７８】
ブロックチェーン・ノードは、妥当性のあるトランザクションを含むブロックの生成を試行する。この試行において、当該トランザクションがスマート・コントラクトを生成するためのものである場合に、当該スマート・コントラクトのアドレス（例えば、Ｃｏｎｔｒａｃｔ  Ａｃｃｏｕｎｔ（ＣＡ）のアドレス）を生成して、当該スマート・コントラクトに関連付ける。また、この試行において、当該トランザクションがスマート・コントラクトの部分に定義された処理を実行するためのものである場合に、ブロックチェーン・ノードは当該処理を実行する。ブロックの生成に成功すると、ブロックチェーン・ノードは、当該ブロックを、自身が記憶するブロックチェーンに追加し、少なくとも１つの別のブロックチェーン・ノードに転送する。また、ブロックの生成に成功すると、ブロックチェーン・ノードは、ブロックの生成の試行において記憶すべき情報の内容を更新する処理を実行した場合に、情報の更新された内容を記憶する。なお、ブロックの生成は、計算量的に困難な問題を解いたときに成功するような手法（例えば、プルーフ・オブ・ワークやプルーフ・オブ・ステーク）を用いて行われる。
【００７９】
ブロックチェーン・ノードは、ブロックを受信すると、当該ブロックの妥当性を検証する。この検証において、当該ブロックがスマート・コントラクトの部分に定義された処理を実行するためのトランザクションを含む場合に、ブロックチェーン・ノードが当該処理を実行する。ブロックの妥当性の検証に成功すると、ブロックチェーン・ノードは、当該ブロックを、自身が記憶するブロックチェーンに追加し、少なくとも１つの別のブロックチェーン・ノードに転送する。また、ブロックの妥当性の検証に成功すると、ブロックチェーン・ノードは、ブロックの妥当性の検証において記憶すべき情報の内容を更新する処理を実行した場合に、更新された情報の内容を記憶する。
【００８０】
以上に述べたような仕組みにより、ブロックチェーン・ノード群１４０が含む各ブロックチェーン・ノードにおいて、スマート・コントラクトの部分に定義された処理が実行され、情報の内容が記憶される。
【００８１】
１−３―２  初期化処理
初期化処理は、システム１００における最初の処理である。
初期化処理は、各ユーザに第１トークンを配布するための第１トークン配布処理を含むことができる。図７Ａは、例示の第１トークン配布処理７００を表している。
【００８２】
７０５は、ゲートウェイ１２０が、第１トークン配布処理に対応したスマート・コントラクトの部分を実行させるための１以上のトランザクションを生成するステップを示している。この１以上のトランザクションの各々は、
送信元アドレスとして特定ユーザ（例えば、管理者）のアドレスと、
送信先アドレスとして当該スマート・コントラクトのアドレスと、
当該部分を特定する情報（例えば、関数のハッシュ値の最初の４バイト）と、
各ユーザ（以下、「被配布ユーザ」という。）を特定する情報（例えば、被配布ユーザのアドレス）と、
トークンの所定の配布量を、
所定のタグ（例えば、「配布」）と、
所定のメッセージを特定する情報（以下、「メッセージＩＤ」という。）と
を含むことができるが、これに限定されるわけではない。また、このステップは、ゲートウェイ１２０が、データベース１３０から、トランザクションに含める情報のうちの少なくとも一部を取得するステップを含むことができる。
【００８３】
メッセージＩＤについて説明すると、上述したようにトランザクションはブロックチェーンに記憶されるために削除することがでず、従って、トランザクションにメッセージそのものを含めてしまった場合、当該メッセージも記憶されるために削除することができない。上述したようにメッセージはユーザが編集可能なものであり、記憶すべきでない情報が含まれる可能性がある。そのために、トランザクションには、メッセージそのものではなくメッセージＩＤを含めることが好ましい。なお、メッセージ自体は、データベース１３０が記憶することができる。
【００８４】
７１０は、ゲートウェイ１２０が、生成した１以上のトランザクションを、ブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードに送信するステップを示している。
【００８５】
７１５は、ステップ７１０において送信されたトランザクションに基づいて、上に説明した仕組みにより、各ブロックチェーン・ノードが、第１トークン配布処理に対応したスマート・コントラクトの部分を実行することによって実行されるステップを示している。なお、このステップは、１以上のトランザクションの各々について実行される。
【００８６】
７２０は、第１トークンの配布を記憶するステップを示している。システム１００において、この配布は、特定ユーザから被配布ユーザへの配布量の第１トークンの送金として記憶されることになり、このステップは、ブロックチェーン・ノードが、
第１トークンの送金を示す情報（例えば、所定の文字列）と、
送金元ユーザとして特定ユーザを特定する情報と、
送金先ユーザとして被配布ユーザを特定する情報と、
送金量として所定の配布量と、
所定のタグと、
所定のメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。また、イベントとして記憶されたものを、以下、「イベント・ログ」という。
【００８７】
７２５は、第１トークンの配布を実現するステップを示している。
ステップ７２５は、ブロックチェーン・ノードが、記憶されている被配布ユーザに関連付けられた第１トークンの量を、配布量だけ増加させるステップを含む。
【００８８】
また、ステップ７２５は、ブロックチェーン・ノードが、記憶されている特定ユーザに関連付けられた第１トークンの量を、配布量だけ減少させるステップを含んでいてもよい。
【００８９】
なお、記憶されている各ユーザに関連付けられた第１トークンの量及び第２トークンの量は、当該処理の実行直前においてゼロであってよい。また、各ユーザに関連付けられた第１トークンの量及び第２トークンの量は、当該処理の実行直前において記憶されていなくてもよく、その場合には、ゼロから増加した量が当該ユーザに関連付けて記憶されてよい。更に、システム１００において、記憶されている各ユーザに関連付けられたトークンの量が、各ユーザが保有するトークンの量として扱われる。更にまた、第１トークンの量及び第２トークンの量は、各ユーザのアドレスに関連付けることができる。
【００９０】
なお、ステップ７２０及び７２５は、任意の順序で実行してよい。
初期化処理は、第１トークンの期限を設定するための第１トークン期限設定処理を含むことができる。図７Ｂは、例示の第１トークン期限設定処理７５０を表している。
【００９１】
７５５は、ゲートウェイ１２０が、第１トークン期限設定処理に対応したスマート・コントラクトの部分を実行させるためのトランザクションを生成するステップを示している。このトランザクションは、
送信元アドレスとして特定ユーザのアドレスと、
送信先アドレスとして当該スマート・コントラクトのアドレスと、
当該部分を特定する情報と、
設定される第１トークンの期限と
を含むことができるが、これに限定されるわけではない。また、このステップは、ゲートウェイ１２０が、データベース１３０から、トランザクションに含める情報のうちの少なくとも一部を取得するステップを含むことができる。
【００９２】
７６０は、ゲートウェイ１２０が、生成したトランザクションを、ブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードに送信するステップを示している。
【００９３】
７６５は、ステップ７６０において送信されたトランザクションに基づいて、上に説明した仕組みにより、各ブロックチェーン・ノードが、第１トークン期限設定処理に対応したスマート・コントラクトの部分を実行することによって実行されるステップを示している。
【００９４】
７７０は、ブロックチェーン・ノードが、第１トークンの期限を記憶するステップを示している。
１−３−３  第１トークン使用処理
第１トークン使用処理は、あるユーザが別のユーザに対して第１トークンを使用するための処理である。図８は、例示の第１トークン使用処理８００を表している。
【００９５】
８０５は、端末１１０が、トークン使用・送信画面２００を表示するステップを示している。このステップは、端末１１０が、ゲートウェイ１２０を介して、データベース１３０及びブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードから、表示に必要な情報を取得するステップを含むことができる。
【００９６】
８１０は、端末１１０が、画面２００において指定・入力された内容に基づく指示をゲートウェイ１２０に対して行うステップを示している。なお、ここでは第１トークンの使用が指定されたものとする。なお、このステップは、指定された送金するトークンの量が所定量以下であるかを判定し、指定された送金するトークンの量が所定量以下である場合にのみゲートウェイ１２０に対して指示を行うステップを含んでいてよい。
【００９７】
８１５は、ゲートウェイ１２０が、受けた指示に基づき、第１トークン使用処理に対応したスマート・コントラクトの部分を実行させるトランザクションを生成するステップを示している。このトランザクションは、
送信元アドレスとして使用ユーザのアドレスと、
送信先アドレスとして当該スマート・コントラクトのアドレスと、
当該部分を特定する情報と、
被使用ユーザを特定する情報と、
指定された使用量と、
入力されたタグと、
入力されたメッセージを特定するメッセージＩＤと
を含むことができるが、これに限定されるわけではない。また、このステップは、ＡＰＩゲートウェイ１２０又はデータベース１３０がメッセージＩＤを生成し、生成したメッセージＩＤをメッセージと関連付けてデータベース１３０に記憶するステップを含むことができる。
【００９８】
８２０は、ゲートウェイ１２０が、生成したトランザクションを、ブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードに送信するステップを示している。
【００９９】
８２５は、ステップ８２０において送信されたトランザクションに基づいて、上に説明した仕組みにより、各ブロックチェーン・ノードが、第１トークン使用処理に対応したスマート・コントラクトの部分を実行することによって実行されるステップを示している。
【０１００】
８３０は、第１トークンの使用を記憶する第１ステップを示している。システム１００において、この使用は、少なくとも、使用ユーザから被使用ユーザへの使用量の第１トークンの送金として記憶されることになり、この第１ステップは、ブロックチェーン・ノードが、
第１トークンの送金を示す情報と、
送金元ユーザとして使用ユーザを特定する情報と、
送金先ユーザとして被使用ユーザを特定する情報と、
送金量として指定された使用量と、
入力されたタグと、
生成されたメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。
【０１０１】
８３５は、第１トークンの使用を実現する第１ステップを示している。
この第１ステップは、ブロックチェーン・ノードが、記憶されている使用ユーザに関連付けられた第１トークンの量を、使用量だけ減少させるステップを含む。
【０１０２】
また、この第１ステップは、ブロックチェーン・ノードが、記憶されている特定ユーザに関連付けられた第１トークンの量を、使用量だけ増加させるステップを含むことができる。
【０１０３】
更に、この第１ステップは、ブロックチェーン・ノードが、記憶されている使用ユーザに関連付けられた第１カウンタの値を所定値例えば１だけインクリメントするステップを含むことができる。なお、記憶されている各ユーザに関連付けられた第１カウンタの値は、初期化処理の実行直前においてゼロであってよい。また、各ユーザに関連付けられた第１カウンタの値は、初期化処理の実行直前において記憶されていなくてもよく、その場合には、使用ユーザに関連付けられた第１カウンタの値としてゼロからインクリメントされた値がこの第１ステップにおいて記憶されてよい。更に、各ユーザに関連付けられた第１カウンタの値は、送金先ユーザごとに記憶されてもよい。更にまた、記憶されている各ユーザに関連付けられた第１カウンタの値は、後述する定期処理において初期化することができる。
【０１０４】
更にまた、この第１ステップは、ブロックチェーン・ノードが、使用ユーザに関連付けて、当該ユーザが第１トークンを最後に使用した日時として、当該トランザクションに係る日時を記憶するステップを含むことができる。なお、「トランザクションに係る日時」は、例えば、当該トランザクションが生成された日時や、当該トランザクションを含むブロックが生成された日時であるが、これらに限定されるわけではない。「トランザクションに係る日時」は、ブロックチェーン・ノード群１４０が含む各ブロックチェーン・ノードが同一のものを一意に特定できるように定められることが好ましい。
【０１０５】
８４０は、第１トークンの使用を記憶する第２ステップを示している。システム１００において、この使用は、少なくとも、使用ユーザから被使用ユーザへの第１の所定の量の第２トークンの送金として記憶されることになり、この第２ステップは、ブロックチェーン・ノードが、
第２トークンの送金を示す情報と、
送金元ユーザとして使用ユーザを特定する情報と、
送金先ユーザとして被使用ユーザを特定する情報と、
送金量として第１の所定の量と、
入力されたタグと、
生成されたメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。また、「第１の所定の量」は、指定された使用量に所定の割合（例えば、０．５）を乗じた量であることができる。
【０１０６】
８４５は、第１トークンの使用を実現する第２ステップを示している。
この第２ステップは、ブロックチェーン・ノードが、記憶されている被使用ユーザに関連付けられた第２トークンの量を、第１の所定の量だけ増加させるステップを含む。
【０１０７】
また、この第２ステップは、ブロックチェーン・ノードが、記憶されている特定ユーザに関連付けられた第２トークンの量を、第１の所定の量だけ減少させるステップを含むことができる。
【０１０８】
８５０は、第１トークンの使用を記憶する第３ステップを示している。システム１００において、この使用は、少なくとも、特定ユーザから使用ユーザへの第２の所定の量第２トークンの送金として記憶されることになり、この第３ステップは、ブロックチェーン・ノードが、
第２トークンの送金を示す情報と、
送金元ユーザとして特定ユーザを特定する情報と、
送金先ユーザとして使用ユーザを特定する情報と、
送金量として第２の所定の量と、
所定のタグ（例えば、「キャッシュバック」）と、
所定のメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。
【０１０９】
第２の所定の量は、指定された使用量に固定の所定の割合（例えば、０．５）を乗じた量であってもよいが、使用ユーザによる第１トークンの使用の状況に応じて定まる量であってもよく、例えば、以下の式により定まる量であることができる。
【０１１０】
ｙ＝ｘ＊ａ                                  （ｃ≦ｃｔｈｒｅ）
ｘ＊ａ＊（１−ｂ）＾（ｃ−ｃｔｈｒｅ）  （ｃ＞ｃｔｈｒｅ）      （１）
ここで、
ｙは第２の所定の量、
ｘは指定された使用量、
ａは０≦ａ≦１なる所定の実数（例えば、０．５）、
ｂは０≦ｂ≦１なる所定の実数（例えば、０．１）、
ｃは記憶されている使用ユーザに関連付けられた第１カウンタの値、
ｃｔｈｒｅは所定の整数（例えば、５）
である。なお、第１カウンタの値が記憶されていない場合には、ｃはゼロであってよい。また、上記式は、ｃが増えるとｙが増えない関数、即ち広義単調減少関数の一例である。更に、第２の所定の量は、使用ユーザが所定の期間内に所定回数以上第１トークンを使用した場合にゼロとなってもよい。
【０１１１】
８５５は、第１トークンの使用を実現する第３ステップを示している。
この第３ステップは、ブロックチェーン・ノードが、記憶されている使用ユーザに関連付けられた第２トークンの量を、第２の所定の量だけ増加させるステップを含む。
【０１１２】
また、この第２ステップは、ブロックチェーン・ノードが、記憶されている特定ユーザに関連付けられた第２トークンの量を、第２の所定の量だけ減少させるステップを含むことができる。
【０１１３】
なお、ステップ８２５は、ブロックチェーン・ノードが、第１の所定の量及び第２の所定の量のうちの一方又は双方を計算するステップを含むことができる。また、ステップ８３０〜８５５は、任意の順序で実行してよい。
【０１１４】
第１トークン使用処理８００によれば、あるユーザに対する第１トークンの使用は、当該あるユーザが保有する第１トークンの増加ではなく、第２トークンの増加となる。従って、あるユーザに対する第１トークンの使用を、当該あるユーザに対する肯定的評価の結果によるものと考えた場合、当該あるユーザが保有する第１トークンの量は、当該あるユーザに対する評価尺度とはならない。即ち、第１トークン使用処理８００によれば、他者からの評価を意識したユーザが、保有する第１トークンの量を維持するために、第１トークンを使用しないという選択をとることを避けることができる。
【０１１５】
また、第１トークン使用処理８００によれば、あるユーザによる第１トークンの使用は、当該あるユーザに対する第２トークンの増加にもなる。従って、第１トークンの使用ユーザに対する第２トークンの増加を、システム１００を介したコミュニケーションを行ったという意味で、使用ユーザに対する肯定的評価によるものと考えた場合、第１トークン使用処理８００によれば、システム１００の各ユーザに対して第１トークンを使用するインセンティブを与えることになる。
【０１１６】
第１トークン使用処理８００によれば、使用ユーザは、第１トークンを使用する量を自身で指定することができるために、他者に対する評価の度合いを定量的に表現することができる。
【０１１７】
第１トークン使用処理８００によれば、１度に使用できる第１トークンの量に上限を設けることにより、第２トークンを得ることのみを目的とした第１トークンの使用を抑制することができる。
【０１１８】
第１トークン使用処理８００によれば、使用ユーザに対する第２トークンの増加量を、当該ユーザによる第１トークンの使用の状況に応じたものとすることができ、例えば、１日に所定回数以上の使用を行った場合、特に、同じユーザに対して１日に所定回数以上の使用を行った場合に、使用ユーザが保有する第２トークンの量が増加しないようにすることによって、あるユーザ間での評価の回し合い（結託）を抑制することができる。
【０１１９】
更に、第１トークン使用処理８００によれば、使用ユーザはタグやメッセージを入力することができるために、当該使用において他者とコミュニケーションをとることができる。
【０１２０】
また、第１トークン使用処理８００によれば、入力されたタグや入力されたメッセージを特定するメッセージＩＤはイベント・ログとして記憶され、且つ、後述するようにイベント・ログは日時を有しているために、例えばタグとして「出退勤」を設けることによって、システム１００を勤怠システムの少なくとも一部として機能させることができる（トークン履歴出力生成処理に関連して後述する。）。
【０１２１】
１−３−４  第２トークン送金処理
第２トークン送金処理は、あるユーザが別のユーザに対して第２トークンを送金するための処理である。図９は、例示の第２トークン送金処理９００を表している。
【０１２２】
９０５は、ステップ８０５と同様のステップを示している。
９１０は、ステップ８１０と同様のステップを示している。但し、第２トークンの送金が指定されたものとする。
【０１２３】
９１５は、ステップ８１５と同様のステップを示している。但し、トランザクションには、送信元アドレスとして送金元ユーザのアドレスと、送金先ユーザを特定する情報と、指定された送金量とを含めることができる。
【０１２４】
９２０は、ステップ８２０と同様のステップを示している。
９２５は、ステップ９２０において送信されたトランザクションに基づいて、上に説明した仕組みにより、各ブロックチェーン・ノードが、第１トークン使用処理に対応したスマート・コントラクトの部分を実行することによって実行されるステップを示している。
【０１２５】
９３０は、第２トークンの送金を記憶するステップを示している。このステップは、ブロックチェーン・ノードが、
第２トークンの送金を示す情報と、
送金元ユーザを特定する情報と、
送金先ユーザを特定する情報と、
指定された送金量と、
入力されたタグと、
生成されたメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。
【０１２６】
９３５は、ブロックチェーン・ノードが、送金元ユーザに関連付けられた第２トークンの量を、送金量だけ減少させるステップを示している。
９４０は、ブロックチェーン・ノードが、送金先ユーザに関連付けられた第２トークンの量を、送金量だけ増加させるステップを示している。
【０１２７】
なお、ステップ９３０〜９４０は、任意の順序で実行してよい。
第２トークン送金処理９００によれば、第２トークンの送金ユーザに対しては、自身が保有する第２トークンの量を減少させるのみとなる。そのため、第２トークン送金処理９００によれば、システム１００の各ユーザは、損得勘定を抜きとした他者に対する評価を表現することができるようになる。
【０１２８】
１−３−５  定期処理
定期処理は、定期的に実行される処理であって、所定の条件を満たすか否かに応じて、各ユーザが保有する第１トークンの量を増減させるための処理である。図１０は、例示の定期処理１０００を表している。なお、定期処理１０００は、初期化処理の終了後に開始することができる。例えば、定期処理１０００は、初期化処理の終了後、所定の期間（例えば、２４時間）経過後に開始してもよいし、初期化処理の終了直後に開始してもよい。
【０１２９】
１００５は、ゲートウェイ１２０が、定期処理に対応したスマート・コントラクトの部分を実行するためのトランザクションを生成するステップを示している。このトランザクションは、
送信元アドレスとして特定ユーザのアドレスと、
送信先アドレスとして当該スマート・コントラクトのアドレスと、
当該部分を特定する情報と
を含むことができるが、これに限定されるわけではない。
【０１３０】
１０１０は、ゲートウェイ１２０が、生成したトランザクションを、ブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードに送信するステップを示している。
【０１３１】
１０１５は、ゲートウェイ１２０が、第１の所定の条件を満たしているかを判定するステップを示している。第１の所定の条件は、現在日時が第１トークンの期限を過ぎているという条件であることができる。第１の所定の条件は、現在日時を基準として、第１トークンの期限を過ぎてから所定の期間（例えば、２４時間）経過したという条件であってもよい。条件を満たしている場合には定期処理１０００は終了し、そうでない場合にはステップ１００５に戻る。なお、ステップ１００５に戻る場合に、ゲートウェイ１２０は、例えばゲートウェイ１２０において動作するＯＳのタイマ機能等を用いて、ステップ１００５を所定の期間（例えば、２４時間）経過後に実行することができる。
【０１３２】
従って、ステップ１００５〜１０１５は、１以上の回数繰り返されることになる。
１０２０は、ステップ１０１０において送信されたトランザクションに基づいて、上に説明した仕組みにより、各ブロックチェーン・ノードが、定期処理に対応したスマート・コントラクトの部分を実行することによって実行されるステップを示している。
【０１３３】
１０２５は、ブロックチェーン・ノードが、第２の所定の条件を満たしているかを判定するステップを示している。第２の所定の条件は、トランザクションに係る日時が、第１トークンの期限を過ぎているという条件であることができ、このステップは、記憶されている第１トークンの期限を取得するステップを含むことができる。条件を満たした場合にはステップ１０３０に進み、そうでない場合にはステップ１０３５に進む
１０３０は、ブロックチェーン・ノードが、第１トークン期限切れ処理を行うステップを示している。このステップについては、後述する。
【０１３４】
１０３５は、ブロックチェーン・ノードが、第３の所定の条件を満たしているかを判定するステップを示している。第３の所定の条件は、トランザクションに係る日時が、第１トークンを増減させるべき日時を過ぎているという条件であることができ、このステップは、記憶されている第１トークンを増減させるべき日時を取得するステップを含むことができる。なお、ブロックチェーン・ノードは、上述した初期化処理において、第１トークンを増減させるべき日時を記憶しておくことができる。条件を満たしている場合にはステップ１０４０に進み、そうでない場合にはスマート・コントラクトの部分の実行を終了する。
【０１３５】
１０４０は、ブロックチェーン・ノードが、第１トークン増減処理を行うステップを示している。このステップについては、後述する。
１０４５は、第３の所定の条件を更新するステップを示している。このステップは、記憶されている第１トークンを増減させるべき日時を更新する（例えば、当該日時を２４時間後に更新する）ステップを含むことができる。
【０１３６】
なお、ステップ１０４５は、ブロックチェーン・ノードが、記憶されている各ユーザに関連付けられた第１カウンタの値を所定値例えばゼロに初期化するステップを含むことができる。
【０１３７】
図１１は、例示の第１トークン期限切れ処理１１００を表している。
１１０５は、ブロックチェーン・ノードが、あるユーザを選択するステップを示している。なお、ステップ１１０５は、後述するように繰り返され得るため、このステップは、より詳細には、未だ選択していないユーザのうちのあるユーザを選択するステップであってよい。
【０１３８】
１１１０は、ブロックチェーン・ノードは、記憶されている選択したユーザに関連付けられた第１トークンの量を取得するステップを示している。
１１１５は、選択したユーザについての第１トークン期限切れ処理の実行を記憶する第１ステップを示している。システム１００において、この実行は、選択したユーザから特定ユーザへの取得した量の第１トークンの送金として記憶されることになり、このステップは、ブロックチェーン・ノードが、
第１トークンの送金を示す情報と、
送金元ユーザとして選択したユーザを特定する情報と、
送金先ユーザとして特定ユーザを特定する情報と、
送金量として取得した量と、
所定のタグ（例えば、「期限切れ」）と、
所定のメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。
【０１３９】
１１２０は、ブロックチェーン・ノードが、記憶されている選択したユーザに関連付けられた第１トークンの量を、取得した第１トークンの量だけ減少させるステップを示している。即ち、このステップにより、当該ユーザが保有する第１トークンの量はゼロとなる。
【０１４０】
なお、ステップ１１２０は、ブロックチェーン・ノードが、記憶されている特定ユーザに関連付けられた第１トークンの量を、取得した第１トークンの量だけ増加させるステップを含んでいてもよい
１１２５は、ブロックチェーン・ノードが、未だ選択していないユーザが存在するかを判定するステップを示している。未だ選択していないユーザが存在する場合にはステップ１１０５に戻り、そうでない場合には第１トークン期限切れ処理１１００を終了する。
【０１４１】
なお、ステップ１１１５及び１１２０は、任意の順番で実行することができる。
第１トークン期限切れ処理１１００によれば、第１トークンの期限が到来すれば、システム１００の各ユーザが保有する第１トークンの量はゼロとなり、第１トークンを使用することによって自身が保有する第２トークンの量を増加させることはできなくなる。従って、第１トークンの使用ユーザに対する第２トークンの増加を、システム１００を介したコミュニケーションを行ったという意味で、使用ユーザに対する肯定的評価によるものと考えた場合、第１トークン期限切れ処理１１００によれば、システム１００の各ユーザに対して第１トークンを使用するインセンティブを与えることになる。
【０１４２】
図１２は、例示の第１トークン増減処理１２００を表している。
１２０５は、ブロックチェーン・ノードが、あるユーザを選択するステップを示している。なお、ステップ１２０５は、後述するように繰り返され得るため、このステップは、より詳細には、未だ選択していないユーザのうちのあるユーザを選択するステップであってよい。
【０１４３】
１２１０は、ブロックチェーン・ノードが、選択したユーザについて第４の所定の条件を満たすかを判定するステップを示している。第４の所定の条件は、選択したユーザが、トランザクションに係る日時を基準とした過去所定の期間（例えば、２４時間）内に第１トークンを使用しているという条件であることができ、このステップは、記憶されている選択したユーザが第１トークンを最後に使用した日時を取得するステップを含むことができる。条件を満たしいている場合にはステップ１２１５に進み、そうでない場合にはステップ１２３０に進む。
【０１４４】
１２１５は、選択したユーザに対してボーナスを適用することを記憶するステップを示している。システム１００において、この適用は、特定ユーザから選択したユーザへの所定量の第１トークンの送金として記憶されることになり、このステップは、ブロックチェーン・ノードが、
第１トークンの送金を示す情報と、
送金元ユーザとして特定ユーザを特定する情報と、
送金先ユーザとして選択したユーザを特定する情報と、
送金量として第３の所定の量と、
所定のタグ（例えば、「ボーナス」）と、
所定のメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。また、「第３の所定の量」は、固定の所定量であってもよいが、選択したユーザによる第１トークンの使用の状況に応じて定まる量であってもよく、例えば、以下の式により定まる量であることができる。
【０１４５】
ｙ＝ｘ＋ａ＊ｃ      （２）
ここで、
ｙは第３の所定の量、
ｘは固定の所定量、
ａは所定の値、
ｃは、後述する、記憶されている選択したユーザに関連付けられた第２カウンタの値
である。なお、第２カウンタの値が記憶されていない場合には、ｃはゼロであってよい。
【０１４６】
１２２０は、記憶されている選択したユーザに関連付けられた第２カウンタの値を所定値例えば１だけインクリメントするステップを示している。記憶されている第２カウンタの値は、初期化処理の実行直前においてゼロであってよい。また、第２カウンタの値は、初期化処理の実行直前において記憶されていなくてもよく、その場合には、ステップ１２２０においてゼロからインクリメントされた値が記憶されてよい。
【０１４７】
１２２５は、選択したユーザに対してボーナスの適用を実現するステップを示している。ステップ１２２５は、ブロックチェーン・ノードが、記憶されている選択したユーザに関連付けられた第１トークンの量を、第３の所定の量だけ増加させるステップを含む。また、ステップ１２２５は、ブロックチェーン・ノードが、記憶されている特定ユーザに関連付けられた第１トークンの量を、第３の所定の量だけ減少させるステップを含むことができる。
【０１４８】
１２３０は、選択したユーザに対して自然減価を適用することを記憶するステップを示している。システム１００において、この適用は、選択したユーザから特定ユーザへの所定量の第１トークンの送金として記憶されることになり、このステップは、ブロックチェーン・ノードが、
第１トークンの送金を示す情報と、
送金元ユーザとして選択したユーザを特定する情報と、
送金先ユーザとして特定ユーザを特定する情報と、
送金量として第４の所定の量と、
所定のタグ（例えば、「自然減価」）と、
所定のメッセージＩＤと
を、イベントとして記憶するステップであることができる。なお、ブロックチェーン・ノードがイベントとして記憶するものは、これらに限定されるわけではない。また、第４の所定の量は、固定の所定量であってよい。
【０１４９】
１２３５は、記憶されている選択したユーザに関連付けられた第２カウンタの値を所定値例えばゼロに初期化するステップを示している。なお、第２カウンタの値が記憶されていない場合には、第２カウンタの値として所定値を記憶してよい。
【０１５０】
１２４０は、選択したユーザに対して自然減価の適用を実現するステップを示している。ステップ１２４０は、ブロックチェーン・ノードが、記憶されている選択したユーザに関連付けられた第１トークンの量を、第４の所定の量だけ減少させるステップを含む。また、ステップ１２４０は、ブロックチェーン・ノードが、記憶されている特定ユーザに関連付けられた第１トークンの量を、第４の所定の量だけ増加させるステップを含むことができる。
【０１５１】
１２４５は、ブロックチェーン・ノードが、未だ選択していないユーザが存在するかを判定するステップを示している。未だ選択していないユーザが存在する場合にはステップ１２０５に戻り、そうでない場合には第１トークン増減処理１２００を終了する。
【０１５２】
第１トークン増減処理１２００によれば、第１トークンを使用すれば保有する第１トークンの量が増加し、使用しなければ保有する第１トークンの量が減少することになり、第１トークンの使用如何によって第２トークンを増加させるために使用可能な第１トークンの量が増減することになる。従って、第１トークンの使用ユーザに対する第２トークンの増加を、システム１００を介したコミュニケーションを行ったという意味で、使用ユーザに対する肯定的評価によるものと考えた場合、第１トークン増減処理１２００によれば、システム１００の各ユーザに対して第１トークンを使用するインセンティブを与えることができる。
【０１５３】
また、第１トークン増減処理１２００によれば、各ユーザに対する第１トークンの増加量を、各ユーザによる第１トークンの使用の状況に応じたものとすることができ、例えば、連日第１トークンを使用したユーザに対しては、第１トークンの増加量をより大きいものとすることにより、システム１００のユーザに対して第１トークンを使用するインセンティブを更に与えることができる。
【０１５４】
１−３−６  トークン履歴出力生成処理
トークン履歴出力生成処理は、端末利用ユーザについてのトークン履歴画面３００を表示するための出力等を生成するための処理である。ここで、出力は、例えばＨＴＭＬファイルやｊｓｏｎ形式、ＣＳＶ形式のデータであってよいが、これらに限定されるわけではない。図１３は、例示のトークン履歴出力生成処理１３００を表している。
【０１５５】
１３０５は、端末１１０が、所定の出力、例えば、端末利用ユーザについての画面３００を表示するための出力を、ゲートウェイ１２０に要求するステップを示している。
１３１０は、ゲートウェイ１２０が、ブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードに、イベント・ログを要求するステップを示している。この要求は、トランザクションによるものであっても、そうでなくてもよい。
【０１５６】
１３１５は、ブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードが、ゲートウェイ１２０に、少なくとも一部のイベント・ログを返信するステップを示している。
【０１５７】
１３２０は、ゲートウェイ１２０が、取得したイベント・ログから、所定の条件を満たすイベント・ログを抽出するステップを示している。所定の条件は、送金元ユーザ又は送金先ユーザとして端末利用ユーザを特定する情報を含むという条件であってよい。また、所定の条件は、所定のタグ、例えば「出退勤」を含むという条件であってよい。
【０１５８】
なお、ブロックチェーン・ノード群１４０が含む少なくとも１つのブロックチェーン・ノードが、全てのイベント・ログから所定の条件を満たすイベント・ログを抽出し、ステップ１３１０において抽出したイベント・ログをゲートウェイ１２０に返信してもよく、その場合には、ステップ１３１５は不要である。
【０１５９】
１３２５は、ゲートウェイ１２０が、抽出されたイベント・ログに基づき、所定の出力を生成するステップを示している。なお、生成される出力には、抽出されたイベント・ログの全ての情報が含まれる必要はない。例えば、生成される出力には、画面３００が含むテーブルにおける特定の列に対応する情報のみを含めることができる。
【０１６０】
１３３０は、ゲートウェイ１２０が、生成した出力を端末１１０に返信するステップを示している。
１３３５は、端末１１０が、返信された出力に基づく処理、例えば、返信された出力に基づく画面３００の表示を行うステップを示している。
【０１６１】
ステップ１３０５において要求する端末１１０は、勤怠システムの一部としての端末であることができる。ここで、ステップ１３２０において「出退勤」のタグを含むイベント・ログを抽出し、ステップ１３２５において例えばＣＳＶ形式の出力を生成すれば、当該端末は、出力に含まれるイベント・ログに係る日時（例えば、画面３００が含むテーブルにおける「実行日時」の列の日時に対応）を勤怠に係る日時として用いることが可能となる。即ち、トークン履歴出力生成処理によれば、システム１００を勤怠管理に利用し、勤怠管理システムと連携させることができる。
【０１６２】
１−３−７  第２トークン送金関係視覚化画面生成処理
第２トークン送金関係視覚化画面生成処理は、第２トークン送金関係視覚化画面４００を表示するための出力を生成するための処理である。なお、この出力は、図４Ｄに関して上述した部分４１０を表示するための出力を含むことができる。この処理は、トークン履歴出力生成処理と同様の処理であってよい。
【０１６３】
但し、ステップ１３２０に相当するステップにおいて用いる所定の条件は、
期間（当該期間内の日時を有するイベント・ログを抽出する）と、
タグ（指定されたタグを含むイベント・ログを抽出する）と、
送金元ユーザ（送金元ユーザが、端末１１０において指定されたユーザであるイベント・ログを抽出する）と、
送金先ユーザ（送金先ユーザが、端末１１０において指定されたユーザであるイベント・ログを抽出する）と
のうちの少なくとも１つを含んでいてよい。なお、「イベント・ログ」の「日時」は、当該イベント・ログを記憶させたトランザクションに係る日時であってよい。また、このステップは、データベース１３０から各ユーザの属性を取得し、ある属性を有するユーザを所定の条件に含めるユーザとしてもよい。更に、所定の条件は、部分４１０が含むようなコンポーネントのうちの１以上を介して選択、指定又は入力され、端末１１０から受信したものであってよい。
【０１６４】
また、ステップ１３２５に相当するステップは、グラフ生成処理を含む。図１４Ａは、例示のグラフ生成処理１４００を表している。
１４０５は、あるユーザを選択するステップを示している。なお、ステップ１４０５は、後述するように繰り返され得るため、このステップは、より詳細には、未だ選択していないユーザのうちのあるユーザを選択するステップであってよい。
【０１６５】
１４１０は、ステップ１３２０に相当するステップにおいて抽出したイベント・ログから、選択したユーザが送金先ユーザとして記憶されているイベント・ログを更に抽出するステップを示している。
【０１６６】
１４１５は、更に抽出したイベント・ログから、１以上の送金元ユーザを特定するステップを示している。
１４２０は、更に抽出したイベント・ログから、特定した送金元ユーザごとに、送金量の合計を計算するステップを示している。
【０１６７】
１４２５は、抽出したイベント・ログ又は更に抽出したイベント・ログから、選択したユーザへの送金量を合計して、選択したユーザに対する第２トークンの送金の総量を計算するステップを示している。
【０１６８】
１４３０は、未だ選択していないユーザが存在するかを判定するステップを示している。未だ選択していないユーザが存在する場合にはステップ１４０５に戻り、そうでない場合にはステップ１４３５に進む。
【０１６９】
１４３５は、ステップ１４２０及び１４２５における計算結果に基づき、各ユーザに対応したノードの表現及び位置と、各有向エッジの表現及び両端の位置とを計算するステップを示している。また、ステップ１４３５は、ノードの形状や色を、当該ノードに対応したユーザの属性に基づき決定するステップを含んでいてよい。
【０１７０】
第２トークン送金関係視覚化画面生成処理によれば、ステップ１３２０に相当するステップにおいて用いる所定の条件として期間を用いることにより、ある期間内に生じた第２トークンの送金即ちコミュニケーションのみを可視化することができる。
【０１７１】
また、第２トークン送金関係視覚化画面生成処理によれば、ステップ１３２０に相当するステップにおいて用いる所定の条件としてタグを用いることにより、あるタグに対応した意味を有するコミュニケーションのみを可視化することができる。
【０１７２】
更に、第２トークン送金関係視覚化画面生成処理によれば、ステップ１３２０に相当するステップにおいて用いる所定の条件としてある属性を有するユーザを用いることにより、当該ユーザに対応したノードを選択的に表示することができるために、例えば、ある役職や役割を有するユーザについてのコミュニケーションのみを可視化することができる。
【０１７３】
図１４Ｂは、ステップ１４３５が含むことができる例示の処理１４５０を表している。
１４５５は、例示処理１４５０にて用いる変数ｉを１に初期化し、更に、各ノードの位置を初期化するステップを示している。各ノードの位置は、図４Ｂ及び４Ｃに関して上述したように、所属コードの値が近いユーザに対応したノードがより近接して配置されるように初期化されることが好ましい。
【０１７４】
１４６０は、第ｉ階層における複数のグループのうちの１つを選択するステップを示している。なお、ｉの値が小さいほど下位の階層を表すものとしてよい。
１４６５は、選択したグループに属する１以上のユーザにそれぞれ対応する１以上のノードの位置から、選択したグループに対応する１つのノードの位置を計算するステップを示している。ここで、「グループに対応するノード」は、当該グループに属する１以上のユーザそれぞれに対応した１以上のノード全体に相当するものであって、一意に定まる位置を計算できるのであれば、その形状はどのようなものと考えてもよい（システム１００において、「グループに対応するノード」自体を表示する必要はない）が、理解を容易とするため、図４Ｃ、４Ｅ及び４Ｆにおける点線に相当するものと考えてもよい。また、計算される「グループに対応するノード」の位置は、当該グループに属する１以上のユーザのそれぞれに対応する１以上のノードの位置から一意に定まる位置であればよく、例えば、１以上のユーザのそれぞれに対応する１以上のノードの位置の重心であってよい。
【０１７５】
１４７０は、第ｉ階層における複数のグループのうち、未だ選択していないグループが存在するかを判定するステップを示している。未だ選択していないグループが存在する場合にはステップ１４６０に戻り、そうでない場合にはステップ１４７５に進む。
【０１７６】
１４７５は、第ｉ階層に対応したパラメータを取得するステップを示している。このパラメータは、第ｉ階層に対応した、図４Ｄに関して上述したコンポーネント４１６のノブ４１６Ａに応じた値であってよい。
【０１７７】
１４８０は、第ｉ階層における複数のグループにそれぞれ対応する複数のノード間の距離が取得したパラメータに応じた値となるように、各グループに対応したノードの位置を調整するステップを示している。ここで、「複数のグループにそれぞれ対応する複数のノード間の距離」は、「各グループに対応したノードの位置」を基準としたものであってよい。なお、取得したパラメータが特定の値（例えば、コンポーネント４１６のノブ４１６Ａの位置が初期位置（例えば、コンポーネント４１６の中央）であるときに取得した値）の場合、ステップ１４８０において、各グループに対応したノードの位置の調整は実質的に行われない場合があることに留意されたい。
【０１７８】
１４８５は、調整された各グループに対応するノードの位置に基づき、各ユーザに対応するノードの位置を調整するステップを示している。このステップは、調整によりあるグループに対応するノードの位置がある方向にある距離だけ移動した場合に、当該あるグループに属する１以上のユーザに対応するノード全ての位置を、当該ある方向に当該ある距離だけ移動させるステップを含むことができる。なお、ステップ１４８０において各グループに対応したノードの位置の調整が実質的に行われていない場合、各ユーザに対応するノードの位置の調整も実質的に行われない（即ち、各ノードの位置の移動は生じない。）ことに留意されたい。
【０１７９】
１４９０は、変数ｉをインクリメントするステップを示している。
１４９５は、変数ｉが１以上の階層の数ｎ以下であるかを判定するステップを示している。変数ｉが１以上の階層の数ｎ以下である場合には処理はステップ１４６０に戻り、そうでない場合には終了する。なお、ｎは１でありうることに留意されたい。
【０１８０】
例示処理１４５０によれば、多数のノードが存在する場合であっても、ノード間の表示上の間隔を調整した見やすいグラフを提示することができる。
１−３−８  第２トークン送金回数視覚化画面生成処理
第２トークン送金回数視覚化画面生成処理は、第２トークン送金回数視覚化画面５００を表示するための出力を生成するための処理である。この処理は、第２トークン送金関係視覚化画面生成処理と同様の処理であってよい。
【０１８１】
但し、グラフ生成処理は、図１５に表す例示処理１５００であることができる。
１５０５は、あるユーザを選択するステップを示している。なお、ステップ１５０５は、後述するように繰り返され得るため、このステップは、より詳細には、未だ選択していないユーザのうちのあるユーザを選択するステップであってよい。
【０１８２】
１５１０は、ステップ１３２０に相当するステップにおいて抽出したイベント・ログにおいて、選択したユーザが送金元ユーザとして記憶されているイベント・ログの数をカウントして、送金回数を計算するステップを示している。
【０１８３】
１５１５は、抽出したイベント・ログにおいて、選択したユーザが送金先ユーザとして記憶されているイベント・ログの数をカウントして、被送金回数を計算するステップを示している。
【０１８４】
１５２０は、抽出したイベント・ログから、選択したユーザへの送金量を合計して、選択したユーザに対する第２トークンの送金の総量を計算するステップを示している。
１５２５は、未だ選択していないユーザが存在するかを判定するステップを示している。未だ選択していないユーザが存在する場合にはステップ１５０５に戻り、そうでない場合にはステップ１５３０に進む。
【０１８５】
１５３０は、ステップ１５１０〜１５２０における計算結果に基づき、各ユーザに対応した図形の表現及び位置を計算するステップを示している。
１−３−９  トークン・ランキング画面生成処理
トークン・ランキング画面生成処理は、トークン・ランキング画面６００を表示するための出力を生成するための処理である。この処理は、トークン送金関係視覚化画面生成処理と同様の処理であってよいが、ステップ１４１５、１４２０及び１４３５に相当するステップは不要である。
【０１８６】
２  本発明の別実施形態
本発明の実施形態の別例は、ユーザ間でトークンを交換するための別のシステムである。
【０１８７】
本システムの概略構成は図１に表すものと同様であってよいが、本システムは、システム１００に関して述べた第１トークンに加えて又は代えて、複数の種類のトークンを交換するためのシステムである。この複数の種類のトークンは、発行元、入手先及び用途のうちの１以上が異なるものであってよい。また、この複数の種類のトークンに、システム１００に関して述べた第２トークンが含まれていてもよい。従って、例えば、本システムが、システム１００に関して述べた第１トークンと、第２トークンを含む複数の種類のトークンとを交換することが可能である場合には、本システムにおいては、少なくとも、送金できない第１トークン及び送金できる第２トークンという用途の異なる複数の種類のトークンが存在することになる。以下、本システムは、複数の種類のトークンとして、αトークン、βトークン及びγトークンを交換するものとする。
【０１８８】
２−１  本システムにおいて表示される例示の画面
本システムにおいて表示される画面は、端末１１０において表示されるものと仮定しているが、別のコンピュータにおいて表示されてもよい。
【０１８９】
２−１−１  トークン保有割合視覚化画面
図１６Ａは、例示のトークン保有割合視覚化画面１６００を表している。画面１６００には、ノードと有向エッジとから構成されたグラフが含まれている。
【０１９０】
画面１６００に含まれるグラフにおいて、「Ａ」から「Ｅ」がそれぞれ付されたノードは、ユーザＡ〜ユーザＥのそれぞれに対応しており、ノードの表現は、対応するユーザが保有する複数のトークンの量に応じたものとなっている。なお、この図における「ノード」は、対応するユーザが保有する複数トークンの保有割合を表す円グラフであるが、これらに限定されるわけではない。また、円グラフである「ノードの表現」は、円グラフにおける色分け（複数トークンうちの各トークンの保有量に対応する部分をそれぞれ異なる色とする。）を含む。
【０１９１】
画面１６００に含まれるグラフにおいて、２つのノードのうちの一方から他方に延びる一方向又は双方向有向エッジは、一方向有向エッジである場合には一方に対応したユーザから他方に対応したユーザに向けて、双方向有向エッジである場合には双方向に、複数種類のトークンのうちの１以上のトークンの送金があったことに対応している。また、有向エッジの表現は、送金されたトークンの種類に応じたものとなっている。なお、この図における「有向エッジの表現」は、送金されたトークンの種類を示す図形（例えば、この図においては、ＣさんとＤさんとの間で双方向にγトークンが送金されたことが表されている。）であるが、これに限定されるわけではない。
【０１９２】
２−１−２  トークン種類別保有量視覚化画面
図１６Ｂは、例示のトークン種類別保有量視覚化画面１６２５を表している。画面１６２５は、トークン種類ごと及びユーザごとのトークン保有量を表すテーブルを含んでいる。
【０１９３】
２−２  本システムにおける例示の処理
２−２−１  各種トークン送金処理
各種トークン送金処理は、システム１００における第２トークン送金処理と同様のものであってよい。従って、例えば、αトークン送信処理によれば、ブロックチェーン・ノードには、少なくとも、
αトークンの送金を示す情報と、
送金元ユーザを特定する情報と、
送金先ユーザを特定する情報と、
指定された送金量と
が、イベントとして記憶されてよい。
【０１９４】
２−２−２  トークン保有割合視覚化画面生成処理
トークン保有割合視覚化画面生成処理は、トークン保有割合視覚化画面１６００を表示するための出力を生成するための処理である。この処理は、トークン送金関係視覚化画面生成処理と同様の処理であってよい。
【０１９５】
但し、グラフ生成処理は、
更に抽出したイベント・ログから、特定した送金元ユーザごとに、送金したトークンの１以上の種類を特定するステップと、
抽出したイベント・ログ又は更に抽出したイベント・ログから、トークンの種類ごとに、選択したユーザに対する送金の総量を計算するステップと、
計算されたトークンの種類ごとの選択したユーザに対する送金の総量に基づき、円グラフを表示するために必要な情報を計算するステップと
を更に含むことができる。
【０１９６】
２−２−３  トークン種類別保有量視覚化画面生成処理
トークン種類別保有量視覚化画面生成処理は、トークン種類別保有量視覚化画面１６２５を表示するための出力を生成するための処理である。この処理は、トークン履歴出力生成処理と同様の処理であってよい。
【０１９７】
但し、トークン種類別保有量視覚化画面生成処理は、ステップ１３２０に相当するステップを含まなくてもよい。また、ステップ１３２５に相当するステップは、図１６Ｃに表される例示処理１６５０を含むことができる。  
【０１９８】
１６５５は、あるユーザを選択するステップを示している。なお、ステップ１６５５は、後述するように繰り返され得るため、このステップは、より詳細には、未だ選択していないユーザのうちのあるユーザを選択するステップであってよい。
【０１９９】
１６６０は、返信されたイベント・ログから、トークンの種類ごとに、選択したユーザへの送金量の合計を計算するステップを示している。
１６６５は、未だ選択していないユーザが存在するかを判定するステップを示している。未だ選択していないユーザが存在する場合にはステップ１６５５に戻り、そうでない場合には、ゲートウェイ１２０は、ステップ１６６０における計算結果に基づき、トークン種類別保有量視覚化画面を表示するための出力を生成することになる。
【０２００】
２−３  本システムの活用事例
２−３−１  第１の事例
金融機関向けにシステム開発を請け負うα社の正社員Ｘさんは、客先のプロジェクトでリーダーとしてシステム開発に従事しているため、入社以来ずっと客先に常駐しており、α社内ではあまり知られていない存在であった。一方で、α社のユーザ企業であるβ銀行の担当者からは高い評価を受けており、その感謝の気持ちとして、β銀行担当者Ｙさんは、β銀行が発行するβトークンをＸさんに送金することとなった。これにより、α社のＸさんはβトークンを保有することとなった。即ち、あるトークンの保有量は、当該トークンに対応した主体向けの人財としての評価の高さに基本的には比例することになる。
【０２０１】
また、α社の開発パートナー企業であるγ社のエンジニアＱさんは、Ｘさんとともにβ銀行のプロジェクトに参画していたが、Ｑさんの労をいとわない働きにいつも助けられていたため、Ｘさんは、Ｑさんへ感謝の気持ちとして、βトークンと、α社が発行するαトークンとを送金することとなった。そのため、γ社のＱさんはαトークンとβトークンとの双方を保有することとなった。
【０２０２】
その後、ＸさんやＱさんは別々の銀行にアサインされたが、それぞれの銀行ではあまり評価される事はなかった。
あるとき、β銀行向けの案件でトラブルが発生し、うまく解決できる人財・チームを探すことになった。その際、本システムのトークン保有割合視覚化画面１６００から、
過去、Ｘさんにはβトークンが送金されていること、
過去、ＱさんにはＸさんからαトークン及びβトークンが送金されていること
が容易に読み取れたため、ＸさんとＱさんとβ銀行との関係性・組み合わせが明らかとなり、両社は再びβ銀行の案件にＸさんとＱさんとをチームとしてアサインし、その結果、ＸさんとＱさんの活躍により見事にトラブルは解決されることになった。後日、β銀行担当者ＹさんからからＸさんへβトークンが更に送金され、Ｘさんは送金されたβトークンを更にＱさんへ送金した。
【０２０３】
このように、本システムによれば、ＸさんとＱさんのβ銀行向けシステム開発の評価即ちＸさんとＱさんの人員配置が効果的だということを、ブロックチェーン上の記録から容易に読み取ることができるようになる。
【０２０４】
２−３−２  第２の事例
各企業・団体（以下、「企業等」という。）が、その企業等に何らかの形で寄与する活動・貢献に対して、各企業等が発行するその企業のトークンを送金するという状況を仮定する。具体的には、ある企業等が販売している製品に不可欠なソフトウエア（ライブラリ）がオープンソースで一般の技術者によって開発されている場合、その技術者の所属に関係なく当該企業等が発行するトークンを送金するという状況を仮定する。
【０２０５】
そのような状況のもとでは、ある企業等に対応したトークンの保有量は、当該企業についての技術者のスキル証明（改ざん不可能）となることができる。
また、各種セミナーや勉強会での挨拶代わりにトークンを交換することを仮定した場合、このような入手先の異なる各種トークンの送金関係や保有量の比率は、一連の人の繋がりを表すことになる。
【０２０６】
即ち、本システムによれば、ある企業等の社外の技術者が当該企業向けのスキルを有していることや、一連の人の繋がりを可視化するプラットフォームを提供することができる。
【０２０７】
３  コンピュータ
以下、端末１１０、ゲートウェイ１２０、データベース１３０及びブロックチェーン・ノードとして用いることができるコンピュータのハードウエア構成の一例について説明する。
【０２０８】
図１７は、コンピュータのハードウエア構成の一例を表している。同図に示すように、コンピュータ１７００は、ハードウエア資源として、主に、プロセッサ１７１０と、主記憶装置１７２０と、補助記憶装置１７３０と、ユーザインターフェース１７４０と、通信インターフェース１７５０とを備えており、これらはアドレスバス、データバス、コントロールバス等を含むバスライン１７６０を介して相互に接続されている。なお、バスライン１７６０と各ハードウエア資源との間には適宜インターフェース回路（図示せず）が介在している場合もある。
【０２０９】
プロセッサ１７１０は、コンピュータ全体の制御を行う。
主記憶装置１７２０は、プロセッサ１７１０に対して作業領域を提供し、ＳＲＡＭ、ＤＲＡＭ等の揮発性メモリである。
【０２１０】
補助記憶装置１７３０は、ソフトウエアであるプログラム等やデータ等を格納する、ハードディスクドライブ、フラッシュメモリ等の不揮発性メモリである。当該プログラムは、任意の時点で補助記憶装置１７３０からバスライン１７６０を介して主記憶装置１７２０へとロードされる。
【０２１１】
ユーザインターフェース１７４０は、ユーザに情報を提示すること及びユーザから情報の入力を受けることの一方又は双方を行うものであり、デジタル・カメラ、キーボード、マウス、ディスプレイ、タッチパネルディスプレイ、マイク、スピーカ等である。
【０２１２】
通信インターフェース１７５０は、ネットワーク１７７０と接続されるものであり、ネットワーク１７７０を介してデータを送受する。通信インターフェース１７５０とネットワーク１７７０とは、有線又は無線で接続されうる。通信インターフェース１７５０は、ネットワークに係る情報、例えば、Ｗｉｆｉのアクセスポイントに係る情報、通信キャリアの基地局に関する情報等も取得することがある。
【０２１３】
上に例示したハードウエア資源とソフトウエアである例えばプログラムとの協働により、コンピュータは、所望の手段として機能し、所望のステップを実行し、所望の機能を実現させることできることは、当業者には明らかであろう。
【０２１４】
４  むすび
以上、本発明の実施形態の幾つかの例を説明してきたが、これらは例示にすぎず、本発明の技術的範囲を限定するものではないことが理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良などを適宜行うことができることが理解されるべきである。本発明の技術的範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によってのみ規定されるべきである。
【図１】
2019212165.tif 000003
【図２】
2019212165.tif 000004
【図３】
2019212165.tif 000005
【図４Ａ】
2019212165.tif 000006
【図４Ｂ】
2019212165.tif 000007
【図４Ｃ】
2019212165.tif 000008
【図４Ｄ】
2019212165.tif 000009
【図４Ｅ】
2019212165.tif 000010
【図４Ｆ】
2019212165.tif 000011
【図５】
2019212165.tif 000012
【図６】
2019212165.tif 000013
【図７Ａ】
2019212165.tif 000014
【図７Ｂ】
2019212165.tif 000015
【図８】
2019212165.tif 000016
【図９】
2019212165.tif 000017
【図１０】
2019212165.tif 000018
【図１１】
2019212165.tif 000019
【図１２】
2019212165.tif 000020
【図１３】
2019212165.tif 000021
【図１４Ａ】
2019212165.tif 000022
【図１４Ｂ】
2019212165.tif 000023
【図１５】
2019212165.tif 000024
【図１６Ａ】
2019212165.tif 000025
【図１６Ｂ】
2019212165.tif 000026
【図１６Ｃ】
2019212165.tif 000027
【図１７】
2019212165.tif 000028
【手続補正書】
【提出日】令和1年10月21日(2019.10.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１コンピュータが、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
第１ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を第１ユーザに関連付けられた第１トークンの新たな量として記憶する第１ステップと、
第２ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第２ユーザに関連付けられた第２トークンの新たな量として記憶するとともに、第１ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第１ユーザに関連付けられた第２トークンの新たな量として記憶する第２ステップと
を含むステップ
を含み、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき第１コンピュータが行うステップによっては、第２ユーザに関連付けられた第１トークンの記憶されている量が増加しないことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
第１ステップは、第１ユーザに関連付けられた第１トークンの取得した量を第１の所定量だけ減少させるステップを含み、
第２ステップは、第１ユーザに関連付けられた第２トークンの取得した量を第１の所定量に第１の所定の割合を乗じた量だけ増加させるステップを含み、
前記方法は、
第１コンピュータが、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられたカウンタの値に基づき、第１の所定の割合を計算するステップであって、前記カウンタの値が増えたときに、第１の所定の割合が増えないように計算するステップと、
第１ユーザに関連付けられたカウンタの記憶されている値を取得し、取得した当該値をインクリメントし、インクリメントした当該値を第１ユーザに関連付けられたカウンタの新たな値として記憶するステップと
を含むステップ
を含む、方法。
【請求項３】
請求項１又は２に記載の方法であって、
第１コンピュータが、第１ユーザが第２ユーザに対して第２トークンを送金するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
第１ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を第１ユーザに関連付けられた第２トークンの新たな量として記憶するステップと、
第２ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第２ユーザに関連付けられた第２トークンの新たな量として記憶するステップと
を含むステップ
を更に含む方法。
【請求項４】
請求項１から３のうちの何れか一項に記載の方法であって、
第２コンピュータが、定期処理を行うためのトランザクションを、ブロックチェーンに記憶されるように第１コンピュータに送信することを、１以上の回数行うステップと、
第１コンピュータが、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき、当該トランザクションに係る日時を、第１ユーザに関連付けられた日時として記憶するステップと、
第１コンピュータが、定期処理を行うためのトランザクションに基づき、定期処理としてユーザごとに行うステップであって、
当該ユーザに関連付けられた記憶されている日時を取得し、取得した当該日時が、定期処理を行うためのトランザクションに係る日時を基準として、所定の時間の長さよりも前であるという第１の条件を満たしているかを判定するステップと、
第１の条件を満たしている場合に、当該ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を当該ユーザに関連付けられた第１トークンの新たな量として記憶し、そうでない場合に、当該ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を当該ユーザに関連付けられた第１トークンの新たな量として記憶するステップと
を含むステップと
を含む方法。
【請求項５】
請求項４に記載の方法であって、
ブロックチェーンに記憶されるトランザクションに基づき、第１コンピュータが、第１トークンの期限の日時を記憶するステップと、
第１コンピュータが、定期処理を行うためのトランザクションに基づき定期処理として行うステップであって、
第１トークンの期限の記憶されている日時を取得し、取得した当該日時よりも、定期処理を行うためのトランザクションに係る日時が後であるという第２の条件を判定するステップと、
第２の条件を満たしている場合に、各ユーザに関連付けられた第１トークンの量としてゼロを記憶するステップと
を含むステップと
を含む方法。
【請求項６】
請求項１から５のうちの何れか一項に記載の方法であって、
第１コンピュータが、前記のトランザクションに基づき、所定のスマート・コントラクトにおいて定義された情報であって、所定のスマート・コントラクトは、当該トランザクションが第１コンピュータに実行させる処理を少なくとも部分として定義したものである、情報をイベントとして記憶するステップと、
第２コンピュータが、第１コンピュータにイベントとして記憶されている情報であるイベント・ログを取得するステップと
を含む方法。
【請求項７】
請求項６に記載の方法であって、
イベント・ログを取得するステップは、第２コンピュータが、イベント・ログのうち、第３の条件を満たすイベント・ログを取得するステップを含む、
方法。
【請求項８】
請求項７に記載の方法であって、
第３の条件は、
イベント・ログに係る日時が所定の期間内であることと、
イベント・ログが所定のタグを含むことと、
イベント・ログが所定の送金元ユーザを含むことと、
イベント・ログが所定の送金先ユーザを含むことと
のうちの１以上を含む、
方法。
【請求項９】
請求項６から８のうちの何れか一項に記載の方法であって、
前記のトランザクションは、タグ及びメッセージＩＤを含み、
前記方法は、
第２コンピュータが、取得したイベント・ログに基づき、トランザクションに対応した情報のうちの少なくとも一部を表示するステップであって、トランザクションに対応した情報のうちの少なくとも一部は、当該トランザクションが含むタグ、及び、当該トランザクションが含むメッセージＩＤによって特定されるメッセージを含む、ステップ
を含む、方法。
【請求項１０】
請求項６から９のうちの何れか一項に記載の方法であって、
第２コンピュータが、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップ
を含み、
第１のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードの表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各有向エッジは、第２トークンの送金元ユーザに対応するノードから送金先ユーザに対応するノードに延び、各有向エッジの表現は、当該有向エッジの一端である送金元ユーザからの送金量の合計に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
第２トークンの送金元ユーザは、第１トークンの使用ユーザを含み、
第２トークンの送金先ユーザは、第１トークンの被使用ユーザを含む、
方法。
【請求項１１】
請求項１０に記載の方法であって、
前記ノードは、対応するユーザについてのトークンに係る比率を表す円グラフであり、
前記ノードの表現は、前記円グラフの大きさである、
方法。
【請求項１２】
請求項１０又は１１のうちの何れか一項に記載の方法であって、
各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属し、各グループには１以上のユーザが属し、
取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップは、前記１以上の階層のうちの１つの階層について、
当該１つの階層における複数のグループのうちの各グループについて、当該グループに属する１以上のユーザにそれぞれ対応した１以上のノード全体を当該グループに対応する１つのノードとおき、当該１つの階層における複数のグループにそれぞれ対応する複数のノード間の距離が、当該１つの階層に対応したパラメータに応じたものとなるように、各ユーザに対応したノードの位置を調整するステップ
を含む、方法。
【請求項１３】
請求項６から１２のうちの何れか一項に記載の方法であって、
第２コンピュータが、取得したイベント・ログに基づき第２のグラフを表示するための出力を生成するステップ
を含み、
第２のグラフは、第１の軸と第２の軸とを有し、複数の図形を含み、
各図形は、ユーザに対応し、
各図形の表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各図形の第１の軸及び第２の軸についての位置は、それぞれ、対応するユーザが第２トークンを送金した回数、及び、対応するユーザに第２トークンが送金された回数に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
ユーザが第２トークンを送金した回数は、当該ユーザが第１トークンを使用した回数を含み、
ユーザに第２トークンが送金された回数は、当該ユーザに第１トークンが使用された回数を含む、
方法。
【請求項１４】
請求項６から１３のうちの何れか一項に記載の方法であって、
第１コンピュータが、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して、発行元、入手先及び用途のうちの１以上が異なる複数種類のトークンのうちの少なくとも１つを送金するためのトランザクションに基づき、当該トランザクションに係る情報を、イベントとして記憶するステップと、
第２コンピュータが、取得したイベント・ログに基づき、第３のグラフを表示するための出力を生成するステップと
を含み、
第３のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードは、対応するユーザに送金された複数種類のトークンの量の比率を表す円グラフであり、
各有向エッジは、複数のトークンのうちの少なくとも１つの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びる、
方法。
【請求項１５】
１以上のコンピュータを含むシステムであって、前記システムが含む第１コンピュータは、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
第１ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を第１ユーザに関連付けられた第１トークンの新たな量として記憶する第１ステップと、
第２ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第２ユーザに関連付けられた第２トークンの新たな量として記憶するとともに、第１ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第１ユーザに関連付けられた第２トークンの新たな量として記憶する第２ステップと
を含むステップ
を実行し、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき第１コンピュータが行うステップによっては、第２ユーザに関連付けられた第１トークンの記憶されている量が増加しないことを特徴とする、システム。
【請求項１６】
請求項１５に記載のシステムであって、
第１ステップは、第１ユーザに関連付けられた第１トークンの取得した量を第１の所定量だけ減少させるステップを含み、
第２ステップは、第１ユーザに関連付けられた第２トークンの取得した量を第１の所定量に第１の所定の割合を乗じた量だけ増加させるステップを含み、
前記システムが含む第１コンピュータは、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられたカウンタの値に基づき、第１の所定の割合を計算するステップであって、前記カウンタの値が増えたときに、第１の所定の割合が増えないように計算するステップと、
第１ユーザに関連付けられたカウンタの記憶されている値を取得し、取得した当該値をインクリメントし、インクリメントした当該値を第１ユーザに関連付けられたカウンタの新たな値として記憶するステップと
を含むステップ
を実行する、システム。
【請求項１７】
請求項１５又は１６に記載のシステムであって、
前記システムが含む第１コンピュータは、第１ユーザが第２ユーザに対して第２トークンを送金するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
第１ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を第１ユーザに関連付けられた第２トークンの新たな量として記憶するステップと、
第２ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第２ユーザに関連付けられた第２トークンの新たな量として記憶するステップと
を含むステップを更に実行する、
システム。
【請求項１８】
請求項１５から１７のうちの何れか一項に記載のシステムであって、
前記システムが含む第２コンピュータは、定期処理を行うためのトランザクションを、ブロックチェーンに記憶されるように第１コンピュータに送信することを、１以上の回数行うステップを実行し、
前記システムが含む第１コンピュータは、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき、当該トランザクションに係る日時を、第１ユーザに関連付けられた日時として記憶するステップと、
定期処理を行うためのトランザクションに基づき、定期処理としてユーザごとに行うステップであって、
当該ユーザに関連付けられた記憶されている日時を取得し、取得した当該日時が、定期処理を行うためのトランザクションに係る日時を基準として、所定の時間の長さよりも前であるという第１の条件を満たしているかを判定するステップと、
第１の条件を満たしている場合に、当該ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を当該ユーザに関連付けられた第１トークンの新たな量として記憶し、そうでない場合に、当該ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を当該ユーザに関連付けられた第１トークンの新たな量として記憶するステップと
を含むステップと
を実行する、システム。
【請求項１９】
請求項１８に記載のシステムであって、前記システムが含む第１コンピュータは、
ブロックチェーンに記憶されるトランザクションに基づき、第１トークンの期限の日時を記憶するステップと、
定期処理を行うためのトランザクションに基づき定期処理として行うステップであって、
第１トークンの期限の記憶されている日時を取得し、取得した当該日時よりも、定期処理を行うためのトランザクションに係る日時が後であるという第２の条件を判定するステップと、
第２の条件を満たしている場合に、各ユーザに関連付けられた第１トークンの量としてゼロを記憶するステップと
を含むステップと
を実行する、システム。
【請求項２０】
請求項１５から１９のうちの何れか一項に記載のシステムであって、
前記システムが含む第１コンピュータは、前記のトランザクションに基づき、所定のスマート・コントラクトにおいて定義された情報であって、所定のスマート・コントラクトは、当該トランザクションが第１コンピュータに実行させる処理を少なくとも部分として定義したものである、情報をイベントとして記憶するステップを実行し、
前記システムが含む第２コンピュータは、第１コンピュータにイベントとして記憶されている情報であるイベント・ログを取得するステップを実行する、
システム。
【請求項２１】
請求項２０に記載のシステムであって、
イベント・ログを取得するステップは、イベント・ログのうち、第３の条件を満たすイベント・ログを取得するステップを含む、
システム。
【請求項２２】
請求項２１に記載のシステムであって、
第３の条件は、
イベント・ログに係る日時が所定の期間内であることと、
イベント・ログが所定のタグを含むことと、
イベント・ログが所定の送金元ユーザを含むことと、
イベント・ログが所定の送金先ユーザを含むことと
のうちの１以上を含む、
システム。
【請求項２３】
請求項２０から２２のうちの何れか一項に記載のシステムであって、
前記のトランザクションは、タグ及びメッセージＩＤを含み、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき、トランザクションに対応した情報のうちの少なくとも一部を表示するステップであって、トランザクションに対応した情報のうちの少なくとも一部は、当該トランザクションが含むタグ、及び、当該トランザクションが含むメッセージＩＤによって特定されるメッセージを含む、ステップを実行する、
システム。
【請求項２４】
請求項２０から２３のうちの何れか一項に記載のシステムであって、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップを実行し、
第１のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードの表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各有向エッジは、第２トークンの送金元ユーザに対応するノードから送金先ユーザに対応するノードに延び、各有向エッジの表現は、当該有向エッジの一端である送金元ユーザからの送金量の合計に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
第２トークンの送金元ユーザは、第１トークンの使用ユーザを含み、
第２トークンの送金先ユーザは、第１トークンの被使用ユーザを含む、
システム。
【請求項２５】
請求項２４に記載のシステムであって、
前記ノードは、対応するユーザについてのトークンに係る比率を表す円グラフであり、
前記ノードの表現は、前記円グラフの大きさである、
システム。
【請求項２６】
請求項２４又は２５のうちの何れか一項に記載のシステムであって、
各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属し、各グループには１以上のユーザが属し、
取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップは、前記１以上の階層のうちの１つの階層について、
当該１つの階層における複数のグループのうちの各グループについて、当該グループに属する１以上のユーザにそれぞれ対応した１以上のノード全体を当該グループに対応する１つのノードとおき、当該１つの階層における複数のグループにそれぞれ対応する複数のノード間の距離が、当該１つの階層に対応したパラメータに応じたものとなるように、各ユーザに対応したノードの位置を調整するステップ
を含む、システム。
【請求項２７】
請求項２０から２６のうちの何れか一項に記載のシステムであって、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき第２のグラフを表示するための出力を生成するステップを実行し、
第２のグラフは、第１の軸と第２の軸とを有し、複数の図形を含み、
各図形は、ユーザに対応し、
各図形の表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各図形の第１の軸及び第２の軸についての位置は、それぞれ、対応するユーザが第２トークンを送金した回数、及び、対応するユーザに第２トークンが送金された回数に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
ユーザが第２トークンを送金した回数は、当該ユーザが第１トークンを使用した回数を含み、
ユーザに第２トークンが送金された回数は、当該ユーザに第１トークンが使用された回数を含む、
システム。
【請求項２８】
請求項２０から２７のうちの何れか一項に記載のシステムであって、
前記システムが含む第１コンピュータは、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して、発行元、入手先及び用途のうちの１以上が異なる複数種類のトークンのうちの少なくとも１つを送金するためのトランザクションに基づき、当該トランザクションに係る情報を、イベントとして記憶するステップを実行し、
前記システムが含む第２コンピュータは、取得したイベント・ログに基づき、第３のグラフを表示するための出力を生成するステップを実行し、
第３のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードは、対応するユーザに送金された複数種類のトークンの量の比率を表す円グラフであり、
各有向エッジは、複数のトークンのうちの少なくとも１つの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びる、
システム。
【請求項２９】
１以上のプログラムであって、第１コンピュータに、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
第１ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を第１ユーザに関連付けられた第１トークンの新たな量として記憶する第１ステップと、
第２ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第２ユーザに関連付けられた第２トークンの新たな量として記憶するとともに、第１ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第１ユーザに関連付けられた第２トークンの新たな量として記憶する第２ステップと
を含むステップ
を実行させ、第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき第１コンピュータが行うステップによっては、第２ユーザに関連付けられた第１トークンの記憶されている量が増加しないことを特徴とする１以上のプログラム。
【請求項３０】
請求項２９に記載の１以上のプログラムであって、
第１ステップは、第１ユーザに関連付けられた第１トークンの取得した量を第１の所定量だけ減少させるステップを含み、
第２ステップは、第１ユーザに関連付けられた第２トークンの取得した量を第１の所定量に第１の所定の割合を乗じた量だけ増加させるステップを含み、
第１コンピュータに、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき行うステップであって、
記憶されている第１ユーザに関連付けられたカウンタの値に基づき、第１の所定の割合を計算するステップであって、前記カウンタの値が増えたときに、第１の所定の割合が増えないように計算するステップと、
第１ユーザに関連付けられたカウンタの記憶されている値を取得し、取得した当該値をインクリメントし、インクリメントした当該値を第１ユーザに関連付けられたカウンタの新たな値として記憶するステップと
を含むステップ
を実行させる１以上のプログラム。
【請求項３１】
請求項２９又は３０に記載の１以上のプログラムであって、
第１コンピュータに、第１ユーザが第２ユーザに対して第２トークンを送金するためのトランザクションであって、ブロックチェーンに記憶されるトランザクションに基づき行うステップであって、
第１ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を第１ユーザに関連付けられた第２トークンの新たな量として記憶するステップと、
第２ユーザに関連付けられた第２トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を第２ユーザに関連付けられた第２トークンの新たな量として記憶するステップと
を含むステップを更に実行させる
１以上のプログラム。
【請求項３２】
請求項２９から３１のうちの何れか一項に記載の１以上のプログラムであって、
第２コンピュータに、定期処理を行うためのトランザクションを、ブロックチェーンに記憶されるように第１コンピュータに送信することを、１以上の回数行うステップを実行させ、
第１コンピュータに、
第１ユーザが第２ユーザに対して第１トークンを使用するためのトランザクションに基づき、当該トランザクションに係る日時を、第１ユーザに関連付けられた日時として記憶するステップと、
定期処理を行うためのトランザクションに基づき、定期処理としてユーザごとに行うステップであって、
当該ユーザに関連付けられた記憶されている日時を取得し、取得した当該日時が、定期処理を行うためのトランザクションに係る日時を基準として、所定の時間の長さよりも前であるという第１の条件を満たしているかを判定するステップと、
第１の条件を満たしている場合に、当該ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を減少させ、減少させた当該量を当該ユーザに関連付けられた第１トークンの新たな量として記憶し、そうでない場合に、当該ユーザに関連付けられた第１トークンの記憶されている量を取得し、取得した当該量を増加させ、増加させた当該量を当該ユーザに関連付けられた第１トークンの新たな量として記憶するステップと
を含むステップと
を実行させる
１以上のプログラム。
【請求項３３】
請求項３２に記載の１以上のプログラムであって、第１コンピュータに、
ブロックチェーンに記憶されるトランザクションに基づき、第１トークンの期限の日時を記憶するステップと、
定期処理を行うためのトランザクションに基づき定期処理として行うステップであって、
第１トークンの期限の記憶されている日時を取得し、取得した当該日時よりも、定期処理を行うためのトランザクションに係る日時が後であるという第２の条件を判定するステップと、
第２の条件を満たしている場合に、各ユーザに関連付けられた第１トークンの量としてゼロを記憶するステップと
を含むステップと
を実行させる１以上のプログラム。
【請求項３４】
請求項２９から３３のうちの何れか一項に記載の１以上のプログラムであって、
第１コンピュータに、前記のトランザクションに基づき、所定のスマート・コントラクトにおいて定義された情報であって、所定のスマート・コントラクトは、当該トランザクションが第１コンピュータに実行させる処理を少なくとも部分として定義したものである、情報をイベントとして記憶するステップを実行させ、
第２コンピュータに、第１コンピュータにイベントとして記憶されている情報であるイベント・ログを取得するステップを実行させる
１以上のプログラム。
【請求項３５】
請求項３４に記載の１以上のプログラムであって、
イベント・ログを取得するステップは、イベント・ログのうち、第３の条件を満たすイベント・ログを取得するステップを含む、
１以上のプログラム。
【請求項３６】
請求項３５に記載の１以上のプログラムであって、
第３の条件は、
イベント・ログに係る日時が所定の期間内であることと、
イベント・ログが所定のタグを含むことと、
イベント・ログが所定の送金元ユーザを含むことと、
イベント・ログが所定の送金先ユーザを含むことと
のうちの１以上を含む、
１以上のプログラム。
【請求項３７】
請求項３４から３６のうちの何れか一項に記載の１以上のプログラムであって、
前記のトランザクションは、タグ及びメッセージＩＤを含み、
第２コンピュータに、取得したイベント・ログに基づき、トランザクションに対応した情報のうちの少なくとも一部を表示するステップであって、トランザクションに対応した情報のうちの少なくとも一部は、当該トランザクションが含むタグ、及び、当該トランザクションが含むメッセージＩＤによって特定されるメッセージを含む、ステップを実行させる
１以上のプログラム。
【請求項３８】
請求項３４から３７のうちの何れか一項に記載の１以上のプログラムであって、
第２コンピュータに、取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップを実行させ、
第１のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードの表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各有向エッジは、第２トークンの送金元ユーザに対応するノードから送金先ユーザに対応するノードに延び、各有向エッジの表現は、当該有向エッジの一端である送金元ユーザからの送金量の合計に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
第２トークンの送金元ユーザは、第１トークンの使用ユーザを含み、
第２トークンの送金先ユーザは、第１トークンの被使用ユーザを含む、
１以上のプログラム。
【請求項３９】
請求項３８に記載の１以上のプログラムであって、
前記ノードは、対応するユーザについてのトークンに係る比率を表す円グラフであり、
前記ノードの表現は、前記円グラフの大きさである、
１以上のプログラム。
【請求項４０】
請求項３８又は３９のうちの何れか一項に記載の１以上のプログラムであって、
各ユーザは、１以上の階層のうちの各階層において、複数のグループのうちの何れか１つに属し、各グループには１以上のユーザが属し、
取得したイベント・ログに基づき第１のグラフを表示するための出力を生成するステップは、前記１以上の階層のうちの１つの階層について、
当該１つの階層における複数のグループのうちの各グループについて、当該グループに属する１以上のユーザにそれぞれ対応した１以上のノード全体を当該グループに対応する１つのノードとおき、当該１つの階層における複数のグループにそれぞれ対応する複数のノード間の距離が、当該１つの階層に対応したパラメータに応じたものとなるように、各ユーザに対応したノードの位置を調整するステップ
を含む、
１以上のプログラム。
【請求項４１】
請求項３４から４０のうちの何れか一項に記載の１以上のプログラムであって、
第２コンピュータに、取得したイベント・ログに基づき第２のグラフを表示するための出力を生成するステップを実行させ、
第２のグラフは、第１の軸と第２の軸とを有し、複数の図形を含み、
各図形は、ユーザに対応し、
各図形の表現は、対応するユーザへの第２トークンの送金量の合計に応じたものであり、
各図形の第１の軸及び第２の軸についての位置は、それぞれ、対応するユーザが第２トークンを送金した回数、及び、対応するユーザに第２トークンが送金された回数に応じたものであり、
ユーザへの第２トークンの送金量は、第１トークンの使用による当該ユーザが保有する第２トークンの増加量を含み、
ユーザが第２トークンを送金した回数は、当該ユーザが第１トークンを使用した回数を含み、
ユーザに第２トークンが送金された回数は、当該ユーザに第１トークンが使用された回数を含む、
１以上のプログラム。
【請求項４２】
請求項３４から４１のうちの何れか一項に記載の１以上のプログラムであって、
第１コンピュータに、ブロックチェーンに記憶されるトランザクションであって、第１ユーザが第２ユーザに対して、発行元、入手先及び用途のうちの１以上が異なる複数種類のトークンのうちの少なくとも１つを送金するためのトランザクションに基づき、当該トランザクションに係る情報を、イベントとして記憶するステップを実行させ、
前記システムが含む第２コンピュータに、取得したイベント・ログに基づき、第３のグラフを表示するための出力を生成するステップを実行させ、
第３のグラフは、２以上のノードと、１以上の有向エッジとを含み、
各ノードは、ユーザに対応し、各ノードは、対応するユーザに送金された複数種類のトークンの量の比率を表す円グラフであり、
各有向エッジは、複数のトークンのうちの少なくとも１つの送金元ユーザに対応したノードから送金先ユーザに対応したノードに延びる、
１以上のプログラム。