(57)【特許請求の範囲】
【請求項１】
プログラムであって、
インターネットに接続される端末に、
第１のユーザが達成すべきチャレンジを達成するための条件及び前記チャレンジを達成する期限を含む前記チャレンジに関する契約条件が満たされたか否かを判定し、前記契約条件の判定結果に基づいて、第１のトークンを配分するトランザクションを生成する第１のスマートコントラクトと、
前記第１のスマートコントラクトから前記第１のトークンが配分され、前記第１のユーザから第２のユーザに対して配分可能な第２のトークンの残高を管理し、前記第２のユーザの前記第２のトークンの残高に基づいて、前記第１のトークンを前記第２のユーザに配分するトランザクションを生成する第２のスマートコントラクトと、を有し、前記インターネットに接続されるブロックチェーンネットワークにおいて、
前記契約条件の判定に用いる判定用データを取得する処理と、
前記判定用データを前記第１のスマートコントラクトへ送信する処理と、
前記第２のスマートコントラクトによる前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを生成する処理と、
前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを前記第２のスマートコントラクトへ送信する処理と、を実行させる、プログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記端末に、
前記第２のトークンを発行するために用いるトークン発行情報を生成する処理と、
前記トークン発行情報を前記ブロックチェーンネットワークに送信する処理と、を実行させる、プログラム。
【請求項３】
請求項１又は２に記載のプログラムであって、
前記端末に、
前記第２のユーザから第３のユーザに対する前記第２のトークンの配分に用いられるトランザクションを生成する処理と、
前記第２のユーザから第３のユーザに対する前記第２のトークンの配分に用いられるトランザクションを前記第２のスマートコントラクトへ送信する処理と、を実行させる、プログラム。
【請求項４】
請求項１から３のいずれか一項に記載のプログラムであって、
前記端末に、
第３のトークンの残高を管理する第３のスマートコントラクト、をさらに有する前記ブロックチェーンネットワークにおいて、
前記第３のスマートコントラクトによる前記第２のトークンの残高に基づく前記第３のトークンの配分に用いられるトランザクションを生成する処理と、
前記第２のトークンの残高に基づく前記第３のトークンの配分に用いられるトランザクションを前記第３のスマートコントラクトへ送信する処理、を実行させる、プログラム。
【請求項５】
請求項４に記載のプログラムであって、
前記端末に、
前記第３のスマートコントラクトによる、前記第２のトークンの残高及び前記チャレンジの難易度に基づく前記第３のトークンの配分に用いられるトランザクションを生成する処理と、
前記第２のトークンの残高及び前記チャレンジの難易度に基づく前記第３のトークンの配分に用いられるトランザクションを前記第３のスマートコントラクトへ送信する処理と、を実行させる、プログラム。
【請求項６】
請求項１から５のいずれか一項に記載のプログラムであって、
前記端末に、
前記チャレンジの中断を示す情報を生成する処理と、
前記第１のスマートコントラクトに、前記チャレンジが中断された場合の前記第１のトークンの配分設定に従った前記第１のトークンの配分に用いられるトランザクションを生成させるために、前記チャレンジの中断を示す情報を前記第１のスマートコントラクトへ送信する処理と、を実行させる、プログラム。
【請求項７】
請求項１から６のいずれか一項に記載のプログラムであって、
前記端末に、
前記第１のユーザの前記チャレンジに関する情報を送信するための送信先を取得する処理と、
前記ブロックチェーンネットワークの所定のユーザから、前記第１のユーザに対する前記ブロックチェーンネットワークにおける所定のトークンの配分に用いられるトランザクションを生成させるために、前記第１のユーザの前記チャレンジに関する情報を前記送信先に対して送信する処理と、を実行させる、プログラム。
【請求項８】
プログラムであって、
インターネットに接続される端末に、
第１のユーザが達成すべきチャレンジを達成するための条件及び前記チャレンジを達成する期限を含む前記チャレンジに関する契約条件が満たされたか否かを判定し、前記契約条件の判定結果に基づいて、第１のトークンを配分するトランザクションを生成し、
前記第１のユーザから第２のユーザに対して配分可能であり、前記判定がなされた後に有効となる第２のトークンの残高を管理し、前記契約条件の判定結果に基づいて、前記第２のトークンを前記第２のユーザに配分するトランザクションを生成する、スマートコントラクトをブロックチェーンネットワークに生成するために、コントラクト生成トランザクションをブロックチェーンネットワークへ送信する処理を実行させる、プログラム。
【請求項９】
プログラムであって、
インターネットに接続される端末に、
所定のユーザが達成すべきチャレンジを達成するための条件と前記チャレンジを達成する期限と、を含む前記チャレンジに関する契約条件が満たされたか否かを、前記契約条件及び前記契約条件の判定に用いる判定用データに基づいて判定する第１のスマートコントラクトと、
前記インターネットに接続されるブロックチェーンネットワークからトークンが集積され、前記第１のスマートコントラクトから送信された判定結果に基づいて、前記集積されたトークンを配分する第２のスマートコントラクトと、を有する前記ブロックチェーンネットワークにおいて、
前記トークンを前記判定結果の予想に対して賭けるトランザクションを生成する処理と、
前記トークンを前記判定結果の予想に対して賭けるトランザクションを前記第２のスマートコントラクトへ送信する処理と、を実行させる、プログラム。
【請求項１０】
チャレンジ支援システムであって、
インターネットに接続される第１の端末と第２の端末を備え、
前記第１の端末は、
第１のユーザが達成すべきチャレンジを達成するための条件及び前記チャレンジを達成する期限を含む前記チャレンジに関する契約条件、前記チャレンジのために預ける第１のトークンの量、前記チャレンジの成功時における前記第１のトークンの配分設定、及び前記チャレンジの失敗時における前記第１のトークンの配分設定を含むコントラクト情報を生成するコントラクト情報生成部と、
前記契約条件が満たされたか否かを、前記契約条件及び前記契約条件の判定に用いる判定用データに基づいて判定し、前記契約条件の判定結果に基づいて、前記第１のトークンを配分するトランザクションを生成する第１のスマートコントラクトを、前記インターネットに接続されるブロックチェーンネットワークに生成するために、前記コントラクト情報に基づくコントラクト生成トランザクションを、前記ブロックチェーンネットワークへ送信する第１のトランザクション生成部と、を備え、
前記ブロックチェーンネットワークは、
前記第１のスマートコントラクトから前記第１のトークンが配分され、前記第１のユーザから第２のユーザに対して配分可能な第２のトークンの残高を管理し、前記第２のユーザの前記第２のトークンの残高に基づいて、前記第１のトークンを前記第２のユーザに配分するトランザクションを生成する第２のスマートコントラクト、を有し、
前記第２の端末は、
前記判定用データを取得する判定用データ取得部と、
前記判定用データを前記第１のスマートコントラクトへ送信し、
前記第２のスマートコントラクトによる前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを生成し、
前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを前記第２のスマートコントラクトへ送信する、第２のトランザクション生成部と、を備える、チャレンジ支援システム。
【請求項１１】
チャレンジ支援方法であって、
インターネットに接続される第１の端末が、
第１のユーザが達成すべきチャレンジを達成するための条件及び前記チャレンジを達成する期限を含む前記チャレンジに関する契約条件、前記チャレンジのために預ける第１のトークンの量、前記チャレンジの成功時における前記第１のトークンの配分設定、及び前記チャレンジの失敗時における前記第１のトークンの配分設定を含むコントラクト情報を生成するステップと、
前記第１の端末が、前記契約条件が満たされたか否かを、前記契約条件及び前記契約条件の判定に用いる判定用データに基づいて判定し、前記契約条件の判定結果に基づいて、前記第１のトークンを配分するトランザクションを生成する第１のスマートコントラクトを、前記インターネットに接続されるブロックチェーンネットワークに生成するために、前記コントラクト情報に基づくコントラクト生成トランザクションを前記ブロックチェーンネットワークへ送信するステップと、
前記インターネットに接続される第２の端末が、
前記判定用データを取得するステップと、
前記第２の端末が、前記判定用データを前記第１のスマートコントラクトへ送信するステップと、を含み、
前記ブロックチェーンネットワークは、
前記第１のスマートコントラクトから前記第１のトークンが配分され、前記第１のユーザから第２のユーザに対して配分可能な第２のトークンの残高を管理し、前記第２のユーザの前記第２のトークンの残高に基づいて、前記第１のトークンを前記第２のユーザに配分するトランザクションを生成する第２のスマートコントラクト、を有し、
前記第１の端末が、前記第２のスマートコントラクトによる前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを生成するステップと、
前記第１の端末が、前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを前記第２のスマートコントラクトへ送信するステップを、さらに含む、チャレンジ支援方法。
【請求項１２】
端末であって、
第１のユーザが達成すべきチャレンジを達成するための条件及び前記チャレンジを達成する期限を含む前記チャレンジに関する契約条件の判定に用いる判定用データを取得する判定用データ取得部と、
ブロックチェーンネットワークに設けられ、前記契約条件が満たされたか否かを判定し、前記契約条件の判定結果に基づいて第１のトークンを配分するトランザクションを生成する第１のスマートコントラクトへ、前記判定用データを送信するトランザクション生成部と、を備え、
前記ブロックチェーンネットワークは、
前記第１のスマートコントラクトから前記第１のトークンが配分され、前記第１のユーザから第２のユーザに対して配分可能な第２のトークンの残高を管理し、前記第２のユーザの前記第２のトークンの残高に基づいて、前記第１のトークンを前記第２のユーザに配分するトランザクションを生成する第２のスマートコントラクト、を有し、
前記トランザクション生成部は、
前記第２のスマートコントラクトによる前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを生成し、
前記第１のユーザから前記第２のユーザに対する前記第２のトークンの配分に用いられるトランザクションを前記第２のスマートコントラクトへ送信する、端末。
【請求項１３】
プログラムであって、
インターネットに接続される端末に、
第１のユーザが達成すべきチャレンジを達成するための条件及び前記チャレンジを達成する期限を含む前記チャレンジに関する契約条件が満たされたか否かを判定し、前記契約条件の判定結果に基づいて、第１のトークンを配分するトランザクションを生成する第１のスマートコントラクトから前記第１のトークンが配分され、前記第１のユーザから第２のユーザに対して配分可能な第２のトークンの残高を管理し、前記第２のユーザの前記第２のトークンの残高に基づいて、前記第１のトークンを前記第２のユーザに配分するトランザクションを生成する第２のスマートコントラクトをブロックチェーンネットワークに生成するために、コントラクト情報をブロックチェーンネットワークへ送信する処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、チャレンジ支援システム、チャレンジ支援方法、及び端末に関する。
【背景技術】
【０００２】
人々は、達成したいと思いながらなかなか実現できないチャレンジを持っていることがある。チャレンジには、例えば、健康維持・増進のためにウォーキングをすること、健康診断に行くこと、禁煙すること、英会話の勉強をすること等が含まれる。【０００３】
この種のチャレンジの場合、チャレンジを行う本人以外の人が、本人の健康のためや技能習得のために、本人がチャレンジを達成することを期待していることも多い。例えば、不健康な生活を送っている人の父親は、何とかしてその人にウォーキング等の健康的な活動をさせたいと願い、また、その人の妻や子は、その人が長く健康であることを願い、その人の健康的な活動への取り組みを応援したいと思っている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この種のチャレンジを行う本人は自分自身に、チャレンジの実行に対するモチベーションを適切に与える必要がある。また、チャレンジが達成されないことは、本人のみならず、本人がチャレンジを達成することに期待する他の人々にとっても、望ましいことではない。本人がチャレンジを達成することに期待する他の人々は、本人に対してチャレンジの実行についてモチベーションを与えることができる。【０００５】
しかし、本人がチャレンジを達成することに期待する他の人々も、本人がチャレンジを達成するというメリットに加えて、すぐに顕在化する他の人々自身にとっての何らかのメリットがない状況で本人を積極的に応援し続けることは難しい。【０００６】
本人自身によるモチベーション維持・増進あるいは他の人々の応援による本人のモチベーション維持・増進が不十分な場合、本人がチャレンジの達成に対して消極的となり、チャレンジが達成されない可能性が高くなる。【０００７】
そこで、本発明は、ユーザがチャレンジを達成する可能性を高めるチャレンジ支援システムを実現可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るプログラムは、インターネットに接続される端末に、第１のユーザが達成すべきチャレンジを達成するための条件及びチャレンジを達成する期限を含むチャレンジに関する契約条件が満たされたか否かを判定し、契約条件の判定結果に基づいて、第１のトークンを配分するトランザクションを生成する第１のスマートコントラクトと、第１のスマートコントラクトから第１のトークンが配分され、第１のユーザから第２のユーザに対して配分可能な第２のトークンの残高を管理し、第２のユーザの第２のトークンの残高に基づいて、第１のトークンを第２のユーザに配分するトランザクションを生成する第２のスマートコントラクトと、を有し、前記インターネットに接続されるブロックチェーンネットワークにおいて、契約条件の判定に用いる判定用データを取得する処理と、判定用データを第１のスマートコントラクトへ送信する処理と、第２のスマートコントラクトによる第１のユーザから第２のユーザに対する第２のトークンの配分に用いられるトランザクションを生成する処理と、第１のユーザから第２のユーザに対する第２のトークンの配分に用いられるトランザクションを第２のスマートコントラクトへ送信する処理と、を実行させる。【０００９】
この態様によれば、チャレンジが達成された場合に第１のスマートコントラクトが配分する第１のトークンを、第１のユーザが配分する第２のトークンの残高に基づいて、第２のユーザへ配分することが可能となる。第１のユーザは、チャレンジ開始前、チャレンジの達成過程又はチャレンジ達成の前後において、第２のトークンを第２のユーザに対して配分することが可能となる。【００１０】
第２のユーザは、第２のトークンを保有することにより、第１のトークンの配分を得ることができる。よって、第２のユーザに、第１のトークンを獲得するために第１のユーザのチャレンジに対して積極的な応援を行い、第１のユーザから応援の対価である第２のトークンを得ようという動機が与えられる。第１のユーザは第２のユーザから応援されることによって、チャレンジの実行についてモチベーションを獲得する。第１のユーザ単独ではなく、第２のユーザを巻き込んでチャレンジの達成に挑む状況が作られることによって、第１のユーザがチャレンジを達成する可能性が高まる。【００１１】
上記態様において、プログラムは、端末に、第２のトークンを発行するために用いるトークン発行情報を生成する処理と、トークン発行情報をブロックチェーンネットワークに送信する処理と、を実行させてもよい。【００１２】
この態様によれば、第１のユーザが端末を操作することによって、第２のトークンの発行が可能となる。第１のユーザが第２のトークンを自由に発行できるようにすることで、第２のユーザへの配分の割合を適切に調整することができる。より第１のユーザを応援してくれた貢献度の高いユーザが第２のトークンの配分をより多く受けるような割合に調整される。よって、第１のユーザは、第２のユーザ及び他のユーザに対して、自身を応援するように働きかけやすくなる。よって、より多くの応援を獲得し、第１のユーザがチャレンジを達成する可能性が高まる。【００１３】
上記態様において、プログラムは、端末に、第２のユーザから第３のユーザに対する第２のトークンの配分に用いられるトランザクションを生成する処理と、第２のユーザから第３のユーザに対する第２のトークンの配分に用いられるトランザクションを第２のスマートコントラクトに送信する処理と、を実行させてもよい。【００１４】
この態様によれば、第２のユーザは第２のトークンを第３のユーザに対して送付することができる。第２のトークンは転々流通可能となる。第１のユーザが選択したユーザとは異なるユーザに対しても第２のトークンが配分されるようになる。よって、より多くのユーザから応援を受けることが可能となり、第１のユーザがチャレンジを達成する可能性が高まる。【００１５】
上記態様において、プログラムは、端末に、第３のトークンの残高を管理する第３のスマートコントラクト、をさらに有するブロックチェーンネットワークにおいて、第３のスマートコントラクトによる第２のトークンの残高に基づく第３のトークンの配分に用いられるトランザクションを生成する処理と、第２のトークンの残高に基づく第３のトークンの配分に用いられるトランザクションを第３のスマートコントラクトへ送信する処理、を実行させてもよい。【００１６】
この態様によれば、第３のトークンの残高は、第２のトークンの残高に基づいて管理されることとなる。第２のトークンを、第１のユーザのチャレンジ毎の応援に対する一時的なトークンとし、第３のトークンを、第１のユーザの複数のチャレンジに対する長期的なトークンとすることで、第１のユーザは長期的な応援を獲得することが可能となる。長期的な応援を獲得しているという安心感を持つ第１のユーザは、チャレンジに対する安定したモチベーションを獲得する。よって、第１のユーザがチャレンジを達成する可能性が高まる。【００１７】
上記態様において、プログラムは、端末に、第３のスマートコントラクトによる、第２のトークンの残高及びチャレンジの難易度に基づく第３のトークンの配分に用いられるトランザクションを生成する処理と、第２のトークンの残高及びチャレンジの難易度に基づく第３のトークンの配分に用いられるトランザクションを第３のスマートコントラクトへ送信する処理と、を実行させてもよい。【００１８】
チャレンジの難易度に基づいて、第３のトークンを配分するようにすることで、各チャレンジにおいて、一律に第２のトークンの残高から第３のトークンを配分するのではなく、第３のチャレンジの難易度に応じて、適切に第３のトークンを配分することが可能となる。【００１９】
上記態様において、プログラムは、端末に、チャレンジの中断を示す情報を生成する処理と、第１のスマートコントラクトに、チャレンジが中断された場合の第１のトークンの配分設定に従った第１のトークンの配分に用いられるトランザクションを生成させるために、チャレンジの中断を示す情報を第１のスマートコントラクトへ送信する処理と、を実行させてもよい。【００２０】
この態様によれば、チャレンジを中断することが可能となり、システムとしての利便性が向上する。【００２１】
上記態様において、プログラムは、端末に、第１のユーザのチャレンジに関する情報を送信するための送信先を取得する処理と、ブロックチェーンネットワークの所定のユーザから、第１のユーザに対するブロックチェーンネットワークにおける所定のトークンの配分に用いられるトランザクションを生成させるために、第１のユーザのチャレンジに関する情報を送信先に対して送信する処理と、を実行させてもよい。【００２２】
この態様によれば、ブロックチェーンネットワークの所定のユーザは、第１のユーザに対して所定のトークンを配分することが可能となる。第１のユーザが自身のチャレンジに関する情報に基づいて、所定のユーザからトークンを受け取るようにして、第１のユーザは所定のユーザから応援されることができる。よって、第１のユーザがチャレンジを達成する可能性が高まる。【００２３】
本発明の他の態様に係るプログラムは、インターネットに接続される端末に、第１のユーザが達成すべきチャレンジを達成するための条件及びチャレンジを達成する期限を含むチャレンジに関する契約条件、チャレンジのために預ける第１のトークンの量、チャレンジの成功時における第１のトークンの配分設定、及びチャレンジの失敗時における第１のトークンの配分設定を含むコントラクト情報を生成する処理と、契約条件が満たされたか否かを、契約条件及び契約条件の判定に用いる判定用データに基づいて判定し、契約条件の判定結果に基づいて、第１のトークンを配分するトランザクションを生成する第１のスマートコントラクトを、インターネットに接続されるブロックチェーンネットワークに生成するために、コントラクト情報に基づくコントラクト生成トランザクションをブロックチェーンネットワークへ送信する処理と、を実行させる。【００２４】
この態様によれば、インターネットに接続される端末から、チャレンジ達成のための第１スマートコントラクトを生成することができる。インターネットに接続される端末であれば、自由にチャレンジに関する第１のスマートコントラクトを生成することができるので、ユーザ毎の目的に沿ったチャレンジの達成が可能となる。ユーザの目的に沿うチャレンジとすることで、ユーザのチャレンジに対するモチベーションを増し、ユーザがチャレンジを達成する可能性が高まる。【００２５】
上記態様において、プログラムは、端末に、チャレンジの中断を示す情報を生成する処理と、第１のスマートコントラクトに、チャレンジが中断された場合の第１のトークンの配分設定に従って第１のトークンを配分するトランザクションを生成させるために、チャレンジの中断を示す情報を第１のスマートコントラクトへ送信する処理と、を実行させてもよい。【００２６】
チャレンジに関する第１のスマートコントラクトの作成者が、チャレンジを中断することが可能となり、システムとしての利便性が向上する。【００２７】
上記態様において、第１のスマートコントラクトは、契約条件及び判定用データに基づいてチャレンジの達成度を算出し、算出した達成度に基づいて、第１のトークンを配分するトランザクションを生成してもよい。【００２８】
この態様によれば、チャレンジが中断あるいは失敗したような場合であっても、達成度に基づいて、第１のトークンが配分される。チャレンジの難易度を高く設定した場合に、チャレンジが中断あるいは失敗する可能性が高くなることがある。この場合にチャレンジが中断したとしても、第１のトークンが配分されるので、ユーザのチャレンジに対するモチベーションを保ち、チャレンジの達成を促進することができる。【００２９】
上記態様において、判定用データは、チャレンジの終了を判定する終了判定データ、を含んでもよい。【００３０】
この態様によれば、第１のスマートコントラクトが外部から、チャレンジの終了を判断するための情報（オラクル）を取得することが可能となり、確実にチャレンジを終了させることができる。【００３１】
上記態様において、終了判定データは日時に関するデータを含んでもよい。【００３２】
この態様によれば、第１のスマートコントラクトがインターネットやブロックチェーンネットワークから自動的に日時に関する情報を取得できない場合に、第１のスマートコントラクトに対して日時に関する情報を送信することができる。よって、チャレンジの期限が過ぎた場合に、確実にチャレンジを終了させることができる。【００３３】
本発明の他の態様に係るプログラムは、インターネットに接続される端末に、第１のユーザが達成すべきチャレンジを達成するための条件及びチャレンジを達成する期限を含むチャレンジに関する契約条件が満たされたか否かを判定し、契約条件の判定結果に基づいて、第１のトークンを配分するトランザクションを生成し、第１のユーザから第２のユーザに対して配分可能であり、判定がなされた後に有効となる第２のトークンの残高を管理し、契約条件の判定結果に基づいて、第２のトークンを第２のユーザに配分するトランザクションを生成する、スマートコントラクトをブロックチェーンネットワークに生成するために、コントラクト生成トランザクションをブロックチェーンネットワークへ送信する処理を実行させる。【００３４】
この態様によれば、チャレンジに関する契約条件が満たされたか否かが判定された後に有効となる第２のトークンを第１のユーザが第２のユーザに対して配分することが可能となる。よって、第２のユーザに、第２のトークンを有効にするために、第１のユーザのチャレンジに対して応援を行う動機が与えられる。第１のユーザは第２のユーザから応援されることによって、チャレンジの実行についてモチベーションを獲得する。第１のユーザ単独ではなく、第２のユーザを巻き込んでチャレンジの達成に挑む状況が作られることによって、第１のユーザがチャレンジを達成する可能性が高まる。【００３５】
本発明の他の態様に係るプログラムは、インターネットに接続される端末に、所定のユーザが達成すべきチャレンジを達成するための条件とチャレンジを達成する期限と、を含むチャレンジに関する契約条件が満たされたか否かを、契約条件及び契約条件の判定に用いる判定用データに基づいて判定する第１のスマートコントラクトと、第１のスマートコントラクトから送信された判定結果に基づいて、インターネットに接続されるブロックチェーンネットワークにおけるトークンの残高を管理する第２のスマートコントラクトと、を有するブロックチェーンネットワークからトークンが集積され、第１のスマートコントラクトから送信された判定結果に基づいて、集積されたトークンを配分する第２のスマートコントラクトと、を有するブロックチェーンネットワークにおいて、トークンを判定結果の予想に対して賭けるトランザクションを生成する処理と、トークンを判定結果の予想に対して賭けるトランザクションを第２のスマートコントラクトへ送信する処理と、を実行させる。【００３６】
この態様によれば、第２のスマートコントラクトは、第１のユーザのチャレンジの判定結果について、トークンを賭けさせ、判定結果に基づいてトークンの残高を管理することで、トークンを配分する。よって、より多くのユーザが、自身のトークンを増やそうとするために、第１のチャレンジに対して関心を有する。第１のユーザは、自身のチャレンジが多くの関心を集めていると、その関心に応えるべくチャレンジの達成に挑む。よって、第１のユーザがチャレンジを達成する可能性が高まる。【００３７】
本発明の他の態様に係るチャレンジ支援システムは、インターネットに接続される第１の端末と第２の端末を備え、第１の端末は、第１のユーザが達成すべきチャレンジを達成するための条件及びチャレンジを達成する期限を含むチャレンジに関する契約条件、チャレンジのために預ける第１のトークンの量、チャレンジの成功時における第１のトークンの配分設定、及びチャレンジの失敗時における第１のトークンの配分設定を含むコントラクト情報を生成するコントラクト情報生成部と、契約条件が満たされたか否かを、契約条件及び契約条件の判定に用いる判定用データに基づいて判定し、契約条件の判定結果に基づいて、第１のトークンを配分するトランザクションを生成するスマートコントラクトを、インターネットに接続されるブロックチェーンネットワークに生成するために、コントラクト情報に基づくコントラクト生成トランザクションを、ブロックチェーンネットワークへ送信する第１のトランザクション生成部と、を備え、第２の端末は、契約条件の判定に用いる判定用データを取得する判定用データ取得部と、判定用データをスマートコントラクトへ送信する第２のトランザクション生成部と、を備える。【００３８】
この態様によれば、第１の端末によって生成されるコントラクト情報によってブロックチェーンネットワーク上にスマートコントラクトが生成される。スマートコントラクトには、第１のトークンが預けられる。ユーザは、チャレンジに関する契約条件が満たされるか否かに応じて配分される第１のトークンを得るために、チャレンジの実行についてモチベーションを獲得する。契約条件の判定に用いる判定用データは、第２の端末によって。スマートコントラクトに送信される。スマートコントラクトは、判定用データに従って契約条件が満たされたか否かを判定する。【００３９】
スマートコントラクトを介したチャレンジの判定を行うことにより、チャレンジの結果に応じた第１のトークンの配分が管理者不在で確実に履行される。よって、ユーザは、スマートコントラクトをブロックチェーンネットワークに生成することによって、チャレンジ結果に対する報酬が配分されることが約束されているチャレンジを作成することができる。チャレンジ支援システムは、チャレンジの結果に対する報酬の獲得についての信頼性を高くすることによって、ユーザにチャレンジの実行についてモチベーションを与え、ユーザがチャレンジを達成する可能性を高める。
【発明の効果】
【００４０】
本発明によれば、ユーザがチャレンジを達成する可能性を高めるチャレンジ支援システムを実現可能なプログラムを提供することができる。
【図面の簡単な説明】
【００４１】
【図１】第１実施形態に係るチャレンジ支援システムの構成を示す図である。
【図２】第１実施形態に係る資金提供者端末のブロック図である。
【図３】第１実施形態に係る挑戦者端末のブロック図である。
【図４】第１実施形態に係る応援者端末のブロック図である。
【図５】第１実施形態に係る運営者端末のブロック図である。
【図６】第１実施形態に係る運営者端末に記憶されるデータ構造である。
【図７】第１実施形態に係るブロックチェーンネットワークにおけるスマートコントラクトを示す図である。
【図８】第１実施形態に係る判定用データ送信端末のブロック図である。
【図９】第１実施形態に係るチャレンジ支援システムのシーケンス図である。
【図１０】第１実施形態に係るチャレンジ支援システムのシーケンス図である。
【図１１】第１実施形態に係るチアリングトークンコントラクトを説明する図である。
【図１２】第１実施形態に係るチアリングトークンコントラクトを説明する図である。
【図１３】第１実施形態に係るサンクストークンコントラクトを説明する図である。
【図１４】第１実施形態に係る資金提供者端末に記憶されるデータ構造の図である。
【図１５】第１実施形態に係る資金提供者端末により作成されるコントラクト情報の一例である。
【図１６】第１実施形態に係るチャレンジコントラクトを説明する図である。
【図１７】第１実施形態に係る運営者端末に記憶されるデータ構造である。
【図１８】第１実施形態に係る運営者端末に記憶されるデータ構造である。
【図１９】第１実施形態に係る判定用データのデータ構造である。
【図２０】第１実施形態に係るチャレンジコントラクトに記録される判定用データのデータ構造である。
【図２１】第１実施形態に係る挑戦者端末に記憶されるデータ構造である。
【図２２】第１実施形態に係るサンクストークンコントラクトを説明する図である。
【図２３】第１実施形態に係る他のチャレンジの一例である。
【図２４】第１実施形態に係る他のチャレンジの一例である。
【図２５】第１実施形態に係る他のチャレンジの一例である。
【図２６】第１実施形態に係る他のチャレンジの一例である。
【図２７】第１実施形態に係るチャレンジアプリにより表示される画面である。
【図２８】第１実施形態に係るチャレンジアプリにより表示される画面である。
【図２９】第１実施形態に係るチャレンジアプリにより表示される画面である。
【図３０】第１実施形態に係るチャレンジアプリにより表示される画面である。
【図３１】第１実施形態に係るチャレンジアプリにより表示される画面である。
【図３２】第１実施形態に係るチャレンジアプリにより表示される画面である。
【図３３】第１実施形態に係るチャレンジアプリにより表示される画面である。
【図３４】第２実施形態に係るチャレンジ支援システムの構成を示す図である。
【図３５】第３実施形態に係るブロックチェーンネットワークにおけるスマートコントラクトを示す図である。
【図３６】第３実施形態に係るサンクストークンコントラクトを説明する図である。
【図３７】第３実施形態に係るサンクストークンコントラクトを説明する図である。
【図３８】第３実施形態に係るサンクストークンコントラクトを説明する図である。
【図３９】第３実施形態に係るサンクストークンコントラクトを説明する図である。
【図４０】第４実施形態に係るブロックチェーンネットワークにおけるスマートコントラクトを示す図である。
【図４１】第４実施形態に係るブロックチェーンネットワークにおけるトークンの管理を説明する図である。
【図４２】第４実施形態に係るブロックチェーンネットワークにおけるトークンの管理を説明する図である。
【図４３】第４実施形態に係るブロックチェーンネットワークにおけるトークンの管理の他の一例を説明する図である。
【図４４】第５実施形態に係るブロックチェーンネットワークにおけるスマートコントラクトを示す図である。
【発明を実施するための形態】
【００４２】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００４３】
第１実施形態について説明する。図１に第１実施形態に係るチャレンジ支援システムを示す。チャレンジ支援システム１は、資金提供者端末１０、挑戦者端末２０、応援者端末３０，３０Ａ、運営者端末４０、インターネット５０、ブロックチェーンネットワーク５５及び判定用データ送信端末６０を備える。
【００４４】
資金提供者端末１０、挑戦者端末２０、応援者端末３０，３０Ａ、運営者端末４０、及び判定用データ送信端末６０がネットワークＮを介して接続されるようにして、インターネット５０が構成される。ブロックチェーンネットワーク５５はインターネット５０に繋がっている。
【００４５】
ブロックチェーンネットワーク５５は、トランザクションが記録された台帳を複数の端末が共有して管理するシステムである。ブロックチェーンは、時系列にそって複数のブロックがチェーン状に繋がったデータであり、各ブロックは、一定期間におけるトランザクションのデータを含む。ブロックチェーンの技術では、複数のブロックが過去の情報を保持した状態で追加されるので、履歴の改ざんが困難であるという特徴がある。
【００４６】
本実施形態では、ブロックチェーンネットワーク５５として、スマートコントラクトを実現することが可能なイーサリアム（Ｅｔｈｅｒｅｕｍ）を用いるものとする。スマートコントラクトを実現できる他のブロックチェーンネットワークを用いてもよい。
【００４７】
図２に、資金提供者端末１０のブロック図を示す。資金提供者端末１０は、ネットワークＮを介して運営者端末４０、インターネット５０及びブロックチェーンネットワーク５５と通信を行う機能を備えた情報処理端末である。例えば、スマートフォン、ＰＣ、タブレット等が挙げられるが、これらに限られない。
【００４８】
資金提供者端末１０は、入力部１１１、表示部１１２、通信部１１３、制御部１１４、記憶部１１５、及び撮像部１１６を備える。
【００４９】
入力部１１１は、ユーザからの操作を受け付ける。表示部１１２は、ユーザに対して情報を表示する。入力部１１１及び表示部１１２は、タッチパネル等のように一体となっていてもよい。通信部１１３は、ネットワークＮを介して外部の端末と通信を行う。記憶部１１５にはチャレンジアプリ８０が記憶される。撮像部１１６は、画像の取得などに用いられる。
【００５０】
入力部１１１を通じて入力された情報に基づいて、チャレンジアプリ８０のユーザアカウント及びパスワードが記憶部１１５に保存される。資金提供者端末１０は、保存されたユーザアカウントに関するユーザ識別情報を運営者端末４０へと送信する。
【００５１】
ユーザ識別情報は、例えばチャレンジアプリ８０のインストール時や起動時にユーザに入力させることで取得した会員情報の一部又は全部を使用して生成した情報である。ユーザ識別情報には、氏名、性別、生年月日、アカウント名、ユーザが使用する判定用データ送信端末の公開アドレス等が含まれる。
【００５２】
制御部１１４は、ＣＰＵ及びメモリを含む。制御部１１４は、記憶部１１５に記憶されているチャレンジアプリ８０（プログラム）がＲＡＭに読み出され、ＣＰＵによって実行されることで、鍵生成部１２１、アドレス生成部１２２、アドレス取得部１２３、ウォレット部１２４、トランザクション生成部１２５、チャレンジ設定部１２６、及びコントラクト情報生成部１２７として機能する。
【００５３】
鍵生成部１２１は、資金提供者端末１０のユーザ毎に一意な秘密鍵と公開鍵のペアを生成する。生成された秘密鍵は、記憶部１１５に保存される。秘密鍵はトランザクションをブロックチェーンネットワーク５５に送信する際の電子署名に用いられる。秘密鍵は、オフライン時に生成され、通常はオフラインで保存され、必要に応じて接続可能とされることが望ましい。
【００５４】
アドレス生成部１２２は、鍵生成部１２１により生成された公開鍵に基づいて、ブロックチェーンネットワーク５５における公開アドレスを生成する。生成された資金提供者の公開アドレスは記憶部１１５に保存される。公開アドレスは、ブロックチェーンネットワーク５５のユーザを識別するために用いられる。ブロックチェーンネットワーク５５において、イーサリアムにおける仮想通貨であるイーサ及び他のトークンのトランザクションによる送付先は公開アドレスとなる。以降、イーサをＥＴＨＥＲと表記する。ＥＴＨＥＲの略称はＥＴＨである。
【００５５】
アドレス生成部１２２は、生成された公開アドレスをユーザ識別情報と対応付けて、後述する運営者端末４０へと送信する。公開アドレスとユーザ識別情報とを対応付けることによって、ブロックチェーンネットワーク５５における、ある公開アドレスが、チャレンジ支援システム１の利用者であることを確認できる。
【００５６】
アドレス取得部１２３は、ブロックチェーンネットワーク５５における他の公開アドレスを、運営者端末４０又は他の端末から取得する。運営者端末４０から他の公開アドレスを取得する場合、アドレス取得部１２３は、ネットワークＮを介して運営者端末４０と通信を行い、運営者端末４０に記憶された他の公開アドレスを取得する。
【００５７】
他の端末から他の公開アドレスを取得する場合は、例えば、公開アドレスを示す二次元バーコード等の画像を撮像部１１６により読み取ることで取得する。あるいは、他の端末が生成した画像やテキストによって表された公開アドレスを、ネットワークＮを介して取得することによって、他の公開アドレスを取得する。アドレス取得部１２３により取得された公開アドレスは記憶部１１５に保存される。
【００５８】
アドレス取得部１２３は、運営者端末４０又は他の端末から取得した公開アドレスに、他の端末に記憶されたチャレンジアプリ８０と同種のアプリによって生成されたユーザ識別情報がある場合は、ユーザ識別情報も取得可能である。取得されたユーザ識別情報は記憶部１１５に保存される。
【００５９】
アドレス取得部１２３は、ブロックチェーンネットワーク５５におけるチャレンジに関連するスマートコントラクトのコントラクトアドレスを、運営者端末４０又は他の端末から取得可能である。
【００６０】
ウォレット部１２４は、仮想通貨の残高を管理する機能を有する。第１実施形態における仮想通貨は、ＥＴＨＥＲや、ブロックチェーンネットワーク５５にて独自に発行されるトークンである。ウォレット部１２４は、仮想通貨の残高を、ブロックチェーンネットワーク５５に記録されるトランザクションの履歴から取得する。取得された残高は表示部１１２に表示されることでユーザが確認可能である。
【００６１】
ウォレット部１２４は、送金先の公開アドレス又は送金先の公開アドレスに対応するアカウント名と、送金額と、を含む資金支払データを生成する。例えば、ウォレット部１２４は、入力部１１１を介してユーザから指定されたアカウントと送金額とを含む資金支払データを生成する。なお、送金及び資金という言葉は、仮想通貨の移動に関する意味で用いており、移動する対象は、ＥＴＨＥＲに限られず、他のトークンも含まれる。
【００６２】
トランザクション生成部１２５は、記憶部１１５に保存された秘密鍵により署名したトランザクションを生成し、ブロックチェーンネットワーク５５に送信する。例えば、トランザクション生成部１２５はウォレット部１２４によって生成された資金支払データに基づいて、記憶部１１５に保存された秘密鍵で署名したトランザクションを生成し、ブロックチェーンネットワーク５５に送信する。トランザクションがブロックチェーンネットワーク５５において承認されると、そのトランザクションに基づいた資金の移動がブロックチェーンネットワーク５５に保存される。
【００６３】
ウォレット部１２４は、運営者端末４０から、後述するチャレンジコントラクトの一覧を取得して、ユーザに選択可能な形式で表示してもよい。また、チャレンジコントラクトの一覧を取得する際、ウォレット部１２４が記憶部１１５の公開アドレスを送信することで、当該ユーザが資金提供者として運営者端末４０に登録されているチャレンジコントラクトのコントラクトアドレスの一覧を取得できるようにしてもよい。
【００６４】
チャレンジ設定部１２６は、資金提供者が作成するチャレンジに関する設定をユーザから取得し、設定データを生成する。設定データには、資金提供者の公開アドレス、チャレンジに挑戦する挑戦者の公開アドレス、運営者の公開アドレス、資金額、チャレンジ開始期限、チャレンジ期間等の情報が含まれる。また、チャレンジを達成するためのチャレンジの具体的な内容、チャレンジの達成条件、チャレンジ成功時の資金の配分設定、及びチャレンジ失敗時の資金の配分設定等の契約条件が含まれる。
【００６５】
コントラクト情報生成部１２７は、チャレンジ設定部１２６が生成した設定データに基づいて、Ｓｏｌｉｄｉｔｙ言語で記述された、コントラクト・コードをｓｏｌｃによりコンパイルし、コンパイル済コントラクト・コードを生成する。
【００６６】
トランザクション生成部１２５が、コントラクト情報生成部１２７によって生成されたコンパイル済コントラクト・コードを、ブロックチェーンネットワーク５５にトランザクションとして送信する。トランザクションがブロックチェーンネットワーク５５において承認されると、図７に示すように、スマートコントラクトであるチャレンジコントラクト５０１がブロックチェーンネットワーク５５に生成される。チャレンジコントラクト５０１については後述する。なお、資金提供者端末１０が用いる言語はＳｏｌｉｄｉｔｙ言語に限定されず、スマートコントラクトをブロックチェーンネットワーク５５に生成可能な他の言語を用いることができる。
【００６７】
ブロックチェーンネットワーク５５に生成されたチャレンジコントラクト５０１は、ブロックチェーンネットワーク５５におけるコントラクトアドレスを有する。チャレンジコントラクト５０１のコントラクトアドレスに資金提供者が供託する資金が送付され保持される。チャレンジコントラクト５０１のコントラクトアドレスは、チャレンジコントラクト５０１が生成された際に、ブロックチェーンネットワーク５５から資金提供者端末１０へと送信され取得するか、資金提供者端末１０がブロックチェーンネットワーク５５から取得する。取得されたチャレンジコントラクト５０１のコントラクトアドレスは、チャレンジ設定部１２６が生成した設定データと共に、資金提供者端末１０から運営者端末４０へと送信される。
【００６８】
図３に挑戦者端末２０のブロック図を示す。挑戦者端末２０は、ネットワークＮを介して運営者サーバ及びブロックチェーンネットワーク５５と通信を行う機能を備えた情報処理端末である。例えば、スマートフォン、ＰＣ、タブレット等が挙げられるが、これらに限られない。
【００６９】
挑戦者端末２０は、入力部２１１、表示部２１２、通信部２１３、制御部２１４、記憶部２１５、及び撮像部２１６を備える。
【００７０】
入力部２１１、表示部２１２、通信部２１３、及び撮像部２１６に関しては、入力部１１１、表示部１１２、通信部１１３、及び撮像部１１６と同様である。挑戦者端末２０は、自身のユーザ識別情報を運営者端末４０へと送信する。記憶部２１５には、チャレンジアプリ８０が記憶される。
【００７１】
制御部２１４は、ＣＰＵ及びメモリを含む。制御部２１４は、記憶部２１５に記憶されているチャレンジアプリ８０（プログラム）がＲＡＭに読み出され、ＣＰＵによって実行されることで、鍵生成部２２１、アドレス生成部２２２、アドレス取得部２２３、ウォレット部２２４、トランザクション生成部２２５、判定用データ取得部２２６、及びトークン発行情報生成部２２７として機能する。
【００７２】
鍵生成部２２１、アドレス生成部２２２、アドレス取得部２２３、ウォレット部２２４、及びトランザクション生成部２２５は、鍵生成部１２１、アドレス生成部１２２、アドレス取得部１２３、ウォレット部１２４、及びトランザクション生成部１２５と同様の機能を有する。
【００７３】
鍵生成部２２１によって生成される秘密鍵は、記憶部２１５に保存される。アドレス生成部２２２によって生成される挑戦者の公開アドレスは、記憶部２１５に保存される。
【００７４】
判定用データ取得部２２６は、契約条件が満たされたか否かを判定するために用いる判定用データを、入力部２１１にて入力された情報あるいは挑戦者端末２０にて記憶部２１５に記録される情報から取得する。記憶部２１５に記録される情報には、例えば、スマートフォンの歩数計機能によって集計され、記憶部２１５に記録された歩数等の運動情報がある。あるいは、通信部２１３を介して外部の歩数を計測可能な端末から記憶部２１５に記録される歩数等の運動情報がある。
【００７５】
判定用データには、チャレンジを達成するための活動のエビデンスとなるデータや、チャレンジの「成功」又は「失敗」のいずれかを含むデータ等、任意のデータを用いることができる。
【００７６】
判定用データは、チャレンジの「中断」を示すデータを含むことができる。チャレンジの「中断」を示すデータが、ブロックチェーンネットワーク５５に送信された場合には、チャレンジコントラクト５０１が所定の処理を行うように設定することができる。
【００７７】
判定用データは、チャレンジの成功、失敗を決定づける終了判定データを含む。終了判定データとは、例えば、複数日にまたがるチャレンジにおいて、最終日の結果である。また、終了判定データとは、チャレンジの期限を徒過したかを判定するための日時に関する情報でもよい。
【００７８】
トランザクション生成部２２５は、判定用データをスマートコントラクトに送信するために、記憶部２１５に保存された秘密鍵で署名されたトランザクションを生成する。トランザクション生成部２２５は、判定用データに関するトランザクションをスマートコントラクトに送信する。トランザクションがブロックチェーンネットワーク５５において承認されると、トランザクションの宛先であるスマートコントラクトのデータが更新される。宛先は、例えば、チャレンジコントラクト５０１のコントラクトアドレスである。
【００７９】
判定用データ取得部２２６によって取得した判定用データが、スマートコントラクトへと送信される場合、トランザクション生成部２２５は、運営者端末４０からスマートコントラクトのコントラクトアドレスを取得し、トランザクションの宛先として、ユーザに選択可能な形式で表示してもよい。
【００８０】
また、スマートコントラクトのコントラクトアドレスを取得する際、アドレス取得部２２３が、挑戦者の公開アドレスを送信することで、当該ユーザが挑戦者として運営者端末４０に登録されているスマートコントラクトのコントラクトアドレスの一覧を取得できるようにしてもよい。
【００８１】
なお、判定用データを裏付ける画像等のコンテンツについては、判定用データ取得部２２６は、コンテンツを一意に識別するハッシュ値を生成し、当該生成したハッシュ値だけをトランザクションとしてブロックチェーンネットワーク５５に送信する。実際のコンテンツについては、ハッシュ値と共に運営者端末４０に送信する。画像には、例えば、挑戦者が撮影した食事画像、挑戦者が撮影した身体測定結果画像等が含まれる。ハッシュ値を用いることで、ブロックチェーンネットワーク５５に直接サイズが大きく、コスト（ＧＡＳ代）が多く発生するようなコンテンツを記録する必要がなくなる。
【００８２】
トークン発行情報生成部２２７は、ブロックチェーンネットワーク５５におけるトークンを発行するためのトークン発行情報を生成する。
【００８３】
トークン発行情報には、トークンの総発行数、トークンの名称、トークンの単位表記等が含まれる。トークン発行情報生成部２２７は入力部２１１からのユーザの入力に基づいて、これらの情報を取得しトークン発行情報を生成する。
【００８４】
トランザクション生成部２２５がトークン発行情報に基づいて、ブロックチェーンネットワーク５５へトランザクションを送信する。トランザクションがブロックチェーンネットワーク５５において承認されると、ブロックチェーンネットワーク５５に、トークンコントラクトが生成される。トークンの残高を管理するためのスマートコントラクトであるトークンコントラクトが生成されるということが、トークンが発行されるということである。
【００８５】
トークンコントラクトは、ブロックチェーンネットワーク５５におけるコントラクトアドレスを有する。トークンコントラクトは、発行されたトークンを所有する公開アドレスとその公開アドレスに対するトークンの残高の状態を記録することによって、ブロックチェーンネットワーク５５におけるトークンの残高を管理する。
【００８６】
第１実施形態では、図７に示されるように、トークンコントラクトとしてサンクストークンコントラクト５０２が生成される。サンクストークンコントラクト５０２については後述する。
【００８７】
挑戦者端末２０におけるチャレンジアプリ８０は、資金提供者端末１０におけるチャレンジ設定部１２６及びコントラクト情報生成部１２７を実現可能であってもよい。資金提供者端末１０におけるチャレンジアプリ８０は挑戦者端末２０における判定用データ取得部２２６及びトークン発行情報生成部２２７を実現可能であってもよい。すなわち、資金提供者端末１０と挑戦者端末２０は資金提供者という立場と挑戦者という立場によって区別されているが、両者の区別は任意に入れ替えることが可能である。また、資金提供者と挑戦者が同一人物であってもよい。
【００８８】
図４に応援者端末３０のブロック図を示す。応援者端末３０は、ネットワークＮを介して運営者サーバ及びブロックチェーンネットワーク５５と通信を行う機能を備えた情報処理端末である。例えば、スマートフォン、ＰＣ、タブレット等が挙げられるが、これらに限られない。
【００８９】
応援者端末３０は、入力部３１１、表示部３１２、通信部３１３、制御部３１４、記憶部３１５、撮像部３１６を備える。
【００９０】
入力部３１１、表示部３１２、通信部３１３、及び撮像部３１６に関しては、入力部１１１、表示部１１２、通信部１１３、及び撮像部１１６と同様である。応援者端末３０は、自身のユーザ識別情報を運営者端末４０へと送信する。記憶部３１５には、チャレンジアプリ８０が記憶される。
【００９１】
制御部３１４は、ＣＰＵ及びメモリを含む。制御部３１４は、記憶部３１５に記憶されているチャレンジアプリ８０（プログラム）がＲＡＭに読み出され、ＣＰＵによって実行されることで、鍵生成部３２１、アドレス生成部３２２、アドレス取得部３２３、ウォレット部３２４、トランザクション生成部３２５として機能する。
【００９２】
鍵生成部３２１、アドレス生成部３２２、アドレス取得部３２３、ウォレット部３２４、及びトランザクション生成部３２５は、鍵生成部１２１、アドレス生成部１２２、アドレス取得部１２３、ウォレット部１２４、及びトランザクション生成部１２５と同様の機能を有する。
【００９３】
アドレス生成部３２２によって生成される応援者の公開アドレスは、記憶部３１５に保存される。応援者端末３０は、ブロックチェーンネットワーク５５において、仮想通貨の送受信が可能な端末として機能する。応援者端末３０Ａについては、応援者端末３０と同様である。
【００９４】
応援者端末３０におけるチャレンジアプリ８０は、資金提供者端末１０におけるチャレンジ設定部１２６及びコントラクト情報生成部１２７又は、挑戦者端末２０における判定用データ取得部２２６及びトークン発行情報生成部２２７を実現可能であってもよい。すなわち、資金提供者端末１０、挑戦者端末２０、及び応援者端末３０は、チャレンジに応じて互いの区別を任意に入れ替えることが可能である。
【００９５】
運営者端末４０は、入力部４１１、通信部４１３、制御部４１４、及び記憶部４１５を備える。例えば、運営者端末４０はサーバ装置である。入力部４１１及び通信部４１３に関しては、入力部１１１及び通信部１１３と同様である。
【００９６】
記憶部４１５には、データベース（ＤＢ）としてチャレンジＤＢ４１５１、会員ＤＢ４１５２、コンテンツＤＢ４１５３が保存される。
【００９７】
制御部４１４は、ＣＰＵ及びメモリを含む。制御部４１４は、記憶部４１５に記憶されているプログラムがＲＡＭに読み出され、ＣＰＵによって実行されることで、鍵生成部４２１、アドレス生成部４２２、アドレス取得部４２３、ウォレット部４２４、トランザクション生成部４２５、チャレンジ設定部４２６、コントラクト情報生成部４２７、トークン発行情報生成部４２８、サイト提供部４３１、会員登録部４３２、及びコンテンツ受信部４３３として機能する。
【００９８】
チャレンジＤＢ４１５１には、チャレンジに関する情報が保存されている。第１実施形態では、チャレンジＤＢ４１５１には、チャレンジ支援システム１のユーザが挑戦するチャレンジに関する情報が各チャレンジ毎に保存される。チャレンジに関する情報には、チャレンジを規定するチャレンジコントラクト５０１のコントラクトアドレス、契約条件等が含まれる。
【００９９】
会員ＤＢ４１５２には、チャレンジ支援システム１の会員に関する情報が保存されている。第１実施形態では、図６に示されるように、会員ＤＢ４１５２には、氏名、性別、生年月日、アカウント名等のユーザ識別情報、各ユーザの公開アドレス、会員が関連する関連チャレンジ情報等が登録されていることが望ましい。なお、図６に示す各公開アドレスは、説明のための架空のアドレスであり、イーサリアムで使用される実際のアドレスとはアドレスの桁数が異なっている。他の図においても同様である。
【０１００】
ユーザがブロックチェーンネットワーク５５にサンクストークンコントラクト５０２を有している場合は、サンクストークンコントラクト５０２のコントラクトアドレスが登録されていてもよい。
【０１０１】
関連チャレンジ情報には、ユーザが関連付けられているチャレンジを規定するスマートコントラクトのコントラクトアドレスと、キャンペーンへの参加属性とが保存される。参加属性には、例えば、チャレンジの作成者であることを示す「資金提供者」、チャレンジの挑戦者であることを示す「挑戦者」等が設定される。なお、関連チャレンジ情報には、ユーザが関連付けられている任意のチャレンジに関する情報を保存することができる。
【０１０２】
コンテンツＤＢ４１５３には、チャレンジ支援システム１のチャレンジを達成するための活動のエビデンスとなる画像や音声等のコンテンツに関する情報が保存されている。第１実施形態では、コンテンツＤＢ４１５３にはコンテンツ、コンテンツから生成したハッシュ値が保存されていることが望ましい。ハッシュ値は、コンテンツを一意に識別する情報である。ハッシュ値を用いることで、ブロックチェーンネットワーク５５に画像ファイル等を記録する必要がなくなる。よって、コンテンツそのものはブロックチェーンネットワーク５５によって公開されることなく、秘匿される。なおブロックチェーンネットワーク５５に記録されるデータからコンテンツを一意に識別可能であれば、ハッシュ値とは異なるデータを用いてもよい。
【０１０３】
鍵生成部４２１、アドレス生成部４２２、アドレス取得部４２３、ウォレット部４２４及びトランザクション生成部４２５は、鍵生成部１２１、アドレス生成部１２２、アドレス取得部１２３、ウォレット部１２４、及びトランザクション生成部１２５と同様の機能を有する。
【０１０４】
鍵生成部４２１によって生成される秘密鍵は、記憶部４１５に保存される。アドレス生成部４２２によって生成される運営者の公開アドレスは、記憶部４１５に保存される。運営者の公開アドレスは、資金提供者端末１０のアドレス取得部１２３によって、資金提供者端末１０が取得可能である。
【０１０５】
チャレンジ設定部４２６及びコントラクト情報生成部４２７は、チャレンジ設定部１２６及びコントラクト情報生成部１２７と同様である。チャレンジ設定部４２６及びコントラクト情報生成部４２７は、運営者によるチャレンジの作成を可能とする。なお、チャレンジの作成にあたって、運営者端末４０が、外部で生成されたコントラクト情報を受信し、コントラクト生成トランザクションをブロックチェーンネットワーク５５に送信することで、チャレンジを作成してもよい。
【０１０６】
トークン発行情報生成部４２８は、トークン発行情報生成部２２７と同様に、運営者によるブロックチェーンネットワーク５５におけるトークンの発行を可能とする。なお、トークンの発行にあたって、運営者端末４０が、外部で生成されたトークン発行情報を受信し、ブロックチェーンネットワーク５５に送信することで、トークンを発行してもよい。
【０１０７】
サイト提供部４３１は、チャレンジ支援システム１を利用するためのウェブサイトをネットワークＮ上で提供する。当該サイトにおいて、資金提供者や挑戦者、資金の還付先となる還付者が会員登録をしたりすることができる。このためにサイト提供部４３１は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等で記述されたウェブページを、ユーザの使用する端末へ送信すると共に、ユーザによる入力結果等を、端末から受信する。
【０１０８】
会員登録部４３２は、ユーザの端末からユーザ識別情報を受信して、会員ＤＢ４１５２に登録する。第１実施形態では、サイト提供部４３１が提供する会員登録画面でのユーザの操作に応じて端末から会員情報が送信されると、会員登録部４３２は、受信したユーザ識別情報に基づいて会員ＤＢ４１５２にデータを登録する。
【０１０９】
会員登録部４３２は、チャレンジアプリ８０をダウンロードした端末から公開アドレスをユーザ識別情報と共に受信すると、ユーザ識別情報によって特定された会員ＤＢ４１５２に公開アドレスを保存する。
【０１１０】
コンテンツ受信部４３３は、挑戦者端末２０又は後述する判定用データ送信端末６０から、画像データや音声データ等のコンテンツを受信してコンテンツＤＢ４１５３に保存する。コンテンツ受信部４３３は、コンテンツを一意に識別するハッシュ値をコンテンツと共に受信して、受信したハッシュ値及びコンテンツをコンテンツＤＢ４１５３に保存する。
【０１１１】
ブロックチェーンネットワーク５５には、チャレンジコントラクト５０１、サンクストークンコントラクト５０２、及びチアリングトークンコントラクト５０３が設けられる。
【０１１２】
チャレンジコントラクト５０１は、資金提供者端末１０のコントラクト情報生成部１２７又は運営者端末４０のコントラクト情報生成部４２７が生成したコントラクト情報に基づいて生成されるスマートコントラクトである。
【０１１３】
サンクストークンコントラクト５０２は、挑戦者端末２０のトークン発行情報生成部２２７が生成したトークン発行情報に基づいて生成されるスマートコントラクトである。
【０１１４】
チアリングトークンコントラクト５０３は、運営者端末４０のトークン発行情報生成部４２８が生成したトークン発行情報に基づいて生成されるスマートコントラクトである。
【０１１５】
ブロックチェーンネットワーク５５上に設けられるチャレンジコントラクト５０１、サンクストークンコントラクト５０２、及びチアリングトークンコントラクト５０３によって、あるチャレンジをユーザに達成させる可能性を高めるという機能を持つｄａｐｐ（Ｄｅｃｅｎｔｒａｌｉｚｅｄ ａｐｐｌｉｃａｔｉｏｎ）が構成される。ユーザは、資金提供者端末１０、挑戦者端末２０等のクライアント端末を経由し、所定の使用料を支払うことで、ｄａｐｐを利用する。イーサリアムにおける使用料はＧＡＳである。
【０１１６】
判定用データ送信端末６０は、入力部６１１、表示部６１２、通信部６１３、制御部６１４、記憶部６１５、及び撮像部６１６を備える。
【０１１７】
入力部６１１、表示部６１２、通信部６１３、及び撮像部６１６に関しては、入力部１１１、表示部１１２、通信部１１３、及び撮像部１１６と同様である。判定用データ送信端末６０は、保存されたユーザ識別情報を運営者端末４０へと送信する。記憶部６１５には、チャレンジアプリ８１が記憶される。
【０１１８】
制御部６１４は。ＣＰＵ及びメモリを含む。制御部６１４は、記憶部６１５に記憶されているチャレンジアプリ８１（プログラム）がＲＡＭに読み出され、ＣＰＵによって実行されることで、鍵生成部６２１、アドレス生成部６２２、アドレス取得部６２３、ウォレット部６２４、トランザクション生成部６２５、判定用データ取得部６２６、及び鍵秘匿部６２７として機能する。
【０１１９】
鍵生成部６２１、アドレス生成部６２２、アドレス取得部６２３、及びトランザクション生成部６２５は、鍵生成部１２１、アドレス生成部１２２、アドレス取得部１２３、及びトランザクション生成部１２５と同様の機能を有する。判定用データ取得部６２６は、判定用データ取得部２２６と同様の機能を有する。
【０１２０】
鍵秘匿部６２７は、判定用データ送信端末６０のユーザが鍵生成部６２１によって生成される秘密鍵を、他の端末に移転できないようにする機能を有する。仮想通貨の一般的なウォレットは、秘密鍵の移転やバックアップのために必要な情報をユーザに対して表示する機能を有する。例えば、ウォレットは秘密鍵を画像として表示したり、ニーモニック（Ｍｎｅｍｏｎｉｃ）を表示する。鍵秘匿部６２７は、秘密鍵の移転や、秘密鍵のバックアップのために必要な情報をユーザに対して表示する機能を制限することによって、秘密鍵の移転を制限する。
【０１２１】
秘密鍵の移転を制限する理由について説明する。ブロックチェーンネットワーク５５において送信者が本当に送ったトランザクションであるかどうかの識別は、トランザクションが送信者の秘密鍵により署名されているかどうかをブロックチェーンネットワーク５５の各ノードが検証されることにより行われる。送信者の秘密鍵によってトランザクションに署名を行うということが、そのトランザクションの送信が所有者本人によってなされたということを示すことになる。
【０１２２】
秘密鍵を移転すれば、判定用データを、他の端末やソフトウェアを使ってチャレンジコントラクト５０１に送ることができる。他の端末やソフトウェアを使って、自身の秘密鍵で署名をした判定用データを送れば、チャレンジコントラクト５０１において、判定用データは、ユーザが保有する端末からのデータなのか、他の端末やソフトウェアからのデータなのかという区別がつかない。
【０１２３】
判定用データ送信端末６０では、鍵秘匿部６２７によって秘密鍵の移転を制限することによって、判定用データが判定用データ送信端末６０以外の端末から送信されるような事態を避けることが可能となる。よって、判定用データ送信端末６０の秘密鍵を用いて署名された判定用データは、判定用データ送信端末６０から送られることをスマートコントラクトが確認できる。
【０１２４】
図９及び図１０のシーケンス図と図１１から図２１を参照しつつ、チャレンジ支援システム１の動作について説明する。
【０１２５】
ステップＳ１０１において、運営者端末４０がブロックチェーンネットワーク５５へ、チアリングトークンコントラクト５０３を生成するトランザクションを送信する。
【０１２６】
ステップＳ１０２にて、ブロックチェーンネットワーク５５によってトランザクションが承認され、ブロックチェーンネットワーク５５にチアリングトークンコントラクト５０３が生成される。
【０１２７】
ステップＳ１０３において、ブロックチェーンネットワーク５５は、チアリングトークンコントラクト５０３のコントラクトアドレスＣＡ３を運営者端末４０へと送信する。
【０１２８】
ブロックチェーンネットワーク５５に生成されたチアリングトークンコントラクト５０３の初期の例を図１１に示す。チアリングトークンの通貨単位は「ＣＴ」とする。「０ｘ６９ｄ…」の公開アドレスはチアリングトークンコントラクト５０３のコントラクトアドレスＣＡ３である。「０ｘｅ３３…」の公開アドレスは運営者端末４０に保存される秘密鍵に対応する運営者の公開アドレスである。
【０１２９】
チアリングトークンコントラクト５０３は、他のユーザに対して、ＥＴＨＥＲと交換するようにして、チアリングトークンを配分する。チアリングトークンの配分が行われた場合、チアリングトークンコントラクト５０３は図１２に示すように、チアリングトークンの保有者の公開アドレスを追加し、その公開アドレスについてチアリングトークンの残高を管理する。
【０１３０】
ステップＳ１０４において、挑戦者端末２０が、ブロックチェーンネットワーク５５へ、サンクストークンコントラクト５０２を生成するトランザクションを送信する。
【０１３１】
ステップＳ１０５において、ブロックチェーンネットワーク５５によりトランザクションが承認され、ブロックチェーンネットワーク５５にサンクストークンコントラクト５０２が生成される。
【０１３２】
ブロックチェーンネットワーク５５に生成されたサンクストークンコントラクト５０２の初期の例を図１３に示す。チアリングトークンの通貨単位は「ＴＴ」とする。「０ｘ２０２…」の公開アドレスはサンクストークンコントラクト５０２のコントラクトアドレスＣＡ２である。「０ｘｂ２ｆ…」の公開アドレスは、挑戦者端末２０に保存される秘密鍵に対応する挑戦者の公開アドレスＡ２である。ここでは、「０ｘｂ２ｆ…」の公開アドレスを有するユーザをユーザＡとする。
【０１３３】
ステップＳ１０６において、ブロックチェーンネットワーク５５は、サンクストークンコントラクト５０２のコントラクトアドレスＣＡ２を挑戦者端末２０へと送信する。
【０１３４】
ステップＳ１０７において、挑戦者端末２０は、コントラクトアドレスＣＡ２、挑戦者のユーザ識別情報、及び挑戦者の公開アドレスＡ２を運営者端末４０へ送信する。
【０１３５】
ステップＳ１０８において、運営者端末４０は、コントラクトアドレスＣＡ２、挑戦者のユーザ識別情報及び公開アドレスＡ２を、資金提供者端末１０へ送信する。この処理により、資金提供者端末１０が、サンクストークンコントラクト５０２のコントラクトアドレスＣＡ２と挑戦者の公開アドレスＡ２を対応付けて記憶することができる。資金提供者端末１０には、図１４に示すようにアカウント名と公開アドレスが対応付けて記憶される。図１４では、公開アドレスに対応するサンクストークンコントラクトがない場合は、サンクストークンコントラクトの公開アドレスは空欄となっている。
【０１３６】
ステップＳ１０９において、資金提供者端末１０は、コントラクトアドレスＣＡ２、挑戦者のユーザ識別情報、公開アドレスＡ２、契約条件等に基づいて、コントラクト情報を生成する。この時生成されるコントラクト情報の一例を図１５に示す。
【０１３７】
図１５に示されるコントラクト情報は、ユーザＡが、自身で一日に一定以上の歩数を歩くチャレンジであるチャレンジＡを作成した場合のコントラクト情報である。コントラクト情報の内容は以下の通りである。
【０１３８】
挑戦者は、２０１９年７月１日から２０１９年７月３１日までの期間にチャレンジを行うことができる。目標歩数は、一日あたり８０００歩である。挑戦者は、期間の中から任意の２０日間を選ぶ。挑戦者が、そのうち連続でも断続的でもよい１０日以上の日数において一日当たり８０００歩を歩くことでチャレンジが達成される。供託金額は１ＥＴＨである。
【０１３９】
チャレンジの成功、失敗の判定には、歩数データが用いられる。歩数データは、スマートコントラクトに保存される。
【０１４０】
コントラクト情報には、「判定用データ送信端末公開アドレス」の項目が設けられる。この項目に対応する公開アドレスは、判定用データ送信端末６０の公開アドレスに対応する。判定用データ送信端末６０の公開アドレスは、挑戦者のユーザ識別情報に含まれている場合や、資金提供者のユーザ識別情報に含まれる場合等がある。判定用データ送信端末６０を用いない場合は、特段の設定は行われない。
【０１４１】
チャレンジ情報には、「チャレンジ開始日」及び「チャレンジ終了期限」の項目が設けられる。チャレンジ開始日とは、挑戦者がチャレンジにとりかかった日である。チャレンジ開始日は、例えば、判定用データの最初の送信が行われた日などとすることができる。  
【０１４２】
チャレンジ終了期限は、チャレンジを終了しなければならない期限である。図１５では、チャレンジ開始日から２０日でチャレンジを達成しなければならない。仮に２０１９年７月５日がチャレンジ開始日である場合、チャレンジ終了期限は、２０１９年７月２４日となる。
【０１４３】
コントラクト情報には、「チャレンジ達成度」の項目が設けられる。この項目は、チャレンジコントラクト５０１が、チャレンジ過程において、歩数データ及び目標歩数からチャレンジの達成度を算出し、記憶するために設けられる。達成度は、例えば、チャレンジにおいて達成すべき目標歩数に対する現在の歩数の割合として算出することができる。
【０１４４】
チャレンジが成功した場合、失敗した場合のそれぞれに対して決められた配分先に、供託金が配分設定に基づいて配分される。配分先や配分量は自由に設定できる。配分量は供託金額に対するパーセンテージで設定してもよい。配分量は配分するＥＴＨＥＲの量を直接設定してもよい。運営者の手数料は、例えば供託金の２パーセントのようにして、差し引かれる。
【０１４５】
配分先を指定する際は、配分先の公開アドレスを直接指定することができる。例えば、資金提供者端末１０の撮像部１１６によって読み取った画像から公開アドレスを取得し、配分先とすることができる。図１４に示されるように資金提供者端末１０の記憶部１１５に記憶される公開アドレスを用いることも可能である。
【０１４６】
資金の配分状態にはそれぞれ、還付、寄付及び没収が含まれ、資金提供者端末１０からは、還付、寄付及び没収で指定した金額の合計が資金額と一致するように指定された配分設定が送られる。還付には、イーサリアムの公開アドレスを保持している任意の還付先及び任意の金額を指定することができる。寄付には、イーサリアムの公開アドレスを保持している任意の寄付先及び任意の金額を指定することができる。チャレンジ成功時・失敗時・中断時に運営者には運営者手数料が支払われるようにしてもよい。
【０１４７】
記憶部１１５に記憶される公開アドレスは、運営者端末４０に記憶されるユーザ識別情報と同期可能であり、他のユーザのアドレスが変わった場合には、自動的にその新しいアドレスを取得することができる。
【０１４８】
チャレンジ作成時に、チャレンジの中断を示す情報に基づいてチャレンジを中断することが可能か否かを決めることができる。
【０１４９】
チャレンジの中断には、ギブアップによる中断と自己解体による中断がある。ギブアップによる中断は、資金提供者や挑戦者がチャレンジの達成を諦め、チャレンジの中断を示す情報をトランザクションとしてスマートコントラクトに送信することによる中断である。
【０１５０】
自己解体による中断は、何らかの事情でチャレンジコントラクト５０１から資金が出ない等のトラブルが発生し、運営者が利用者からのリクエストによりチャレンジコントラクト５０１を自己解体させる場合や、警察、法令、裁判所又は政府機関の命令、要求又は要請があった場合、又は運営者が独自に必要と判断した場合がある。自己解体による中断の場合、運営者はチャレンジコントラクト５０１を自己解体させるトランザクションをチャレンジコントラクト５０１に送信する。
【０１５１】
ギブアップした場合において、供託金の配分は、運営者の手数料を差し引いた残りが事前に決められた配分先に供託金が配分されるギブアップパターンＡや、ギブアップするまでのチャレンジの達成度を考慮し、チャレンジ成功時と同じ配分先に供託金が配分され、運営者の手数料を差し引いた残りが資金提供者に戻されるギブアップパターンＢ等がある。
【０１５２】
チャレンジコントラクト５０１を自己解体させる場合において、供託金の配分は、資金提供者に資金を一部返還する自己解体モードＡや、運営者に全額送金される自己解体モードＢ等がある。
【０１５３】
ステップＳ１１０において、資金提供者端末１０は、ブロックチェーンネットワーク５５へ、コントラクト情報に基づいて、チャレンジコントラクト５０１を生成するためのコントラクト生成トランザクションを送信する。
【０１５４】
ステップＳ１１１において、ブロックチェーンネットワーク５５によってコントラクト生成トランザクションが承認され、ブロックチェーンネットワーク５５にチャレンジコントラクト５０１が生成される。生成されたチャレンジコントラクト５０１は、図１５で説明したコントラクト情報に加えて、図１６において「０ｘ２０２…」で示されるチャレンジコントラクト５０１のコントラクトアドレスＣＡ１及びチャレンジ結果のデータを含む。チャレンジ結果は、成功、失敗、ギブアップパターンＡ、ギブアップパターンＢ、自己解体モードＡ、又は自己解体モードＢのいずれの結果に従って供託金の配分が行われるかを示す情報である。
【０１５５】
ステップＳ１１２―１において、ブロックチェーンネットワーク５５はチャレンジコントラクト５０１のコントラクトアドレスＣＡ１を資金提供者端末１０へ送信する。ステップＳ１１２−２において、資金提供者端末１０は、コントラクトアドレスＣＡ１を宛先として、チャレンジコントラクト５０１に供託金額を送金する。チャレンジコントラクト５０１は、供託金額をコントラクトアドレスＣＡ１に紐づいた残高として保持する。
【０１５６】
ステップＳ１１３において、資金提供者端末１０は運営者端末４０へコントラクト情報及びコントラクトアドレスＣＡ１を送信する。運営者端末４０は、図１７に示されるように、各チャレンジについての情報をチャレンジＤＢ４１５１へと記録する。なお、「配分金受取者」の項目に記憶される情報には、チャレンジコントラクト５０１等のスマートコントラクトが含まれていてもよい。また、「配分金受取者公開アドレス」の項目に記憶される情報には、スマートコントラクトのコントラクトアドレスが含まれていてもよい。また、運営者端末４０は、図１８に示されるように、ユーザ毎に、ユーザのユーザ識別情報及びユーザが関連するチャレンジを、会員ＤＢ４１５２へと記録する。
【０１５７】
ステップＳ１１４において、運営者端末４０は挑戦者端末２０へ、コントラクト情報及びコントラクトアドレスＣＡ１を含むチャレンジ情報を送信する。これにより、挑戦者は、チャレンジの内容や、どのコントラクトアドレスへと判定用データを送信すべきかについての情報を得ることができる。
【０１５８】
図１０に示されるステップＳ１２１にて、挑戦者はチャレンジ期間中に、挑戦者端末２０からチャレンジコントラクトへと判定用データを送信する。判定用データの送信には、必ずしも挑戦者端末２０を用いなくともよい。ステップＳ１２２のように、判定用データ送信端末６０を用いて判定用データをチャレンジコントラクトへ送信してもよい。
【０１５９】
挑戦者端末２０からチャレンジコントラクトに送信される判定用データの一例は図１９に示される。図２０には、挑戦者端末２０からチャレンジコントラクトに送信される判定用データ、送信されたトランザクションにより、チャレンジコントラクト５０１に保存されるデータ構造が示されている。データの投稿日時として、トランザクションが格納されるブロックチェーンネットワーク５５のブロックの生成日時が、図１９のデータに加えられている。また、チャレンジコントラクト５０１によって達成日数の数が記録されている。
【０１６０】
ステップＳ１２３において、挑戦者は、自身のチャレンジに対する応援を行う応援者に対して、サンクストークンを配分するトランザクションをサンクストークンコントラクトへ送信する。
【０１６１】
挑戦者は、図２１に示されるように、応援者端末３０にチャレンジアプリ８１をインストールしているチャレンジ支援システム１の利用者のアドレスを運営者端末４０から取得し、記憶している。挑戦者は、各アドレスに対してサンクストークンを配分することができる。
【０１６２】
ステップＳ１２４において、ブロックチェーンネットワーク５５によってトランザクションが承認されることで、サンクストークンコントラクト５０２の残高が更新される。サンクストークンコントラクト５０２の残高の更新によってサンクストークンの応援者への配分が行われる。
【０１６３】
挑戦者からサンクストークンを配分された応援者は、他の応援者に対して、サンクストークンを再配分することができる。サンクストークンを再配分する場合は、再配分を行う元の応援者のみが再配分送付先の公開アドレスを知っていればよい。つまり、サンクストークンは転々流通することが可能である。
【０１６４】
サンクストークンの配分並びに再配分が行われた後のサンクストークンコントラクト５０２の残高の一例を示す。挑戦者であるユーザＡの残高は０となっている。図２２に示されるように、挑戦者端末２０はユーザＤ、ユーザＥ、ユーザＦについて、それぞれの公開アドレスを取得しており、それぞれに対してサンクストークンを配分した。ユーザＡはユーザＤに２０ＴＴ、ユーザＥに５０ＴＴ、ユーザＦに３０ＴＴの配分を行った。その結果、サンクストークンの残高は、図２２にてサンクストークン残高（１）で示されるようになる。その後、ユーザＡが当初は把握していない応援者端末３０Ａを有するユーザＧに、ユーザＦから１０ＴＴが再配分された結果が図２２のサンクストークン残高（２）である。
【０１６５】
ステップＳ１２５において、挑戦者端末２０はチャレンジコントラクト５０１へ終了判定データを送信する。終了判定データは、ステップＳ１２６のように判定用データ送信端末６０から送信されてもよい。また、ステップＳ１２７のように運営者端末４０から送信されてもよい。
【０１６６】
終了判定データはチャレンジコントラクト５０１がチャレンジの成功、失敗を判断するために用いられる。例えば、図１５のコントラクト情報に従って、７月５日から７月２４日までの２０日間のうち１０日間、一日当たり８０００歩以上歩くというチャレンジがあるとする。この時７月５日から7月１３日までの９日間は８０００歩以上歩いているとする。この場合、７月１４日の歩数データとして１００００歩を送ったときにチャレンジ成功が終了判定となる。
【０１６７】
７月１４日の１００００歩のデータが、「終了判定歩数データ」となる。終了判定歩数データを送信するトランザクションがブロックチェーンネットワーク５５に承認された時点でチャレンジ成功が確定する。
【０１６８】
また、上記と同じ条件のチャレンジにおいて、７月５日から7月１３日までの９日間は８０００歩以上歩いているとする。その後、７月１４日から７月２３日までは８０００歩未満しか歩いていない場合、挑戦者が７月２４日の歩数として５０００歩を送ると、この５０００歩が、「終了判定歩数データ」となり、チャレンジ失敗が終了判定となる。
【０１６９】
挑戦者が、７月２４日の５０００歩のデータを送ることをためらったり、忘れたりする場合、チャレンジコントラクト５０１はチャレンジの成功、失敗を判断できない。
【０１７０】
スマートコントラクトが、ブロックチェーンネットワーク５５におけるブロックをマイニングしたマイナーが記録するブロックタイムによる日付情報を取り込んでもよい。その他のブロックチェーンネットワークが有する機能を用いて日付情報を取り込んでもよい。第１実施形態におけるスマートコントラクトは、外部からの何らかの日付に関する情報を必要とする。そのため、チャレンジコントラクト５０１において、７月２４日を過ぎても歩数データが送られてこない場合はチャレンジ失敗とみなすという設定は行えないからである。資金提供者や運営者等の関係者がスマートコントラクトに対して日付に関する情報をトランザクションとして送ってもよい。
【０１７１】
前述の例で、７月２４日の５０００歩のデータが送られない場合、７月２５日や２６日に運営者が資金提供者や挑戦者等に対して、歩数データが送られていないことをメールやアプリ上のお知らせ等によって知らせてもよい。運営者は、チャレンジコントラクト５０１におけるデータの状態をアプリからの情報又はチャレンジコントラクト５０１を直接参照することによって知ることができる。挑戦者は、本来チャレンジ期間中の歩数を適切なタイミングで全部送信することが求められるが、それを履行しない場合は、チャレンジ期間終了後一定の猶予期間を経た後、後述のようにその未送信の歩数はゼロであるとチャレンジコントラクト５０１に取り扱いされることになる。前述のお知らせメールを受け取った資金提供者が、チャレンジコントラクト５０１に対して「本日は７月２６日」という日付データをトランザクションとして送ると、チャレンジコントラクト５０１は挑戦者からの未送信の７月２４日の歩数をゼロとして取り扱うので、チャレンジコントラクト５０１は、チャレンジ失敗と判定する。この場合、資金提供者からの日付に関する情報が、「終了判定日付データ」となっている。
【０１７２】
上記のように誰かが「終了判定データ」を送信し、「終了判定データ」がブロックチェーンネットワーク５５に取り込まれると、自動的にチャレンジコントラクト５０１が事前に決められた通りに動き始める。
【０１７３】
終了判定データがチャレンジコントラクト５０１へ送られることでチャレンジ達成判定が可能となる。ステップＳ１２８において、ブロックチェーンネットワーク５５のチャレンジコントラクト５０１がチャレンジ達成判定処理を行う。
【０１７４】
ステップＳ１２９において、判定結果に基づいて、チャレンジコントラクト５０１がＥＴＨＥＲの配分処理を行う。
【０１７５】
チャレンジコントラクト５０１によるＥＴＨＥＲの配分処理は、イーサリアムでは、インターナルトランザクションをチャレンジコントラクト５０１が生成することによって行われる。イーサリアムにおけるインターナルトランザクションは、挑戦者等から受け取ったトランザクションをトリガーにしてスマートコントラクトが生成するトランザクションである。
【０１７６】
ステップＳ１３０において、チャレンジコントラクト５０１からＥＴＨＥＲが配分されたサンクストークンコントラクト５０２によって、サンクストークンの残高に基づいた、応援者へのＥＴＨＥＲの配分処理が行われる。
【０１７７】
サンクストークンの残高に基づいたＥＴＨＥＲの配分について、図２２のサンクストークン残高（２）に基づく場合を例に説明する。チャレンジコントラクト５０１が供託金を１ＥＴＨ保有するとする。１ＥＴＨの供託金のうち、０．８ＥＴＨがサンクストークンコントラクト５０２へと配分されるとする。この場合、ユーザＤ、ユーザＥ、ユーザＦ、ユーザＧそれぞれのサンクストークンの持分に従って０．８ＥＴＨが配分される。ユーザＤに対しては、０．１６ＥＴＨ、ユーザＥに対しては０．４ＥＴＨ、ユーザＦに対しては０．１６ＥＴＨ、ユーザＧに対しては０．０８ＥＴＨが配分される。
【０１７８】
サンクストークンコントラクト５０２は、ＥＴＨＥＲだけでなく、各種トークンがサンクストークンコントラクト５０２に送られてきたときも同様に配分してよい。
【０１７９】
資金提供者がチャレンジコントラクト５０１へと供託する仮想通貨ベースの供託金額の価格変動リスクヘッジのため、チャレンジコントラクト５０１の作成に当たり、常に同じレートで法定通貨に交換できる、価値が変動しない仮想通貨を用いて今回のチャレンジ支援システム１を作ってもよい。
【０１８０】
チャレンジコントラクト５０１が規定するチャレンジは、歩数に関するチャレンジとは異なる他の種類のチャレンジとしてもよい。図２３から図２６を参照して、チャレンジのバリエーションについて説明する。
【０１８１】
図２３には、安全運転チャレンジについての、スマートコントラクトの内容が示される。判定用データは、自動車や、運転者が保有するスマートフォンから、自動車の速度、シートベルト着用の有無、急ブレーキ、急発進の情報である。判定用データの取得及び送信に、ウォレット機能を持ったＩｏＴデバイスを使ってもよい。ＩｏＴデバイスからスマートフォン等に情報を転送し、スマートフォンに内蔵するアプリのウォレットの秘密鍵で署名したトランザクションをブロックチェーンネットワークに送ってもよい。運送会社が、トラックドライバーに対して、１日の運転で判定条件が満たされたらＥＴＨＥＲやトークンを自動的に送るチャレンジに関するスマートコントラクトを作ってもよい。
【０１８２】
図２４には、血糖値スパイク予防チャレンジについての、スマートコントラクトの内容が示される。血糖値が急激に上昇する血糖値スパイクが問題となっている。例えば朝食を抜いて、昼食に大量の糖質を摂取すると血糖値スパイクが起こる。野菜や海藻などを食事の最初に食べる、長時間空腹が続くようにしない等の工夫を行うことで血糖値スパイクを予防することができる。腕に取り付けることで継続的に血糖値を測定することができる機器からの血糖値データを、スマートフォン等に転送し、スマートフォンに内蔵するアプリのウォレットの秘密鍵で署名したトランザクションをブロックチェーンネットワークに送ってもよい。保険会社が保険加入者に対して、血糖値を急激に上昇させないライフスタイルを勉強してもらうために図２４のようなスマートコントラクトを作ってもよい。加入者は短期的に経済的な見返りがないと真剣にやらない。まず、血糖値スパイクを起こさない方法のレクチャーを行いチャレンジを開始するとよい。
【０１８３】
図２５には、子供勉強チャレンジについての、スマートコントラクトの内容が示される。子供がＩｏＴデバイスを取り付けたえんぴつを使用して勉強をすると、ＩｏＴデバイスからスマートコントラクトに対して一定時間勉強した情報が送信され、ＩｏＴデバイスのウォレット又は、子供専用のウォレットにご褒美としてＥＴＨＥＲやオンラインゲームで使用できるトークン等が送られる。ＩｏＴデバイスにＥＴＨＥＲが送られた場合、貯まったＥＴＨＥＲに応じてＩｏＴデバイスの色が変化し、子供はその色の変化を見て勉強を沢山するとお小遣いが増えることを意識し、勉強に対するモチベーションが高まる。親の経済レベルに合わせて、ご褒美の金額は調整するとよい。成功時に兄弟にも一部ＥＴＨＥＲを送ることで、勉強の邪魔をしなくなる。
【０１８４】
図２６には、禁煙チャレンジについての、スマートコントラクトの内容が示される。保険適用の治療ではなく、自費治療を想定する。禁煙を希望する患者に対して、医師が６０万円の禁煙チャレンジを院内処方する。患者は、病院に対して６０万円を支払う。病院は、利益と経費５万円を差し引いた、５５万円分のＥＴＨＥＲを使って禁煙チャレンジスマートコントラクトを作る。患者の禁煙が達成されたかどうかは、呼気中のＣＯを測定する機器を使って医師が判定してもよい。ＣＯ測定のＩｏＴデバイスで呼気中のＣＯを測定し、そのデータをＩｏＴデバイスに内蔵したウォレットからスマートコントラクトに送ってスマートコントラクトが禁煙チャレンジの成功・失敗を判定してもよい。より高額の禁煙チャレンジを処方してもよい。
【０１８５】
チャレンジ支援システム１が稼働するにあたって、ブロックチェーンネットワーク５５における、チャレンジコントラクト５０１等の各種スマートコントラクトの生成及び各種トランザクションの送信、供託金の供託には、仮想通貨が必要となる。資金提供者等は仮想通貨取引所等から仮想通貨を購入する。仮想通貨の購入方法の他の例について説明する。
【０１８６】
資金提供者、挑戦者、応援者等は仮想通貨やトークンを、コンビニ等で購入してもよい。購入者は、仮想通貨やトークンの情報を持つギフト券を購入する。そのギフト券の一部を削ると、二次元バーコードが出てくる。二次元バーコードは、ギフト券ウォレットの秘密鍵である。ギフト券の発行者は、あらかじめこのギフト券ウォレットの公開アドレスにギフト券に記載されたものと同額の仮想通貨やトークンを送付しておく。ギフト券の発行者はギフト券の秘密鍵情報は一切保管せず、ギフト券の公開アドレスのみを保管して管理するものとする。
【０１８７】
購入者は自身のアプリで二次元バーコードを読み取り、アプリ内にギフト券ウォレットを取り込む。ユーザはギフト券ウォレットの秘密鍵の情報を取得することとなるので、ギフト券ウォレットを自由に使うことができる。
【０１８８】
又は、購入者がコンビニのＡＴＭ画面でギフト券を選択し、入金すると、上記と同じ秘密鍵である二次元バーコードが発行される。その場でアプリを使用し、二次元バーコードを読み取ることで、アプリ内にギフト券ウォレットを取り込んでもよい。
【０１８９】
この場合、ギフト券発行者は、ＡＴＭからリクエストされたときだけ秘密鍵を作成し、それに対応する公開アドレスに送金すればよい。紙等のギフト券の場合は、事前にギフト券ウォレットに送金しておかなければならない。二次元バーコードには、秘密鍵情報が入っており実質的に金券と同じような価値があるので取り扱いに注意が必要である。
【０１９０】
ギフト券ウォレットの秘密鍵を読み取った時点で、購入者のアプリ内には、元々所有していたウォレットと、ギフト券ウォレットの２つが存在することになる。言い換えると、仮想通貨を管理する秘密鍵を２つ所有するということである。購入者は、ギフト券ウォレットの残高を全て元々所有していたウォレットに送信し、ギフト券ウォレットを削除する。
【０１９１】
又は、購入者がコンビニのレジに行き、仮想通貨、トークンが欲しいと店員に伝える。現金を支払うと、店員は購入者のアプリの中に元々あったウォレットの二次元バーコードを読み取る。これは、購入者の公開アドレスである。コンビニが自身の仮想通貨、トークンをその公開アドレスに直接送るようにしてもよい。
【０１９２】
又は、ギフト券発行者が作成したスマートコントラクトに対して、コンビニ端末から仮想通貨と購入者の公開アドレスをトランザクションとして送ると、スマートコントラクトから直接購入者のウォレットに仮想通貨やトークンが送信されるようにしてもよい。
【０１９３】
チャレンジアプリ８０によるチャレンジコントラクトの生成における、チャレンジアプリ８０がインストールされる端末に表示される画面の遷移について、図２７から図３３を参照しつつ説明する。
【０１９４】
図２７の画面８０１には、チャレンジ欄８０１１、資金提供者欄８０１２、挑戦者欄８０１３、供託金額欄８０１４が設けられる。チャレンジ欄８０１１には、チャレンジ名が入力される。資金提供者欄８０１２、挑戦者欄８０１３には、資金提供者のアカウント名が表示される。資金提供者欄８０１２、挑戦者欄８０１３がそれぞれ有するボタンＢＴ１又はＢＴ２が選択されると、図２８に示される画面８０２が表示される。
【０１９５】
画面８０２には、端末に記憶されるアカウント名と公開アドレスが対応付けられて表示される。ユーザは、各行を選択することによって、資金提供者及び挑戦者を選択することができる。ユーザは図２８のボタンＢＴ４を選択することによって、アカウント名及びアドレスの組を追加可能である。
【０１９６】
図２７の供託金額欄８０１４には、資金提供者が供託する供託金額が入力される。ユーザが画面８０１のボタンＢＴ３を選択することで、図２９の画面８０３が表示される。
【０１９７】
画面８０３には、期限欄８０３１及び条件欄８０３２が設けられる。期限欄８０３１にはチャレンジの開始可能期間及び終了可能期間が入力される。条件欄８０３２には、チャレンジの種類、チャレンジ実行日数、歩数、達成すべき日数が入力される。
【０１９８】
ユーザが画面８０３のボタンＢＴ５を選択することによって、図３０の画面８０４が表示される。
【０１９９】
画面８０４には成功時配分欄８０４１、失敗時配分欄８０４２、ＧＡＳ手数料欄８０４３が設けられる。
【０２００】
成功時配分欄８０４１には、成功時に資金を受け取るユーザのアカウント名及び、受け取る額が入力される。また、供託金額の２パーセントの資金が運営者手数料として配分される。運営者手数料は自由に設定してよい。失敗時配分欄８０４２についても同様である。挑戦者宛ＧＡＳ手数料欄には、挑戦者が歩数情報をスマートコントラクトに送信するときに必要なＧＡＳ手数料を補助する金額が入力される。
【０２０１】
ユーザが画面８０４のボタンＢＴ６を選択すると、図３１の画面８０５が表示される。画面８０５は、ギブアップ選択欄８０５１及びギブアップパターン選択欄８０５２を有する。ユーザは、ギブアップ選択欄８０５１の項目を選択することで、ギブアップを可能とするかを選択できる。ユーザは、ギブアップパターン選択欄８０５２の項目を選択することで、ギブアップ時の供託金の配分方法を選択できる。
【０２０２】
ユーザが画面８０５のボタンＢＴ６を選択すると、図３２の画面８０６が表示される。画面８０６には、ここまでに設定した条件が一覧として表示される。
【０２０３】
ユーザは画面８０５のボタンＢＴ７を選択することによって、当該チャレンジを管理するチャレンジコントラクトをブロックチェーンネットワーク５５に生成するトランザクションがブロックチェーンネットワーク５５へと送信される。
【０２０４】
また、画面８０５のボタンＢＴ８を選択することによって、図３３に示されるような、作成するチャレンジの情報を他の端末で読み取折り可能とするための画面８０６を生成することができる。生成された画像を他の端末が読み取ることによって、チャレンジに関する情報を他の端末が取得可能となる。
【０２０５】
第１実施形態において説明してきたプログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、非一時的な記憶媒体（Ｎｏｎ―ｔｒａｎｓｉｔｏｒｙ ｃｏｍｐｕｔｅｒ ｒｅａｄａｂｌｅ ｍｅｄｉｕｍ）であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、ＵＳＢメモリ又はＣＤ−ＲＯＭ等の記憶媒体であってもよい。
【０２０６】
第１実施形態では、資金提供者端末１０は、チャレンジコントラクト５０１を生成するとしたが、チャレンジ支援にあたって作成されるスマートコントラクトは複数であってもよい。複数のスマートコントラクトが連携した処理を行うようにスマートコントラクトを構築し、より複雑な条件が設定されたチャレンジを作成することができる。
【０２０７】
第２実施形態について説明する。第２実施形態以降の実施形態では第１実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。
【０２０８】
第２実施形態に係るチャレンジ支援システム１Ａは、図３４に示されるように協賛企業端末７０をさらに備える。協賛企業端末は、ブロックチェーンネットワーク５５Ａにおけるアカウント及び公開アドレスを有する。
【０２０９】
協賛企業は例えば、飲料メーカーであるとする。挑戦者は、協賛企業の飲料メーカーの飲料を購入する。飲料にはウェブサイトのアドレスを示す画像が添付される。飲料に添付された画像を読み取り、運営者又は協賛企業のウェブサイトにアクセスが可能となる。ウェブサイトにおいて、挑戦者に関する情報として、氏名、年齢、居住地、自身の公開アドレス、チャレンジコントラクトのコントラクトアドレス、サンクストークンコントラクトのコントラクトアドレス等を入力する。
【０２１０】
協賛企業は、チャレンジコントラクトに対して、ＥＴＨＥＲや、協賛企業がブロックチェーンネットワーク５５Ａにおいて発行する製品交換トークン、チアリングトークン等を送付する。チャレンジコントラクトに送られた製品交換トークン等は、チャレンジの達成度に応じて段階的に有効化されてもよい。
【０２１１】
製品交換トークンは、協賛企業の飲料と交換できる。製品交換トークンの価値は、製品交換トークンと交換可能な本数、有効期限、利用可能地域を自由に設計できる。例えば、交換は１対１でなくても良く、１つの製品交換トークンに対して５本の飲料と交換してもよい。
【０２１２】
製品交換トークンの実際の使われ方について一例を説明する。製品交換トークンはユーザのウォレットで管理される。ユーザはコンビニに行き、レジ横に置かれたコンビニが保有するトークン受け取り用公開アドレスをアプリで読み取る等して取得する。ユーザは、そのアドレス宛に製品交換トークンを送付する。コンビニは、コンビニが保有するトークン受け取り用公開アドレスで受けとった製品交換トークンが有効かどうかを確認する。
【０２１３】
コンビニは受け取った製品交換トークンの対価として飲料をユーザに渡す。コンビニは後日製品交換トークンを運営者又は協賛企業との間で清算する。ユーザに手間をかけさせないために、コンビニは、自身の端末によって、コンビニがユーザの製品交換トークンのウォレットの公開アドレスを取得し、ユーザからコンビニへ製品交換トークンを送付するトランザクションを生成する。生成されたトランザクションの確認画面をユーザのアプリ内に表示させ、ユーザがその内容を承認し、トランザクションとして送信するとユーザの製品交換トークンはコンビニに渡される。
【０２１４】
第２実施形態のように、チャレンジコントラクト５０１、サンクストークンコントラクト５０２、及びチアリングトークンコントラクト５０３によるトークンの配分に加えて、製品交換トークンを組み合わせることによって構成されるｄａｐｐによって、家族や友人だけでなく、企業の支援を受けながらユーザがチャレンジを達成する可能性をより高めることができる。
【０２１５】
第３実施形態について説明する。第３実施形態に係るチャレンジ支援システム１Ｂでは、図３５に示されるように、ブロックチェーンネットワーク５５Ｂに、サンクストークンコントラクト５０２Ａ、サンクストークンコントラクト５０２Ｂ、及びサンクストークンコントラクト５０２Ｃが設けられる点が異なる。
【０２１６】
サンクストークンコントラクト５０２Ａ及びサンクストークンコントラクト５０２Ｃは、第１実施形態におけるサンクストークンコントラクト５０２と同様にチャレンジ毎に挑戦者が応援者の応援に対して配分するトークンの残高を管理するスマートコントラクトである。
【０２１７】
また、サンクストークンコントラクト５０２Ｃは、サンクストークンコントラクト５０２Ａが関係するチャレンジとは別のチャレンジに関係する。
【０２１８】
サンクストークンコントラクト５０２Ｂは、挑戦者に対する継続的な応援の貢献を表すものである。サンクストークンコントラクト５０２Ｂは、サンクストークンコントラクト５０２Ａに基づいて残高が更新される。サンクストークンコントラクト５０２Ｂはサンクストークンコントラクト５０２Ａとは異なるトークンの残高を管理する。トークンの通貨単位は、サンクストークンコントラクト５０２ＡはＴＴＡ、サンクストークンコントラクト５０２ＢはＴＴＢ、サンクストークンコントラクト５０２ＣはＴＴＣとする。
【０２１９】
図３６に示されるように、ＴＴＢの初期の残高はユーザＡからユーザＤまで０であるとする。あるチャレンジに対する、サンクストークンコントラクト５０２Ａによるトークンの配分が図３７に示されるようになったとする。サンクストークンコントラクト５０２Ｂの残高の加算量は、サンクストークンコントラクト５０２Ａのトークンの残高に基づいて決定される。
【０２２０】
サンクストークンコントラクト５０２Ｂにおける加算量は、サンクストークンコントラクト５０２Ａの各ユーザについて、発行済みトークンに対する割合に難易度係数をかけ合わせた量である。サンクストークンコントラクト５０２Ａが関係するチャレンジの難易度は難易度係数が０．８である。
【０２２１】
あるチャレンジに対する、サンクストークンコントラクト５０２Ｃによるトークンの配分が、図３８に示されるようになったとする。サンクストークンコントラクト５０２Ａにおける場合と同様に、サンクストークンコントラクト５０２Ｂの残高の加算量は、サンクストークンコントラクト５０２Ｃの残高に基づいて決定される。
【０２２２】
サンクストークンコントラクト５０２Ｂにおける加算量は、サンクストークンコントラクト５０２Ｃの各ユーザについて、発行済みトークンに対する割合に難易度係数をかけ合わせた量である。サンクストークンコントラクト５０２Ｃが関係するチャレンジの難易度は難易度係数が０．２である。
【０２２３】
サンクストークンコントラクト５０２Ａ及びサンクストークンコントラクト５０２Ｃによるトークンの配分に基づいて決定された加算量によって、サンクストークンコントラクト５０２Ｂの残高が図３９のように更新される。
【０２２４】
あるチャレンジだけの応援者の貢献度を管理するサンクストークンコントラクト５０２Ａ又はサンクストークンコントラクト５０２Ｃによるトークンの管理に基づいて、サンクストークンコントラクト５０２Ｂのように挑戦者の一生ものの応援者の貢献度を管理することで、長期的な応援が可能となる。
【０２２５】
健康保険組合や保険会社等が、一時的な応援者に対するサンクストークンコントラクト５０２Ａではなく、サンクストークンコントラクト５０２Ｂに対して、インセンティブを支払う方が、組合員・加入者に対する継続的な応援が行われる可能性がある。また、サンクストークンコントラクト５０２Ｂが管理するトークンは他の人に譲渡できないようにトークン設計をしてもよい。
【０２２６】
第４実施形態について説明する。第４実施形態では、図４０に示されるように、ブロックチェーンネットワーク５５Ｃが、チャレンジアンドサンクストークンコントラクト５０４を有する点が第１実施形態とは異なる。
【０２２７】
チャレンジアンドサンクストークンコントラクト５０４は、第１実施形態におけるチャレンジコントラクト５０１とサンクストークンコントラクト５０２を兼ねるものである。チャレンジアンドサンクストークンコントラクト５０４は、図４１に示されるトークン残高５０４１のように、それぞれのチャレンジ結果に対応した３種類のトークンをチャレンジ開始時に各関係者に配分する。
【０２２８】
各トークンは、チャレンジ結果が成功、失敗又はギブアップのいずれか一つに決定した後に結果に対応するトークンが有効になるものとする。
【０２２９】
挑戦者は図４２に示されるように、自身の成功に期待して、自己のトークンを下請けに対して送付できる。チャレンジ成功時の配分金受取者も同様に、下請けに対してトークンを配分できる。
【０２３０】
チャレンジが成功すれば、成功時のトークンが有効になるので、トークンを配分された下請けは挑戦者をより積極的に応援する。
【０２３１】
チャレンジが失敗した場合は、成功時トークンは無効となり、失敗時のトークンが有効となる。ギブアップ時も同様である。
【０２３２】
チャレンジアンドサンクストークンコントラクト５０４は、図４３に示されるトークン残高５０４１Ａのように、１種類のトークンについて管理するものであってもよい。
【０２３３】
１種類のトークンについて管理する場合、チャレンジ開始時に初期配分として各関係者にトークンが配布される。トークンを受け取った人は、それを下請けに出して協力を得ることができる。例えば、挑戦者が下請けに０．２トークン渡したとする。チャレンジが成功した場合、下請けは、成功時配分に従うと、挑戦者のトークンが６０倍されるため、０．２トークンの６０倍の１２トークンを保有することになる。
【０２３４】
第４実施形態では、チャレンジ中に挑戦者や配分金受取者等の手元にトークンを与え、チャレンジ結果に応じて、トークンに価値が生じる。これによって、サンクストークンが分配用の媒介物として機能するのではなく、トークンそれ自体に価値を与えつつ、チャレンジが行われるようにすることができる。
【０２３５】
第５実施形態について説明する。第５実施形態では、図４４に示されるように、ブロックチェーンネットワーク５５Ｄが、予想コントラクト５０５を有する点が、第１実施形態と異なる。予想コントラクト５０５は挑戦者によるチャレンジの過程、成功、失敗に対して、予想を行い、チアリングトークンで賭金を支払う。
【０２３６】
予想コントラクト５０５は、応援者等からのチアリングトークンを受け取り次第、自動的に予想コントラクトの作成者に一定の手数料を支払う。また、チャレンジコントラクト５０１に対してもチアリングトークンを送付する。チャレンジコントラクト５０１に集積され、保持されたチアリングトークンは、例えば、チャレンジが成功したときに、チャレンジ成功の配分と同じ条件で関係者に配分される。チャレンジコントラクト５０１に送られるこのチアリングトークンは、自分や人のお金を供託してまでリスクを取って自身の歩行等のチャレンジに挑戦することに対するインセンティブとなる。
【０２３７】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【０２３８】
１，１Ａ，１Ｂ…チャレンジ支援システム、１０…資金提供者端末、２０…挑戦者端末、３０，３０Ａ…応援者端末、４０…運営者端末、５５，５５Ａ，５５Ｂ，５５Ｃ，５５Ｄ…ブロックチェーンネットワーク、６０…判定用データ送信端末、７０…協賛企業端末、８０…チャレンジアプリ、５０１…チャレンジコントラクト、５０２，５０２Ａ，５０２Ｂ，５０２Ｃ…サンクストークンコントラクト、５０３…チアリングトークンコントラクト
【要約】
ユーザがチャレンジを達成する可能性を高めるチャレンジ支援システムを実現可能なプログラムを提供する。インターネット（５０）に接続される端末に、第１のユーザが達成すべきチャレンジに関する契約条件が満たされたか否かを判定し、契約条件の判定結果に基づいて、第１のトークンを配分する第１のスマートコントラクトと、第２のユーザの第２のトークンの残高に基づいて、第１のトークンを第２のユーザに配分するトランザクションを生成する第２のスマートコントラクトと、を有するブロックチェーンネットワーク（５５）において、判定用データを取得する処理、判定用データをブロックチェーンネットワーク（５５）へ送信する処理、第２のトークンの配分に用いられるトランザクションを生成する処理、第２のトークンの配分に用いられるトランザクションをブロックチェーンネットワーク（５５）へ送信する処理、を実行させる、プログラム。【図１】
0006762647.tif 000002
【図２】
0006762647.tif 000003
【図３】
0006762647.tif 000004
【図４】
0006762647.tif 000005
【図５】
0006762647.tif 000006
【図６】
0006762647.tif 000007
【図７】
0006762647.tif 000008
【図８】
0006762647.tif 000009
【図９】
0006762647.tif 000010
【図１０】
0006762647.tif 000011
【図１１】
0006762647.tif 000012
【図１２】
0006762647.tif 000013
【図１３】
0006762647.tif 000014
【図１４】
0006762647.tif 000015
【図１５】
0006762647.tif 000016
【図１６】
0006762647.tif 000017
【図１７】
0006762647.tif 000018
【図１８】
0006762647.tif 000019
【図１９】
0006762647.tif 000020
【図２０】
0006762647.tif 000021
【図２１】
0006762647.tif 000022
【図２２】
0006762647.tif 000023
【図２３】
0006762647.tif 000024
【図２４】
0006762647.tif 000025
【図２５】
0006762647.tif 000026
【図２６】
0006762647.tif 000027
【図２７】
0006762647.tif 000028
【図２８】
0006762647.tif 000029
【図２９】
0006762647.tif 000030
【図３０】
0006762647.tif 000031
【図３１】
0006762647.tif 000032
【図３２】
0006762647.tif 000033
【図３３】
0006762647.tif 000034
【図３４】
0006762647.tif 000035
【図３５】
0006762647.tif 000036
【図３６】
0006762647.tif 000037
【図３７】
0006762647.tif 000038
【図３８】
0006762647.tif 000039
【図３９】
0006762647.tif 000040
【図４０】
0006762647.tif 000041
【図４１】
0006762647.tif 000042
【図４２】
0006762647.tif 000043
【図４３】
0006762647.tif 000044
【図４４】
0006762647.tif 000045