(57)【要約】【課題】取引データの秘匿性と取引の公正性を保証すること。【解決手段】電子データの取引に関するブロックチェーンのノードを構成する電子取引装置であって、取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する受信部と、前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する検証部と、を有する。【選択図】図８
2019106639.tif 000002
【特許請求の範囲】
【請求項１】
電子データの取引に関するブロックチェーンのノードを構成する電子取引装置であって、
取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する受信部と、
前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する検証部と、
を有することを特徴とする電子取引装置。
【請求項２】
前記検証部によって前記電子データが正当であることが検証された場合に、前記受信端末から送信される、前記電子データの対価に関する第３のトランザクションを台帳に記録する記録部、
を更に有することを特徴とする請求項１記載の電子取引装置。
【請求項３】
前記検証部によって前記電子データが正当であることが検証された場合に、前記第３のトランザクションに対して署名を付加する署名部を更に有し、
前記記録部は、前記第３のトランザクションが要求する署名が満たされていない場合には、前記第３のトランザクションを前記ブロックチェーンに公開し、前記第３のトランザクションが要求する署名が満たされた場合に、前記第３のトランザクションを前記台帳に記録する、
ことを特徴とする請求項２記載の電子取引装置。
【請求項４】
電子データの取引に関するブロックチェーンのノードを構成するコンピュータが、
取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する処理と、
前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する処理と、
を実行することを特徴とする電子取引方法。
【請求項５】
電子データの取引に関するブロックチェーンのノードを構成するコンピュータに、
取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する処理と、
前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子取引装置、電子取引方法及びプログラムに関する。
【背景技術】
【０００２】
電子商取引においては、当事者間に信頼関係が有れば、取引の対象物（例えば、コンテンツ）の送信と対価の送信とについて、時間的な前後関係は問われない。コンテンツの送信者が、受信者から対価を受け取り、対価を確認した後に、受信者に向けてコンテンツを送信してもよいし、コンテンツの送信者が、受信者にコンテンツを送信し、受信者は、当該コンテンツを確認し後に、送信者に対価を支払ってもよい。
【０００３】
一方、当事者間に信頼関係が無い場合、中立的な第三者を信頼点として用いたエスクローと呼ばれるシステムを用いることが考えられる。エスクローでは、予めコンテンツの対価を第三者に預託し、コンテンツの送信がなされた後に第三者から対価を移転することにより、安全な取引が実現される。
【０００４】
しかし、エスクローでは、第三者への信頼が必要になり、信頼点無しに取引を実現することが困難である。
【０００５】
そこで、上記のような電子商取引をブロックチェーン上で行うことが考えられる。ブロックチェーン上では、当事者間の信頼関係や第三者への信頼が存在しなくても、取引記録の改竄困難性などから、コンテンツの持ち逃げ等を防ぐことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１７／０３８５０７号
【特許文献２】国際公開第２０１７／０１０４５５号
【特許文献３】特開２０１６−２０８３４７号公報
【特許文献４】特表２０１７−５１５２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ブロックチェーンでは、取引の公正性が、当該ブロックチェーンを構成する各ノードによって保証されるため、取引の内容が基本的に公開されるという性質が有る。
【０００８】
したがって、ワンタイムトークンを含む認証情報等の第三者に秘匿したい機微なデータの取引及び決済をブロックチェーン上で行うことは困難である。
【０００９】
そこで、一側面では、本発明は、取引データの秘匿性と取引の公正性を保証することを目的とする。
【課題を解決するための手段】
【００１０】
一つの態様では、電子データの取引に関するブロックチェーンのノードを構成する電子取引装置であって、取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する受信部と、前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する検証部と、を有する。
【発明の効果】
【００１１】
一側面として、取引データの秘匿性と取引の公正性を保証することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態における電子取引システムの構成例を示す図である。
【図２】第１の実施の形態におけるノード１０のハードウェア構成例を示す図である。
【図３】第１の実施の形態における受信者端末２０、送信者端末３０及びノード１０の機能構成例を示す図である。
【図４】第１の実施の形態において受信者端末２０が実行する処理手順の一例を説明するためのフローチャートである。
【図５】決済トランザクションＴｘ１の内容の一例を示す図である。
【図６】第１の実施の形態において送信者端末３０が実行する処理手順の一例を説明するためのフローチャートである。
【図７】第１の実施の形態において各ノード１０が実行する処理手順の一例を説明するためのフローチャートである。
【図８】第２の実施の形態における受信者端末２０、送信者端末３０及びノード１０の機能構成例を示す図である。
【図９】第２の実施の形態において受信者端末２０が実行する処理手順の一例を説明するためのフローチャートである。
【図１０】第２の実施の形態において送信者端末３０が実行する処理手順の一例を説明するためのフローチャートである。
【図１１】第２の実施の形態において各ノード１０が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第１の実施の形態における電子取引システムの構成例を示す図である。図１において、送信者端末３０、受信者端末２０及び複数のノード１０は、ネットワークＮ１を介して接続される。ネットワークＮ１は、或るブロックチェーンＣを構成する各ノード１０又は当該ブロックチェーンＣへの各参加者を接続するネットワークである。例えば、ネットワークＮ１は、インターネットの一部を用いて構成されてもよい。
【００１４】
本実施の形態では、電子商取引の対象が何らかの電子データ（以下、単に「コンテンツ」という。）である場合が想定される。コンテンツの送信者を送信者Ａといい、コンテンツの受信者（すなわち、対価を支払う者）を受信者Ｂという。したがって、対価となる資産は、受信者Ｂから送信者Ａに向けて決済される。
【００１５】
送信者端末３０は、送信者Ａが利用する端末である。受信者端末２０は、受信者Ｂが利用する端末である。なお、ＰＣ（Personal Computer）、スマートフォン、タブレット端末等のコンピュータが送信者端末３０又は受信者端末２０として利用されてもよい。
【００１６】
各ノード１０は、ブロックチェーンＣを構成するノードである。各ノード１０は、ブロックチェーンＣ上における各トランザクションの検証機能（トランザクションをブロックチェーンＣに取り込むかを決定する機能）や、各トランザクションを記憶するための台帳を有し、電子取引装置を実現するコンピュータである。送信者端末３０及び受信者端末２０も、ブロックチェーンＣのノード１０であってもよいが、送信者端末３０及び受信者端末２０は、当該ブロックチェーンＣへの単なる参加者でもよい。ブロックチェーンＣの参加者とは、ブロックチェーンＣ上で電子商取引（トランザクションの発行又は受信等）を行うための機能を有する者をいう。
【００１７】
なお、本実施の形態において、ブロックチェーンＣには、ビットコインに代表されるような仮想通貨が定義されており、ユーザ間において仮想通貨の移転が可能であり、仮想通貨の取引は、各ノード１０により検証され、台帳に記録される。ブロックチェーンＣでは、さらに、例えば、スマートコントラクト等によって、コンテンツの所有権や移転が定義され、当該移転に関するトランザクションについても、同様に台帳に記録される。
【００１８】
図２は、第１の実施の形態におけるノード１０のハードウェア構成例を示す図である。図２のノード１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１９】
ノード１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２０】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってノード１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２１】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２２】
なお、送信者端末３０及び受信者端末２０も、図２に示されるハードウェア構成を有していてもよい。
【００２３】
図３は、第１の実施の形態における受信者端末２０、送信者端末３０及びノード１０の機能構成例を示す図である。
【００２４】
図３において、受信者端末２０は、トランザクション発行部２１及びコンテンツ取得部２２等を有する。これら各部は、受信者端末２０にインストールされた１以上のプログラムが、受信者端末２０のＣＰＵに実行させる処理により実現される。
【００２５】
トランザクション発行部２１は、受信者Ｂから送信者Ａへの決済のためのトランザクション（以下、「決済トランザクションＴｘ１」という。）をブロックチェーンＣ上に発行する。決済とは、コンテンツの対価の支払いをいう。本実施の形態において、トランザクション発行部２１は、決済トランザクションＴｘ１を、マルチシグ型のトランザクションとして発行する。マルチシグ型のトランザクションとは、トランザクションの確定のために、当該トランザクションに対して複数人による署名が必要とされるトランザクションをいう。決済トランザクションＴｘ１の発行時において、当該決済トランザクションＴｘ１には、受信者Ｂの署名が付与され、各ノード１０において、当該決済トランザクションＴｘ１は仮確定の状態とされる。仮確定の状態とは、署名が不足しているために台帳には反映されずに、署名の不足が解消されるのを待機している状態をいう。なお、発行されたトランザクションは、ブロックチェーンＣ上に公開される。トランザクションのブロックチェーンＣ上での公開とは、当該トランザクションが、各ノード１０に受信されることをいう。ノード１０の間でどのようにトランザクションが伝達されるかについては、ブロックチェーンＣの実装に依存する。
【００２６】
コンテンツ取得部２２は、送信者端末３０から発行される、コンテンツの所有権の移転のためのトランザクション（以下「コンテンツ移転トランザクションＴｘ２」という。）を受信して、コンテンツを取得する。
【００２７】
送信者端末３０は、仮確定トランザクション受信部３１及びコンテンツ取引発行部３２等を有する。仮確定トランザクション受信部３１は、仮確定の状態の決済トランザクションＴｘ１を受信する。コンテンツ取引発行部３２は、コンテンツ移転トランザクションＴｘ２を発行する。
【００２８】
各ノード１０は、ブロックチェーン制御部１１を有する。ブロックチェーン制御部１１は、ノード１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。ノード１０は、また、台帳記憶部１２及び仮確定トランザクション記憶部１３等を利用する。これら各記憶部は、例えば、補助記憶装置１０２、又はノード１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２９】
ブロックチェーン制御部１１は、トランザクション送受信部１１１及び署名部１１２等を含む。トランザクション送受信部１１１は、決済トランザクションＴｘ１やコンテンツ移転トランザクションＴｘ２等の各種のトランザクションを受信する。トランザクション送受信部１１１は、また、決済トランザクションＴｘ１を他のノード１０又は送信者端末３０に送信し、コンテンツ移転トランザクションＴｘ２を他のノード１０又は受信者端末２０に送信する。
【００３０】
トランザクション送受信部１１１は、また、署名が不足している決済トランザクションＴｘ１を受信した場合、当該決済トランザクションＴｘ１を仮確定トランザクション記憶部１３に記憶する（プールする）ことで、当該決済トランザクションＴｘ１を仮確定の状態とする。
【００３１】
トランザクション送受信部１１１は、更に、コンテンツ移転トランザクションＴｘ２を受信した場合、コンテンツ移転トランザクションＴｘ２の正当性を検証し、当該コンテンツ移転トランザクションＴｘ２が正当であれば、当該コンテンツ移転トランザクションＴｘ２を確定した上で、仮確定トランザクション記憶部１３に記憶されている決済トランザクションＴｘ１について、署名部１１２に対して署名を依頼する。署名部１１２による署名によって、決済トランザクションＴｘ１に対する署名の条件が充足した場合、トランザクション送受信部１１１は、決済トランザクションＴｘ１を確定する。なお、トランザクションの確定とは、当該トランザクションが、台帳記憶部１２に記憶されている台帳に記録されているブロックチェーンに追加されることをいう。一方、署名部１１２による署名によって、決済トランザクションＴｘ１に対する署名の条件が充足されない場合、トランザクション送受信部１１１は、当該署名が付与された決済トランザクションＴｘ１を改めてブロックチェーンＣ上に発行する。
【００３２】
署名部１１２は、トランザクション送受信部１１１からの依頼に応じ、決済トランザクションＴｘ１に対して署名（電子署名）を付加（追加）する。
【００３３】
すなわち、第１の実施の形態では、受信者Ｂがコンテンツの対価を支払う決済トランザクションＴｘをブロックチェーンＣに発行し、各ノード１０が、その確定をコンテンツの引き渡しまで保留し、コンテンツの引き渡しの成否に応じて、決済トランザクションＴｘ１を台帳に取り込むか否かを決定する。その結果、コンテンツの持ち逃げや対価のみ受け取ってコンテンツを送信しないなどといった取引の不正が防止される。
【００３４】
以下、第１の実施の形態において各端末及び各ノード１０が実行する処理手順について説明する。図４は、第１の実施の形態において受信者端末２０が実行する処理手順の一例を説明するためのフローチャートである。
【００３５】
ステップＳ１０１において、トランザクション発行部２１は、例えば、受信者Ｂによる指示に応じ、コンテンツの対価となる仮想通貨を送信する決済トランザクションＴｘ１を発行する。
【００３６】
図５は、決済トランザクションＴｘ１の内容の一例を示す図である。図５に示されるように、決済トランザクションＴｘ１は、トランザクションＩＤ、送信者ＩＤ、受信者ＩＤ、金額、型、要求署名、署名、及び資産ＩＤ等を含む。
【００３７】
トランザクションＩＤは、各トランザクションの識別情報である。送信者ＩＤは、決済トランザクションＴｘ１の送信者（本実施の形態では、受信者Ｂ）のユーザのＩＤである。受信者ＩＤは、決済トランザクションＴｘ１に係る対価の受信者（本実施の形態では、送信者Ａ）のユーザのＩＤである。金額は、決済される仮想通貨の金額である。型は、トランザクションの型である。型には、例えば、単一署名、マルチシグ等が有る。決済トランザクションＴｘ１の型は、マルチシグである。要求署名は、決済トランザクションＴｘ１について、要求される署名である。決済トランザクションＴｘ１については、受信者Ｂの他に［ノード］の署名が必要であることが示されている。ここで、［ノード］は、ノード１０による署名に関する条件を示す。当該条件は、例えば、特定のノード１０の署名が必要であることや、所定数以上の署名が必要であること等である。署名は、既に決済トランザクションＴｘ１に対して付加された署名である。Ｓｉｇ（Ｂ）は、受信者Ｂの署名を示す。資産ＩＤは、決済の対象の資産のＩＤである。本実施の形態では、当該資産は、コンテンツであるため、コンテンツのＩＤが資産ＩＤとして設定される。
【００３８】
続いて、コンテンツ取得部２２は、決済トランザクションＴｘ１を受信した送信者端末３０から送信されるコンテンツ移転トランザクションＴｘ２を受信する（Ｓ１０２）。
【００３９】
図６は、第１の実施の形態において送信者端末３０が実行する処理手順の一例を説明するためのフローチャートである。
【００４０】
ステップＳ２０１において、仮確定トランザクション受信部３１が、決済トランザクションＴｘ１を受信すると、送信者Ａは、決済トランザクションＴｘ１の内容を確認する。決済トランザクションＴｘ１の内容を確認した送信者Ａによる指示に応じ、コンテンツ取引発行部３２は、決済トランザクションＴｘ１の資産ＩＤに指定されたコンテンツに関するコンテンツ移転トランザクションＴｘ２を発行する（Ｓ２０２）。この際、コンテンツ取引発行部３２は、例えば、決済トランザクションＴｘ１のトランザクションＩＤを付加情報として、トランザクションＴｘ２に付加する。但し、決済トランザクションＴｘ１を特定可能な情報であれば、トランザクションＩＤ以外の情報が付加対象とされてもよい。
【００４１】
図７は、第１の実施の形態において各ノード１０が実行する処理手順の一例を説明するためのフローチャートである。なお、図７の処理手順は、ブロックチェーンＣを構成する各ノード１０によって並列的に実行される。
【００４２】
トランザクション送受信部１１１は、受信者端末２０によって発行された決済トランザクションＴｘ１を受信すると（Ｓ３０１）。決済トランザクションＴｘ１を直ちには確定せずに、仮確定トランザクション記憶部１３に記憶する（Ｓ３０２）。
【００４３】
続いて、トランザクション送受信部１１１は、コンテンツ移転トランザクションＴｘ２を受信すると（Ｓ３０３）、当該コンテンツ移転トランザクションＴｘ２が、仮確定トランザクション記憶部１３に記憶されている決済トランザクションＴｘ１に対応するものであるか否かを検証する（Ｓ３０４）。例えば、コンテンツ移転トランザクションＴｘ２に含まれている、送信者ＩＤ、受信者ＩＤが、決済トランザクションＴｘ１の受信者ＩＤ、送信者ＩＤに一致し、コンテンツ移転トランザクションＴｘ２に含まれているコンテンツのＩＤが、決済トランザクションＴｘ１に含まれているコンテンツＩＤに一致するか否か等が判定されてもよい。
【００４４】
コンテンツ移転トランザクションＴｘ２が、不正なトランザクションである（すなわち、コンテンツ移転トランザクションＴｘ２が決済トランザクションＴｘ１に対応しない）と判定した場合（Ｓ３０５でＮｏ）、トランザクション送受信部１１１は、決済トランザクションＴｘ１に関する処理（取引）を終了する。
【００４５】
コンテンツ移転トランザクションＴｘ２が、正当なトランザクションである（すなわち、コンテンツ移転トランザクションＴｘ２が決済トランザクションＴｘ１に対応している）と判定した場合（Ｓ３０５でＹｅｓ）、トランザクション送受信部１１１は、コンテンツ移転トランザクションＴｘ２を、台帳記憶部１２に記憶されている台帳のブロックチェーンに追加する（Ｓ３０６）。その結果、コンテンツ移転トランザクションＴｘ２は確定される。続いて、署名部１１２が、当該ノード１０の署名を決済トランザクションＴｘ１に追加する（Ｓ３０７）。続いて、トランザクション送受信部１１１は、当該決済トランザクションＴｘ１を発行する（Ｓ３０８）。
【００４６】
続いて、トランザクション送受信部１１１は、当該決済トランザクションＴｘ１に付加された署名が、決済トランザクションＴｘ１の要求署名に指定された条件を満たすか否かを判定する（Ｓ３０９）。当該署名が当該条件を満たさない場合（Ｓ３０９でＮｏ）、署名部１１２は、当該決済トランザクションＴｘ１に当該ノード１０の署名が含まれていなければ、当該ノード１０の署名を当該決済トランザクションＴｘ１に追加する（Ｓ３１０）。続いて、トランザクション送受信部１１１は、当該決済トランザクションＴｘ１を発行すると共に、当該決済トランザクションＴｘ１を仮確定トランザクション記憶部１３に記憶する（Ｓ３１１）。なお、既にトランザクションＩＤが同じ決済トランザクションＴｘ１が仮確定トランザクション記憶部１３に記憶されている場合、署名が追加された決済トランザクションＴｘ１によって既に記憶されている決済トランザクションＴｘ１が置き換えられる。
【００４７】
続いて、トランザクション送受信部１１１は、他ノード１０によって署名された決済トランザクションＴｘ１の受信を待機する（Ｓ３１２）。すなわち、ブロックチェーンＣ上では、各ノード１０によって別々に決済トランザクションＴｘ１に対して署名が行われた後、署名済みの決済トランザクションＴｘ１の発行が行われる。ステップＳ３１２では、このように他ノード１０によって発行される決済トランザクションＴｘの受信が待機される（Ｓ３１２）。
【００４８】
いずれかのノード１０によって署名された決済トランザクションが受信されると（Ｓ３１２でＹｅｓ）、ステップＳ３０９以降が繰り返される。その過程において、受信された決済トランザクションＴｘ１の署名が、決済トランザクションＴｘ１の要求署名に指定された条件を満たすと（Ｓ３０９でＹｅｓ）、トランザクション送受信部１１１は、当該決済トランザクションＴｘ１を台帳記憶部１２に記憶されている台帳のブロックチェーンに追加する（Ｓ３１３）。その結果、決済トランザクションＴｘ１が確定する。
【００４９】
上述したように、第１の実施の形態によれば、資産の取引のトランザクション（決済トランザクションＴｘ１）の確定が、コンテンツの取引トランザクションＴｘ２が確定するまで保留される。したがって、コンテンツの持ち逃げや対価の未払い等の、取引に関わる両者の不正を第三者の存在を要することなく防ぐことができる。すなわち、取引の公正性を保証することができる。
【００５０】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。第２の実施の形態において、特に言及されない点については、第１の実施の形態と同様でもよい。
【００５１】
第２の実施の形態では、受信者端末２０が受信したコンテンツが不正なものである場合に、受信者端末２０が当該コンテンツに関する不正検証要求を各ノード１０に送信する。各ノード１０は、当該不正検証要求に応じ、当該コンテンツの正当性を検証し、検証の結果が決済トランザクションＴｘ１の確定の是非の判定に影響する。なお、第２の実施の形態において、取引対象のコンテンツは、例えば、或るＵＲＬ（Uniform Resource Locator）にアクセスするためのＩＤ及びパスワードの組のような電子データのように、自動的にそのデータの正当性について判可能なデータであるとする。
【００５２】
図８は、第２の実施の形態における受信者端末２０、送信者端末３０及びノード１０の機能構成例を示す図である。図８中、図３と同一部分には同一符号を付し、その説明は省略する。
【００５３】
図８において、受信者端末２０は、更に、鍵ペア生成部２３及びコンテンツ復号部２４を有する。これら各部は、受信者端末２０にインストールされた１以上のプログラムが、受信者端末２０のＣＰＵに実行させる処理により実現される。
【００５４】
鍵ペア生成部２３は、決済トランザクションＴｘ１の発行時において、受信者Ｂの公開鍵及び秘密鍵のペアを生成する。公開鍵は、決済トランザクションＴｘ１に付加され、決済トランザクションＴｘ１を受信した送信者端末３０においてコンテンツを暗号化するための暗号鍵（以下、「コンテンツ鍵Ｋ」という。）の暗号化に利用される。すなわち、第２の実施の形態において、コンテンツは、コンテンツ鍵Ｋで暗号化され、コンテンツ鍵Ｋは、公開鍵によって暗号化される。
【００５５】
コンテンツ復号部２４は、受信者端末２０が受信したコンテンツ鍵Ｋ及びコンテンツの復号を行う。すなわち、コンテンツ復号部２４は、受信したコンテンツ鍵Ｋを受信者Ｂの秘密鍵で復号し、復号したコンテンツ鍵Ｋを用いて受信したコンテンツを復号する。
【００５６】
送信者端末３０は、更に、コンテンツ鍵生成部３３及びコンテンツ暗号化部３４を有する。これら各部は、送信者端末３０にインストールされた１以上のプログラムが、送信者端末３０のＣＰＵに実行させる処理により実現される。
【００５７】
コンテンツ鍵生成部３３は、コンテンツ鍵Ｋを生成する。コンテンツ暗号化部３４は、コンテンツをコンテンツ鍵Ｋで暗号化すると共に、決済トランザクションＴｘ１に含まれている公開鍵を用いて、コンテンツ鍵Ｋを暗号化する。
【００５８】
なお、第２の実施の形態において、コンテンツ取引発行部３２は、コンテンツを取引するためのトランザクションとして、コンテンツ移転トランザクションＴｘ２に代えて、トランザクションＴｘ２．１及びトランザクションＴｘ２．３を発行する。トランザクションＴｘ２．１は、コンテンツ鍵Ｋで暗号化されたコンテンツの所有権を移転するためのトランザクションである。トランザクションＴｘ２．３は、トランザクションＴｘ２．１を確認した受信者端末２０から発行されるトランザクションＴｘ．２．２の受信に応じ、受信者の公開鍵で暗号化したコンテンツ鍵Ｋを公開するトランザクションである。
【００５９】
各ノード１０のブロックチェーン制御部１１は、更に、検証部の一例として、コンテンツの正当性を検証するコンテンツ検証部１１３を含む。コンテンツ検証部１１３は、トランザクションＴｘ２．１に係るコンテンツの復号結果を確認した受信者Ｂからの指示に応じ受信者端末２０が発行するトランザクションＴｘ２．４に応じた処理を実行する。受信者Ｂによってコンテンツが不正であると判断された場合、トランザクションＴｘ２．４には、受信者Ｂの秘密鍵、及びコンテンツの内容を確認するために必要な情報が指定された不正検証要求が付加情報として含まれる。受信者Ｂによってコンテンツが正当であると判断された場合、トランザクションＴｘ２．４には斯かる不正検証要求は含まれず、トランザクションＴｘ２．４は、コンテンツを確認したことを示すコンテンツ確認通知としてブロックチェーンＣ上に公開される。なお、コンテンツの内容を確認するために必要な情報としては、例えば、ＵＲＬへのアクセス権であるＩＤ及びパスワードがコンテンツである場合には、当該ＵＲＬと、当該アクセスの実行方法を示す情報（ＡＰＩ（Application Program Interface）等）と、当該コンテンツが正しいか否かを検証する方法を含む情報が一例として挙げられる。トランザクションＴｘ２．４が、不正検証要求及び確認通知のいずれの場合であっても、トランザクションＴｘ２．４には、トランザクションＴｘ１、Ｔｘ２．１、Ｔｘ２．２及びｘ２．３のそれぞれを一意に識別できる情報（例えば、それぞれのトランザクションＩＤ）が付加される。但し、トランザクションＴｘ２．２の識別情報は、必ずしもトランザクションＴｘ２．４に付加されなくてもよい。
【００６０】
図９は、第２の実施の形態において受信者端末２０が実行する処理手順の一例を説明するためのフローチャートである。
【００６１】
受信者Ｂからの決済トランザクションＴｘ１の発行指示に応じ、鍵ペア生成部２３は、今回の取引に対応した一時的な受信者Ｂの公開鍵及び秘密鍵のペアを生成する（Ｓ１１１）。続いて、トランザクション発行部２１は、図４のステップＳ１０１と同様に、コンテンツの対価となる仮想通貨を送信する決済トランザクションＴｘ１を発行する（Ｓ１１２）。但し、ステップＳ１１２では、決済トランザクションＴｘ１に対して、受信者Ｂの公開鍵が付加情報として付加される。
【００６２】
コンテンツ取得部２２は、決済トランザクションＴｘ１に応じて送信者端末３０から発行されるトランザクションＴｘ２．１を受信すると（Ｓ１１３でＹｅｓ）、トランザクションＴｘ２．１を受信した（確認した）ことを示すトランザクションＴｘ２．２を発行する（Ｓ１１４）。上述したように、トランザクションＴｘ２．１は、コンテンツ鍵Ｋで暗号化されたコンテンツの所有権を移転するためのトランザクションである。この時点では、受信者Ｂは、コンテンツ鍵Ｋを入手していないため、コンテンツの内容を確認することはできない。
【００６３】
続いて、コンテンツ取得部２２が、トランザクションＴｘ２．２に応じて送信者端末３０から発行されるトランザクションＴｘ２．３を受信すると（Ｓ１１５でＹｅｓ）、コンテンツ復号部２４は、トランザクションＴｘ２．３に含まれているコンテンツ鍵Ｋを、受信者Ｂの秘密鍵を用いて復号し、復号されたコンテンツ鍵Ｋを用いてトランザクションＴｘ２．１に含まれていたコンテンツを復号する（Ｓ１１６）。その結果、受信者Ｂは、コンテンツの内容を確認し、コンテンツの正当性を判断することができる。
【００６４】
受信者Ｂによって、コンテンツが不正であることが入力されると（Ｓ１１７でＹｅｓ）、トランザクション発行部２１は、不正検証要求を含むトランザクションＴｘ２．４を発行する（Ｓ１１８）。この場合、トランザクションＴｘ２．４には、受信者Ｂの秘密鍵、及びコンテンツの内容を確認するために必要な情報が含まれる。一方、受信者Ｂによって、コンテンツが正当であることが入力されると（Ｓ１１７でＮｏ）、トランザクション発行部２１は、確認通知を含む（すなわち、不正検証要求を含まない）トランザクションＴｘ２．４を発行する（Ｓ１１９）。
【００６５】
図１０は、第２の実施の形態において送信者端末３０が実行する処理手順の一例を説明するためのフローチャートである。
【００６６】
ステップＳ２１１において、仮確定トランザクション受信部３１が、決済トランザクションＴｘ１を受信すると、送信者Ａは、決済トランザクションＴｘ１の内容を確認する。決済トランザクションＴｘ１の内容を確認した送信者Ａによる指示に応じ、コンテンツ鍵生成部３３は、コンテンツ鍵Ｋを生成する（Ｓ２１２）。但し、ステップＳ２１２は、ステップＳ２１１に応じて自動的に実行されてもよい。続いて、コンテンツ暗号化部３４は、決済トランザクションＴｘ１の資産ＩＤで指定されているコンテンツを、コンテンツ鍵Ｋを用いて暗号化する（Ｓ２１３）。続いて、コンテンツ取引発行部３２は、暗号化されたコンテンツの所有権を移転するためのトランザクションＴｘ２．１を発行する（Ｓ２１４）。すなわち、トランザクションＴｘ２．１には、暗号化されたコンテンツが含まれる。
【００６７】
続いて、トランザクションＴｘ２．１を受信した受信者端末２０から発行されるトランザクションＴｘ２．２が受信されると（Ｓ２１５でＹｅｓ）、コンテンツ暗号化部３４、ステップＳ２１１で受信された決済トランザクションＴｘ１に含まれている受信者Ｂの公開鍵を用いてコンテンツ鍵Ｋを暗号化する（Ｓ２１６）。続いて、コンテンツ取引発行部３２は、暗号化されたコンテンツ鍵Ｋを含むトランザクションＴｘ２．３を発行する（Ｓ２１７）。
【００６８】
図１１は、第２の実施の形態において各ノード１０が実行する処理手順の一例を説明するためのフローチャートである。図１１中、図７と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００６９】
図１１では、ステップＳ３０２（決済トランザクションＴｘ１の仮確定）に続いて、ステップＳ３２１が実行される。ステップＳ３２１において、トランザクション送受信部１１１は、トランザクションＴｘ２．１、トランザクションＴｘ２．２及びトランザクションＴｘ２．３を順番に受信する。
【００７０】
続いて、トランザクション送受信部１１１は、トランザクションＴｘ２．４を受信すると（Ｓ３２２）、トランザクションＴｘ２．４に不正検証要求が含まれているか否かを判定する（Ｓ３２３）。トランザクションＴｘ２．４に不正検証要求が含まれていない場合（Ｓ３２３でＮｏ）、ステップＳ３２４〜Ｓ３２７は実行されずにステップＳ３０６以降が実行される。なお、ステップＳ３０６では、トランザクションＴｘ２．４が台帳に記録され、確定される。
【００７１】
トランザクションＴｘ２．４に不正検証要求が含まれている場合（Ｓ３２３でＹｅｓ）、コンテンツ検証部１１３は、トランザクションＴｘ２．４に含まれている受信者Ｂの秘密鍵を用いて、トランザクションＴｘ２．４に含まれている識別情報に対応するトランザクションＴｘ２．３に含まれているコンテンツ鍵Ｋを復号する（Ｓ３２４）。
【００７２】
続いて、コンテンツ検証部１１３は、トランザクションＴｘ２．４に含まれている識別情報に対応するトランザクションＴｘ２．１に含まれているコンテンツをコンテンツ鍵Ｋで復号する（Ｓ３２５）。続いて、コンテンツ検証部１１３は、復号されたコンテンツを自動的に検証する（Ｓ３２６）。すなわち、コンテンツ検証部１１３は、トランザクションＴｘ２．４に含まれている、コンテンツの内容を確認するために必要な情報を用いて、復号されたコンテンツの検証を行う。例えば、当該コンテンツが、或るＵＲＬにアクセスするためのＩＤ及びパスワードの組であれば、コンテンツ検証部１１３は、当該ＩＤ及びパスワードを用いて当該ＵＲＬにアクセスし、アクセスに成功すれば当該コンテンツは正当であると判定し、アクセスに失敗すれば当該コンテンツは不正であると判定する。
【００７３】
コンテンツ検証部１１３によってコンテンツが正当であると判定された場合（Ｓ３２７でＮｏ）、ステップＳ３０６以降が実行される。コンテンツ検証部１１３によってコンテンツが不正であると判定された場合（Ｓ３２７でＹｅｓ）、ステップＳ３０６以降は実行されない。したがって、この場合、決済トランザクションＴｘ１は確定されない。
【００７４】
上述したように、第２の実施の形態によれば、コンテンツの取引において、取引対象のコンテンツはコンテンツ鍵Ｋで暗号化されてブロックチェーンＣ上に公開され、コンテンツ鍵Ｋは、受信者Ｂの公開鍵によって暗号化されブロックチェーンＣ上に公開される。したがって、第１の実施の形態によって得られる効果に加え、取引データが第三者に対して公開されるのを回避することができる。すなわち、取引データの秘匿性と取引の公正性を保証することができる。
【００７５】
また、受信者Ｂは、自身の秘密鍵のみを公開することによって、コンテンツ内容の検証をブロックチェーンＣノード１０に要求することで、不正なコンテンツ内容の取引を防止することができる。
【００７６】
なお、上記各実施の形態において、ノード１０の集合は、電子取引システムの一例である。トランザクション送受信部１１１は、受信部及び記録部の一例である。コンテンツ検証部１１３は、検証部の一例である。トランザクションＴｘ２．１は、第１のトランザクションの一例である。トランザクションＴｘ２．３は、第２のトランザクションの一例である。決済トランザクションＴｘ１は、第３のトランザクションの一例である。受信者端末２０は、受信端末の一例である。送信者端末３０は、送信端末の一例である。
【００７７】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７８】
以上の説明に関し、更に以下の項を開示する。
（付記１）
電子データの取引に関するブロックチェーンのノードを構成する電子取引装置であって、
取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する受信部と、
前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する検証部と、
を有することを特徴とする電子取引装置。
（付記２）
前記検証部によって前記電子データが正当であることが検証された場合に、前記受信端末から送信される、前記電子データの対価に関する第３のトランザクションを台帳に記録する記録部、
を更に有することを特徴とする付記１記載の電子取引装置。
（付記３）
前記検証部によって前記電子データが正当であることが検証された場合に、前記第３のトランザクションに対して署名を付加する署名部を更に有し、
前記記録部は、前記第３のトランザクションが要求する署名が満たされていない場合には、前記第３のトランザクションを前記ブロックチェーンに公開し、前記第３のトランザクションが要求する署名が満たされた場合に、前記第３のトランザクションを前記台帳に記録する、
ことを特徴とする付記２記載の電子取引装置。
（付記４）
電子データの取引に関するブロックチェーンのノードを構成するコンピュータが、
取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する処理と、
前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する処理と、
を実行することを特徴とする電子取引方法。
（付記５）
前記コンピュータが、
前記検証する処理によって前記電子データが正当であることが検証された場合に、前記受信端末から送信される、前記電子データの対価に関する第３のトランザクションを台帳に記録する処理、
を実行することを特徴とする付記４記載の電子取引方法。
（付記６）
前記検証する処理によって前記電子データが正当であることが検証された場合に、前記第３のトランザクションに対して署名を付加する処理を前記コンピュータが実行し、
前記記録する処理は、前記第３のトランザクションが要求する署名が満たされていない場合には、前記第３のトランザクションを前記ブロックチェーンに公開し、前記第３のトランザクションが要求する署名が満たされた場合に、前記第３のトランザクションを前記台帳に記録する、
ことを特徴とする付記５記載の電子取引方法。
（付記７）
電子データの取引に関するブロックチェーンのノードを構成するコンピュータに、
取引対象の電子データの送信端末において暗号鍵によって暗号化された前記電子データを含む第１のトランザクションと、前記電子データの受信端末に係る公開鍵によって暗号化された前記暗号鍵を含む第２のトランザクションとを受信する処理と、
前記受信端末から送信される、前記公開鍵に対応する秘密鍵を含む、前記電子データの検証要求を受信すると、前記秘密鍵を用いて前記暗号鍵を復号し、復号された前記暗号鍵を用いて前記電子データを復号して、復号された電子データを検証する処理と、
を実行させることを特徴とするプログラム。
（付記８）
前記コンピュータに、
前記検証する処理によって前記電子データが正当であることが検証された場合に、前記受信端末から送信される、前記電子データの対価に関する第３のトランザクションを台帳に記録する処理、
を実行させることを特徴とする付記７記載のプログラム。
（付記９）
前記検証する処理によって前記電子データが正当であることが検証された場合に、前記第３のトランザクションに対して署名を付加する処理を前記コンピュータに実行させ、
前記記録する処理は、前記第３のトランザクションが要求する署名が満たされていない場合には、前記第３のトランザクションを前記ブロックチェーンに公開し、前記第３のトランザクションが要求する署名が満たされた場合に、前記第３のトランザクションを前記台帳に記録する、
ことを特徴とする付記８記載のプログラム。
【符号の説明】
【００７９】
１０          ノード
１１          ブロックチェーン制御部
１２          台帳記憶部
１３          仮確定トランザクション記憶部
２０          受信者端末
２１          トランザクション発行部
２２          コンテンツ取得部
２３          鍵ペア生成部
２４          コンテンツ復号部
３０          送信者端末
３１          仮確定トランザクション受信部
３２          コンテンツ取引発行部
３３          コンテンツ鍵生成部
３４          コンテンツ暗号化部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１１１        トランザクション送受信部
１１２        署名部
１１３        コンテンツ検証部
Ｂ            バス
【図１】
2019106639.tif 000003
【図２】
2019106639.tif 000004
【図３】
2019106639.tif 000005
【図４】
2019106639.tif 000006
【図５】
2019106639.tif 000007
【図６】
2019106639.tif 000008
【図７】
2019106639.tif 000009
【図８】
2019106639.tif 000010
【図９】
2019106639.tif 000011
【図１０】
2019106639.tif 000012
【図１１】
2019106639.tif 000013