JP7349616B2 - Payment support system, payment support method and payment support program - Google Patents

Payment support system, payment support method and payment support program Download PDF

Info

Publication number
JP7349616B2
JP7349616B2 JP2019086884A JP2019086884A JP7349616B2 JP 7349616 B2 JP7349616 B2 JP 7349616B2 JP 2019086884 A JP2019086884 A JP 2019086884A JP 2019086884 A JP2019086884 A JP 2019086884A JP 7349616 B2 JP7349616 B2 JP 7349616B2
Authority
JP
Japan
Prior art keywords
provider
payment
amount
payment amount
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019086884A
Other languages
Japanese (ja)
Other versions
JP2020184125A (en
Inventor
健 大原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
A.N.LAB JOINT STOCK COMPANY
Original Assignee
A.N.LAB JOINT STOCK COMPANY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by A.N.LAB JOINT STOCK COMPANY filed Critical A.N.LAB JOINT STOCK COMPANY
Priority to JP2019086884A priority Critical patent/JP7349616B2/en
Publication of JP2020184125A publication Critical patent/JP2020184125A/en
Application granted granted Critical
Publication of JP7349616B2 publication Critical patent/JP7349616B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本願発明は、コンテンツ取引サービスを運営する運営者からコンテンツの提供者への支払いを支援する分散型台帳を利用した支払支援システム、支払支援方法及び支払支援プログラムに関する。 The present invention relates to a payment support system, a payment support method, and a payment support program that use a distributed ledger to support payments from an operator of a content transaction service to a content provider.

商取引において、取引の安全性を担保するために、商品やサービスの購入者と提供者の間に取引サービスを運営する運営者が入って取引が行なわれることがある。その取引サービスをインターネットなどの通信ネットワークを利用して行なう場合、提供者が商取引の運営サービスを提供している運営者を介して商品やサービスの提供を行ない、それに対して、購入者が取引サービスを運営する運営者に対して購入申し込みをすると共に、購入のための支払いを運営者に対して行なう。そして、運営者は購入者からの入金を確認すると、提供者との契約で定められた条件に従った金額を提供者に支払うというような方法が行われている。 In commercial transactions, in order to ensure the safety of transactions, an operator who operates a transaction service may intervene between the purchaser and the provider of goods or services. When the transaction service is performed using a communication network such as the Internet, the provider provides the goods or services through the operator who provides the transaction management service, and the purchaser receives the transaction service. A purchase application is made to the operator who operates the service, and payment for the purchase is made to the operator. When the operator confirms the payment from the purchaser, the operator pays the provider the amount according to the terms specified in the contract with the provider.

例えば、商品を購入する購入者と商品を提供する商品提供者との間に、購入者の商品代金の支払を代行する商取引仲介業者が介在し、コンピュータ・ネットワークを通じて行われる電子商取引システムにおいて、購入者と商品提供者との間の商取引を特定するための商取引特定情報を設定する手段と、前記商品提供者と購入者からそれぞれ商取引仲介業者に前記商取引特定情報を発信させる手段と、商取引仲介業者が商品提供者と購入者のそれぞれから受信した商取引特定情報が同一であった場合に、購入者から商品提供者への商品代金の支払を商取引仲介業者に代行させる処理を行う手段を備えている電子商取引システムが提供されている(特許文献1を参照)。 For example, in an electronic commerce system where a commercial transaction intermediary acts as the buyer's agent for payment of the product price between the purchaser who purchases the product and the product provider who provides the product, and the purchase is made through a computer network. means for setting commercial transaction specific information for specifying commercial transactions between the product provider and the product provider; means for causing the product provider and the purchaser to transmit the commercial transaction specific information to a commercial transaction intermediary; and a commercial transaction intermediary. is equipped with a means for processing to have a commercial transaction intermediary act on behalf of the purchaser to pay the product price to the product provider when the commercial transaction specific information received from the product provider and the purchaser is the same. An electronic commerce system is provided (see Patent Document 1).

特開2003-233730号公報Japanese Patent Application Publication No. 2003-233730

静止画や動画などのコンテンツを購入する購入者とそのコンテンツを提供する提供者との間に、コンテンツ取引の運営サービスを提供する運営者が入っている取引において、購入者からの入金額などに関しては透明性の確保が求められる一方、入金後の運営者から提供者への個々の支払額については、提供者間のトラブル防止のために他の提供者などには秘匿しておくことが求められることがある。 Regarding transactions such as the amount deposited by the purchaser in a transaction in which there is an operator who provides management services for content transactions between the purchaser who purchases content such as still images and videos, and the provider who provides the content. While transparency is required to be ensured, the amount of each payment from the operator to the provider after deposit is required to be kept confidential from other providers to prevent trouble between providers. It may happen.

また、データの改ざんが困難であるブロックチェーンなどを利用した分散型台帳が、その安全性の高さから取引の信頼性確保のために様々な取引で用いられている。 In addition, distributed ledgers using blockchain, etc., whose data is difficult to tamper with, are used in a variety of transactions to ensure the reliability of transactions due to their high level of security.

本願発明はこのような問題に鑑みてなされたものであり、その目的とするところは、コンテンツ取引に関する情報を記録した分散型台帳を用いて、コンテンツの購入者からの入金額は他の提供者などに公開する一方、コンテンツの提供者間のトラブル防止のために、各提供者への個々の支払額については秘匿することを可能にすることである。 The present invention was made in view of these problems, and its purpose is to use a distributed ledger that records information regarding content transactions, so that the amount paid by content purchasers is transferred to other providers. In order to prevent trouble between content providers, the amount paid to each content provider can be kept secret.

上記の課題を解決するために本発明は、コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムであって、前記運営者サーバは、情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成部と、前記コンテンツの購入者からの入金額を確認する入金確認部と、前記鍵生成部によって生成された前記提供者の鍵を用いて前記入金確認部によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化部と、前記暗号化部によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出部と、前記入金確認部によって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出部によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録部を備えていることを特徴とする。 In order to solve the above-mentioned problems, the present invention provides a system in which an operator server owned by a content trading service operator is connected to a provider terminal owned by a content provider via a communication network, so that content trading services can be transferred from the operator to the provider. A payment support system for supporting payment of content, wherein the operator server includes a key generation unit that generates the provider's key for encrypting and decrypting information, and a key generation unit that generates the provider's key for encrypting and decrypting information, and an input from the content purchaser. a deposit confirmation unit that confirms the amount; and calculation conditions for the deposited amount confirmed by the deposit confirmation unit using the provider's key generated by the key generation unit and the payment amount determined for each provider. an encryption unit that encrypts the amount, a payment amount calculation unit that calculates the payment amount to the provider based on the payment amount encrypted by the encryption unit and the calculation conditions, and confirmation by the payment confirmation unit. and a distributed ledger recording unit that records the entered amount in an unencrypted state and the payment amount calculated by the payment amount calculation unit in an encrypted state in a distributed ledger. It is characterized by

そして、前記算出条件は前記入金額に対する前記提供者への分配率を定めたものであり、前記支払額算出部は前記暗号化部によって暗号化された前記入金額に同じく暗号化された前記分配率を乗じて暗号化された前記支払額を算出する方式を用いて算出することを特徴とする。 The calculation conditions define a distribution rate to the provider for the entered amount, and the payment amount calculation section calculates the distribution rate that is also encrypted in the entered amount that is encrypted by the encryption section. The payment amount is calculated using a method of calculating the encrypted payment amount by multiplying it by a percentage.

そして、前記運営者サーバは、前記分散型台帳に共に暗号化された状態で記録されている前記算出条件及び前記支払額を前記提供者の鍵を用いて復号するための復号部をさらに備えていることを特徴とする。 The operator server further includes a decryption unit for decrypting the calculation conditions and the payment amount, which are both recorded in an encrypted state in the distributed ledger, using the provider's key. It is characterized by the presence of

そして、前記運営者サーバは、前記支払額に基づいて前記提供者へ法定通貨又は仮想通貨によって送金する際に前記支払額がわからないように前記支払額以外の金額に統合又は分割した上で送金する送金処理部をさらに備えており、前記分散型台帳記録部は前記送金処理部により送金された金額を暗号化しない状態で前記分散型台帳にさらに記録することを特徴とする。 Then, when the operator server remits legal currency or virtual currency to the provider based on the payment amount, the operator server integrates or divides the payment amount into an amount other than the payment amount and then remits the money so that the payment amount is unknown. The remittance processing unit further includes a remittance processing unit, and the distributed ledger recording unit further records the amount remitted by the remittance processing unit in the distributed ledger in an unencrypted state.

さらに、前記方式は準同型暗号方式であることを特徴とする。 Furthermore, the method is characterized in that it is a homomorphic encryption method.

また、本発明は、コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムにおける支払支援方法であって、前記運営者サーバが、情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成ステップと、前記コンテンツの購入者からの入金額を確認する入金確認ステップと、前記鍵生成ステップによって生成された前記提供者の鍵を用いて前記入金確認ステップによって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化ステップと、前記暗号化ステップによって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出ステップと、前記入金確認ステップによって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出ステップによって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録ステップを実行することを特徴とする。 Furthermore, the present invention provides a system in which an operator server owned by a content trading service operator is connected to a provider terminal owned by a content provider via a communication network to support payments from the operator to the provider. A payment support method in a payment support system comprising: a key generation step in which the operator server generates a key for the provider for encrypting and decrypting information; and a key generation step in which the operator server generates a key for the provider for encrypting and decrypting information; A payment confirmation step to confirm, and encrypting the deposited amount confirmed in the deposit confirmation step and the payment amount calculation conditions determined for each provider using the provider's key generated in the key generation step. a payment amount calculation step of calculating the payment amount to the provider based on the payment amount encrypted by the encryption step and the calculation conditions; It is characterized by executing a distributed ledger recording step of recording the entered amount in an unencrypted state and the payment amount calculated in the payment amount calculation step in an encrypted state. shall be.

また、本発明は、コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムとして機能するように前記運営者サーバに処理を実行させる支払支援プログラムであって、情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成処理と、前記コンテンツの購入者からの入金額を確認する入金確認処理と、前記鍵生成処理によって生成された前記提供者の鍵を用いて前記入金確認処理によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化処理と、前記暗号化処理によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出処理と、前記入金確認処理によって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出処理によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録処理を前記運営者サーバに実行させることを特徴とする。 Furthermore, the present invention provides a system in which an operator server owned by a content trading service operator is connected to a provider terminal owned by a content provider via a communication network to support payments from the operator to the provider. A payment support program that causes the operator server to execute processing so as to function as a payment support system for the content, and includes a key generation process for generating the provider's key for encrypting and decoding information, and a key generation process for generating the provider's key for encrypting and decrypting information. A deposit confirmation process that confirms the deposit amount from the purchaser, and the deposited amount confirmed by the deposit confirmation process using the provider's key generated by the key generation process and the amount determined for each provider. an encryption process for encrypting payment amount calculation conditions; a payment amount calculation process for calculating the payment amount to the provider based on the input amount encrypted by the encryption process and the calculation conditions; Distributed ledger recording that records the deposited amount confirmed by the payment confirmation process in an unencrypted state and the payment amount calculated by the payment amount calculation process in an encrypted state in a distributed ledger. The method is characterized in that the operator server executes the processing.

本願発明によれば、コンテンツ取引に関する情報を記録した分散型台帳を用いて、コンテンツの購入者からの入金額は他の提供者などに公開する一方、コンテンツの提供者間のトラブル防止のために、各提供者への個々の支払額については秘匿することができる。 According to the present invention, by using a distributed ledger that records information regarding content transactions, the amount paid by a content purchaser is disclosed to other providers, and at the same time, in order to prevent trouble between content providers. , the individual payment amount to each provider can be kept confidential.

全体のシステム構成を示した説明図である。FIG. 2 is an explanatory diagram showing the overall system configuration. 運営者サーバ101の内部構成を示したブロック図である。2 is a block diagram showing the internal configuration of an operator server 101. FIG. 分散型台帳110のイメージ図である。FIG. 1 is an image diagram of a distributed ledger 110. 運営者サーバ101における提供者への支払額を算出して分散型台帳110に記録する処理手順を示したフローチャートである。11 is a flowchart showing a processing procedure for calculating a payment amount to a provider in an operator server 101 and recording it in a distributed ledger 110.

次に、本願発明に係る支払支援システム、支払支援方法及び支払支援プログラムの実施例につき、図面を参照しながら、以下に詳しく説明する。 Next, embodiments of the payment support system, payment support method, and payment support program according to the present invention will be described in detail below with reference to the drawings.

図1は、全体のシステム構成を示した説明図である。
運営者サーバ101は、コンテンツ取引の運営サービスを提供する運営者が管理するコンピュータであり、インターネットなどの通信ネットワーク102を介して、運営サービスを利用するコンテンツの提供者が使用する提供者端末103、などと通信を行なうように構成されている。なお、図1では提供者端末103が2つ示されているが、2つに限られるものではなく、それ以上の提供者端末103でも接続可能である。
FIG. 1 is an explanatory diagram showing the overall system configuration.
The operator server 101 is a computer managed by an operator that provides management services for content transactions, and provides provider terminals 103, which are used by content providers who use the management services, via a communication network 102 such as the Internet. It is configured to communicate with Although two provider terminals 103 are shown in FIG. 1, the number is not limited to two, and more provider terminals 103 can be connected.

通信ネットワーク102は、インターネット、LAN(ローカル・エリア・ネットワーク)、WAN(広域ネットワーク)など、種々のネットワークを利用することが可能である。 The communication network 102 can use various networks such as the Internet, LAN (Local Area Network), and WAN (Wide Area Network).

運営者サーバ101は、コンテンツ取引の運営サービスを提供する運営者によって管理され、コンテンツ取引の運営サービスをコンテンツの提供者やコンテンツの購入者などへ提供するものである。
運営者サーバ101は分散型台帳110を格納すると共に、分散型台帳110に対応した処理内容を実行するプログラムを格納しており、プログラムはコンテンツの購入者からの入金後に提供者毎に運営者との間で定められた算出条件に基づいて提供者への支払額の計算を行ない、分散型台帳110には購入者からの入金額、支払額の算出条件及び提供者への支払額を含む情報が記録されている。
提供者端末103は、コンテンツ取引の運営サービスを利用するコンテンツの提供者が使用する端末である。
なお、運営者サーバ101及び提供者端末103は、コンテンツ取引に関する情報を含むトランザクションに基づいて生成されるブロックが連結されてなるブロックチェーンを共有するブロックチェーンネットワークに参加していても良い。その場合のブロックチェーンネットワークは、パブリックチェーン、プライベートチェーン、コンソーシアムチェーンのいずれであってもよい。
ただし、本実施例における分散型台帳110は、明示的なブロックが存在するブロックチェーンに限られるものではなく、ブロックで連結されていないが後からデータを書き換えることが不可能でデータの改ざんができない公開管理された台帳であっても良い。例えば、データを書き込んだ後に当該データの電子署名はブロックに残すものの、データそのものはブロックに残さずに各ノードに直接書き込み、トランザクションは分散型台帳110に残っているようなものでも良い。この場合の分散型台帳110はブロックチェーンよりも広義なものであり、言い換えると分散型台帳110の一種がブロックチェーンである。
The operator server 101 is managed by an operator that provides content transaction management services, and provides content transaction management services to content providers, content purchasers, and the like.
The operator server 101 stores a distributed ledger 110 and also stores a program that executes processing corresponding to the distributed ledger 110, and the program communicates with the operator for each provider after payment is received from the content purchaser. The amount to be paid to the provider is calculated based on the calculation conditions determined between is recorded.
The provider terminal 103 is a terminal used by a content provider who uses a content transaction management service.
Note that the operator server 101 and the provider terminal 103 may participate in a blockchain network that shares a blockchain formed by connecting blocks generated based on transactions including information regarding content transactions. The blockchain network in that case may be a public chain, a private chain, or a consortium chain.
However, the distributed ledger 110 in this embodiment is not limited to a blockchain in which explicit blocks exist, and although it is not connected by blocks, it is impossible to rewrite the data later and the data cannot be tampered with. It may be a publicly managed ledger. For example, after writing data, the electronic signature of the data may be left in the block, but the data itself may be written directly to each node without being left in the block, and the transaction may remain in the distributed ledger 110. The distributed ledger 110 in this case has a broader meaning than a blockchain; in other words, a type of distributed ledger 110 is a blockchain.

図2は、運営者サーバ101の内部構成を示したブロック図である。なお、図2では、単一のサーバコンピューティングシステムで示しているが、単一の場合に限られるものではなく、複数台のサーバコンピュータに分散するように構成するなど、分散型のコンピューティングシステムとして構成してもよい。
運営者サーバ101は、システムバスを介して相互に接続された、CPU、RAM、入力装置、出力装置、通信制御装置、及び記憶装置などを備えている。記憶装置は不揮発性記憶媒体(ROMやHDDなど)で構成され、プログラムを格納したプログラム格納領域と、当該プログラムで取り扱うデータを格納したデータ格納領域とを備えている。プログラム格納領域には、プログラム、ルーチン、コンポーネントなどが格納されている。そして、それらの実行時にCPUによって記憶装置から呼び出されRAMのワークエリアに展開され、データ格納領域などにアクセスしながら各機能を発揮するものである。
FIG. 2 is a block diagram showing the internal configuration of the operator server 101. Note that although Figure 2 shows a single server computing system, the system is not limited to a single server, and may be a distributed computing system such as a configuration distributed over multiple server computers. It may also be configured as
The operator server 101 includes a CPU, a RAM, an input device, an output device, a communication control device, a storage device, and the like that are interconnected via a system bus. The storage device is composed of a non-volatile storage medium (such as a ROM or HDD), and includes a program storage area in which a program is stored and a data storage area in which data handled by the program is stored. The program storage area stores programs, routines, components, and the like. When these operations are executed, they are called from the storage device by the CPU, expanded to the work area of the RAM, and perform their respective functions while accessing the data storage area and the like.

運営者サーバ101の記憶装置におけるデータ格納領域は、本実施例に関連するものだけを列挙すると、コンテンツ情報記憶部201、契約情報記憶部202、鍵情報記憶部203、金額情報記憶部204、を備える。いずれも、記憶装置内に確保された一定の記憶領域である。 The data storage areas in the storage device of the operator server 101 include a content information storage section 201, a contract information storage section 202, a key information storage section 203, and an amount information storage section 204, to list only those related to this embodiment. Be prepared. Both are fixed storage areas secured within the storage device.

コンテンツ情報記憶部201は、コンテンツの提供者が提供するコンテンツに関する情報を記憶する。コンテンツ情報には、登録されたコンテンツを一意に示すコンテンツ識別子、コンテンツの名称を示すコンテンツ名、コンテンツ自体、コンテンツの提供者を一意に示す提供者識別子、運営者からの支払先となる提供者口座、などを格納することができる。コンテンツとしては、音声、静止画、動画などの様々な価値のある情報が含まれる。
ただし、コンテンツ自体は、このコンテンツ情報記憶部201に記憶せずに、コンテンツの購入者への譲渡は提供者端末103から、図示しないがコンテンツの購入者が利用する購入者端末へ直接送信するなどの方法であっても良い。
The content information storage unit 201 stores information regarding content provided by content providers. Content information includes a content identifier that uniquely indicates the registered content, a content name that indicates the name of the content, the content itself, a provider identifier that uniquely indicates the provider of the content, and a provider account that is the recipient of payment from the operator. , etc. can be stored. Content includes various valuable information such as audio, still images, and videos.
However, the content itself is not stored in the content information storage unit 201, and the content is transferred to the purchaser by directly transmitting it from the provider terminal 103 to a purchaser terminal (not shown) used by the content purchaser. This method may also be used.

契約情報記憶部202は、運営者と提供者との間に結ばれたコンテンツ取引に関する契約の情報を記憶する。
契約情報には、契約を特定する契約識別子、コンテンツを一意に示すコンテンツ識別子、コンテンツの提供者を一意に示す提供者識別子、名前や住所などの提供者を特定する提供者情報、コンテンツの提供者への支払額の算出条件などが含まれており、提供者毎に記憶されている。
提供者への支払額の算出条件としては、購入者からの入金額に対して所定の分配率を乗じて算出する方法、購入者からの入金額に対して運営者の手数料を減じて算出する方法、など様々な方法が可能である。
The contract information storage unit 202 stores information on a contract regarding content transactions concluded between an operator and a provider.
Contract information includes a contract identifier that identifies the contract, a content identifier that uniquely identifies the content, a provider identifier that uniquely identifies the content provider, provider information that identifies the provider such as name and address, and the content provider. It includes the conditions for calculating the payment amount, etc., and is stored for each provider.
The payment amount to the provider is calculated by multiplying the amount received from the purchaser by a predetermined distribution rate, or by subtracting the operator's commission from the amount received from the purchaser. Various methods are possible.

鍵情報記憶部203は、鍵生成部205によって生成された各提供者の鍵に関する情報を記憶する。鍵に関する情報には、コンテンツの提供者を一意に示す提供者識別子などが含まれており、提供者毎に記憶されている。
運営者は、すべての提供者の暗号文を復号することができる権限を有する者である。一方で、提供者は、運営者とは異なり、他の提供者の暗号文を復号することはできず、自分に対応した鍵で暗号化された暗号文のみ復号できる者である。
なお、本実施例においては準同型暗号方式で暗号化したまま所定の演算を実施するが、準同型暗号方式の利用は共通鍵暗号方式又は公開鍵暗号方式のいずれでも可能である。そして、共通鍵暗号方式を採用した場合は提供者の共通鍵を用いて暗号化及び復号を行い、公開鍵暗号方式を採用した場合は提供者の公開鍵を用いて暗号化を行い、提供者の秘密鍵を用いて復号を行う。
The key information storage unit 203 stores information regarding each provider's key generated by the key generation unit 205. The information regarding the key includes a provider identifier that uniquely indicates a content provider, and is stored for each provider.
The operator is a person who has the authority to decrypt the ciphertexts of all providers. On the other hand, unlike the operator, the provider cannot decrypt the ciphertexts of other providers, but can only decrypt the ciphertexts encrypted with the key corresponding to the provider.
Note that in this embodiment, predetermined calculations are performed while encrypted using the homomorphic encryption method, but the homomorphic encryption method can be used with either a common key encryption method or a public key encryption method. When a common key cryptosystem is adopted, encryption and decryption are performed using the provider's common key, and when a public key cryptosystem is adopted, encryption is performed using the provider's public key, and the provider Decryption is performed using the private key of

金額情報記憶部204は、コンテンツ購入に伴う購入者から運営者への入金額、運営者から提供者への個々のコンテンツに関する支払額、運営者から提供者への法定通貨や仮想通貨などによる送金額、などの金額に関する情報を記憶する。
金額情報記憶部204に記憶される情報には、入金額、支払額及び送金額の他に、コンテンツを一意に示すコンテンツ識別子、コンテンツの購入者を一意に示す購入者識別子、購入者の口座を一意に示す購入者口座、コンテンツの提供者を一意に示す提供者識別子、提供者の口座を一意に示す購入者口座、運営者の口座を示す運営者口座の情報などの入金額、支払額及び送金額に関する情報を格納することができる。
The amount information storage unit 204 stores the amounts deposited from the purchaser to the operator in connection with the purchase of content, the amount paid by the operator to the provider for each piece of content, and the amount transferred from the operator to the provider in legal currency, virtual currency, etc. Stores information related to amounts, such as amounts.
In addition to the deposit amount, payment amount, and remittance amount, the information stored in the amount information storage unit 204 includes a content identifier that uniquely indicates the content, a purchaser identifier that uniquely indicates the purchaser of the content, and the purchaser's account. Deposit amount, payment amount, etc., including information on a purchaser account that uniquely indicates the content provider, a provider identifier that uniquely indicates the content provider, a purchaser account that uniquely indicates the provider's account, and an operator account that indicates the operator's account. Information regarding remittance amounts can be stored.

運営者サーバ101の記憶装置におけるプログラム格納領域は、本実施例に関連するものだけを列挙すると、鍵生成部205、入金確認部206、暗号化部207、支払額算出部208、分散型台帳記録部209、送金処理部210、復号部211を備える。いずれも、記憶装置内に確保された一定の記憶領域である。 The program storage area in the storage device of the operator server 101 includes a key generation section 205, a payment confirmation section 206, an encryption section 207, a payment amount calculation section 208, and a distributed ledger record, to list only those related to this embodiment. section 209, remittance processing section 210, and decoding section 211. Both are fixed storage areas secured within the storage device.

鍵生成部205は、提供者に関する情報やデータの暗号化や復号に利用する提供者の鍵を生成する。本実施例における暗号方式は共通鍵暗号方式、公開鍵暗号方式のいずれも採用可能であり、この提供者の鍵は、公開鍵暗号方式の場合は提供者毎の秘密鍵及び公開鍵の鍵ペア、共通鍵暗号方式の場合は提供者毎の共通鍵である。
そして、他の提供者に秘匿しておきたい算出条件などのデータは、公開鍵暗号方式の場合であれば各提供者の公開鍵、共通鍵暗号方式の場合であれば各提供者の共通鍵を用いて平文から暗号文に変換される。逆に暗号文から平文に変換する際は、公開鍵暗号方式の場合であれば各提供者の秘密鍵、共通鍵暗号方式の場合であれば各提供者の共通鍵を用いて復号する。
鍵生成部205で生成された各々の提供者の鍵に関する情報は、提供者を一意に示す提供者識別子と対応付けられて鍵情報記憶部203に記憶される。
The key generation unit 205 generates a provider key that is used to encrypt and decrypt information and data regarding the provider. The encryption method in this embodiment can be either a common key encryption method or a public key encryption method, and in the case of a public key encryption method, the provider's key is a key pair of a private key and a public key for each provider. , in the case of a common key cryptosystem, it is a common key for each provider.
Data such as calculation conditions that should be kept secret from other providers is the public key of each provider in the case of public key cryptography, or the common key of each provider in the case of common key cryptography. is used to convert plaintext to ciphertext. Conversely, when converting ciphertext to plaintext, decryption is performed using the private key of each provider in the case of public key cryptography, and the common key of each provider in the case of common key cryptography.
Information regarding each provider's key generated by the key generation unit 205 is stored in the key information storage unit 203 in association with a provider identifier that uniquely indicates the provider.

入金確認部206は、運営者の口座データを検索し、コンテンツの購入者からの入金の有無及び入金があった場合の入金額を確認する。入金確認部206で確認された購入者からの入金額を含む入金に関する情報は、コンテンツ識別子や購入者識別子と対応付けられて金額情報記憶部204に記憶される。 The deposit confirmation unit 206 searches the operator's account data and confirms whether or not there is a deposit from the content purchaser, and if there is a deposit, the deposit amount. Information regarding the payment, including the payment amount from the purchaser confirmed by the payment confirmation unit 206, is stored in the amount information storage unit 204 in association with the content identifier and the purchaser identifier.

暗号化部207は、算出条件及び入金額を鍵生成部205で生成された提供者の鍵で暗号化する。暗号化部207は、提供者識別子と対応するような鍵の情報を鍵情報記憶部203から読み出して、契約情報記憶部202に記憶されている算出条件及び金額情報記憶部204に記憶されている入金額のデータを共に提供者の鍵で準同型暗号方式を利用して暗号化して、暗号化データを生成する。そして、支払額の計算は、準同型暗号方式を用いて暗号化したまま、算出条件に基づいて実行される。
なお、分散型台帳110において入金額は暗号化されていない状態で公開されており、支払額の計算のために行われる入金額の暗号化は運営者サーバ101で行われることに限定されるものではない。例えば、いずれかの提供者端末103で行われてもよい。また、入金を行なった購入者の名前や住所が分散型台帳110において公開されるかどうかは任意である。
The encryption unit 207 encrypts the calculation conditions and the deposited amount using the provider's key generated by the key generation unit 205. The encryption unit 207 reads out key information corresponding to the provider identifier from the key information storage unit 203 and stores the calculation conditions stored in the contract information storage unit 202 and the amount information storage unit 204. Encrypted data is generated by encrypting the deposited amount data using a homomorphic encryption method using the provider's key. Then, the payment amount is calculated based on the calculation conditions while encrypted using the homomorphic encryption method.
Note that the deposited amount is published in an unencrypted state in the distributed ledger 110, and the encryption of the deposited amount for calculating the payment amount is limited to being performed on the operator server 101. isn't it. For example, it may be performed at any provider terminal 103. Furthermore, whether or not the name and address of the purchaser who made the deposit is made public in the distributed ledger 110 is optional.

準同型暗号とは、データを暗号化したまま情報処理できる暗号技術であり、具体的には、暗号文同士を特殊な演算を施すことにより、各暗号文の中身の平文の積の暗号文を、平文を知ることなく暗号化された公開情報のみを用いて計算できる暗号技術である。 Homomorphic encryption is a cryptographic technology that can process information while encrypting data. Specifically, by performing special operations on ciphertexts, it is possible to generate ciphertext that is the product of the plaintext of each ciphertext. , is a cryptographic technology that allows calculations to be made using only encrypted public information without knowing the plaintext.

支払額算出部208は、入金確認部206によって確認されたコンテンツの購入者から運営者に入金された入金額の内、算出条件に基づいて運営者から各提供者へ支払われるコンテンツに関する支払額を算出する。入金額から各提供者へ支払われる支払額以外に運営者が受け取る運営手数料があり、あるコンテンツに関して支払いを受ける提供者は単独とは限らず複数存在する場合もある。
支払額の計算は、入金額を提供者の鍵によって暗号化した後に、各計算要素が暗号化されたまま行われる方式を用いて行われる。この方式としては、準同型暗号方式などが採用される。
例えば、計算手順に従って、暗号化部207によって暗号化された契約識別子に対応付けられた暗号化データを選択し、準同型演算を用いて計算することで、データが暗号化されたままの状態で提供者への支払額を計算する。
The payment amount calculation unit 208 calculates the payment amount for the content to be paid from the operator to each provider based on the calculation conditions, out of the amount deposited to the operator from the content purchaser confirmed by the payment confirmation unit 206. calculate. In addition to the payment amount paid to each provider from the deposited amount, there is a management fee that the operator receives, and there may be more than one provider who receives payment for a certain content.
The payment amount is calculated using a method in which the deposited amount is encrypted using the provider's key, and each calculation element remains encrypted. As this method, a homomorphic encryption method or the like is adopted.
For example, by selecting the encrypted data associated with the contract identifier encrypted by the encryption unit 207 according to the calculation procedure and performing calculations using homomorphic operations, the data remains encrypted. Calculate payments to providers.

算出条件で提供者への支払額が購入者からの入金額に対する所定の分配率を乗じて計算されることになっている場合は、入金額をR、分配率を%、支払額をrとすると、計算要素を暗号化しない時の支払額の計算式は次のように表すことができる。

Figure 0007349616000001
例えば、あるコンテンツに関する購入者からの入金額が3万円で該コンテンツに関する算出条件で定められた提供者への所定の分配率が40%である場合は、該提供者への支払額は1万2千円となる。
そして、乗法準同型暗号方式を用いて計算要素を暗号化したままの状態で支払額の計算を行うので、支払額の計算式は次のように表すことができる。
Figure 0007349616000002
ただし、暗号化された状態で計算する数2の式で計算しても、暗号化されていない数1の式の性質を保っているので、数2の式の計算結果を復号すれば、暗号化されていない状態の正しい支払額rを取得することができる。
そして、数2で用いられる各計算要素は、共通鍵暗号方式を採用した場合は提供者の共通鍵を用いて暗号化された状態、公開鍵暗号方式を採用した場合は提供者の公開鍵を用いて暗号化された状態のものである。
支払額算出部208で算出された支払額に関する情報は、コンテンツ識別子や提供者識別子と対応付けられて金額情報記憶部204に記憶される。 If the calculation conditions specify that the payment amount to the provider is to be calculated by multiplying the deposit amount from the purchaser by a predetermined distribution rate, then the deposit amount is R, the distribution rate is %, and the payment amount is r. Then, the formula for calculating the payment amount when the calculation elements are not encrypted can be expressed as follows.
Figure 0007349616000001
For example, if the deposit amount from a purchaser regarding a certain content is 30,000 yen and the predetermined distribution rate to the provider specified in the calculation conditions for the content is 40%, the amount paid to the provider is 10,000 yen. It will be 2,000 yen.
Since the payment amount is calculated while the calculation elements are encrypted using the multiplicative homomorphic encryption method, the payment amount calculation formula can be expressed as follows.
Figure 0007349616000002
However, even if you calculate using the formula of number 2, which is calculated in an encrypted state, it retains the properties of the formula of number 1 that is not encrypted, so if you decrypt the calculation result of the formula of number 2, It is possible to obtain the correct payment amount r that is not digitized.
Each calculation element used in Equation 2 is encrypted using the provider's common key when a common key cryptosystem is used, or encrypted using the provider's public key when a public key cryptosystem is used. It is encrypted using
Information regarding the payment amount calculated by the payment amount calculation unit 208 is stored in the amount information storage unit 204 in association with the content identifier and provider identifier.

分散型台帳記録部209は、支払額算出部208で計算された支払額などを分散型台帳110に追加して記録するものである。分散型台帳110において算出条件及び支払額の情報は、共に提供者の鍵によって暗号化されている状態で記録されている。ただし、購入者からの入金額の情報及び提供者への送金額の情報は、共に暗号化されていない状態で記録されている。
分散型台帳110を用いたシステムでは、通信ネットワーク102において、コンテンツ取引に伴うデータすなわちトランザクションデータに関する正当性の判定を、マイナーと呼ばれるノードが実行し、プルーフオブワークと呼ばれる特定のハッシュ値を算出する作業によって確定する処理を行う。そして、確定されたトランザクションデータは、ブロックにまとめられてブロックチェーンと呼ばれる分散型台帳110に記載される。この分散型台帳110は、各ノードに同じように記憶されており、各ノードの間で同期が保たれているものである。
The distributed ledger recording unit 209 adds and records the payment amount calculated by the payment amount calculation unit 208 to the distributed ledger 110. In the distributed ledger 110, the calculation conditions and payment amount information are both recorded in an encrypted state using the provider's key. However, both the information on the amount deposited from the purchaser and the information on the amount remitted to the provider are recorded in an unencrypted state.
In a system using a distributed ledger 110, in the communication network 102, nodes called miners determine the validity of data associated with content transactions, that is, transaction data, and calculate a specific hash value called proof of work. Perform processing to be determined by work. The confirmed transaction data is then compiled into blocks and recorded in a distributed ledger 110 called a blockchain. This distributed ledger 110 is stored in the same way in each node, and synchronization is maintained between each node.

図3は、本実施例における分散型台帳110のイメージ図である。
分散型台帳110は、運営者サーバ101、提供者端末103などに改ざんできない状態で記憶されている。また、分散型台帳110の内容は、運営者や提供者以外の閲覧者が保有する閲覧者端末111からも閲覧可能である。閲覧者は、コンテンツ取引の当事者ではなく、コンテンツ取引についての利害関係はないものの、購入者からの入金額や提供者への送金額を確認したい者などの一般人である。ただし、提供者への送金額は、支払額算出部208によって計算された特定のコンテンツに関する提供者への個々の支払額ではなく、個々の支払額の具体的金額がわからないようにして送金処理部210によって個々の支払額以外の金額で提供者へ送金される際の送金額である。分散型台帳110において、購入者からの入金額や提供者への送金額は暗号化されずに公開されているので、コンテンツ取引における購入者からの入金額や提供者への送金額に関する透明性を確保することができる。なお、閲覧者端末111は、分散型台帳110を閲覧可能であればよくブロックチェーンネットワークに参加している必要はない。
FIG. 3 is an image diagram of the distributed ledger 110 in this embodiment.
The distributed ledger 110 is stored in the operator server 101, provider terminal 103, etc. in a state that cannot be tampered with. Further, the contents of the distributed ledger 110 can also be viewed from a viewer terminal 111 held by a viewer other than the operator or provider. The viewer is a general person, such as a person who is not a party to the content transaction and has no interest in the content transaction, but who wants to check the amount paid by the purchaser or the amount remitted to the provider. However, the remittance amount to the provider is not the individual payment amount to the provider regarding the specific content calculated by the payment amount calculation unit 208, but the remittance processing unit This is the remittance amount when an amount other than the individual payment amount is remitted to the provider by 210. In the distributed ledger 110, the amount deposited from the purchaser and the amount remitted to the provider are disclosed without being encrypted, so there is transparency regarding the amount deposited from the purchaser and the amount remitted to the provider in content transactions. can be ensured. Note that the viewer terminal 111 does not need to participate in the blockchain network as long as it can view the distributed ledger 110.

本実施例で分散型台帳110の一例としてブロックチェーンとする場合、分散型台帳記録部209はトランザクションデータのレコードなどを格納するブロックを生成するための処理、生成したブロックを自分(自ノード)を含む参加する各ノードの間で承認するための処理、承認したブロックを自ノードを含むブロックチェーンネットワークに参加する各ノードで共有して記憶するための処理、すなわち自ノードにおける保存と他ノードへの配信するための処理、ブロック内に格納されているレコードを参照するための処理などを実行する。 In this embodiment, when a blockchain is used as an example of the distributed ledger 110, the distributed ledger recording unit 209 performs processing to generate blocks for storing records of transaction data, etc. processing for approving between each participating node, processing for sharing and storing approved blocks among each node participating in the blockchain network including the own node, i.e. storage at the own node and transfer to other nodes. Executes processing for distribution, processing for referencing records stored in a block, etc.

ここで、ブロックを生成、承認、共有記憶するための配信処理は、自ノードがブロックの生成処理を実行する必要は必ずしもなく、また、自らが承認処理を実行して承認処理に参加したり、自らが共有記憶のための各ノードへの配信処理を実行する必要も必ずしもない。従って、ブロックの生成処理・承認処理・各ノードへの配信処理については、これらの処理を担当する他ノードに対して各処理の指示を送ってもよく、自らは処理のタイミングなどを管理して、ブロックの生成処理・承認処理・各ノードへの配信処理をしても良い。
そして、ブロックチェーンネットワークに参加するノードがそれぞれ同一のデータを共有して記憶している状態になり、分散型台帳110が構築されている状態になればよい。
ただし、本実施例における分散型台帳110は、ブロックチェーンにおける台帳に限られるものではなく、ブロックチェーン以外のデータの改ざんができないような方式によって記録されるものであっても良い。
Here, the distribution process for generating, approving, and sharing a block does not necessarily require the own node to execute the block generation process; It is not necessarily necessary for the node itself to execute the process of distributing the shared memory to each node. Therefore, regarding block generation processing, approval processing, and distribution processing to each node, each processing instruction may be sent to other nodes in charge of these processing, and the node itself may manage the processing timing etc. , block generation processing, approval processing, and distribution processing to each node may be performed.
Then, the nodes participating in the blockchain network may all share and store the same data, and the distributed ledger 110 may be constructed.
However, the distributed ledger 110 in this embodiment is not limited to a blockchain ledger, and may be recorded using a method other than the blockchain that prevents data from being tampered with.

送金処理部210は、運営者から提供者への支払額の送金処理を行なう。ただし、運営者が支払額の情報に基づいて提供者へ運営者サーバ101から法定通貨又は仮想通貨によって送金する際は、個々の支払額以外の金額に統合又は分割した上で送金する。すなわち、分散型台帳110において支払額は暗号化された状態で記録されるものの送金額は暗号化されない状態で記録されるため、支払額算出部208によって計算された支払額は、直ちに該支払額が提供者に送金されるのではなく、提供者毎に管理された後に、提供者への個々の支払額の具体的金額が、他の提供者にはわからないように個々の支払額以外の金額に統合又は分割して送金するので、個々の支払額が他の提供者には不明なため提供者間の支払額に関するトラブル発生を防止することができる。
送金に用いられる通貨は、法定通貨、仮想通貨、暗号資産のいずれでもよく、また提供者への送金額は分散型台帳110において暗号化されていない状態で公開されるものとする。
送金額が分散型台帳110において暗号化されていない状態で公開されるため、運営者から提供者への送金が行われている事実が、その送金額と共に第三者に明らかになり、仮想通貨によって送金される際でも透明性を確保することができる。
なお、送金先である提供者の名前や住所が分散型台帳110において公開されるかどうかは任意である。
The remittance processing unit 210 performs remittance processing of the payment amount from the operator to the provider. However, when the operator remits legal currency or virtual currency from the operator server 101 to the provider based on the information on the payment amount, the remittance is made after integrating or dividing into amounts other than the individual payment amounts. That is, since the payment amount is recorded in an encrypted state in the distributed ledger 110, but the remittance amount is recorded in an unencrypted state, the payment amount calculated by the payment amount calculation unit 208 is immediately recorded as the payment amount. is not remitted to the provider, but is managed for each provider, and then the amount other than the individual payment amount is transferred so that the specific amount of each payment to the provider is unknown to other providers. Since the remittance is integrated or divided into two parts, each payment amount is unknown to other providers, and troubles between providers regarding payment amounts can be prevented.
The currency used for remittance may be legal currency, virtual currency, or cryptographic assets, and the remittance amount to the provider shall be disclosed in the distributed ledger 110 in an unencrypted state.
Since the remittance amount is published in an unencrypted state in the distributed ledger 110, the fact that the remittance is being made from the operator to the provider is revealed to a third party along with the remittance amount, and the virtual currency Transparency can be ensured even when remittances are made.
Note that whether or not the name and address of the provider who is the remittance destination is made public in the distributed ledger 110 is optional.

復号部211は、提供者の鍵を用いて、分散型台帳110に記録されている当該提供者に関する暗号文を復号して平文を抽出する処理を行う。運営者は、鍵情報記憶部203に記憶されている提供者の鍵を用いて分散型台帳110において暗号化されている該提供者の算出条件及び同じく暗号化されている該提供者の支払額の情報を復号することができる。より具体的には、公開鍵暗号方式の場合であれば各提供者の秘密鍵、共通鍵暗号方式の場合であれば各提供者の共通鍵を用いて復号する。
また、各提供者も提供者端末103から運営者サーバ101の復号部211にアクセスして、鍵生成部205によって生成された自分の鍵を用いて、分散型台帳110に暗号化された状態で記録されている自分に関する算出条件及び支払額を復号して確認することができる。
ただし、復号した提供者の算出条件及び支払額の情報は、分散型台帳110において公開されることはなく、当該提供者及び運営者以外の者に知られることはない。
また、提供者が、運営者サーバ101ではなく、提供者端末103で自らに関係する暗号化されたデータを復号するために、提供者端末103が復号部211に相当する機能を備えていても良い。
The decryption unit 211 performs a process of decrypting the ciphertext related to the provider recorded in the distributed ledger 110 and extracting the plaintext using the provider's key. The operator uses the provider's key stored in the key information storage unit 203 to obtain the provider's calculation conditions that are encrypted in the distributed ledger 110 and the provider's payment amount that is also encrypted. information can be decoded. More specifically, in the case of public key cryptography, the private key of each provider is used, and in the case of common key cryptography, the common key of each provider is used to decrypt.
In addition, each provider also accesses the decryption unit 211 of the operator server 101 from the provider terminal 103 and uses his or her own key generated by the key generation unit 205 to decrypt the data encrypted in the distributed ledger 110. You can decrypt and check the recorded calculation conditions and payment amount for yourself.
However, the decrypted provider's calculation conditions and payment amount information will not be made public in the distributed ledger 110, and will not be known to anyone other than the provider and operator.
Furthermore, even if the provider terminal 103 is equipped with a function equivalent to the decryption unit 211 in order for the provider to decrypt the encrypted data related to the provider using the provider terminal 103 instead of the operator server 101. good.

図4は、運営者サーバ101における提供者への支払額を算出して分散型台帳110に記録する処理手順を示したフローチャートである。 FIG. 4 is a flowchart showing a processing procedure in which the operator server 101 calculates the payment amount to the provider and records it in the distributed ledger 110.

処理の開始(ステップS301)後、まずコンテンツの提供者を含むコンテンツに関する情報をコンテンツ情報記憶部201に記憶する(ステップS302)。
コンテンツに関する情報には、登録されたコンテンツを一意に示すコンテンツ識別子、コンテンツの名称を示すコンテンツ名、提供者を一意に示す提供者識別子、運営者からの支払先となる提供者口座、などの情報が含まれる。これにより、提供者の口座と購入者からの入金に応じて提供者への支払額を送金する運営者の口座とを関連付けることができる。
なお、コンテンツは、提供者が単独であるものに限定されない。コンテンツが共同著作物の場合だけでなく、一つのコンテンツに関する提供者が複数であるものも含まれる。
また、コンテンツそのもののデータが、コンテンツ情報記憶部201に必ずしも記憶されていなくても良く、コンテンツ自体は提供者から購入者へ直接渡されても良い。
After starting the process (step S301), first, information regarding the content including the content provider is stored in the content information storage unit 201 (step S302).
Information related to content includes a content identifier that uniquely indicates the registered content, a content name that indicates the name of the content, a provider identifier that uniquely indicates the provider, and the provider account that is the recipient of payment from the operator. is included. This allows the provider's account to be associated with the operator's account, which remits the payment amount to the provider in response to the purchaser's deposit.
Note that content is not limited to content provided by a single provider. This includes not only cases in which the content is a joint work, but also cases in which there are multiple providers of one content.
Moreover, the data of the content itself does not necessarily need to be stored in the content information storage unit 201, and the content itself may be directly passed from the provider to the purchaser.

次に、鍵生成部205によって、コンテンツ情報記憶部201に記憶されている提供者を識別する提供者識別子を用いて、提供者の鍵を生成する(ステップS303)。生成された鍵の情報は提供者識別子と対応付けられて鍵情報記憶部203に記憶される。提供者の鍵は、公開鍵暗号方式の場合は秘密鍵及び公開鍵の鍵ペア、共通鍵暗号方式の場合は共通鍵である。 Next, the key generation unit 205 generates a key for the provider using the provider identifier for identifying the provider stored in the content information storage unit 201 (step S303). The generated key information is stored in the key information storage unit 203 in association with the provider identifier. The provider's key is a key pair of a private key and a public key in the case of public key cryptography, and a common key in the case of common key cryptography.

次に、運営者と提供者との間に結ばれたコンテンツ取引の契約に関する情報を契約情報記憶部202に記憶する(ステップS304)。この契約情報の中には、運営者から提供者への支払に関する算出条件、例えば、購入者からの入金額に対して所定の分配率を乗じて提供者への支払額が算出される、などが含まれている。 Next, information regarding the content transaction contract concluded between the operator and the provider is stored in the contract information storage unit 202 (step S304). This contract information includes calculation conditions regarding payments from the operator to the provider, such as the amount paid to the provider being calculated by multiplying the amount received from the purchaser by a predetermined distribution rate. It is included.

次に、鍵情報記憶部203に記憶されている提供者の各々の鍵を用いて、暗号化部207によって、契約情報記憶部202に記憶されているコンテンツに関する支払額の計算に関わる算出条件を暗号化する(ステップS305)。例えば、購入者からの入金額に対して所定の分配率を乗じて提供者への支払額を計算する場合であれば、分配率などに関するデータが暗号化される。 Next, using each provider's key stored in the key information storage unit 203, the encryption unit 207 sets calculation conditions related to the calculation of the payment amount for the content stored in the contract information storage unit 202. It is encrypted (step S305). For example, if the amount paid to the provider is calculated by multiplying the amount paid by the purchaser by a predetermined distribution rate, data regarding the distribution rate and the like is encrypted.

次に、入金確認部206によって購入者からの入金の有無、入金があった場合の入金額などを確認する(ステップS306)。確認された入金額を含む入金に関する情報は金額情報記憶部204に記憶される。 Next, the payment confirmation unit 206 confirms whether or not there is a payment from the purchaser, and if there is a payment, the amount of payment, etc. (step S306). Information regarding the deposit, including the confirmed deposit amount, is stored in the amount information storage unit 204.

次に、鍵情報記憶部203に記憶されている提供者の各々の鍵を用いて、暗号化部207によって、金額情報記憶部204に記憶されている入金額のデータを暗号化する(ステップS307)。 Next, the encryption unit 207 encrypts the deposited amount data stored in the amount information storage unit 204 using the keys of each provider stored in the key information storage unit 203 (step S307 ).

次に、支払額算出部208によって、暗号化された入金額のデータ及び暗号化された算出条件のデータに基づいて、データが暗号化されたまま提供者への支払額の計算を行う(ステップS308)。支払額算出部208は、金額情報記憶部204に記憶されている入金額及び契約情報記憶部202に記憶されている算出条件に基づいて計算手順を生成し、その計算手順に従って、暗号化部207によって暗号化された入金額及び算出条件のデータを用いて準同型演算処理などを行い、各提供者への支払額を計算する。 Next, the payment amount calculation unit 208 calculates the payment amount to the provider based on the encrypted deposit amount data and the encrypted calculation condition data (step S308). The payment amount calculation unit 208 generates a calculation procedure based on the payment amount stored in the amount information storage unit 204 and the calculation conditions stored in the contract information storage unit 202, and according to the calculation procedure, the encryption unit 207 The payment amount to each provider is calculated by performing homomorphic arithmetic processing using the encrypted deposit amount and calculation condition data.

次に、分散型台帳記録部209によってコンテンツ識別子、提供者識別子、入金額、算出条件、及びステップS308で計算された支払額などのデータを分散型台帳110に記録し(ステップS309)、終了となる(ステップS310)。ステップS309において少なくとも算出条件と支払額のデータについては暗号化された状態で分散型台帳110に記録する。
なお、分散型台帳記録部209による分散型台帳110への記録のタイミングは支払額の計算後に限られるものではなく、まとめて記録せずに、分散型台帳110に記録すべき情報の入手後に随時記録していっても良い。
Next, the distributed ledger recording unit 209 records data such as the content identifier, provider identifier, deposit amount, calculation conditions, and payment amount calculated in step S308 in the distributed ledger 110 (step S309), and the process ends. (Step S310). In step S309, at least the calculation conditions and payment amount data are recorded in the distributed ledger 110 in an encrypted state.
Note that the timing of recording in the distributed ledger 110 by the distributed ledger recording unit 209 is not limited to after the payment amount is calculated, but can be recorded at any time after obtaining the information to be recorded in the distributed ledger 110 without recording all at once. You can record it.

本実施例によれば、コンテンツ取引の一連の処理を、分散型台帳110を用いて構築することにより、購入者からの入金額は明らかにして取引の安全性及び信頼性を担保すると同時に、提供者同士や運営者と提供者との間の支払いをめぐるトラブル防止のために各提供者の算出条件及び支払額については秘匿することを可能にできる。 According to this embodiment, by constructing a series of processes for content transactions using the distributed ledger 110, the deposit amount from the purchaser is made clear and the safety and reliability of the transaction is ensured. In order to prevent troubles regarding payments between parties or between an operator and a provider, the calculation conditions and payment amount of each provider can be kept secret.

本願発明の目的は、本実施例の機能を実現するソフトウェアのプログラム、即ち、支払支援システムとして、コンピュータを機能させる命令を有するプログラム、をシステム又は装置に供給し、そのシステム又は装置のコンピュータが記憶媒体に記録されたソフトウェアのプログラムを読出し実行することによっても達成される。
そのプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
The purpose of the present invention is to supply a software program for realizing the functions of this embodiment, that is, a program having instructions for making a computer function as a payment support system, to a system or device, and to store the software program in the computer of the system or device. This can also be achieved by reading and executing a software program recorded on a medium.
The program may be provided as an installable or executable file recorded on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD.

また、プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。 Alternatively, the program may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network.

さらに、DVDなどの記憶媒体から読出されたプログラムが、システム又は装置のコンピュータに挿入された機能拡張用のボードやコンピュータに接続された機能拡張用のユニットに備えられたメモリに書込まれた後、当該プログラムの指示に基づき、その機能拡張用のボードやユニットに備えられたCPUなどが実際の処理の一部又は全部を行ない、その処理によって上記の機能が実現される場合も含まれる。 Furthermore, after the program read from a storage medium such as a DVD is written to a memory provided in a function expansion board inserted into the computer of the system or device or a function expansion unit connected to the computer. This also includes a case where a CPU included in a function expansion board or unit performs part or all of the actual processing based on instructions from the program, and the above functions are realized by the processing.

なお、本願発明は、上記の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲内において、他の様々な形態で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上記の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、又は並列に実行することができる。また、各処理ステップ間に他のステップを追加してもよい。また、1ステップとして記載されているステップを、複数ステップに分けて実行してもよいし、複数ステップに分けて記載されているものを、1ステップとして把握することも可能である。 Note that the present invention is not limited to the above-described embodiments, and can be implemented in various other forms without departing from the gist of the present invention. Therefore, the above-described embodiments are merely illustrative in all respects, and should not be construed as limiting. For example, each of the above-mentioned processing steps can be arbitrarily changed in order or executed in parallel as long as there is no inconsistency in the processing contents. Also, other steps may be added between each processing step. Further, a step described as one step may be divided into a plurality of steps and executed, and a step described as a plurality of steps can be understood as one step.

101 運営者サーバ
102 通信ネットワーク
103 提供者端末
110 分散型台帳
111 閲覧者端末
201 コンテンツ情報記憶部
202 契約情報記憶部
203 鍵情報記憶部
204 金額情報記憶部
205 鍵生成部
206 入金確認部
207 暗号化部
208 支払額算出部
209 分散型台帳記録部
210 送金処理部
211 復号部

101 Operator server 102 Communication network 103 Provider terminal 110 Distributed ledger 111 Viewer terminal 201 Content information storage unit 202 Contract information storage unit 203 Key information storage unit 204 Amount information storage unit 205 Key generation unit 206 Payment confirmation unit 207 Encryption Section 208 Payment amount calculation section 209 Distributed ledger recording section 210 Remittance processing section 211 Decryption section

Claims (7)

コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムであって、
前記運営者サーバは、
情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成部と、
前記コンテンツの購入者からの入金額を確認する入金確認部と、
前記鍵生成部によって生成された前記提供者の鍵を用いて前記入金確認部によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化部と、
前記暗号化部によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出部と、
前記入金確認部によって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出部によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録部
を備えていることを特徴とする支払支援システム。
A payment support system in which an operator server owned by a content trading service operator is connected to a provider terminal owned by a content provider via a communication network to support payments from the operator to the provider. hand,
The operator server is
a key generation unit that generates the provider's key for encrypting and decoding information;
a payment confirmation unit that confirms the payment amount from the purchaser of the content;
an encryption unit that encrypts the deposited amount confirmed by the deposit confirmation unit and payment amount calculation conditions determined for each provider using the provider's key generated by the key generation unit;
a payment amount calculation unit that calculates the payment amount to the provider based on the input amount encrypted by the encryption unit and the calculation conditions;
A distributed ledger that records the deposit amount confirmed by the deposit confirmation unit in an unencrypted state and the payment amount calculated by the payment amount calculation unit in an encrypted state. A payment support system characterized by comprising a recording section.
前記算出条件は前記入金額に対する前記提供者への分配率を定めたものであり、
前記支払額算出部は前記暗号化部によって暗号化された前記入金額に同じく暗号化された前記分配率を乗じて暗号化された前記支払額を算出する方式を用いて算出することを特徴とする請求項に記載の支払支援システム。
The calculation conditions determine the distribution rate to the provider for the entered amount,
The payment amount calculation section calculates the encrypted payment amount by multiplying the input amount encrypted by the encryption section by the distribution rate that is also encrypted. The payment support system according to claim 1 .
前記運営者サーバは、
前記分散型台帳に共に暗号化された状態で記録されている前記算出条件及び前記支払額を前記提供者の鍵を用いて復号するための復号部をさらに備えていることを特徴とする請求項に記載の支払支援システム。
The operator server is
A claim further comprising a decryption unit for decrypting the calculation conditions and the payment amount, which are both recorded in an encrypted state in the distributed ledger, using the provider's key. The payment support system described in 2 .
前記運営者サーバは、
前記支払額に基づいて前記提供者へ法定通貨又は仮想通貨によって送金する際に前記支払額がわからないように前記支払額以外の金額に統合又は分割した上で送金する送金処理部をさらに備えており、
前記分散型台帳記録部は前記送金処理部により送金された金額を暗号化しない状態で前記分散型台帳にさらに記録することを特徴とする請求項1ないしのいずれかに記載の支払支援システム。
The operator server is
The method further includes a remittance processing unit that integrates or divides the payment amount into an amount other than the payment amount and then remits the money so that the payment amount is not known when remittance is made to the provider in legal currency or virtual currency based on the payment amount. ,
4. The payment support system according to claim 1, wherein the distributed ledger recording unit further records the amount remitted by the remittance processing unit in the distributed ledger in an unencrypted state.
前記方式は準同型暗号方式であることを特徴とする請求項又はに記載の支払支援システム。 4. The payment support system according to claim 2 , wherein the method is a homomorphic encryption method. コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムにおける支払支援方法であって、
前記運営者サーバが、
情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成ステップと、
前記コンテンツの購入者からの入金額を確認する入金確認ステップと、
前記鍵生成ステップによって生成された前記提供者の鍵を用いて前記入金確認ステップによって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化ステップと、
前記暗号化ステップによって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出ステップと、
前記入金確認ステップによって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出ステップによって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録ステップ
を実行することを特徴とする支払支援方法。
Payment in a payment support system in which an operator server owned by a content trading service operator is connected to a provider terminal owned by a content provider via a communication network to support payments from the operator to the provider. A support method,
The operator server is
a key generation step of generating a key for the provider for encrypting and decrypting information;
a payment confirmation step of confirming the payment amount from the content purchaser;
an encryption step of encrypting the deposited amount confirmed in the deposit confirmation step and payment amount calculation conditions determined for each provider using the provider's key generated in the key generation step;
a payment amount calculation step of calculating the payment amount to the provider based on the input amount encrypted in the encryption step and the calculation conditions;
A distributed ledger that records the deposit amount confirmed in the deposit confirmation step in an unencrypted state and the payment amount calculated in the payment amount calculation step in an encrypted state. A payment support method characterized by performing a recording step.
コンテンツ取引サービスの運営者が保有する運営者サーバが通信ネットワークを介してコンテンツの提供者が保有する提供者端末と接続されて運営者から提供者への支払いを支援するための支払支援システムとして機能するように前記運営者サーバに処理を実行させる支払支援プログラムであって、
情報を暗号化及び復号するための前記提供者の鍵を生成する鍵生成処理と、
前記コンテンツの購入者からの入金額を確認する入金確認処理と、
前記鍵生成処理によって生成された前記提供者の鍵を用いて前記入金確認処理によって確認された前記入金額及び前記提供者毎に定められた支払額の算出条件を暗号化する暗号化処理と、
前記暗号化処理によって暗号化された前記入金額及び前記算出条件に基づいて前記提供者への支払額を算出する支払額算出処理と、
前記入金確認処理によって確認された前記入金額を暗号化されていない状態で、かつ前記支払額算出処理によって算出された前記支払額を暗号化されている状態で分散型台帳に記録する分散型台帳記録処理
を前記運営者サーバに実行させることを特徴とする支払支援プログラム。
An operator server owned by a content trading service operator is connected to a provider terminal owned by a content provider via a communication network, and functions as a payment support system to support payments from the operator to the provider. A payment support program that causes the operator server to execute processing to
a key generation process that generates the provider's key for encrypting and decoding information;
a payment confirmation process for confirming the payment amount from the purchaser of the content;
an encryption process that uses the provider's key generated by the key generation process to encrypt the deposited amount confirmed in the deposit confirmation process and payment amount calculation conditions determined for each provider;
a payment amount calculation process that calculates a payment amount to the provider based on the input amount encrypted by the encryption process and the calculation conditions;
A distributed ledger that records the deposit amount confirmed by the deposit confirmation process in an unencrypted state and the payment amount calculated by the payment amount calculation process in an encrypted state. A payment support program characterized by causing the operator server to execute recording processing.
JP2019086884A 2019-04-26 2019-04-26 Payment support system, payment support method and payment support program Active JP7349616B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019086884A JP7349616B2 (en) 2019-04-26 2019-04-26 Payment support system, payment support method and payment support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019086884A JP7349616B2 (en) 2019-04-26 2019-04-26 Payment support system, payment support method and payment support program

Publications (2)

Publication Number Publication Date
JP2020184125A JP2020184125A (en) 2020-11-12
JP7349616B2 true JP7349616B2 (en) 2023-09-25

Family

ID=73044582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019086884A Active JP7349616B2 (en) 2019-04-26 2019-04-26 Payment support system, payment support method and payment support program

Country Status (1)

Country Link
JP (1) JP7349616B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7048039B1 (en) 2021-01-15 2022-04-05 株式会社アクセル Payment systems, payment devices, payment methods and payment programs
WO2023175872A1 (en) * 2022-03-18 2023-09-21 富士通株式会社 Information processing device, information processing method, and information processing program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215150A (en) 2006-01-11 2007-08-23 Nippon Hoso Kyokai <Nhk> Content distribution apparatus and content viewing apparatus, view charge encryption device, view charge tabulation device and view charge decryption device, and view charge encryption program, view charge tabulation program and view charge decryption program
JP2016114855A (en) 2014-12-16 2016-06-23 富士通株式会社 Encryption processing device, encryption processing method, and encryption processing program
JP2018500694A (en) 2014-12-31 2018-01-11 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Request transmission method and apparatus
JP2018022346A (en) 2016-08-03 2018-02-08 Kddi株式会社 Data transaction system and program
JP2019029933A (en) 2017-08-02 2019-02-21 富士通株式会社 Content distribution device, content distribution system, content distribution program, and content distribution method
JP2019029013A (en) 2017-07-24 2019-02-21 株式会社デンソー Transaction system, provision terminal, use terminal, and node

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215150A (en) 2006-01-11 2007-08-23 Nippon Hoso Kyokai <Nhk> Content distribution apparatus and content viewing apparatus, view charge encryption device, view charge tabulation device and view charge decryption device, and view charge encryption program, view charge tabulation program and view charge decryption program
JP2016114855A (en) 2014-12-16 2016-06-23 富士通株式会社 Encryption processing device, encryption processing method, and encryption processing program
JP2018500694A (en) 2014-12-31 2018-01-11 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Request transmission method and apparatus
JP2018022346A (en) 2016-08-03 2018-02-08 Kddi株式会社 Data transaction system and program
JP2019029013A (en) 2017-07-24 2019-02-21 株式会社デンソー Transaction system, provision terminal, use terminal, and node
JP2019029933A (en) 2017-08-02 2019-02-21 富士通株式会社 Content distribution device, content distribution system, content distribution program, and content distribution method

Also Published As

Publication number Publication date
JP2020184125A (en) 2020-11-12

Similar Documents

Publication Publication Date Title
CN108764874B (en) Anonymous transfer method, system and storage medium based on block chain
JP7083754B2 (en) Methods and systems for efficient transfer of cryptocurrencies associated with payroll on the blockchain, resulting in automatic payroll methods and systems based on smart contracts
Franco Understanding Bitcoin: Cryptography, engineering and economics
JP4156129B2 (en) Device that generates survey information for products
JP5165598B2 (en) Account link with private key
US7099846B1 (en) Apparatus and system for providing fee-based content
CN109697365B (en) Information processing method, block chain node and electronic equipment
US6574611B1 (en) Information processing apparatus and method, information management apparatus and method, and information providing medium
US7287010B1 (en) Information processing device and method, and providing medium
CN113595726A (en) Method for controlling and distributing blockchain implementation of digital content
JP2001216198A (en) Method and device for issuing use permit card
JP2005513956A (en) Crypto system for group signature
CN110728576A (en) Decentralized anonymous data transaction method based on zero knowledge proof
CN108805574B (en) Transaction method and system based on privacy protection
JP7349616B2 (en) Payment support system, payment support method and payment support program
KR102085997B1 (en) Method and system for real estate transaction service based on block chain
JP6669609B2 (en) Data trading system and program
WO2019186978A1 (en) Electronic transaction system, transaction server, verification server, electronic transaction method and program
EP1120726A1 (en) Information processing device and method, and providing medium
CN111353893A (en) Transaction data processing method and device based on block chain
Park et al. Blockchain-Based Secure and Fair IoT Data Trading System with Bilateral Authorization.
JP2005352786A (en) Electronic ticket vending method, electronic ticket vending/transferring method, server device, client device, program, and recording medium
KR20230006535A (en) A privacy-preserving decentralized payment network
JP2006018692A (en) Electronic right transfer processing method, electronic right transfer management system, and device and program therefor
JP4410067B2 (en) Anonymous credit information grant system, anonymous credit information generation device, credit information verification device, anonymous information verification device, anonymous credit information acceptance device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230728

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230823

R150 Certificate of patent or registration of utility model

Ref document number: 7349616

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150