(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-14
(45)【発行日】2023-09-25
(54)【発明の名称】支払支援システム、支払支援方法及び支払支援プログラム
(51)【国際特許分類】
G06Q 30/0601 20230101AFI20230915BHJP
G06Q 20/12 20120101ALI20230915BHJP
【FI】
G06Q30/0601 312
G06Q20/12 300
(21)【出願番号】P 2019086884
(22)【出願日】2019-04-26
【審査請求日】2022-03-11
(73)【特許権者】
【識別番号】513262920
【氏名又は名称】株式会社エーエヌラボ
(73)【特許権者】
【識別番号】514142773
【氏名又は名称】株式会社共同通信イメージズ
(74)【代理人】
【識別番号】100116986
【氏名又は名称】渡辺 弘司
(72)【発明者】
【氏名】大原 健
【審査官】貝塚 涼
(56)【参考文献】
【文献】特開2018-022346(JP,A)
【文献】特開2019-029933(JP,A)
【文献】特開2019-029013(JP,A)
【文献】特開2007-215150(JP,A)
【文献】特開2016-114855(JP,A)
【文献】特表2018-500694(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムであって、
前記運営者サーバは、
情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成部と、
前記コンテンツの購入者からの入金額を確認する入金確認部と、
前記鍵生成部によって生成された前記提供者の鍵を用いて前記入金確認部によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化部と、
前記暗号化部によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出部と、
前記入金確認部によって確認された前記入金額を
暗号化されていない状態で、かつ前記支払額算出部によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録部
を備えていることを特徴とする支払支援システム。
【請求項2】
前記算出条件は前記入金額に対する前記提供者への分配率を定めたものであり、
前記支払額算出部は前記暗号化部によって暗号化された前記入金額に同じく暗号化された前記分配率を乗じて暗号化された前記支払額を算出する方式を用いて
算出することを特徴とする請求項
1に記載の支払支援システム。
【請求項3】
前記運営者サーバは、
前記分散型台帳に共に暗号化された状態で記録されている前記算出条件及び前記支払額を前記提供者の鍵を用いて復号するための復号部をさらに備えていることを特徴とする請求項
2に記載の支払支援システム。
【請求項4】
前記運営者サーバは、
前記支払額に基づいて前記提供者へ法定通貨又は仮想通貨によって送金する際に前記支払額がわからないように前記支払額以外の金額に統合又は分割した上で送金する送金処理部をさらに備えており、
前記分散型台帳記録部は前記送金処理部により送金された金額を暗号化しない状態で前記分散型台帳にさらに記録することを特徴とする請求項1ないし
3のいずれかに記載の支払支援システム。
【請求項5】
前記方式は準同型暗号方式であることを特徴とする請求項
2又は
3に記載の支払支援システム。
【請求項6】
コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムにおける支払支援方法であって、
前記運営者サーバが、
情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成ステップと、
前記コンテンツの購入者からの入金額を確認する入金確認ステップと、
前記鍵生成ステップによって生成された前記提供者の鍵を用いて前記入金確認ステップによって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化ステップと、
前記暗号化ステップによって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出ステップと、
前記入金確認ステップによって確認された前記入金額を
暗号化されていない状態で、かつ前記支払額算出ステップによって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録ステップ
を実行することを特徴とする支払支援方法。
【請求項7】
コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムとして機能するように前記運営者サーバに処理を実行させる支払支援プログラムであって、
情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成処理と、
前記コンテンツの購入者からの入金額を確認する入金確認処理と、
前記鍵生成処理によって生成された前記提供者の鍵を用いて前記入金確認処理によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化処理と、
前記暗号化処理によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出処理と、
前記入金確認処理によって確認された前記入金額を
暗号化されていない状態で、かつ前記支払額算出処理によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録処理
を前記運営者サーバに実行させることを特徴とする支払支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、コンテンツ取引サービスを運営する運営者からコンテンツの提供者への支払いを支援する分散型台帳を利用した支払支援システム、支払支援方法及び支払支援プログラムに関する。
【背景技術】
【0002】
商取引において、取引の安全性を担保するために、商品やサービスの購入者と提供者の間に取引サービスを運営する運営者が入って取引が行なわれることがある。その取引サービスをインターネットなどの通信ネットワークを利用して行なう場合、提供者が商取引の運営サービスを提供している運営者を介して商品やサービスの提供を行ない、それに対して、購入者が取引サービスを運営する運営者に対して購入申し込みをすると共に、購入のための支払いを運営者に対して行なう。そして、運営者は購入者からの入金を確認すると、提供者との契約で定められた条件に従った金額を提供者に支払うというような方法が行われている。
【0003】
例えば、商品を購入する購入者と商品を提供する商品提供者との間に、購入者の商品代金の支払を代行する商取引仲介業者が介在し、コンピュータ・ネットワークを通じて行われる電子商取引システムにおいて、購入者と商品提供者との間の商取引を特定するための商取引特定情報を設定する手段と、前記商品提供者と購入者からそれぞれ商取引仲介業者に前記商取引特定情報を発信させる手段と、商取引仲介業者が商品提供者と購入者のそれぞれから受信した商取引特定情報が同一であった場合に、購入者から商品提供者への商品代金の支払を商取引仲介業者に代行させる処理を行う手段を備えている電子商取引システムが提供されている(特許文献1を参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
静止画や動画などのコンテンツを購入する購入者とそのコンテンツを提供する提供者との間に、コンテンツ取引の運営サービスを提供する運営者が入っている取引において、購入者からの入金額などに関しては透明性の確保が求められる一方、入金後の運営者から提供者への個々の支払額については、提供者間のトラブル防止のために他の提供者などには秘匿しておくことが求められることがある。
【0006】
また、データの改ざんが困難であるブロックチェーンなどを利用した分散型台帳が、その安全性の高さから取引の信頼性確保のために様々な取引で用いられている。
【0007】
本願発明はこのような問題に鑑みてなされたものであり、その目的とするところは、コンテンツ取引に関する情報を記録した分散型台帳を用いて、コンテンツの購入者からの入金額は他の提供者などに公開する一方、コンテンツの提供者間のトラブル防止のために、各提供者への個々の支払額については秘匿することを可能にすることである。
【課題を解決するための手段】
【0008】
上記の課題を解決するために本発明は、コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムであって、前記運営者サーバは、情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成部と、前記コンテンツの購入者からの入金額を確認する入金確認部と、前記鍵生成部によって生成された前記提供者の鍵を用いて前記入金確認部によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化部と、前記暗号化部によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出部と、前記入金確認部によって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出部によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録部を備えていることを特徴とする。
【0010】
そして、前記算出条件は前記入金額に対する前記提供者への分配率を定めたものであり、前記支払額算出部は前記暗号化部によって暗号化された前記入金額に同じく暗号化された前記分配率を乗じて暗号化された前記支払額を算出する方式を用いて算出することを特徴とする。
【0011】
そして、前記運営者サーバは、前記分散型台帳に共に暗号化された状態で記録されている前記算出条件及び前記支払額を前記提供者の鍵を用いて復号するための復号部をさらに備えていることを特徴とする。
【0012】
そして、前記運営者サーバは、前記支払額に基づいて前記提供者へ法定通貨又は仮想通貨によって送金する際に前記支払額がわからないように前記支払額以外の金額に統合又は分割した上で送金する送金処理部をさらに備えており、前記分散型台帳記録部は前記送金処理部により送金された金額を暗号化しない状態で前記分散型台帳にさらに記録することを特徴とする。
【0013】
さらに、前記方式は準同型暗号方式であることを特徴とする。
【0014】
また、本発明は、コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムにおける支払支援方法であって、前記運営者サーバが、情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成ステップと、前記コンテンツの購入者からの入金額を確認する入金確認ステップと、前記鍵生成ステップによって生成された前記提供者の鍵を用いて前記入金確認ステップによって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化ステップと、前記暗号化ステップによって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出ステップと、前記入金確認ステップによって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出ステップによって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録ステップを実行することを特徴とする。
【0016】
また、本発明は、コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムとして機能するように前記運営者サーバに処理を実行させる支払支援プログラムであって、情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成処理と、前記コンテンツの購入者からの入金額を確認する入金確認処理と、前記鍵生成処理によって生成された前記提供者の鍵を用いて前記入金確認処理によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化処理と、前記暗号化処理によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出処理と、前記入金確認処理によって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出処理によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録処理を前記運営者サーバに実行させることを特徴とする。
【発明の効果】
【0018】
本願発明によれば、コンテンツ取引に関する情報を記録した分散型台帳を用いて、コンテンツの購入者からの入金額は他の提供者などに公開する一方、コンテンツの提供者間のトラブル防止のために、各提供者への個々の支払額については秘匿することができる。
【図面の簡単な説明】
【0019】
【
図2】運営者サーバ101の内部構成を示したブロック図である。
【
図4】運営者サーバ101における提供者への支払額を算出して分散型台帳110に記録する処理手順を示したフローチャートである。
【発明を実施するための形態】
【0020】
次に、本願発明に係る支払支援システム、支払支援方法及び支払支援プログラムの実施例につき、図面を参照しながら、以下に詳しく説明する。
【実施例1】
【0021】
図1は、全体のシステム構成を示した説明図である。
運営者サーバ101は、コンテンツ取引の運営サービスを提供する運営者が管理するコンピュータであり、インターネットなどの通信ネットワーク102を介して、運営サービスを利用するコンテンツの提供者が使用する提供者端末103、などと通信を行なうように構成されている。なお、
図1では提供者端末103が2つ示されているが、2つに限られるものではなく、それ以上の提供者端末103でも接続可能である。
【0022】
通信ネットワーク102は、インターネット、LAN(ローカル・エリア・ネットワーク)、WAN(広域ネットワーク)など、種々のネットワークを利用することが可能である。
【0023】
運営者サーバ101は、コンテンツ取引の運営サービスを提供する運営者によって管理され、コンテンツ取引の運営サービスをコンテンツの提供者やコンテンツの購入者などへ提供するものである。
運営者サーバ101は分散型台帳110を格納すると共に、分散型台帳110に対応した処理内容を実行するプログラムを格納しており、プログラムはコンテンツの購入者からの入金後に提供者毎に運営者との間で定められた算出条件に基づいて提供者への支払額の計算を行ない、分散型台帳110には購入者からの入金額、支払額の算出条件及び提供者への支払額を含む情報が記録されている。
提供者端末103は、コンテンツ取引の運営サービスを利用するコンテンツの提供者が使用する端末である。
なお、運営者サーバ101及び提供者端末103は、コンテンツ取引に関する情報を含むトランザクションに基づいて生成されるブロックが連結されてなるブロックチェーンを共有するブロックチェーンネットワークに参加していても良い。その場合のブロックチェーンネットワークは、パブリックチェーン、プライベートチェーン、コンソーシアムチェーンのいずれであってもよい。
ただし、本実施例における分散型台帳110は、明示的なブロックが存在するブロックチェーンに限られるものではなく、ブロックで連結されていないが後からデータを書き換えることが不可能でデータの改ざんができない公開管理された台帳であっても良い。例えば、データを書き込んだ後に当該データの電子署名はブロックに残すものの、データそのものはブロックに残さずに各ノードに直接書き込み、トランザクションは分散型台帳110に残っているようなものでも良い。この場合の分散型台帳110はブロックチェーンよりも広義なものであり、言い換えると分散型台帳110の一種がブロックチェーンである。
【0024】
図2は、運営者サーバ101の内部構成を示したブロック図である。なお、
図2では、単一のサーバコンピューティングシステムで示しているが、単一の場合に限られるものではなく、複数台のサーバコンピュータに分散するように構成するなど、分散型のコンピューティングシステムとして構成してもよい。
運営者サーバ101は、システムバスを介して相互に接続された、CPU、RAM、入力装置、出力装置、通信制御装置、及び記憶装置などを備えている。記憶装置は不揮発性記憶媒体(ROMやHDDなど)で構成され、プログラムを格納したプログラム格納領域と、当該プログラムで取り扱うデータを格納したデータ格納領域とを備えている。プログラム格納領域には、プログラム、ルーチン、コンポーネントなどが格納されている。そして、それらの実行時にCPUによって記憶装置から呼び出されRAMのワークエリアに展開され、データ格納領域などにアクセスしながら各機能を発揮するものである。
【0025】
運営者サーバ101の記憶装置におけるデータ格納領域は、本実施例に関連するものだけを列挙すると、コンテンツ情報記憶部201、契約情報記憶部202、鍵情報記憶部203、金額情報記憶部204、を備える。いずれも、記憶装置内に確保された一定の記憶領域である。
【0026】
コンテンツ情報記憶部201は、コンテンツの提供者が提供するコンテンツに関する情報を記憶する。コンテンツ情報には、登録されたコンテンツを一意に示すコンテンツ識別子、コンテンツの名称を示すコンテンツ名、コンテンツ自体、コンテンツの提供者を一意に示す提供者識別子、運営者からの支払先となる提供者口座、などを格納することができる。コンテンツとしては、音声、静止画、動画などの様々な価値のある情報が含まれる。
ただし、コンテンツ自体は、このコンテンツ情報記憶部201に記憶せずに、コンテンツの購入者への譲渡は提供者端末103から、図示しないがコンテンツの購入者が利用する購入者端末へ直接送信するなどの方法であっても良い。
【0027】
契約情報記憶部202は、運営者と提供者との間に結ばれたコンテンツ取引に関する契約の情報を記憶する。
契約情報には、契約を特定する契約識別子、コンテンツを一意に示すコンテンツ識別子、コンテンツの提供者を一意に示す提供者識別子、名前や住所などの提供者を特定する提供者情報、コンテンツの提供者への支払額の算出条件などが含まれており、提供者毎に記憶されている。
提供者への支払額の算出条件としては、購入者からの入金額に対して所定の分配率を乗じて算出する方法、購入者からの入金額に対して運営者の手数料を減じて算出する方法、など様々な方法が可能である。
【0028】
鍵情報記憶部203は、鍵生成部205によって生成された各提供者の鍵に関する情報を記憶する。鍵に関する情報には、コンテンツの提供者を一意に示す提供者識別子などが含まれており、提供者毎に記憶されている。
運営者は、すべての提供者の暗号文を復号することができる権限を有する者である。一方で、提供者は、運営者とは異なり、他の提供者の暗号文を復号することはできず、自分に対応した鍵で暗号化された暗号文のみ復号できる者である。
なお、本実施例においては準同型暗号方式で暗号化したまま所定の演算を実施するが、準同型暗号方式の利用は共通鍵暗号方式又は公開鍵暗号方式のいずれでも可能である。そして、共通鍵暗号方式を採用した場合は提供者の共通鍵を用いて暗号化及び復号を行い、公開鍵暗号方式を採用した場合は提供者の公開鍵を用いて暗号化を行い、提供者の秘密鍵を用いて復号を行う。
【0029】
金額情報記憶部204は、コンテンツ購入に伴う購入者から運営者への入金額、運営者から提供者への個々のコンテンツに関する支払額、運営者から提供者への法定通貨や仮想通貨などによる送金額、などの金額に関する情報を記憶する。
金額情報記憶部204に記憶される情報には、入金額、支払額及び送金額の他に、コンテンツを一意に示すコンテンツ識別子、コンテンツの購入者を一意に示す購入者識別子、購入者の口座を一意に示す購入者口座、コンテンツの提供者を一意に示す提供者識別子、提供者の口座を一意に示す購入者口座、運営者の口座を示す運営者口座の情報などの入金額、支払額及び送金額に関する情報を格納することができる。
【0030】
運営者サーバ101の記憶装置におけるプログラム格納領域は、本実施例に関連するものだけを列挙すると、鍵生成部205、入金確認部206、暗号化部207、支払額算出部208、分散型台帳記録部209、送金処理部210、復号部211を備える。いずれも、記憶装置内に確保された一定の記憶領域である。
【0031】
鍵生成部205は、提供者に関する情報やデータの暗号化や復号に利用する提供者の鍵を生成する。本実施例における暗号方式は共通鍵暗号方式、公開鍵暗号方式のいずれも採用可能であり、この提供者の鍵は、公開鍵暗号方式の場合は提供者毎の秘密鍵及び公開鍵の鍵ペア、共通鍵暗号方式の場合は提供者毎の共通鍵である。
そして、他の提供者に秘匿しておきたい算出条件などのデータは、公開鍵暗号方式の場合であれば各提供者の公開鍵、共通鍵暗号方式の場合であれば各提供者の共通鍵を用いて平文から暗号文に変換される。逆に暗号文から平文に変換する際は、公開鍵暗号方式の場合であれば各提供者の秘密鍵、共通鍵暗号方式の場合であれば各提供者の共通鍵を用いて復号する。
鍵生成部205で生成された各々の提供者の鍵に関する情報は、提供者を一意に示す提供者識別子と対応付けられて鍵情報記憶部203に記憶される。
【0032】
入金確認部206は、運営者の口座データを検索し、コンテンツの購入者からの入金の有無及び入金があった場合の入金額を確認する。入金確認部206で確認された購入者からの入金額を含む入金に関する情報は、コンテンツ識別子や購入者識別子と対応付けられて金額情報記憶部204に記憶される。
【0033】
暗号化部207は、算出条件及び入金額を鍵生成部205で生成された提供者の鍵で暗号化する。暗号化部207は、提供者識別子と対応するような鍵の情報を鍵情報記憶部203から読み出して、契約情報記憶部202に記憶されている算出条件及び金額情報記憶部204に記憶されている入金額のデータを共に提供者の鍵で準同型暗号方式を利用して暗号化して、暗号化データを生成する。そして、支払額の計算は、準同型暗号方式を用いて暗号化したまま、算出条件に基づいて実行される。
なお、分散型台帳110において入金額は暗号化されていない状態で公開されており、支払額の計算のために行われる入金額の暗号化は運営者サーバ101で行われることに限定されるものではない。例えば、いずれかの提供者端末103で行われてもよい。また、入金を行なった購入者の名前や住所が分散型台帳110において公開されるかどうかは任意である。
【0034】
準同型暗号とは、データを暗号化したまま情報処理できる暗号技術であり、具体的には、暗号文同士を特殊な演算を施すことにより、各暗号文の中身の平文の積の暗号文を、平文を知ることなく暗号化された公開情報のみを用いて計算できる暗号技術である。
【0035】
支払額算出部208は、入金確認部206によって確認されたコンテンツの購入者から運営者に入金された入金額の内、算出条件に基づいて運営者から各提供者へ支払われるコンテンツに関する支払額を算出する。入金額から各提供者へ支払われる支払額以外に運営者が受け取る運営手数料があり、あるコンテンツに関して支払いを受ける提供者は単独とは限らず複数存在する場合もある。
支払額の計算は、入金額を提供者の鍵によって暗号化した後に、各計算要素が暗号化されたまま行われる方式を用いて行われる。この方式としては、準同型暗号方式などが採用される。
例えば、計算手順に従って、暗号化部207によって暗号化された契約識別子に対応付けられた暗号化データを選択し、準同型演算を用いて計算することで、データが暗号化されたままの状態で提供者への支払額を計算する。
【0036】
算出条件で提供者への支払額が購入者からの入金額に対する所定の分配率を乗じて計算されることになっている場合は、入金額をR、分配率を%、支払額をrとすると、計算要素を暗号化しない時の支払額の計算式は次のように表すことができる。
【数1】
例えば、あるコンテンツに関する購入者からの入金額が3万円で該コンテンツに関する算出条件で定められた提供者への所定の分配率が40%である場合は、該提供者への支払額は1万2千円となる。
そして、乗法準同型暗号方式を用いて計算要素を暗号化したままの状態で支払額の計算を行うので、支払額の計算式は次のように表すことができる。
【数2】
ただし、暗号化された状態で計算する数2の式で計算しても、暗号化されていない数1の式の性質を保っているので、数2の式の計算結果を復号すれば、暗号化されていない状態の正しい支払額rを取得することができる。
そして、数2で用いられる各計算要素は、共通鍵暗号方式を採用した場合は提供者の共通鍵を用いて暗号化された状態、公開鍵暗号方式を採用した場合は提供者の公開鍵を用いて暗号化された状態のものである。
支払額算出部208で算出された支払額に関する情報は、コンテンツ識別子や提供者識別子と対応付けられて金額情報記憶部204に記憶される。
【0037】
分散型台帳記録部209は、支払額算出部208で計算された支払額などを分散型台帳110に追加して記録するものである。分散型台帳110において算出条件及び支払額の情報は、共に提供者の鍵によって暗号化されている状態で記録されている。ただし、購入者からの入金額の情報及び提供者への送金額の情報は、共に暗号化されていない状態で記録されている。
分散型台帳110を用いたシステムでは、通信ネットワーク102において、コンテンツ取引に伴うデータすなわちトランザクションデータに関する正当性の判定を、マイナーと呼ばれるノードが実行し、プルーフオブワークと呼ばれる特定のハッシュ値を算出する作業によって確定する処理を行う。そして、確定されたトランザクションデータは、ブロックにまとめられてブロックチェーンと呼ばれる分散型台帳110に記載される。この分散型台帳110は、各ノードに同じように記憶されており、各ノードの間で同期が保たれているものである。
【0038】
図3は、本実施例における分散型台帳110のイメージ図である。
分散型台帳110は、運営者サーバ101、提供者端末103などに改ざんできない状態で記憶されている。また、分散型台帳110の内容は、運営者や提供者以外の閲覧者が保有する閲覧者端末111からも閲覧可能である。閲覧者は、コンテンツ取引の当事者ではなく、コンテンツ取引についての利害関係はないものの、購入者からの入金額や提供者への送金額を確認したい者などの一般人である。ただし、提供者への送金額は、支払額算出部208によって計算された特定のコンテンツに関する提供者への個々の支払額ではなく、個々の支払額の具体的金額がわからないようにして送金処理部210によって個々の支払額以外の金額で提供者へ送金される際の送金額である。分散型台帳110において、購入者からの入金額や提供者への送金額は暗号化されずに公開されているので、コンテンツ取引における購入者からの入金額や提供者への送金額に関する透明性を確保することができる。なお、閲覧者端末111は、分散型台帳110を閲覧可能であればよくブロックチェーンネットワークに参加している必要はない。
【0039】
本実施例で分散型台帳110の一例としてブロックチェーンとする場合、分散型台帳記録部209はトランザクションデータのレコードなどを格納するブロックを生成するための処理、生成したブロックを自分(自ノード)を含む参加する各ノードの間で承認するための処理、承認したブロックを自ノードを含むブロックチェーンネットワークに参加する各ノードで共有して記憶するための処理、すなわち自ノードにおける保存と他ノードへの配信するための処理、ブロック内に格納されているレコードを参照するための処理などを実行する。
【0040】
ここで、ブロックを生成、承認、共有記憶するための配信処理は、自ノードがブロックの生成処理を実行する必要は必ずしもなく、また、自らが承認処理を実行して承認処理に参加したり、自らが共有記憶のための各ノードへの配信処理を実行する必要も必ずしもない。従って、ブロックの生成処理・承認処理・各ノードへの配信処理については、これらの処理を担当する他ノードに対して各処理の指示を送ってもよく、自らは処理のタイミングなどを管理して、ブロックの生成処理・承認処理・各ノードへの配信処理をしても良い。
そして、ブロックチェーンネットワークに参加するノードがそれぞれ同一のデータを共有して記憶している状態になり、分散型台帳110が構築されている状態になればよい。
ただし、本実施例における分散型台帳110は、ブロックチェーンにおける台帳に限られるものではなく、ブロックチェーン以外のデータの改ざんができないような方式によって記録されるものであっても良い。
【0041】
送金処理部210は、運営者から提供者への支払額の送金処理を行なう。ただし、運営者が支払額の情報に基づいて提供者へ運営者サーバ101から法定通貨又は仮想通貨によって送金する際は、個々の支払額以外の金額に統合又は分割した上で送金する。すなわち、分散型台帳110において支払額は暗号化された状態で記録されるものの送金額は暗号化されない状態で記録されるため、支払額算出部208によって計算された支払額は、直ちに該支払額が提供者に送金されるのではなく、提供者毎に管理された後に、提供者への個々の支払額の具体的金額が、他の提供者にはわからないように個々の支払額以外の金額に統合又は分割して送金するので、個々の支払額が他の提供者には不明なため提供者間の支払額に関するトラブル発生を防止することができる。
送金に用いられる通貨は、法定通貨、仮想通貨、暗号資産のいずれでもよく、また提供者への送金額は分散型台帳110において暗号化されていない状態で公開されるものとする。
送金額が分散型台帳110において暗号化されていない状態で公開されるため、運営者から提供者への送金が行われている事実が、その送金額と共に第三者に明らかになり、仮想通貨によって送金される際でも透明性を確保することができる。
なお、送金先である提供者の名前や住所が分散型台帳110において公開されるかどうかは任意である。
【0042】
復号部211は、提供者の鍵を用いて、分散型台帳110に記録されている当該提供者に関する暗号文を復号して平文を抽出する処理を行う。運営者は、鍵情報記憶部203に記憶されている提供者の鍵を用いて分散型台帳110において暗号化されている該提供者の算出条件及び同じく暗号化されている該提供者の支払額の情報を復号することができる。より具体的には、公開鍵暗号方式の場合であれば各提供者の秘密鍵、共通鍵暗号方式の場合であれば各提供者の共通鍵を用いて復号する。
また、各提供者も提供者端末103から運営者サーバ101の復号部211にアクセスして、鍵生成部205によって生成された自分の鍵を用いて、分散型台帳110に暗号化された状態で記録されている自分に関する算出条件及び支払額を復号して確認することができる。
ただし、復号した提供者の算出条件及び支払額の情報は、分散型台帳110において公開されることはなく、当該提供者及び運営者以外の者に知られることはない。
また、提供者が、運営者サーバ101ではなく、提供者端末103で自らに関係する暗号化されたデータを復号するために、提供者端末103が復号部211に相当する機能を備えていても良い。
【0043】
図4は、運営者サーバ101における提供者への支払額を算出して分散型台帳110に記録する処理手順を示したフローチャートである。
【0044】
処理の開始(ステップS301)後、まずコンテンツの提供者を含むコンテンツに関する情報をコンテンツ情報記憶部201に記憶する(ステップS302)。
コンテンツに関する情報には、登録されたコンテンツを一意に示すコンテンツ識別子、コンテンツの名称を示すコンテンツ名、提供者を一意に示す提供者識別子、運営者からの支払先となる提供者口座、などの情報が含まれる。これにより、提供者の口座と購入者からの入金に応じて提供者への支払額を送金する運営者の口座とを関連付けることができる。
なお、コンテンツは、提供者が単独であるものに限定されない。コンテンツが共同著作物の場合だけでなく、一つのコンテンツに関する提供者が複数であるものも含まれる。
また、コンテンツそのもののデータが、コンテンツ情報記憶部201に必ずしも記憶されていなくても良く、コンテンツ自体は提供者から購入者へ直接渡されても良い。
【0045】
次に、鍵生成部205によって、コンテンツ情報記憶部201に記憶されている提供者を識別する提供者識別子を用いて、提供者の鍵を生成する(ステップS303)。生成された鍵の情報は提供者識別子と対応付けられて鍵情報記憶部203に記憶される。提供者の鍵は、公開鍵暗号方式の場合は秘密鍵及び公開鍵の鍵ペア、共通鍵暗号方式の場合は共通鍵である。
【0046】
次に、運営者と提供者との間に結ばれたコンテンツ取引の契約に関する情報を契約情報記憶部202に記憶する(ステップS304)。この契約情報の中には、運営者から提供者への支払に関する算出条件、例えば、購入者からの入金額に対して所定の分配率を乗じて提供者への支払額が算出される、などが含まれている。
【0047】
次に、鍵情報記憶部203に記憶されている提供者の各々の鍵を用いて、暗号化部207によって、契約情報記憶部202に記憶されているコンテンツに関する支払額の計算に関わる算出条件を暗号化する(ステップS305)。例えば、購入者からの入金額に対して所定の分配率を乗じて提供者への支払額を計算する場合であれば、分配率などに関するデータが暗号化される。
【0048】
次に、入金確認部206によって購入者からの入金の有無、入金があった場合の入金額などを確認する(ステップS306)。確認された入金額を含む入金に関する情報は金額情報記憶部204に記憶される。
【0049】
次に、鍵情報記憶部203に記憶されている提供者の各々の鍵を用いて、暗号化部207によって、金額情報記憶部204に記憶されている入金額のデータを暗号化する(ステップS307)。
【0050】
次に、支払額算出部208によって、暗号化された入金額のデータ及び暗号化された算出条件のデータに基づいて、データが暗号化されたまま提供者への支払額の計算を行う(ステップS308)。支払額算出部208は、金額情報記憶部204に記憶されている入金額及び契約情報記憶部202に記憶されている算出条件に基づいて計算手順を生成し、その計算手順に従って、暗号化部207によって暗号化された入金額及び算出条件のデータを用いて準同型演算処理などを行い、各提供者への支払額を計算する。
【0051】
次に、分散型台帳記録部209によってコンテンツ識別子、提供者識別子、入金額、算出条件、及びステップS308で計算された支払額などのデータを分散型台帳110に記録し(ステップS309)、終了となる(ステップS310)。ステップS309において少なくとも算出条件と支払額のデータについては暗号化された状態で分散型台帳110に記録する。
なお、分散型台帳記録部209による分散型台帳110への記録のタイミングは支払額の計算後に限られるものではなく、まとめて記録せずに、分散型台帳110に記録すべき情報の入手後に随時記録していっても良い。
【0052】
本実施例によれば、コンテンツ取引の一連の処理を、分散型台帳110を用いて構築することにより、購入者からの入金額は明らかにして取引の安全性及び信頼性を担保すると同時に、提供者同士や運営者と提供者との間の支払いをめぐるトラブル防止のために各提供者の算出条件及び支払額については秘匿することを可能にできる。
【0053】
本願発明の目的は、本実施例の機能を実現するソフトウェアのプログラム、即ち、支払支援システムとして、コンピュータを機能させる命令を有するプログラム、をシステム又は装置に供給し、そのシステム又は装置のコンピュータが記憶媒体に記録されたソフトウェアのプログラムを読出し実行することによっても達成される。
そのプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
【0054】
また、プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【0055】
さらに、DVDなどの記憶媒体から読出されたプログラムが、システム又は装置のコンピュータに挿入された機能拡張用のボードやコンピュータに接続された機能拡張用のユニットに備えられたメモリに書込まれた後、当該プログラムの指示に基づき、その機能拡張用のボードやユニットに備えられたCPUなどが実際の処理の一部又は全部を行ない、その処理によって上記の機能が実現される場合も含まれる。
【0056】
なお、本願発明は、上記の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲内において、他の様々な形態で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上記の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、又は並列に実行することができる。また、各処理ステップ間に他のステップを追加してもよい。また、1ステップとして記載されているステップを、複数ステップに分けて実行してもよいし、複数ステップに分けて記載されているものを、1ステップとして把握することも可能である。
【符号の説明】
【0057】
101 運営者サーバ
102 通信ネットワーク
103 提供者端末
110 分散型台帳
111 閲覧者端末
201 コンテンツ情報記憶部
202 契約情報記憶部
203 鍵情報記憶部
204 金額情報記憶部
205 鍵生成部
206 入金確認部
207 暗号化部
208 支払額算出部
209 分散型台帳記録部
210 送金処理部
211 復号部