(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、クラウドファンディングに関する技術に関し、以下の問題が生じることを見出した。
クラウドファンディングは、インターネット上において、プロジェクト(例えば、新しいコンテンツを作成して提供すること)に対して1以上の者(支援者ともいう)から提供された資金を、コンテンツ提供者に提供する仕組みである。この仕組みによって、コンテンツ提供者は、プロジェクトに係る資金調達をすることができる。
クラウドファンディングの普及を促進することを目的とした情報処理装置が提案されている(特許文献1参照)。特許文献1に記載された技術は、クラウドファンディングをライブ会場で行うことで、クラウドファンディングの普及を促進し得る技術である。
しかしながら、クラウドファンディングの成立までに比較的長い時間を要する場合、または、クラウドファンディングの募集期間を経過しても成立しない場合には、その募集期間中にファンド管理システムが稼働するための消費電力が大きくなるという問題がある。ファンド管理システムには、1以上のサーバ、1以上の通信機器およびその他の情報機器が含まれ、これらはそれぞれ、動作のために電力を消費する。
そこで、本発明は、クラウドファンディングの管理システムの消費電力を削減し得る制御方法などを提供する。
このような問題を解決するために、本発明の一態様に係る制御方法は、分散台帳を保有している複数のサーバを備えるファンド管理システムにおいて、当該複数のサーバのうちの一のサーバが実行する制御方法であって、クラウドファンディングの1以上の申込者からの申し込みに関するトランザクションデータである第一トランザクションデータを受信し、受信した前記第一トランザクションデータを前記複数のサーバそれぞれが備える前記分散台帳に格納し、前記分散台帳には、前記1以上の申込者に提供する報酬の額であって、前記1以上の申込者それぞれからの申し込みのタイミングが遅くなるにつれて減少する傾向を有する報酬の額が定められた報酬情報が予め格納されており、前記報酬情報を参照し、前記第一トランザクションデータを受信したタイミングを用いて前記1以上の申込者それぞれに提供する報酬の額の決定をし、前記クラウドファンディングの目標条件が満たされたと判定した場合に、前記決定に従う前記額の前記報酬を前記1以上の申込者それぞれに提供することを示すトランザクションデータである第二トランザクションデータを前記分散台帳に格納する。
上記態様によれば、申込者がなるべく多くの額の報酬を得る意図をもつので、より早いタイミングで申し込みをすることを促すことになり、クラウドファンディングを早期に成立させることにつながる。そして、クラウドファンディングが早期に成立すれば、その成立以降、クラウドファンディングの管理に必要なサーバの稼働に要する消費電力を削減することができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を削減することができる。
また、分散台帳に格納されたトランザクションデータの改ざんが実質的に不可能であることから、クラウドファンディングにおける申込又はトークンの提供等の手続きに関する管理情報が適切に管理される。よって、本発明の一態様に係る制御方法によれば、クラウドファンディングにおける手続きを適切に管理できる効果もある。
例えば、前記1以上の申込者のうちの一の申込者から前記第一トランザクションデータを受信した場合、前記一の申込者についての前記報酬の額の前記決定は、前記第一トランザクションデータを受信してから所定時間以内になされてもよい。
上記態様によれば、申し込みにかかるトランザクションデータを受信してから所定時間以内に報酬額を決定する処理を実行するので、処理タイミングが分散することで、サーバの処理負荷が分散し、瞬間的に消費電力が高い状態をとることを未然に回避することができる。よって、本発明に係る制御方法は、処理負荷を時間的に分散させながら、クラウドファンディングの管理システムの消費電力を削減することができる。
例えば、さらに、前記第一トランザクションデータを受信してから所定時間以内に、前記決定に係る前記報酬の額を前記一の申込者に通知してもよい。
上記態様によれば、申込者に報酬額を通知をするので、申込者は、自身に与えられる報酬の額を認識することができ、申込者が新たに申し込みをする、より一層の動機付けを得られる。これにより、クラウドファンディングの管理に必要なサーバの稼働に要する消費電力を、より一層、削減することができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を削減することができる。
例えば、前記1以上の申込者についての前記報酬の額の前記決定は、前記クラウドファンディングの目標条件が満たされたと判定した後になされてもよい。
上記態様によれば、クラウドファンディングの成立後に全申込者に対する報酬の額を決定する処理を実行するので、クラウドファンディングの全体の状況を考慮して、より適切に報酬の額を決定することができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を削減することができる。
例えば、前記報酬情報には、前記1以上の申込者のうち、前記クラウドファンディングの募集期間中の所定タイミング以降に申し込みをした申込者に追加で提供する報酬である追加報酬の額がさらに定められており、前記1以上の申込者のうち、前記所定タイミング以降に申し込みをした申込者に追加報酬を提供することを示すトランザクションデータである第三トランザクションデータを前記分散台帳に格納してもよい。
上記態様によれば、申込者に追加報酬を提供するので、募集期間中の所定のタイミング以降であっても、申込者がなるべく多くの額の報酬を得る意図をもってなるべく早いタイミングで申し込みをするので、クラウドファンディングをより一層早期に成立させることができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を、より一層、削減することができる。
例えば、前記トランザクションデータを前記複数のサーバが備える前記分散台帳に格納する際には、前記複数のサーバそれぞれによるコンセンサスアルゴリズムの実行を経て、前記トランザクションデータを前記分散台帳に格納してもよい。
上記態様によれば、コンセンサスアルゴリズムの実行を経て分散台帳を格納する。よって、本発明に係る制御方法は、コンセンサスアルゴリズムの実行を経ることによって、より容易に、クラウドファンディングにおける資金調達を適切に管理することができる。
例えば、前記1以上の申込者それぞれに提供する報酬の額の前記決定は、前記第一トランザクションデータを前記分散台帳に格納したことに基づいて実行されるスマートコントラクトによりなされてもよい。
上記態様によれば、報酬の額の決定処理を、他の人又は他のシステムを介在することなく、早期かつ安全に実行される。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を、より一層、削減することができる。
例えば、前記追加報酬の額の前記決定は、前記第一トランザクションデータを前記分散台帳に格納したことに基づいて実行されるスマートコントラクトによりなされてもよい。
上記態様によれば、追加報酬の額の決定処理を、他の人又は他のシステムを介在することなく、早期かつ安全に実行される。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を、より一層、削減することができる。
また、本発明の一態様に係るサーバは、分散台帳を保有している複数のサーバを備えるファンド管理システムにおいて、当該複数のサーバのうちの一のサーバであって、クラウドファンディングの1以上の申込者からの申し込みに関するトランザクションデータである第一トランザクションデータを受信し、受信した前記第一トランザクションデータを前記複数のサーバそれぞれが備える前記分散台帳であって、前記1以上の申込者に提供する報酬の額であって、前記1以上の申込者それぞれからの申し込みのタイミングが遅くなるにつれて減少する傾向を有する報酬の額が定められた報酬情報が予め格納されている前記分散台帳に格納する処理部と、前記報酬情報を参照し、前記第一トランザクションデータを受信したタイミングを用いて前記1以上の申込者それぞれに提供する報酬の額の決定をする制御部とを備え、前記処理部は、さらに、前記クラウドファンディングの目標条件が満たされたと判定された場合に、前記決定に従う前記額の前記報酬を前記1以上の申込者それぞれに提供することを示すトランザクションデータである第二トランザクションデータを前記分散台帳に格納する。
上記態様により、上記制御方法と同様の効果を奏する。
また、本発明の一態様に係るプログラムは、上記の制御方法をコンピュータに実行させるためのプログラムである。
上記態様により、上記制御方法と同様の効果を奏する。
また、本発明の一態様に係るデータ構造は、分散台帳を保有している複数のサーバを備えるファンド管理システムにおいて、前記分散台帳に記録されるデータ構造であって、前記データ構造は、クラウドファンディングの1以上の申込者に提供する報酬の額であって、前記1以上の申込者それぞれからの申し込みのタイミングが遅くなるにつれて減少する傾向を有する報酬の額が定められた報酬情報とを含み、前記分散台帳に記録された後に、前記1以上の申込者から前記クラウドファンディングへの申し込みがあった場合、前記報酬情報に基づき前記1以上の申込者それぞれに提供する報酬の額を決定する処理に用いられる。
上記態様により、上記制御方法と同様の効果を奏する。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態において、クラウドファンディングの管理システムの消費電力を削減し得るファンド管理システムおよびその制御方法などについて説明する。なお、ファンドにおける資金調達の単位をプロジェクトともいう。プロジェクトは、コンテンツの提供に係るプロジェクトであることが想定される。プロジェクトについて、コンテンツを提供する者を提供者といい、そのコンテンツについての資金提供の募集をする者を募集者といい、資金提供を申し込む者を申込者という。プロジェクトは、当該プロジェクトについて定められた募集期間中に、定められた目標額の資金提供の申し込みを受けることができた場合に、「成立する」と表現される。
図1は、本実施の形態におけるファンド管理システム1の構成を模式的に示すブロック図である。
図1に示されるように、ファンド管理システム1は、サーバ10A、10B及び10Cと、端末40、41、50および51とを備える。ファンド管理システム1が備える各装置は、ネットワークNによって互いに通信可能に接続されている。ネットワークNは、どのような通信回線又はネットワークから構成されてもよく、例えば、インターネット、携帯電話のキャリアネットワークなどを含む。サーバ10A、10B及び10Cを「サーバ10A等」ともいう。
サーバ10Aは、ファンド管理システム1によって行われるクラウドファンディングを管理する複数のサーバ10A、10B及び10Cのうちの1つである。サーバ10Aは、分散台帳を保有している複数のサーバ10A、10B及び10Cのうちの1つである。サーバ10Aが保有している分散台帳には、クラウドファンディングにおける手続または処理(募集、申込、終了判定、報酬提供など)に関する各種トランザクションデータが格納される。サーバ10Aは、上記トランザクションデータを受信することで、クラウドファンディングにおける手続または処理を受け付ける。なお、プロジェクトにおける資金提供は、一例として、分散台帳により、トークンの提供として管理される。トークンは、分散台帳により管理されている価値情報であり、金銭、商品券またはクーポン等に相当し、又は、交換可能である。
サーバ10B及び10Cは、それぞれ、サーバ10Aと同じ機能を有する装置であり、サーバ10Aとは独立に動作する。なお、サーバの台数は、3に限られず、複数であればよい。また、サーバ10A等同士は、通信可能に接続されており、ネットワークNを介して接続されていてもよい。
ここでは例として、サーバ10A等のうち、サーバ10Aが端末41等からトランザクションデータを受信したり、端末41等に通知を送信したりする場合を説明するが、他のサーバ(サーバ10Bまたは10C)が上記の処理を行ってもよい。
端末40は、提供者が保有する端末装置である。提供者が提供するコンテンツは、例えば、動画、静止画、音楽、又は、ソフトウェア(アプリケーションソフトウェアを含む)などの電子データである。提供者が提供するコンテンツは、提供者が作成したものであることが想定され、この場合を説明するがこれに限定されない。端末40は、プロジェクトが成立した場合に、当該プロジェクトに係るコンテンツを申込者に提供する。端末40は、例えばパーソナルコンピュータ、スマートフォン、タブレットなどである。
端末41は、クラウドファンディングのプロジェクトの募集者が保有する端末装置である。募集者は、申込者による資金提供の申し込みの合計額が、プロジェクトの目標額に達するように、申込者による資金提供を募集する。なお、募集者は、提供者と同一の者であってもよいし、申込者と同一の者であってもよいし、提供者及び募集者と異なる者であってもよい。端末41は、資金提供の募集をする際には、資金提供の募集に関する情報を含むトランザクションデータ(募集トランザクションデータともいう)を生成し、生成した募集トランザクションデータをサーバ10Aなどに送信する。
端末50は、申込者が保有する端末装置である。申込者は、資金提供の募集に関する情報を参照し、資金提供の申し込みをする。その後、プロジェクトが成立した場合には、実際に資金が募集者を経て提供者に渡る。また、申込のタイミングに応じた報酬が、クラウドファンディングの管理口座または提供者から申込者に提供される。一方、プロジェクトが成立しなかった場合には、募集者および提供者への資金提供、および、報酬の提供はなされない。
端末50は、資金提供の申込をする際には、申込のためのトランザクションデータ(申込トランザクションデータ、第一トランザクションデータともいう)を生成し、生成した申込トランザクションデータをサーバ10Aに送信する。プロジェクトが成立すると、端末50は、提供者が提供するコンテンツを取得する。その後、申込者は、コンテンツを利用することができる。
端末51は、ファンドの申込者であって、端末50を保有する申込者とは異なる申込者が保有する端末装置である。端末51は、端末50と同じ機能を有する装置であり、端末50とは独立に動作する。なお、申込者が保有する端末の台数は、2に限られず、申込者の人数と同じ数だけ存在する。
以降において、ファンド管理システム1が備えるサーバ10A等の構成について詳細に説明する。
図2は、本実施の形態におけるサーバ10Aの構成を模式的に示すブロック図である。
図2に示されるように、サーバ10Aは、処理部11と、台帳管理部12と、制御部13とを備える。サーバ10Aが備える上記機能部は、例えばCPU(Central Processing Unit)がメモリを用いてプログラムを実行することで実現され得る。
処理部11は、分散台帳によって各種情報の管理を行う処理部である。処理部11は、ファンド管理システム1内の装置からトランザクションデータを受信した場合、又は、制御部13が生成したトランザクションデータを取得した場合に、受信又は取得したトランザクションデータを台帳管理部12に提供することで分散台帳に格納する。トランザクションデータには、募集トランザクションデータ、申込トランザクションデータ、資金提供トランザクションデータ、報酬提供トランザクションデータ、目標判定トランザクションデータ、および報酬依頼トランザクションデータが含まれる。各トランザクションデータについては後で詳しく説明する。
台帳管理部12は、分散台帳を管理している処理部である。台帳管理部12は、処理部11から提供されたトランザクションデータを分散台帳に格納する。分散台帳には、過去から現在までのトランザクションデータが格納される。分散台帳に記録された情報の改ざんが困難であるという特性に基づいて、上記トランザクションデータが改ざんされないように管理されている。
台帳管理部12は、格納部15と、台帳記憶部16とを有する。
格納部15は、分散台帳に格納すべき新しいトランザクションデータを台帳記憶部16に格納する処理部である。格納部15は、分散台帳の種別に応じた方式で新しいトランザクションデータを台帳記憶部16に格納する。また、格納部15は、サーバ10A等のうちの他のサーバの格納部15と通信データを送受信し、他のサーバの台帳記憶部16にも上記新しいトランザクションデータを格納させる。例えば、格納部15は、分散台帳がブロックチェーンである場合には、新しいトランザクションデータを含むブロックを生成し、生成したブロックをサーバ10A等の間で同期をとったうえで、上記ブロックを台帳記憶部16に格納する。
台帳記憶部16は、分散台帳を記憶している記憶装置である。台帳記憶部16に格納されている分散台帳は、1以上のトランザクションデータを記憶しており、ハッシュ値などの特性を用いて改ざんが困難であるように管理されている(後述)。
また、台帳記憶部16に格納されている分散台帳には、1以上の申込者に提供する報酬の額であって、1以上の申込者それぞれからの申し込みのタイミングが遅くなるにつれて減少する傾向を有する報酬の額が定められた報酬情報が予め格納されている。
なお、分散台帳は、例えばブロックチェーンであり、この場合を例として説明するが、他の方式の分散台帳(例えば、IOTA又はハッシュグラフ等)を採用することも可能である。なお、分散台帳は、新しいデータの格納の際にコンセンサスアルゴリズム(例えば、PBFT(Practical Byzantine Fault Tolerance)、PoW(Proof of Work)又はPoS(Proof of Stake))を実行するものであってもよいし、実行しないものであってもよい。コンセンサスアルゴリズムを実行しない分散台帳技術の一例としてHyperledger fabricがある。
制御部13は、クラウドファンディングのプロジェクトの目標が達成されたか否かを判定し、資金の提供および報酬の提供に係る処理を制御する処理部である。制御部13は、クラウドファンディングの目標条件と報酬に関する情報とを、募集トランザクションにより端末41から受信する。また、制御部13は、端末50及び51からの申込トランザクションにより、資金提供の申し込みを受ける。制御部13は、クラウドファンディングの目標条件が満たされるか否かを判定し、その判定結果を示す情報を出力する。
また、制御部13は、上記判定の結果に基づいて、クラウドファンディングに係る処理を制御する。具体的には、制御部13は、クラウドファンディングのプロジェクトが成立した場合には、各種通知などの処理と、支払トランザクションデータによる資金の支払処理、報酬額の決定処理、報酬の提供のためのトランザクションデータ(報酬提供トランザクションデータ、第二トランザクションデータともいう)による報酬の提供処理をする。
具体的には、制御部13は、報酬情報を参照し、申込トランザクションデータを受信したタイミングを用いて1以上の申込者それぞれに提供する報酬の額の決定をする。そして、制御部13は、クラウドファンディングの目標条件が満たされたと判定した場合に、上記決定に従う額の報酬を1以上の申込者それぞれに提供することを示す報酬提供トランザクションデータを処理部11を介して分散台帳に格納する。
なお、提供される報酬の額を決定するタイミングは、複数あり得る。例えば、制御部13は、端末51等からの申し込みごとに報酬の額を決定する。より具体的には、制御部13は、端末51等から申込トランザクションデータを受信してから所定時間以内に報酬の額を決定する。所定時間は、例えば、数秒~数分程度である。このとき、申込トランザクションデータを受信してから上記所定時間以内に、上記決定に係る報酬の額を申込者に通知してもよい。これにより、報酬の額の算出処理のタイミングが時間的に分散することで、サーバの処理負荷を分散させる効果がある。
なお、制御部13は、クラウドファンディングの目標条件が満たされたと判定した後に、報酬の額を決定してもよい。このようにすれば、クラウドファンディングの全体の状況を考慮して報酬情報を変更するなどして、より適切な報酬の額を決定することができる。
なお、制御部13の上記の処理の一部または全部は、台帳記憶部16に記憶されたコントラクトコードを実行することで実現されるスマートコントラクトによりなされ得るが、これに限定されない。例えば、1以上の申込者それぞれに提供する報酬の額の決定は、第一トランザクションデータを分散台帳に格納したことに基づいて実行されるスマートコントラクトによりなされてもよい。
以降において、申込者に提供される報酬について説明する。
申込者に提供される報酬は、募集トランザクションデータに含まれる報酬情報に基づいて、申込者の申し込みのタイミングにより決定される。報酬情報は、例えば、報酬額を規定する関数またはテーブルである。
図3は、本実施の形態における報酬情報の第一例を示す説明図である。図3に示される報酬情報は、報酬額を関数によって規定する報酬情報の例である。
図3において、横軸は、申込のタイミングxを示していて、縦軸は、各タイミングxにおける報酬額F(x)を示している。なお、タイミングxは、具体的には、順序(つまり、当該プロジェクトにおける何番目の申込であるか)であり、この場合を例として説明するが、他に、時間(つまり、当該プロジェクトの募集の開始からの経過時間)とすることもできる。
関数F(x)は、原則として、xの増加に対して減少する傾向を有する。言い換えれば、報酬額は、申込のタイミングが遅くなるにつれて減少する傾向を有する。より具体的には、関数F(x)は、xに対して単調減少の関数である。ただし、関数F(x)は、xの変化に対して値を維持する区間を含んでもよい。また、関数F(x)は、例外的にxの増加に対して増加することを含んでもよく、後述する実施の形態2で詳しく説明される。
制御部13は、図3に示される報酬情報である関数F(x)を用いて以下のように報酬額を算出することで決定する。すなわち、制御部13は、関数F(x)を用いて、1番目の申し込みをした申込者の報酬額をF(1)つまりE1と決定し、2番目の申し込みをした申込者の報酬額をF(2)つまりE2と決定する。また、制御部13は、N番目の申し込みをした申込者の報酬額をF(N)つまりゼロと決定する。
図4は、本実施の形態における報酬情報の第二例を示す説明図である。図4に示される報酬情報は、報酬額をテーブルによって規定する報酬情報の例である。
図4に示されるテーブルでは、申込の順番と、その申込をした申込者の報酬額とが対応付けて示されている。上記テーブルにおいても、原則として、申込の順番が遅くなるほど報酬額が減少する傾向を有する。より具体的には、報酬額は、順序に対して単調減少の関係を有する。ただし、報酬額は、順序の変化に対して値を維持する区間を含んでもよい。また、報酬額は、例外的に、順序が遅くなるときに増加することを含んでもよく、後述する実施の形態2で詳しく説明される。
例えば、1番目の申し込みをした申込者の報酬額がE1に対応付けられており、2番目の申し込みをした申込者の報酬額がE2に対応付けられている。また、N番目の申し込みをした申込者の報酬額がゼロに対応付けられている。
制御部13は、図4に示される報酬情報であるテーブルを用いて以下のように報酬額を決定する。すなわち、制御部13は、テーブルを用いて、1番目の申し込みをした申込者の報酬額をE1と決定し、2番目の申込をした申込者の報酬額をE2と決定する。また、制御部13は、N番目の申し込みをした申込者の報酬額をゼロと決定する。
図3または図4に示されるように、制御部13は、申込のタイミングが早いほど高い報酬額を決定する。このようにすることで、申込者に、より早いタイミングでの申込をさせることを促す効果がある。
図5は、本実施の形態における報酬額が記録された記録テーブルの一例を示す説明図である。記録テーブルは、制御部13が報酬額を決定した場合に、決定した報酬額が記録されるテーブルである。
図5に示される記録テーブルは、図3又は図4に示される報酬情報を用いて決定された報酬額の一例が示されている。
具体的には、図5に示される記録テーブルでは、1番目の申し込みをした申込者であるAに報酬額としてE1が決定され、2番目の申し込みをした申込者であるBに報酬額としてE2が決定されたことが記されている。
なお、端末51等から申込トランザクションデータを受信したタイミングで報酬の額が決定される場合には、記録テーブルには、申込トランザクションデータを受信するごとに順次に申込者と報酬額とが対応付けて記録されていく。一方、プロジェクトが成立したタイミングで報酬の額が決定される場合には、記録テーブルには、プロジェクトが成立した後ですべての申込者と各申込者の報酬額とが対応付けて記録される。
なお、記録テーブルは、制御部13が使用するメモリまたはストレージに記録されていてもよいし、分散台帳を利用して記録されていてもよい。分散台帳を利用して記録される場合、初期状態の記録テーブルからの更新内容が履歴として分散台帳に記録される。このとき、さらに、記録テーブルの最新状態をメモリまたはストレージに記録するようにしてもよい。
以降において、処理部11が分散台帳に格納する各種トランザクションデータである、(1)募集トランザクションデータ、(2)申込トランザクションデータ、(3)資金提供トランザクションデータ、(4)報酬提供トランザクションデータ、(5)目標判定トランザクションデータ、および(6)報酬依頼トランザクションデータについて説明する。
(1)募集トランザクションデータ
図6は、本実施の形態における募集トランザクションデータを模式的に示す説明図である。募集トランザクションデータは、クラウドファンディングのプロジェクトを開始する際に、端末41によって生成され、サーバ10A等に送信される。
図6に示されるように、募集トランザクションデータは、募集者IDと、プロジェクトIDと、提供者IDと、募集期限と、目標額と、支払額と、目標判定コードと、報酬決定コードと、署名とを含む。
募集者IDは、当該プロジェクトについての資金提供を募集する募集者を一意に特定し得る識別子である。
プロジェクトIDは、当該プロジェクトを一意に特定し得る識別子である。
提供者IDは、提供者を一意に特定し得る識別子である。
募集期限は、当該プロジェクトの募集期限、つまり募集期間の終期を示す情報である。
目標額は、当該プロジェクトにおいて募集者が調達することを目標としている資金の額、つまりトークンの量を示す情報である。
支払額は、当該プロジェクトにおいて、申込者それぞれが支払うトークンの量を示す情報である。なお、当該プロジェクトにおいて申込者それぞれが支払うトークンの量を定めない場合には、支払額の指定は不要である。
目標判定コードは、当該プロジェクトの目標が達成されたか否か判定を行うスマートコントラクトのコードである。
報酬決定コードは、当該プロジェクトが成立した場合の報酬額の決定を行うスマートコントラクトのコードである。
署名は、当該募集トランザクションデータを生成した装置又は人が付した電子署名である。
図6に示される募集トランザクションデータは、募集者IDが「aaa001」である募集者が、プロジェクトIDが「kdfjafjpo34」であるプロジェクトについての資金提供の募集をするための募集トランザクションデータである。このプロジェクトにおいて、提供者の提供者IDが「fljad4019」であり、募集期限が「2018.10.10 15:00:00」であり、目標額は「100」トークンであり、支払額は「1」トークンである。署名は、募集者の電子署名である。
(2)申込トランザクションデータ
図7は、本実施の形態における申込トランザクションデータを模式的に示す説明図である。申込トランザクションデータは、プロジェクトにおいて資金提供の申し込みをする際に、申し込みをする申込者の端末(例えば申込者U3の端末50)によって生成され、サーバ10A等に送信される。
図7に示されるように、申込トランザクションデータは、申込者IDと、プロジェクトIDと、支払額と、送信日時と、署名とを含む。
申込者IDは、資金提供の申し込みをする申込者を一意に特定し得る識別子である。
プロジェクトIDは、当該申込に係るプロジェクトを一意に特定し得る識別子である。
支払額は、当該申込において、申込者が支払うトークンの量を示す情報である。
送信日時は、当該申込トランザクションデータの送信日時を示す情報である。
署名は、当該申込トランザクションデータを生成した装置又は人が付した電子署名である。
図7に示される申込トランザクションデータは、申込者IDが「aaa003」である申込者が、プロジェクトIDが「kdfjafjpo34」であるプロジェクトについての資金提供の申込をするための申込トランザクションデータである。この申込において、支払額は「1」トークンであり、この申込トランザクションデータの送信日時が「2018.10.05 10:00:00」である。署名は、申込者の電子署名である。
(3)資金提供トランザクションデータ
図8は、本実施の形態における資金提供トランザクションデータを模式的に示す説明図である。資金提供トランザクションデータは、プロジェクトに係るファンドが成立したことに基づいて、申込者から提供者への資金提供の際にサーバ10A等により生成される。なお、資金提供トランザクションデータは、申込者の端末(例えば申込者U3の端末50)によって生成されサーバ10A等に送信されてもよい。
図8に示されるように、資金提供トランザクションデータは、申込者口座IDと、提供者口座IDと、支払額と、送信日時と、署名とを含む。
申込者口座IDは、資金提供をする申込者を一意に特定し得る識別子である。
提供者口座IDは、資金提供を受ける提供者を一意に特定し得る識別子である。
支払額は、当該資金提供トランザクションデータによって提供されるトークン額を示す情報である。
送信日時は、当該資金提供トランザクションデータの送信日時を示す情報である。
署名は、当該資金提供トランザクションデータを生成した装置又は人が付した電子署名である。
図8に示される資金提供トランザクションデータは、申込者口座IDが「aab0aab」である申込者口座から、提供者口座IDが「moaq68079」である提供者口座へ資金(トークン)を提供するための資金提供トランザクションデータである。支払額が「1」トークンであり、この資金提供トランザクションデータの送信日時が「2018.10.11 07:00:00」である。署名は、申込者の電子署名である。
(4)報酬提供トランザクションデータ
図9は、本実施の形態における報酬提供トランザクションデータを模式的に示す説明図である。報酬提供トランザクションデータは、プロジェクトに係るファンドが成立したことに基づいて、報酬提供の際にサーバ10A等により生成される。なお、報酬提供トランザクションデータは、募集者U2の端末41によって生成されサーバ10A等に送信されてもよい。
図9に示されるように、報酬提供トランザクションデータは、管理口座IDと、申込者口座IDと、報酬額と、提供日時と、署名とを含む。
管理口座IDは、クラウドファンディングの管理口座を一意に特定し得る識別子である。管理口座IDは、報酬の提供元を示している。
申込者口座IDは、報酬の提供を受ける申込者を一意に特定し得る識別子である。
報酬額は、当該報酬提供トランザクションデータによって提供されるトークン額を示す情報である。
提供日時は、当該報酬提供トランザクションデータが格納されたことで報酬の提供がなされた日時を示す情報である。
署名は、当該報酬提供トランザクションデータを生成した装置又は人が付した電子署名である。
図9に示される報酬提供トランザクションデータは、管理口座IDが「moaq68079」から、申込者口座IDが「aab0aab」である申込者口座へ報酬(トークン)を提供するための報酬提供トランザクションデータである。報酬額が「1」トークンであり、この報酬提供トランザクションデータによる報酬の提供日時が「2018.10.11 07:00:00」である。署名は、管理者の電子署名である。
(5)目標判定トランザクションデータ
図10は、本実施の形態における目標判定トランザクションデータを模式的に示す説明図である。目標判定トランザクションデータは、プロジェクトに係るファンドの目標が達成されたか否かを判定するための判定処理を、サーバ10A等に実行させるときに、端末41により生成される。
図10に示されるように、目標判定トランザクションデータは、募集者IDと、実行コードと、送信日時と、署名とを含む。
募集者IDは、募集者を一意に特定し得る識別子である。
実行コードは、ファンドの目標が達成されたか否かを判定するためのスマートコントラクトのコードを示す情報である。
送信日時は、当該目標判定トランザクションデータが送信された日時を示す情報である。
署名は、当該目標判定トランザクションデータを生成した装置又は人が付した電子署名である。
図10に示される目標判定トランザクションデータは、募集者IDが「aaa001」である募集者が「目標判定コード」によってファンドの目標の達成の判定をサーバ10A等にさせるための目標判定トランザクションデータである。この目標判定トランザクションデータの送信日時が「2018.10.05 10:00:30」である。署名は、募集者の電子署名である。
(6)報酬依頼トランザクションデータ
図11は、本実施の形態における報酬依頼トランザクションデータを模式的に示す説明図である。報酬依頼トランザクションデータは、報酬額を決定する処理をサーバ10A等に実行させるときに、端末41により生成される。
図11に示されるように、報酬依頼トランザクションデータは、募集者IDと、実行コードと、送信日時と、署名とを含む。
募集者IDは、募集者を一意に特定し得る識別子である。
実行コードは、報酬額を決定するためのスマートコントラクトのコードを示す情報である。
送信日時は、当該報酬依頼トランザクションデータが送信された日時を示す情報である。
署名は、当該報酬依頼トランザクションデータを生成した装置又は人が付した電子署名である。
図11に示される報酬依頼トランザクションデータは、募集者IDが「aaa001」である募集者が「報酬決定コード」によって報酬額を決定する処理をサーバ10A等にさせるための報酬依頼トランザクションデータである。この目標判定トランザクションデータの送信日時が「2018.10.11 05:00:00」である。署名は、募集者の電子署名である。
以降において、サーバ10A等の処理と、ファンド管理システム1全体の処理とについて、報酬の額の決定のタイミングと報酬提供の態様とが異なる4つの例を説明する。
(1)申し込みごとに報酬の額の決定をし、報酬として新たなトークンを発行して提供する場合の例。
図12は、本実施の形態におけるサーバ10A等の処理の第一例を示すフロー図である。
あらかじめ、提供者U1の端末40は、クラウドファンディングのプロジェクトに関する条件を設定し、端末41に送信している。上記条件は、募集期限、目標額、および支払額を含む。端末41は、上記条件を含む募集トランザクションデータを生成してサーバ10A等に送信している。
図12に示されるように、ステップS101において、処理部11は、募集者U2の端末41から募集トランザクションデータを受信したか否かを判定する。募集トランザクションデータを受信したと判定した場合(ステップS101でYes)には、ステップS102に進み、そうでない場合(ステップS101でNo)には、ステップS101を再び実行する。つまり処理部11は、募集トランザクションデータを受信するまでステップS101で待機する。なお、募集トランザクションデータには、目標判定コードと、報酬決定コードとが含まれている。
ステップS102において、処理部11は、ステップS101で受信した募集トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、処理部11は、上記募集トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
ステップS103において、処理部11は、申込者U3等の端末41等から申込トランザクションデータを受信したか否かを判定する。申込トランザクションデータを受信した場合(ステップS103でYes)には、ステップS104に進み、そうでない場合(ステップS103でNo)には、ステップS103に進む。つまり処理部11は、申込トランザクションデータを受信するまでステップS103で待機する。
ステップS104において、処理部11は、ステップS103で受信した申込トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、処理部11は、上記申込トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
ステップS105において、制御部13は、ステップS103で受信した申込トランザクションデータの送信元である申込者に提供する報酬の額を決定する。報酬の額の決定は、ステップS101で受信した申込トランザクションデータに含まれていた報酬決定コードを実行することでなされる。また、制御部13は、決定した報酬の額を申込者に通知してもよい。
ステップS106において、制御部13は、募集期間が終了したか否かを判定する。募集期間が終了したか否かは、ステップS101で受信した募集トランザクションデータに含まれる募集期限が到来しているか否かにより判定される。募集期間が終了したと判定した場合(ステップS106でYes)には、ステップS107に進み、そうでない場合(ステップS106でNo)には、ステップS103に進む。
ステップS107において、制御部13は、募集期間が終了したことを申込者U3等つまり端末50等に通知する。なお、ステップS107は、実行されなくてもよい。
ステップS108において、制御部13は、クラウドファンディングのプロジェクトの目標条件が満たされたか否かを判定する。目標条件が満たされたか否かの判定は、ステップS101で受信した募集トランザクションデータに含まれる目標判定コードを実行することによってなされる。目標条件が満たされたと判定された場合(ステップS108でYes)には、ステップS109に進み、そうでない場合(ステップS108でNo)には、ステップS121に進む。
ステップS109において、制御部13は、ファンドが成立したことを申込者U3等つまり端末50等に通知する。なお、ステップS109は、実行されなくてもよい。
ステップS110において、制御部13は、資金提供トランザクションデータを生成する。資金提供トランザクションデータは、申込者から提供者に資金が提供されることを示している。
ステップS111において、制御部13は、ステップS110で生成した資金提供トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、制御部13は、上記資金提供トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
ステップS112において、制御部13は、報酬提供トランザクションデータを生成する。生成される報酬提供トランザクションデータには、ステップS105で決定された報酬額が書き込まれる。上記報酬提供トランザクションデータは、ステップS105で決定された報酬額の報酬として発行されたトークンが、クラウドファンディングの管理口座から申込者に提供されることを示している。
ステップS113において、制御部13は、ステップS112で生成した報酬提供トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、制御部13は、上記報酬提供トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
ステップS121において、制御部13は、ファンドが不成立であったことを申込者U3の端末50等に通知する。なお、ステップS121は、実行されなくてもよい。
ステップS113又はS121のあと、図12に示される一連の処理を終了する。
次に、ファンド管理システム1の全体の処理を説明する。
図13は、図12に対応するファンド管理システム1全体の処理を示すシーケンス図である。図13には、プロジェクトが成立した場合のファンド管理システム1全体の処理が示されている。なお、図12のフロー図と同じ処理を示すものは、図12と同じ符号を付し詳細な説明を省略する。
まず、あらかじめ、提供者U1の端末40は、クラウドファンディングのプロジェクトに関する条件を設定し、設定した条件を端末41に送信する。上記条件は、募集期限、目標額、および支払額を含む。端末41は、送信された条件を受信する。
ステップS201において、端末41は、端末40から受信した条件に基づいて、募集トランザクションデータを生成する。生成される募集トランザクションデータには、目標判定コードと報酬決定コードとが含まれている(図6参照)。また、端末41は、生成した募集トランザクションデータをサーバ10A等に送信する。このとき、端末41は、生成した募集トランザクションデータをサーバ10A等のうちの1つのサーバに送信してもよいし、複数のサーバに送信してもよい。
サーバ10A等は、端末41により送信された募集トランザクションデータを受信し、分散台帳に格納する(ステップS101及びS102)。
ステップS211において、端末51は、申込トランザクションデータを生成してサーバ10A等に送信する。このとき、端末51は、生成した申込トランザクションデータをサーバ10A等のうちの1つのサーバに送信してもよいし、複数のサーバに送信してもよい。
サーバ10A等は、送信された申込トランザクションデータを受信し、分散台帳に格納する(ステップS103及びS104)。また、サーバ10A等は、申込トランザクションデータの送信元である端末51に係る申込者U4の報酬額を決定する(ステップS105)。また、募集期間が終了した場合には、募集期間が終了したことの通知を送信する(ステップS106及びS107)。
そして、サーバ10A等は、目標条件が満たされた場合には、管理口座から提供者への資金の提供に係る資金提供トランザクションデータと、管理口座から申込者への報酬の提供に係る報酬提供トランザクションデータとを生成し、分散台帳に格納する(ステップS110~113)。
(2)申し込みごとに報酬の額の決定をし、報酬として既存のトークンを提供する場合(サーバ10Aが自律的に目標判定と報酬提供とをする場合)の例。
図14は、本実施の形態におけるサーバ10A等の処理の第二例を示すフロー図である。なお、図14に示される処理ステップのうち、破線枠SA内の処理ステップが図12における処理と異なる。この部分について重点的に説明する。
処理部11および制御部13は、募集者U2(端末41)から募集トランザクションデータを受信し、その後、ファンドの目標条件が満たされることでファンドが成立すると、資金提供トランザクションデータを分散台帳に格納する(ステップS101~ステップS111)。
ステップS131において、制御部13は、ステップS105で決定した報酬額を募集者U2つまり端末41に通知する。
ステップS132において、処理部11は、募集者U2の端末41から報酬提供トランザクションデータを受信したか否かを判定する。報酬提供トランザクションデータを受信した場合(ステップS132でYes)には、ステップS133に進み、そうでない場合(ステップS132でNo)には、ステップS132に進む。つまり処理部11は、報酬提供トランザクションデータを受信するまでステップS132で待機する。
ステップS133において、処理部11は、ステップS132で受信した報酬提供トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、処理部11は、上記報酬提供トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
次に、ファンド管理システム1の全体の処理を説明する。
図15は、図14に対応するファンド管理システム1全体の処理を示すシーケンス図である。なお、図15に示される処理ステップのうち、破線枠SA内の処理ステップが図13における処理と異なる。この部分について重点的に説明する。
ファンド管理システム1は、ファンドが成立すると、資金提供トランザクションデータを分散台帳に格納する(ステップS101~ステップS111)。
サーバ10Aが報酬額を募集者U2つまり端末41に通知すると(ステップS131)、募集者U2の端末41は、報酬提供トランザクションデータを生成してサーバ10Aに送信する(ステップS202)。サーバ10Aは、送信された報酬提供トランザクションデータを受信し、分散台帳に格納する(ステップS132~S133)。
(3)申し込みごとに報酬の額の決定をし、報酬として既存のトークンを提供する場合(募集者からの指示により目標判定と報酬提供とをする場合)の例。
図16は、本実施の形態におけるサーバ10A等の処理の第三例を示すフロー図である。なお、図16に示される処理ステップのうち、破線枠SB内の処理ステップおよび破線枠SC内の処理ステップが図12における処理と異なる。この部分について重点的に説明する。
処理部11および制御部13は、募集者U2の端末41から募集トランザクションデータを受信し、その後、申込トランザクションデータを受信すると、申込者に提供する報酬額を決定する(ステップS101~S105)。
ステップS141において、処理部11は、ステップS105で決定した報酬額を募集者に通知する。
ステップS142において、処理部11は、目標判定トランザクションデータを受信したか否かを判定する。目標判定トランザクションデータを受信したと判定した場合(ステップS142でYes)には、ステップS143に進み、そうでない場合(ステップS142でNo)には、ステップS142を再び実行する。つまり処理部11は、目標判定トランザクションデータを受信するまでステップS142で待機する。
ステップS143において、処理部11は、ステップS142で受信した目標判定トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、処理部11は、上記目標判定トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
ステップS143を実行した後、制御部13は、クラウドファンディングのプロジェクトの目標条件が満たされたか否かを判定する(ステップS108)。このとき、ステップS106と同様に募集期間が終了したか否かを判定してもよい。
また、処理部11は、ファンドが成立して資金提供トランザクションデータを分散台帳に格納した後に、ステップS151において報酬額を募集者U2つまり端末41に通知する。
ステップS152において、処理部11は、報酬依頼トランザクションデータを受信したか否かを判定する。報酬依頼トランザクションデータを受信したと判定した場合(ステップS152でYes)には、ステップS153に進み、そうでない場合(ステップS152でNo)には、ステップS152を再び実行する。つまり処理部11は、報酬依頼トランザクションデータを受信するまでステップS152で待機する。
ステップS153において、処理部11は、ステップS152で受信した報酬依頼トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、処理部11は、上記報酬依頼トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
ステップS154において、ステップS152で受信した報酬依頼トランザクションデータに含まれる報酬額が、ステップS105で決定した報酬額と整合しているか否かを判定する。整合していると判定した場合(ステップS154でYes)にはステップS155に進み、そうでない場合(ステップS154でNo)には、ステップS157に進む。
ステップS155において、処理部11は、報酬提供トランザクションデータを生成し、生成した報酬提供トランザクションデータを台帳管理部12に提供することで、分散台帳に格納する。また、処理部11は、上記報酬提供トランザクションデータを他のサーバ10B等に送信し、すべてのサーバ10A等の分散台帳に格納させる。
ステップS157において、制御部13は、報酬額が不整合であることを通知する。なお、ステップS157は、実行されなくてもよい。
次に、ファンド管理システム1の全体の処理を説明する。
図17は、図16に対応するファンド管理システム1全体の処理を示すシーケンス図である。なお、図17に示される処理ステップのうち、破線枠SB内の処理ステップおよび破線枠SC内の処理ステップが図16における処理と異なる。この部分について重点的に説明する。
サーバ10Aが報酬額を端末41に通知する(ステップS141)と、端末41は、ステップS231において、目標判定トランザクションデータを生成し、生成した目標判定トランザクションデータをサーバ10A等に送信する。サーバ10Aは、端末41から送信された目標判定トランザクションデータを受信し、分散台帳に格納する(ステップS142~S143)。
また、サーバ10A等が資金提供トランザクションデータを分散台帳に格納したあと、報酬額を端末41に通知する(ステップS151)と、端末41は、ステップS232において、報酬依頼トランザクションデータを生成し、生成した報酬依頼トランザクションデータをサーバ10A等に送信する。サーバ10Aは、端末41から送信された報酬依頼トランザクションデータを受信して分散台帳に格納し(ステップS152~S153)、また、報酬提供トランザクションデータを分散台帳に格納する。
(4)ファンド成立後に報酬の額の決定する態様である場合の例。
図18は、本実施の形態におけるサーバ10A等の処理の第四例を示すフロー図である。図19は、図18に対応するファンド管理システム1全体の処理を示すシーケンス図である。図18および図19を参照しながら、サーバ10A等およびファンド管理システム1全体の処理を説明する。なお、図18および図19に示される処理ステップのうち、破線枠SD内の処理ステップが、それぞれ図12および図13における処理と異なる。この部分について重点的に説明する。
処理部11および制御部13は、募集者U2の端末41から募集トランザクションデータを受信し、その後、申込トランザクションデータを受信すると、受信した申込トランザクションデータを分散台帳に格納する(ステップS101~ステップS104)。このあと、制御部13は、報酬額を決定せず、言い換えれば、報酬額を決定することが制限されている。
次に、制御部13は、目標条件が満たされたか否かを判定し(ステップS108)、満たされたと判定した場合には、資金提供トランザクションデータを生成して分散台帳に格納する(ステップS110、S111)。なお、上記判定の際に、ステップS106と同様に募集期間が終了したか否かを判定してもよい。
ステップS161において、制御部13は、ステップS103で受信した申込トランザクションデータの送信元である申込者に提供する報酬の額を決定する。報酬の額の決定は、ステップS101で受信した申込トランザクションデータに含まれていた報酬決定コードを実行することでなされる。
その後、制御部13は、ステップS161で決定した報酬額に基づいて報酬提供トランザクションデータを生成して分散台帳に格納する(ステップS112~S113)。
なお、ステップS112とS113との部分(一点鎖線枠SE内の処理)は、上記(2)のように破線枠SA内の処理ステップ(つまりステップS131~S133)に置き換えられてもよいし、又は、上記(3)のように破線枠SC内の処理ステップ(つまりステップS151~S157)に置き換えられてもよい。
以上のように、本実施の形態の制御方法によれば、申込者がなるべく多くの額の報酬を得る意図をもつので、より早いタイミングで申し込みをすることを促すことになり、クラウドファンディングを早期に成立させることにつながる。そして、クラウドファンディングが早期に成立すれば、その成立以降、クラウドファンディングの管理に必要なサーバの稼働に要する消費電力を削減することができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を削減することができる。
また、申し込みにかかるトランザクションデータを受信してから所定時間以内に報酬額を決定する処理を実行するので、処理タイミングが分散することで、サーバの処理負荷が分散し、瞬間的に消費電力が高い状態をとることを未然に回避することができる。よって、本発明に係る制御方法は、処理負荷を時間的に分散させながら、クラウドファンディングの管理システムの消費電力を削減することができる。
また、申込者に報酬額を通知をするので、申込者は、自身に与えられる報酬の額を認識することができ、申込者が新たに申し込みをする、より一層の動機付けを得られる。これにより、クラウドファンディングの管理に必要なサーバの稼働に要する消費電力を、より一層、削減することができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を削減することができる。
また、クラウドファンディングの成立後に全申込者に対する報酬の額を決定する処理を実行するので、クラウドファンディングの全体の状況を考慮して、より適切に報酬の額を決定することができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を削減することができる。
また、コンセンサスアルゴリズムの実行を経て分散台帳を格納する。よって、本発明に係る制御方法は、コンセンサスアルゴリズムの実行を得ることによって、より容易に、クラウドファンディングにおける資金調達を適切に管理することができる。
また、報酬の額の決定処理を、他の人又は他のシステムを介在することなく、早期かつ安全に実行される。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を、より一層、削減することができる。
(実施の形態2)
本実施の形態において、クラウドファンディングの管理システムの消費電力を削減し得るファンド管理システムおよびその制御方法などについて、特に、募集期間のうち終期に比較的近い期間において、より一層早期に成立させ得る技術について説明する。
具体的には、本実施の形態の報酬情報には、1以上の申込者のうち、クラウドファンディングの募集期間中の所定タイミング以降に申込をした申込者に追加で提供する報酬である追加報酬の額がさらに定められている。そして、1以上の申込者のうち、所定タイミング以降に申込をした申込者に追加報酬を提供することを示すトランザクションデータである第三トランザクションデータを分散台帳に格納する。なお、追加報酬の額の決定は、第一トランザクションデータを分散台帳に格納したことに基づいて実行されるスマートコントラクトによりなされてもよい。
本実施の形態にかかるファンド管理システム1およびサーバ10Aなどの構成は、実施の形態1におけるものと同じであるが、処理部11および制御部13の処理が異なる。
具体的には、制御部13が受信する募集トランザクションデータに含まれている報酬情報が異なる。また、その報酬情報に基づく報酬の提供方法が異なる。
以降において、報酬情報と、報酬の提供方法について説明する。
(1)報酬情報について
図20は、本実施の形態における報酬情報の第一例を示す説明図である。図20に示される報酬情報は、図3と同様に、報酬額を関数によって規定する報酬情報の例である。また、縦軸および横軸の意味は、図3と同様である。
関数F(x)は、原則として、xの増加に対して減少する傾向を有する。言い換えれば、報酬額は、申込のタイミングが遅くなるにつれて減少する傾向を有する。より具体的には、関数F(x)は、xに対して単調減少の関数である。ただし、関数F(x)は、xの変化に対して値を維持する区間を含んでもよい。
また、関数F(x)は、例外的にxの増加に対して増加することを含む。具体的には、x=7の近傍において、xの増加に対してF(x)が増加する。そして、xが7からNまでの区間では、F(x)は、図3に示されるF(x)より大きな値を有する。
図20に示される関数F(x)によれば、1番目の申込をした申込者の報酬額が、F(1)つまりE1と決定され、2番目の申込をした申込者の報酬額が、F(2)つまりE2と決定される。
また、7番目の申込をした申込者の報酬額が、F(7)つまりE7+A7と決定され、8番目の申込をした申込者の報酬額が、F(8)つまりE8+A8と決定される。N番目の申し込みをした申込者の報酬額は、F(N)つまりANと決定される。ここで、実施の形態1のF(x)に対する本実施の形態のF(x)の追加分、例えば、7番目の申込者の報酬額のうちのA7、8番目の申込者の報酬額のうちのA8などを追加報酬額ともいう。これに対して、実施の形態1のF(x)に相当する報酬額を基本報酬額ともいう。
なお、図20に示される関数F(x)において、所定タイミングは、x=7のタイミングに相当する。
図21は、本実施の形態における報酬情報の第二例を示す説明図である。図21に示される報酬情報は、図4と同様に、報酬額をテーブルによって規定する報酬情報の例である。
図21に示されるテーブルでは、申込の順番と、その申込をした申込者の報酬額とが対応付けて示されている。
例えば、1番目の申し込みをした申込者の報酬額がE1に対応付けられており、2番目の申し込みをした申込者の報酬額がE2に対応付けられている。
例えば、7番目の申し込みをした申込者の報酬額がE7+A7に対応付けられており、8番目の申し込みをした申込者の報酬額がE8+A8に対応付けられている。また、N番目の申し込みをした申込者の報酬額がANに対応付けられている。
なお、図21に示されるテーブルにおいて、所定タイミングは、7番目の申し込みのタイミングに相当する。
(2)報酬の提供方法について
上記の報酬情報に基づいて決定される報酬額を提供する方法について2つの例を説明する。
第一例は、サーバ10A等が実行する単一のスマートコントラクトにより上記報酬額に係る報酬を提供する態様である。
この場合、実施の形態1における制御部13が実行するスマートコントラクトと同じであるので詳細な説明を省略する。
第二例は、サーバ10A等が2つのスマートコントラクトを実行し、2つのスマートコントラクトが連携して上記報酬額に係る報酬を提供する態様である。
上記第二例について詳しく説明する。
図22は、本実施の形態における2つのスマートコントラクトが決定する報酬額を示す説明図である。ここで、上記2つのスマートコントラクトのうち、基本報酬額の決定を行うスマートコントラクトをスマートコントラクト1ともいい、追加報酬額の決定を行うスマートコントラクトをスマートコントラクト2ともいう。
図22に示されるように、スマートコントラクト1が提供する基本報酬額は、図4に示される報酬額と同様である。
また、スマートコントラクト2が提供する追加報酬額は、1番目の申込者から6番目の申込者までについてはゼロであり、7番目の申込者からN番目の申込者までについては、それぞれ、A7、A8、・・・、ANである。
図23は、本実施の形態における2つのスマートコントラクトが報酬額を決定する処理を示すシーケンス図である。
図23において、申込者A、B、・・・、Gの端末が順に申込トランザクションデータをサーバ10Aに送信する場合を例として説明する。
1番目の申込者である申込者Aが申込トランザクションデータを送信すると、この申込トランザクションデータがサーバ10A等の分散台帳に格納され、スマートコントラクト1により報酬額が決定される(ステップS105)。具体的には、申込者Aの基本報酬額として報酬額E1が決定される。このとき、スマートコントラクト2は、申込者Aの追加報酬額を決定しない。なお、このとき、スマートコントラクト1が基本報酬額を決定したことを知ったスマートコントラクト2が、申込者Aの追加報酬額をゼロと決定すると考えてもよい。
次に、2番目の申込者である申込者Bが申込トランザクションデータを送信すると、この申込トランザクションデータがサーバ10A等の分散台帳に格納され、スマートコントラクト1により報酬額が決定される(ステップS105)。具体的には、申込者Bの基本報酬額として報酬額E2が決定される。このとき、スマートコントラクト2は、申込者Aの追加報酬額を決定しない(または、追加報酬額をゼロと決定する)。
同様に、3番目~6番目の申込者に対してスマートコントラクト1が基本報酬額を決定する。
7番目の申込者である申込者Gが申込トランザクションデータを送信すると、この申込トランザクションデータがサーバ10A等の分散台帳に格納され、スマートコントラクト1により報酬額が決定される(ステップS105)。具体的には、申込者Gの基本報酬額として報酬額E7が決定される。このとき、スマートコントラクト2は、スマートコントラクト1が基本報酬額を決定した事実を示す通知を取得し、申込者Gの追加報酬額をA7と決定する(ステップS105)。
同様に、8番目~N番目の申込者に対してスマートコントラクト1が基本報酬額を決定し、かつ、スマートコントラクト2が追加報酬額を決定する。
この状態で募集期間が終了し、目標条件が満たされたと判定された場合、スマートコントラクト1により基本報酬額の報酬の提供に係る報酬提供トランザクションデータが生成され、分散台帳に格納される(ステップS112~S113)。また、スマートコントラクト2により追加報酬額の報酬の提供に係る報酬提供トランザクションデータ(第三トランザクションデータに相当)が生成され、分散台帳に格納される(ステップS112~S113)。
このようにして、各申込者に基本報酬額および追加報酬額の報酬が提供される。
以上のように、本実施の形態のサーバは、申込者に追加報酬を提供するので、募集期間中の所定のタイミング以降であっても、申込者がなるべく多くの額の報酬を得る意図をもってなるべく早いタイミングで申し込みをするので、クラウドファンディングをより一層早期に成立させることができる。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を、より一層、削減することができる。
また、追加報酬の額の決定処理を、他の人又は他のシステムを介在することなく、早期かつ安全に実行される。よって、本発明に係る制御方法は、クラウドファンディングの管理システムの消費電力を、より一層、削減することができる。
(各実施の形態の変形例1)
本変形例において、上記各実施の形態のファンド管理システムの別の構成について説明する。
図24は、本変形例におけるファンド管理システム2の構成を模式的に示すブロック図である。
図24に示されるように、ファンド管理システム2は、サーバ10A、10B及び10Cと、端末40、41、50および51とを備える。ファンド管理システム2が備える各装置は、ネットワークNによって互いに通信可能に接続されている。ネットワークNは、どのような通信回線又はネットワークから構成されてもよく、例えば、インターネット、携帯電話のキャリアネットワークなどを含む。
特に、ファンド管理システム2では、サーバ10A、10B及び10Cが互いにネットワークNを介して接続されている。また、サーバ10Aに端末51が接続されており、サーバ10Bに端末50が接続されており、サーバ10Cに端末40及び41が接続されている。
このような構成は、例えば、複数の団体がファンド管理システム2を運営する場合において、各団体が管理するサーバをネットワークNを介して接続する場合に利用され得る。例えば、団体Aにサーバ10Aと端末51とが所属しており、団体Bにサーバ10Bと端末50とが所属しており、団体Cにサーバ10Cと端末40および41とが所属している。
サーバ10A等及び端末40等の動作は、上記各実施の形態における場合と同様であるので説明を省略する。
(各実施の形態の変形例2)
本変形例において、上記各実施の形態のファンド管理システムの別の構成について説明する。
図25は、本変形例におけるファンド管理システム3の構成を模式的に示すブロック図である。
図25に示されるように、ファンド管理システム3は、サーバ10Dと、端末40、41、50および51とを備える。ファンド管理システム3が備える各装置は、ネットワークNによって互いに通信可能に接続されている。ネットワークNは、どのような通信回線又はネットワークから構成されてもよく、例えば、インターネット、携帯電話のキャリアネットワークなどを含む。
特に、ファンド管理システム3では、サーバ10D、並びに、端末50および51が互いにネットワークNを介して接続されている。また、サーバ10Dに端末40および41が接続されている。この場合、端末50および51それぞれが、上記各実施の形態におけるサーバ10A等の動作をする。
このような構成は、例えば、1以上の団体と1以上の個人とがファンド管理システム3を運営する場合において、各団体又は各個人が管理するサーバ又は端末をネットワークNを介して接続する場合に利用され得る。例えば、団体Dにサーバ10Dと端末40および41とが所属しており、団体Dと、個人である申込者U4およびU3とがファンド管理システム3を運営している。
サーバ10A等及び端末40等の動作は、上記各実施の形態における場合と同様であるので説明を省略する。
(各実施の形態の変形例3)
ここで、各実施の形態の変形例3について説明する。
図26は、本変形例におけるサーバの処理を示すフロー図である。
図26に示されるように、ステップS601において、クラウドファンディングの1以上の申込者からの申し込みに関するトランザクションデータである第一トランザクションデータを受信し、受信した第一トランザクションデータを複数のサーバそれぞれが備える分散台帳に格納する。ここで、分散台帳には、1以上の申込者に提供する報酬の額であって、1以上の申込者それぞれからの申し込みのタイミングが遅くなるにつれて減少する傾向を有する報酬の額が定められた報酬情報が予め格納されている。
ステップS602において、報酬情報を参照し、第一トランザクションデータを受信したタイミングを用いて1以上の申込者それぞれに提供する報酬の額の決定をする。
ステップS603において、クラウドファンディングの目標条件が満たされたと判定した場合に、上記決定に従う額の報酬を1以上の申込者それぞれに提供することを示すトランザクションデータである第二トランザクションデータを分散台帳に格納する。
これにより、クラウドファンディングの管理システムの消費電力を削減することができる。
図27は、各実施の形態の変形例3におけるサーバの構成を模式的に示すブロック図である。
図27に示されるように、分散台帳を保有している複数のサーバを備えるファンド管理システムにおいて、当該複数のサーバのうちの一のサーバは、処理部61と制御部63とを備える。
処理部61は、クラウドファンディングの1以上の申込者からの申し込みに関するトランザクションデータである第一トランザクションデータを受信し、受信した第一トランザクションデータを複数のサーバそれぞれが備える分散台帳に格納する。分散台帳には、1以上の申込者に提供する報酬の額であって、1以上の申込者それぞれからの申し込みのタイミングが遅くなるにつれて減少する傾向を有する報酬の額が定められた報酬情報が予め格納されている。
制御部63は、報酬情報を参照し、第一トランザクションデータを受信したタイミングを用いて1以上の申込者それぞれに提供する報酬の額の決定をする。
処理部61は、さらに、クラウドファンディングの目標条件が満たされたと判定された場合に、上記決定に従う額の報酬を1以上の申込者それぞれに提供することを示すトランザクションデータである第二トランザクションデータを分散台帳に格納する。
これにより、クラウドファンディングの管理システムの消費電力を削減することができる。
(補足)
上記各実施の形態、又は、変形例におけるブロックチェーンについて補足的に説明する。
図28は、ブロックチェーンのデータ構造を示す説明図である。
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、記録されたトランザクションデータの改ざんを有効に防止する。
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。この性質を使用して、ブロックチェーンに改ざん困難性が担保されている。
図29は、トランザクションデータのデータ構造を示す説明図である。
図29に示されるトランザクションデータは、トランザクション本体P1と、電子署名P2とを含む。トランザクション本体P1は、当該トランザクションデータに含まれるデータ本体である。電子署名P2は、トランザクション本体P1のハッシュ値に対して、当該トランザクションデータの作成者の署名鍵で署名する、より具体的には、作成者の秘密鍵で暗号化することで生成されたものである。
トランザクションデータは、電子署名P2を有するので、改ざんが実質的に不可能である。これにより、トランザクション本体の改ざんが防止される。
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態のコンテンツ管理システムなどを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、分散台帳を保有している複数のサーバを備えるファンド管理システムにおいて、当該複数のサーバのうちの一のサーバが実行する制御方法であって、クラウドファンディングの1以上の申込者からの申し込みに関するトランザクションデータである第一トランザクションデータを受信し、受信した前記第一トランザクションデータを前記複数のサーバそれぞれが備える前記分散台帳に格納し、前記分散台帳には、前記1以上の申込者に提供する報酬の額であって、前記1以上の申込者それぞれからの申し込みのタイミングが遅くなるにつれて減少する傾向を有する報酬の額が定められた報酬情報が予め格納されており、前記報酬情報を参照し、前記第一トランザクションデータを受信したタイミングを用いて前記1以上の申込者それぞれに提供する報酬の額の決定をし、前記クラウドファンディングの目標条件が満たされたと判定した場合に、前記決定に従う前記額の前記報酬を前記1以上の申込者それぞれに提供することを示すトランザクションデータである第二トランザクションデータを前記分散台帳に格納する制御方法を実行させるプログラムである。
以上、一つまたは複数の態様に係るファンド管理システムなどについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。