(57)【要約】【課題】仮想通貨と金融資産との交換を適切に行うことができる取引方法等を提供する。【解決手段】取引方法は、第１のユーザのコンピュータに、分散型台帳において取引履歴が管理される仮想通貨であって、前記第１のユーザが保有する仮想通貨を第１のトークンに変換させ、第２のユーザのコンピュータに、前記第２のユーザが保有する金融資産に基づく第２のトークンの発行要求を出力させ、前記第１又は第２のユーザのコンピュータに、前記第１及び第２のユーザの間で前記第１及び第２のトークンを交換するトランザクションを生成して出力させ、前記第２のユーザのコンピュータに、前記トランザクションにより取得した前記第１のトークンを前記仮想通貨に変換させ、前記第１のユーザのコンピュータに、前記第２のトークンに基づく前記金融資産の償還要求を出力させることを特徴とする。【選択図】図１
2020071617.tif 000002
【特許請求の範囲】
【請求項１】
第１のユーザのコンピュータに、分散型台帳において取引履歴が管理される仮想通貨であって、前記第１のユーザが保有する仮想通貨を第１のトークンに変換させ、
第２のユーザのコンピュータに、前記第２のユーザが保有する金融資産に基づく第２のトークンの発行要求を出力させ、
前記第１又は第２のユーザのコンピュータに、前記第１及び第２のユーザの間で前記第１及び第２のトークンを交換するトランザクションを生成して出力させ、
前記第２のユーザのコンピュータに、前記トランザクションにより取得した前記第１のトークンを前記仮想通貨に変換させ、
前記第１のユーザのコンピュータに、前記第２のトークンに基づく前記金融資産の償還要求を出力させる
ことを特徴とする取引方法。
【請求項２】
前記第１又は第２のユーザのコンピュータに、
前記第１及び第２のユーザ夫々の公開鍵を用いて、前記第１及び第２のユーザ夫々の電子署名が必要なマルチシグアドレスに前記第１及び第２のトークンをデポジットする前記トランザクションを生成して出力させる
ことを特徴とする請求項１に記載の取引方法。
【請求項３】
前記第１又は第２のユーザのコンピュータに、
前記第１及び第２のユーザ夫々の公開鍵と、前記第１及び第２のトークンの交換に係る取引を検証する検証者の公開鍵とを用いて、前記第１及び第２のユーザ夫々の電子署名と、前記検証者の電子署名とが必要な前記トランザクションを生成させ、
生成した前記トランザクションを前記検証者に送信させる
ことを特徴とする請求項２に記載の取引方法。
【請求項４】
前記第１のユーザのコンピュータに、
前記第１のユーザが保有する前記仮想通貨を使用不可能にロックするロッキングトランザクションを生成して出力させ、
ロックした前記仮想通貨に基づき、前記分散型台帳とは異なる第２の分散型台帳において取引履歴が管理される前記第１のトークンへの変換要求を出力させ、
前記第２のユーザのコンピュータに、前記トランザクションにより取得した前記第１のトークンに基づき、前記ロッキングトランザクションによりロックされている前記仮想通貨の解除要求を出力させる
ことを特徴とする請求項１〜３のいずれか１項に記載の取引方法。
【請求項５】
前記第２の分散型台帳は、前記分散型台帳との間の資金の移動を複数の監査人が管理する分散型台帳であり、
前記第１のコンピュータに、
前記第１のユーザの公開鍵と、前記複数の監査人夫々の公開鍵とを用いて前記ロッキングトランザクションを生成させ、
前記複数の監査人に対して前記変換要求を出力して前記第１のトークンを取得させ、
前記第２のコンピュータに、前記解除要求を前記複数の監査人に対して出力して前記仮想通貨を取得させる
ことを特徴とする請求項４に記載の取引方法。
【請求項６】
前記第１又は第２のユーザのコンピュータに、前記第１及び第２のユーザの間で共有する秘密鍵を用いて、前記第１及び第２のトークンの交換に係る取引内容を暗号化した前記トランザクションを生成させる
ことを特徴とする請求項１〜５のいずれか１項に記載の取引方法。
【請求項７】
分散型台帳において取引履歴が管理される仮想通貨であって、ユーザが保有する仮想通貨を第１のトークンに変換し、
他のユーザとの間で、前記第１のトークンを、前記他のユーザの金融資産に基づき発行された第２のトークンと交換するトランザクションを生成して出力し、
前記トランザクションにより取得した前記第２のトークンに基づく前記金融資産の償還要求を出力する
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項８】
ユーザが保有する金融資産に基づく第２のトークンの発行要求を出力し、
他のユーザとの間で、前記第２のトークンを、分散型台帳において取引履歴が管理される仮想通貨を変換した第１のトークンと交換するトランザクションを生成して出力し、
前記トランザクションにより取得した前記第１のトークンを前記仮想通貨に変換する
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項９】
分散型台帳において取引履歴が管理される仮想通貨を変換した第１のトークンと、金融資産に基づき発行された第２のトークンとを交換するトランザクションであって、前記第１及び第２のトークンの交換に係る取引内容を検証する検証者の電子署名が必要な前記トランザクションを取得する取得部と、
前記トランザクションで規定される前記取引内容を検証する検証部と、
検証に成功した場合、前記トランザクションに前記検証者の電子署名を付加して出力する出力部と
を備えることを特徴とする検証装置。
【請求項１０】
分散型台帳において取引履歴が管理される仮想通貨であって、第１のユーザが保有する仮想通貨を第１のトークンに変換し、第２のユーザとの間で、前記第１のトークンを、前記第２のユーザの金融資産に基づき発行された第２のトークンと交換するトランザクションを生成して出力し、前記トランザクションにより取得した前記第２のトークンに基づく前記金融資産の償還要求を出力する処理を前記第１のユーザのコンピュータに実行させる第１のプログラムを、前記第１のユーザのコンピュータにインストールさせるべく配信し、
前記第２のユーザが保有する前記金融資産に基づく前記第２のトークンの発行要求を出力し、前記第１のユーザとの間で前記第２のトークンを前記第１のトークンと交換するトランザクションを生成して出力し、前記トランザクションにより取得した前記第１のトークンを前記仮想通貨に変換する処理を前記第２のユーザのコンピュータに実行させる第２のプログラムを、前記第２のユーザのコンピュータにインストールさせるべく配信する
処理をコンピュータに実行させ、前記第１及び第２のユーザのコンピュータを含む取引システムを生成する生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取引方法、プログラム、検証装置及び生成方法に関する。
【背景技術】
【０００２】
ブロックチェーンに代表される分散型台帳技術を用いて実現される仮想通貨と、法定通貨等の現実の金融資産との交換を行う種々の手法が提案されている。例えば特許文献１では、法定通貨に対する仮想通貨の価格を安定させるため、固定価格で仮想通貨と法定通貨との交換を行う仮想通貨管理装置等が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６３５２４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に係る発明は固定価格で仮想通貨を売買可能な取引所を提供しているに過ぎず、仮想通貨と金融資産との交換を行う適切な取引の場を提供しているとは言い難い。
【０００５】
一つの側面では、仮想通貨と金融資産との交換を適切に行うことができる取引方法等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの側面では、取引方法は、第１のユーザのコンピュータに、分散型台帳において取引履歴が管理される仮想通貨であって、前記第１のユーザが保有する仮想通貨を第１のトークンに変換させ、第２のユーザのコンピュータに、前記第２のユーザが保有する金融資産に基づく第２のトークンの発行要求を出力させ、前記第１又は第２のユーザのコンピュータに、前記第１及び第２のユーザの間で前記第１及び第２のトークンを交換するトランザクションを生成して出力させ、前記第２のユーザのコンピュータに、前記トランザクションにより取得した前記第１のトークンを前記仮想通貨に変換させ、前記第１のユーザのコンピュータに、前記第２のトークンに基づく前記金融資産の償還要求を出力させることを特徴とする。
【発明の効果】
【０００７】
一つの側面では、仮想通貨と金融資産との交換を適切に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】取引システムの構成例を示す模式図である。
【図２】端末及び検証サーバの構成例を示すブロック図である。
【図３】ユーザＤＢ及び取引ＤＢのレコードレイアウトの一例を示す説明図である。
【図４】通貨交換取引の概要を示す説明図である。
【図５】通貨交換取引の過程を示す説明図である。
【図６】通貨交換取引の過程を示す説明図である。
【図７】通貨交換取引の過程を示す説明図である。
【図８】通貨交換取引の過程を示す説明図である。
【図９】取引システムが実行する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
（実施の形態）
図１は、取引システムの構成例を示す模式図である。本実施の形態では、ブロックチェーン（分散型台帳）において取引履歴が管理される仮想通貨と法定通貨との交換を、ブロックチェーンの側鎖と呼ばれるサイドチェーン上で行う取引システムについて説明する。取引システムは、情報処理装置１、１、１…及び検証装置２を含む。各装置は、インターネット等の通信網Ｎを介して通信接続されている。
【００１０】
情報処理装置１は、本システムを利用して仮想通貨及び法定通貨の交換を行うユーザが操作する情報処理装置であり、例えばパーソナルコンピュータ、サーバ装置等である。本実施の形態では情報処理装置１がパーソナルコンピュータであるものとし、以下の説明では簡潔のため端末１と読み替える。
【００１１】
本システムを利用するユーザは特に限定されないが、本実施の形態では一例として、仮想通貨の取引所を運営する交換業者がユーザであるものとして説明する。以下の説明では便宜上、各ユーザを取引所Ａ、Ｂ、Ｃ…と表し、各取引所Ａ、Ｂ、Ｃ…の端末１を端末１ａ、１ｂ、１ｃ…と表す。端末１ａ、１ｂ、１ｃ…はそれぞれ、取引所Ａ、Ｂ、Ｃ…として機能する不図示のサーバ装置に接続されており、各取引所Ａ、Ｂ、Ｃ…のオペレータが操作する。
【００１２】
現在、仮想通貨の取引価格や流通量は取引所によってばらつきがあり、均衡が取れていない側面がある。その一因に、取引所同士で取引・決済を行う場、つまり金融取引で言うに相当するプロ向け市場や共通決済基盤がないことが挙げられる。法定通貨等の金融資産の場合、適格機関投資家等が取引を行うにあたり共通取引基盤や共通決済基板が存在する。一方で、仮想通貨では現状そのような特定の共通取引基盤ならびに共通決済基盤がなく、取引所等プロ参加者は各々仮想通貨交換業を営むに過ぎず、個別に直接やり取りをしている。そこで本システムでは、取引所等プロ参加者同士が取引を行うにあたり必要となる共通基盤を提供する。
【００１３】
検証装置２は、本システムで行われる通貨交換取引の適正を検証する検証者Ｘの装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態では検証装置２がサーバ装置であるものとし、以下の説明では検証サーバ２と読み替える。検証者Ｘは、主に法規制の観点から、取引する通貨のレート、取引者のＩＤ、ＵＴＸＯ（Unspent Transaction Output；未使用トランザクション）等の取引に関わる情報をチェックし、取引の承認を与える。検証サーバ２が行う処理について、詳しくは後述する。
【００１４】
ブロックチェーンは、仮想通貨の取引履歴を管理する分散型台帳の一種である。ブロックチェーンのネットワークはマイナーと呼ばれる不特定多数のノードにより形成され、各ノードがトランザクションを検証して検証結果の合意を形成し、ブロックチェーン上の取引履歴を更新する。本実施の形態では、仮想通貨の一例としてビットコイン（登録商標）を挙げて説明する。なお、仮想通貨はビットコインに限定されず、イーサリアム（登録商標）等のアルトコインであっても良いことは勿論である。
【００１５】
サイドチェーンは、ブロックチェーンの側鎖となる概念であり、メインのブロックチェーンとの間で通貨を移動することが可能な第２のブロックチェーン（第２の分散型台帳）である。後述するように、メインのブロックチェーンとサイドチェーンとの間では双方向ペグ（Two-way Peg）が可能となっており、メインのブロックチェーン上で管理されている通貨（ビットコイン）と、サイドチェーン上で管理されている通貨とを相互に交換することができる。以下の説明では便宜上、メインのブロックチェーンを「メインチェーン」と呼び、サイドチェーンと区別する。
【００１６】
本システムに係る通貨交換取引をメインチェーン上で行っても良いが、本実施の形態ではサイドチェーン上で取引を行う。例えばビットコインのブロックチェーンの場合、ＰｏＷ（Proof of Work）によりマイナーの合意が形成される時間が１ブロック当たり約１０分間となっており、当事者間で取引をしてからブロックチェーンに反映されるまで時間が掛かる。また、スケーラビリティの問題から近年ではマイナーに支払う手数料も高騰している。一方で、サイドチェーンはメインチェーンとは異なるネットワークであるため、合意形成の手法を異なるものとすることができる。これにより、取引履歴を分散管理することによるブロックチェーンのセキュリティを維持しつつ、迅速な取引、手数料の抑制等を図ることができる。
【００１７】
詳しくは後述するように、取引所の端末１は、自らが保有する仮想通貨又は法定通貨を、サイドチェーンで取引履歴が管理されるトークンに変換する。そして端末１は、変換したトークンを他の取引所との間で交換することにより、仮想通貨及び法定通貨の交換に係る取引を行う。
【００１８】
図２は、端末１及び検証サーバ２の構成例を示すブロック図である。端末１は、制御部１１、主記憶部１２、通信部１３、表示部１４、入力部１５、及び補助記憶部１６を備える。
制御部１１は、一又は複数のＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）、ＧＰＵ（Graphics Processing Unit）等の演算処理装置を有し、補助記憶部１６に記憶されたプログラムＰ１を読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部１２は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の一時記憶領域であり、制御部１１が演算処理を実行するために必要なデータを一時的に記憶する。通信部１３は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。表示部１４は、液晶ディスプレイ等の表示装置であり、制御部１１から与えられた画像を表示する。入力部１５は、マウス、キーボード等の入力インターフェイスであり、操作入力を受け付ける。
【００１９】
補助記憶部１６はハードディスク等の不揮発性記憶領域であり、制御部１１が処理を実行するために必要なプログラムＰ１、その他のデータを記憶している。また、補助記憶部１６は、メインチェーン鍵情報１６１、サイドチェーン鍵情報１６２及び秘匿化用鍵情報１６３を記憶している。メインチェーン鍵情報１６１は、メインチェーン上でのユーザ（取引所）のウォレットアドレスに相当する鍵情報（秘密鍵、公開鍵）を記憶している。サイドチェーン鍵情報１６２は、サイドチェーン上でのユーザのウォレットアドレスに相当する鍵情報を記憶している。秘匿化用鍵情報１６３は、後述するように、サイドチェーン上でのトランザクションに記述される通貨交換取引の内容を秘匿化するために用いられる鍵情報（秘密鍵）を記憶している。
【００２０】
検証サーバ２は、制御部２１、主記憶部２２、通信部２３、補助記憶部２４を備える。
制御部１１は、一又は複数のＣＰＵ、ＭＰＵ、ＧＰＵ等の演算処理装置を有し、補助記憶部２４に記憶されたプログラムＰ２を読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部２２は、ＲＡＭ等の一時記憶領域であり、制御部２１が演算処理を実行するために必要なデータを一時的に記憶する。通信部２３は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【００２１】
補助記憶部２４はハードディスク等の不揮発性記憶領域であり、制御部２１が処理を実行するために必要なプログラムＰ２、その他のデータを記憶している。また、補助記憶部２４は、鍵情報２４１、ユーザＤＢ２４２及び取引ＤＢ２４３を記憶している。鍵情報２４１は、検証者Ｘの鍵情報（秘密鍵、公開鍵）を記憶している。ユーザＤＢ２４２は、各ユーザ（取引所）の情報を格納したデータベースである。取引ＤＢ２４３は、各ユーザの間で予定されている通貨交換取引の情報を格納したデータベースである。
【００２２】
なお、補助記憶部２４は検証サーバ２に接続された外部記憶装置であってもよい。また、検証サーバ２は複数のコンピュータからなるマルチコンピュータであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【００２３】
また、本実施の形態において検証サーバ２は上記の構成に限られず、例えば可搬型記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。
【００２４】
図３は、ユーザＤＢ２４２及び取引ＤＢ２４３のレコードレイアウトの一例を示す説明図である。ユーザＤＢ２４２は、ユーザＩＤ列、ユーザ名列、アカウント情報列を含む。ユーザＩＤ列は、各ユーザを識別するためのユーザＩＤを記憶している。ユーザ名列は、ユーザＩＤと対応付けて、ユーザ（取引所）の名称を記憶している。アカウント情報列は、ユーザＩＤと対応付けて、本システムにおけるユーザのアカウント情報を記憶している。アカウント情報は、例えばログインに必要なデータのほかに、ユーザの金融口座の情報などを含む。
【００２５】
取引ＤＢ２４３は、取引ＩＤ列、取引予定日列、第１ユーザ列、第２ユーザ列を含む。取引ＩＤ列は、後述するように、ユーザらが本システムに係るツールを用いて合意した通貨交換取引を識別するための取引ＩＤを記憶している。取引予定日列は、取引ＩＤと対応付けて、通貨交換取引の予定日を記憶している。第１ユーザ列は、取引ＩＤと対応付けて、通貨交換取引の一方の当事者であり、仮想通貨を法定通貨に交換する第１のユーザ側の情報を記憶している。例えば第１ユーザ列は、第１のユーザのユーザＩＤ、交換するトークン（第１のトークン）のアセットタイプ（種類）、取引量、当該トークンをサイドチェーン上で保持するＵＴＸＯの情報などを記憶している。第２ユーザ列は、取引ＩＤと対応付けて、通貨交換取引の他方の当事者であり、法定通貨を仮想通貨に交換する第２のユーザ側の情報を記憶している。例えば第２ユーザ列は、第２のユーザのユーザＩＤ、交換するトークン（第２のトークン）のアセットタイプ、取引量などを記憶している。
【００２６】
図４は、通貨交換取引の概要を示す説明図である。図４では、サイドチェーンを用いて取引所Ａ、Ｂが通貨交換取引を行う様子を概念的に図示している。本実施の形態では、取引所Ａが仮想通貨を、取引所Ｂが法定通貨（例えば日本円）を交換するものとして説明する。まず図４を用いて、本システムを構成する各要素について説明する。
【００２７】
上述の如く、メインチェーン（図４左上に「Ｂｌｏｃｋｃｈａｉｎ」と図示）は仮想通貨の取引履歴を分散管理するブロックチェーンであり、例えばビットコインに係るネットワークである。一方で、サイドチェーンはメインチェーンの側鎖となるブロックチェーンであり、メインチェーンとは異なるアルゴリズムで動作するネットワークである。サイドチェーンはメインチェーンと異なる手法でトランザクションの検証に係る合意形成が成されると共に、メインチェーンとの間で双方向での通貨の移動が可能に構成されている。
【００２８】
サイドチェーンの動作アルゴリズムは特に限定されないが、本実施の形態に係るサイドチェーンは、ストロング・フェデレーションズ（Strong Federations）と呼ばれるアルゴリズムで動作する。ストロング・フェデレーションズは、ネットワーク上に地理的及び管轄的に分散して配置された複数の監査人（図４では「Ｆｅｄｅｒａｔｉｏｎ  ｍｅｍｂｅｒ」と図示）が、サイドチェーン上のトランザクションの検証に係る合意形成、及びメインチェーンとの間の双方向ペグの検証を、ｋ−ｏｆ−ｎのマルチシグネチャスキームで行うアルゴリズムである。メインチェーンではＰｏＷにより行う合意形成を、サイドチェーンではマルチシグネチャに置き換えることで、メインチェーンのセキュリティを維持しつつ低レイテンシーを実現する。また、メインチェーンでも実装されているマルチシグネチャ技術によって双方向ペグを行うことで、メインチェーンのソフトフォーク（仕様変更）をせずとも双方向ペグが可能となる。
【００２９】
なお、ストロング・フェデレーションズの監査人はＢｌｏｃｋｓｉｇｎｅｒと呼ばれるメンバーとＷａｔｃｈｍｅｎと呼ばれるメンバーとに分けられ、Ｂｌｏｃｋｓｉｇｎｅｒがトランザクションの検証を、Ｗａｔｃｈｍｅｎが双方向ペグのチェックを行う。しかし両者の区別は本質的事項でないため、本明細書では両者を区別せずに「監査人」と呼ぶ。
【００３０】
本実施の形態では、上記のサイドチェーン上に、監査人に加え、検証者Ｘが通貨交換取引を検証するプラットフォームを構築する。本プラットフォーム上では、検証者Ｘの承認を得ずに取引を行うことができないように構成されている。詳しくは後述するように、検証者Ｘは主に法規制の観点から取引内容のチェックを行い、法令等に違反する取引には承認を与えない。
【００３１】
例えば検証者Ｘ（検証サーバ２）は、各取引所が取引のマッチングやコミュニケーション、及び後述するトランザクションの生成等を実行するツールとして機能するプログラムＰ１（第１のプログラム、第２のプログラム）を、各端末１ａ、１ｂにインストールさせるべく配信する。これにより、端末１ａ、１ｂを含む取引システムが生成される。取引所Ａ、Ｂは、当該ツールを用いて取引の相手方を検索し、取引内容（取引価格、取引量等）の交渉を行う。取引内容に合意した場合、取引所Ａ、Ｂは本プラットフォームを利用して通貨交換を行う。
【００３２】
具体的には、取引所Ａは自らが保有する仮想通貨（ＢＴＣ）をメインチェーンからサイドチェーンに移動するペグイン（Peg-in）を行い、サイドチェーンで取引履歴が管理される第１のトークンに変換する。以下の説明では便宜上、第１のトークンを「ＬＢＴＣ」と呼ぶ。
【００３３】
また、取引所Ｂは、金融振込等の手段で法定通貨（日本円）を検証者Ｘに送金し、サイドチェーンで取引履歴が管理される第２のトークンを発行するよう検証者Ｘに要求する。以下の説明では便宜上、第２のトークンを「ＪＰＹトークン」と呼ぶ。
【００３４】
なお、以下では検証者Ｘが取引の検証及びトークンの発行の両方を行うものとして説明するが、トークンの発行主体は検証者Ｘと異なっていても良い。
【００３５】
取引所Ａ、Ｂは、取得したＬＢＴＣ及びＪＰＹトークンを交換するトランザクションを生成し、サイドチェーンのネットワークにブロードキャストする。この場合に、取引所Ａ、Ｂはトランザクションを検証者Ｘに送信し、検証者Ｘが検証を行った上でブロードキャストする。当該トランザクションはさらにサイドチェーンの監査人によって検証され、承認された場合はサイドチェーンに取り込まれる。
【００３６】
その後の処理はトークンの取得過程と逆であり、取引所ＢはＬＢＴＣをサイドチェーンからメインチェーンに移動するペグアウト（Peg-out）を行って仮想通貨を取得すると共に、取引所ＡはＪＰＹトークンに基づく法定通貨の償還要求を行い、金融振込等の手段で法定通貨を取得する。これにより、仮想通貨と法定通貨との交換が完了する。
以下では、上述の処理の詳細について説明する。
【００３７】
図５〜図８は、通貨交換取引の過程を示す説明図である。図５〜図８では順に、通貨交換取引に関する処理過程を概念的に図示している。まず図５では、サイドチェーンへのペグイン、及びＪＰＹトークンの発行が行われる様子を図示している。
【００３８】
取引所Ａ、Ｂの端末１ａ、１ｂはそれぞれ、上記のツールを用いて取引の相手方の検索（マッチング）を行う。取引所Ａ、Ｂのオペレータはツール上で相手方と取引内容を交渉する。取引内容は、例えば取引対象である仮想通貨及び法定通貨の種類、法定通貨に対する仮想通貨の価格に相当する取引価格、通貨の取引量（交換量）のほか、取引を行う日時、取引を行う取引者のＩＤ（ユーザＩＤ）等の情報を含み得る。取引内容について合意した場合、端末１ａ、１ｂはそれぞれ、合意した取引内容に従って処理を行う。
【００３９】
端末１ａは、取引所Ａが保有する仮想通貨をメインチェーンからサイドチェーンに移動するペグインを行う。具体的には、端末１ａは、仮想通貨をメインチェーンの特殊なアドレス宛に送り、使用不可能となるようロック（凍結）する。端末１ａは、メインチェーンに仮想通貨をロックしたことを示す情報を監査人のサーバ装置（不図示）に送信、あるいはサイドチェーン上に埋め込み、取引所Ａが指定したサイドチェーンのアドレス宛にＬＢＴＣを送るよう監査人に要求する。
【００４０】
より詳細には、端末１ａは、複数の監査人それぞれが公開している公開鍵と、サイドチェーン上のウォレットアドレスに相当する取引所Ａの公開鍵とを用いて、メインチェーン上で仮想通貨をロックしておくためのマルチシグアドレスを生成する。そして端末１ａは、当該マルチシグアドレスに仮想通貨をデポジットしたロッキングトランザクションを生成し、メインチェーンのネットワークにブロードキャストする。これにより、メインチェーンの仮想通貨は監査人の電子署名を入力しなければアンロックすることができず、使用不可能となる。端末１ａは、ロッキングトランザクションの情報と、マルチシグアドレス生成時に使用した取引所Ａの公開鍵等の情報とを監査人のサーバ装置に送信する。
【００４１】
なお、正確には、端末１ａは楕円曲線の準同型性を利用して各監査人の公開鍵から新たな公開鍵を生成し、生成した公開鍵を用いて上記のマルチシグアドレスを生成するが、本実施の形態では簡潔のため説明を省略する。
【００４２】
各監査人のサーバ装置は、各監査人の秘密鍵と、端末１ａから受信した取引所Ａの公開鍵等の情報とを用いて、メインチェーンに仮想通貨がロックされているか否かを検証する。ストロング・フェデレーションズでは、複数の監査人のうち所定数（少なくとも過半数）の監査人が検証に成功した場合、ペグインが承認される。この場合、メインチェーンにロックされた仮想通貨と等価なＬＢＴＣがサイドチェーンでアンロック、又は新規発行され、取引所Ａのウォレットアドレスに送られる。
【００４３】
端末１ａは、上記で取得したＬＢＴＣを保持するＵＴＸＯの情報を検証サーバ２に送信し、取引ＤＢ２４３に登録する。ＵＴＸＯを登録したＬＢＴＣを取引所Ａが検証者Ｘに無断で使用した場合、例えば検証サーバ２は、後述するトランザクションの検証時に取引を承認せず、トランザクションを無効とする。
【００４４】
一方、取引所Ｂの端末１ｂは、取引所Ｂが保有する法定通貨を金融振込等の手段で検証者Ｘに送金し、検証サーバ２に対してＪＰＹトークンの発行要求を行う。発行要求を受信した場合、検証サーバ２は、送金された法定通貨と等価なＪＰＹトークンを新規に生成し、取引所Ｂ宛に送る。
【００４５】
この場合に検証サーバ２は、取引所Ｂの公開鍵のほかに検証者Ｘの公開鍵を用いてマルチシグアドレスを生成し、当該マルチシグアドレスにＪＰＹトークンをデポジットしたトランザクションを生成してサイドチェーンのネットワークにブロードキャストする。これにより、本プラットフォーム上でＪＰＹトークンは検証者Ｘの承認（署名）を得なければ使用することができないよう構成される。
【００４６】
図６は、トランザクションの生成及び検証処理が行われる様子を概念的に図示している。端末１ａ、１ｂは、上記のＬＢＴＣ及びＪＰＹトークンを交換するため、相手方に宛てて自らが保有するトークンを送信するトランザクションを生成してブロードキャストする。
【００４７】
この場合に、端末１ａ、１ｂが各々トランザクションを生成して相手方にトークンを送るだけでは、相手方の不正行為によって交換が成立しない虞がある。例えば取引所Ａは取引所ＢにＬＢＴＣを送ったものの、取引所Ｂは取引所ＡにＪＰＹトークンを送らないようなケースがあり得る。
【００４８】
上記の事態に備えて、端末１ａ、１ｂは、アトミックスワップによるトークンの交換を行う。アトミックスワップは、互いの信頼関係を不要としながらも、第三者（仲介者）を介さず相対取引で仮想通貨（トークン）の交換を可能とする手法である。
【００４９】
具体的には、端末１ａ又は１ｂのいずれかが、取引所Ａ及びＢそれぞれの公開鍵を用いてマルチシグアドレスを生成し、当該マルチシグアドレスにＬＢＴＣ及びＪＰＴトークンをデポジットしたトランザクションを生成する。そして端末１ａ及び１ｂはそれぞれ、当該トランザクションに取引所Ａ及びＢそれぞれの電子署名を入力（付加）してブロードキャストする。
【００５０】
本実施の形態では一例として、取引所Ａの端末１ａがトランザクションを生成するものとする。端末１ａは、検証サーバ２に登録したＬＢＴＣのＵＴＸＯをトランザクションのインプットとして格納する。また、端末１ａは、取引所ＢのＪＰＹトークンが保持されているＵＴＸＯの情報を端末１ｂから取得し、当該ＵＴＸＯをトランザクションのインプットとして格納する。
【００５１】
次に端末１ａは、取引所Ａ及びＢそれぞれの公開鍵を用いて、取引所Ａ及びＢの電子署名の入力を解除条件とし、出力先を取引所Ｂのアドレス（公開鍵）としたＬＢＴＣのアウトプットをトランザクションに格納する。
【００５２】
また、端末１ａは、取引所Ａ、取引所Ｂ、及び検証者Ｘそれぞれの公開鍵を用いて、三者の電子署名の入力を解除条件とし、出力先を取引所ＡのアドレスとしたＪＰＹトークンのアウトプットをトランザクションに格納する。
【００５３】
端末１ａは、取引所Ａの秘密鍵を用いて当該トランザクションに取引所Ａの電子署名を入力し、取引所Ｂの端末１ｂに送信する。端末１ｂは、受信したトランザクションに、取引所Ｂの秘密鍵を用いて電子署名を入力する。この際に取引所Ｂが不正行為を働き、取引所Ａに支払われるべきＪＰＹトークンの出力先を改変した場合、取引所Ａが入力した電子署名の検証に失敗し、無効なトランザクションと判定される。これにより、第三者を介さず、相手方との信頼関係なしに取引を行うことができる。
【００５４】
なお、上記では所謂シングルチェーンでのアトミックスワップについて説明したが、クロスチェーンでのアトミックスワップのように、複数のトランザクションを生成して通貨交換を行うようにしても良い。すなわち、端末１ａ、１ｂが生成するトランザクションの数は単数に限定されない。
【００５５】
上述のトランザクションを生成する際に、端末１ａは、当該トランザクションで交換されるトークンの数量や種類、すなわち取引内容を第三者から秘匿化するため、当事者以外では取引内容が閲覧できないよう暗号化したトランザクションを生成する。具体的には、端末１ａは、コンフィデンシャル・トランザクション（Confidential Transactions）、及びコンフィデンシャル・アセット（Confidential Assets）と呼ばれる手法を用いて、取引内容を暗号化したトランザクションを生成する。
【００５６】
コンフィデンシャル・トランザクションは、ブロックチェーンにより公開される仮想通貨（本実施の形態ではトークン）の取引量を秘匿化する手法であり、準同型暗号を利用して取引量を暗号化する手法である。コンフィデンシャル・トランザクションではＰｅｄｅｒｓｅｎ  ｃｏｍｍｉｔｍｅｎｔを用い、取引量ａを以下の式（１）で示すコミットメントＣ（ａ）で表現する。
【００５７】
Ｃ（ａ）＝ｘＧ＋ａＨ  …（１）
【００５８】
ｘは当事者が共有する秘密鍵（blinding factor）、Ｇ及びＨは楕円曲線上のベースポイント（離散対数点）である。式（１）で示すように、通常の楕円曲線暗号において秘密鍵を公開鍵に変換するベースポイントＧのほかに、取引量ａを暗号化するためのベースポイントＨを追加することでコミットメントＣ（ａ）を生成する。コンフィデンシャル・トランザクションでは、トランザクションに格納される各インプット及びアウトプットの数量をコミットメントＣ（ａ）で表し、数量の代わりにコミットメントＣ（ａ）を各インプット及びアウトプットのスクリプトに記述する。
【００５９】
コミットメントＣ（ａ）は加法特性を有し、複数のコミットメントＣ（ａ）の総和は、コミットされる取引量ａの総和のコミットメントＣ（ａ）に等しくなる。例えば、Ｃ（１）＋Ｃ（１）＝Ｃ（２）の関係が成り立つ。従って、各インプットのコミットメントＣ（ａ）の総和から各アウトプットのコミットメントＣ（ａ）の総和を差し引いて０になるかをチェックすることで、取引量ａを検証することができる。これにより、秘密鍵ｘを知る当事者は取引量ａを知ることができる一方、第三者は取引量ａを知ることができない。
【００６０】
なお、コンフィデンシャル・トランザクションではさらに、コミットされる取引量ａが０以上であることを証明するためにリング署名を用いるが、本実施の形態では簡潔のため説明を省略する。
【００６１】
コンフィデンシャル・アセットは、コンフィデンシャル・トランザクションを応用した手法であり、取引量に加えて、取引する仮想通貨の種類（アセットタイプ）を秘匿化する手法である。コンフィデンシャル・アセットでは、仮想通貨の種類ごとに異なるベースポイントを用いてコミットメントを計算する。例えば取引量がそれぞれａ、ｂである２種類の仮想通貨を想定した場合、取引量ａの仮想通貨のコミットメントＣ（ａ）は式（１）で計算すると共に、取引量ｂの仮想通貨のコミットメントＣ（ｂ）は次の式（２）で計算する。
【００６２】
Ｃ（ｂ）＝ｘＧ＋ｂＩ  …（２）
【００６３】
ＩはＨと同様に楕円曲線上のベースポイントである。式（１）、（２）を比較すると分かるように、コンフィデンシャル・アセットでは、仮想通貨の種類に応じて異なるベースポイントＨ、Ｉを選択してコミットメントＣ（ａ）、Ｃ（ｂ）を計算する。そして各インプット及びアウトプットの数量としてコミットメントＣ（ａ）、Ｃ（ｂ）を記述とすると共に、仮想通貨の種類に応じたベースポイントＨ、Ｉを各コミットメントＣ（ａ）、Ｃ（ｂ）にラベル付けする。これにより、取引量ａ、ｂは秘匿化される。
【００６４】
ただし、ベースポイントＨを固定値としては仮想通貨の種類が分かってしまうため、コンフィデンシャル・アセットでは、次の式（３）のように、ベースポイントＨをＡに置き換える。
【００６５】
Ａ＝Ｈ＋ｒＧ  …（３）
【００６６】
ｒは当事者のみが知る秘密の乱数値である。ベースポイントＨをＡに置き換えた場合、式（１）は次の式（４）で表される。
【００６７】
Ｃ（ａ）＝ｘＧ＋ａＡ＝ｘＧ＋ａ（Ｈ＋ｒＧ）＝（ｘ＋ｒａ）Ｇ＋ａＨ  …（４）
【００６８】
式（１）、（４）を比較すると分かるように、秘密鍵ｘは（ｘ，ｒ）に置き換わる。乱数値ｒを知る当事者はベースポイントＡから仮想通貨の種類を知ることができる一方、第三者は知ることができない。
【００６９】
なお、コンフィデンシャル・アセットではさらに、通貨の創造を防ぐためベースポイントＡをリング署名で構成するが、本実施の形態では簡潔のため説明を省略する。
【００７０】
端末１ａ、１ｂは、上述の如くアトミックスワップにより信頼関係を不要としてトークンを交換すると共に、取引内容を暗号化したトランザクションを生成する。本実施の形態で端末１ａ、１ｂは、生成したトランザクションを検証サーバ２に送信し、トランザクションの検証を要求する。なお、検証サーバ２がトランザクションを検証可能なように、端末１ａ、１ｂは、トランザクションの秘匿化の際に用いた秘密鍵を併せて送信する。
【００７１】
検証要求を受け付けた場合、検証サーバ２は、端末１ａ、１ｂから送信された秘密鍵を用いて、トークンの交換量（取引量）、種類といった取引内容を表す情報を復号する。そして検証サーバ２は、復号した取引内容が適正か否かを検証する。
【００７２】
例えば検証サーバ２は、上記のトランザクションで交換されるＬＢＴＣの数量と、ＪＰＹトークンの数量とから、取引所Ａ、Ｂの間で行われる通貨交換取引の取引価格（交換レート）を算出する。ＬＢＴＣは仮想通貨に、ＪＰＹトークンは法定通貨に対応するため、算出した価格は、法定通貨に対する仮想通貨の売買価格に相当する。また、検証サーバ２は、法定通貨に対する仮想通貨の現在の時価情報を、所定の外部ＡＰＩ（Application Programmable Interface）から取得する。そして検証サーバ２は、上記で算出した取引価格と、一般に流通する仮想通貨の取引価格（流通レート）との差分が所定の閾値以上であるか否かを判定する。両者の差分が閾値以上であると判定した場合、検証サーバ２は、当該トランザクションが不適切な取引に係るものと判定し、当該トランザクションを承認しない。
【００７３】
金融取引では一般的に、不適切な取引を取り締まるため、法令、自主規制等を含めて種々の規制が設けられている。一方で、本システムはブロックチェーンを用いた分散型の取引システムであり、取引を管理する中央集権的な管理者が存在しない。しかし、取引を完全にユーザのみに委ねた場合、一般的な金融取引の規制に鑑みて、不適切な取引が行われる虞がある。例えば当事者同士が結託し、少額の日本円を多額の仮想通貨と交換することで、資金洗浄のような行為が発生する虞がある。
【００７４】
そこで本実施の形態では、検証サーバ２が取引内容を検証することで、不適切な取引を防止する。例えば検証サーバ２は、上述の如く、トランザクションにより交換される通貨の交換レートを検証し、不適切な取引であるか否かを判定する。その他にも、検証サーバ２は各ユーザのユーザＩＤ、ＵＴＸＯ等の取引に関わる情報を検証し、不適切な取引であるか否かを判定する。
【００７５】
なお、上記では通貨の交換レート、当事者のＩＤ、ＵＴＸＯ等を基準に検証を行っているが、本実施の形態はこれに限定されるものではなく、例えば通貨の取引量等を基準に検証を行ってもよい。すなわち、検証サーバ２は、取引内容が所定条件に適合する適正なトランザクションであるか否かを判定可能であれば良く、その判定条件は特に限定されない。
【００７６】
図７では、トランザクションのブロードキャストが行われ、監査人がトランザクションの検証を行う様子を概念的に図示している。上述の如く、検証サーバ２はトランザクションの検証を行い、適正な取引であるか否かを判定する。適正な取引であると判定され、検証に成功した場合、検証サーバ２は、検証者Ｘの秘密鍵を用いて当該トランザクションに電子署名を付加し、サイドチェーンのネットワークにブロードキャストする。
【００７７】
ブロードキャストされたトランザクションは、複数の監査人それぞれのサーバ装置により検証される。既に触れたように、監査人のサーバ装置は、サーバ装置の計算力に依拠したＰｏＷではなく、ストロング・フェデレーションズのアルゴリズムによりトランザクションを検証して合意を形成する。ストロング・フェデレーションズではラウンドロビンで処理が行われ、複数の監査人のうち、いずれかの監査人が順番にマスターに選出されて検証を行う。
【００７８】
マスターとなった監査人のサーバ装置は、サイドチェーンのネットワーク上にブロードキャストされた各トランザクションのスクリプトを検証し、サイドチェーンに追加するブロックの候補を生成する。マスターである監査人のサーバ装置は、生成したブロックの候補を他の監査人のサーバ装置に送信する。他の監査人のサーバ装置は、マスターから受信したブロックの候補を検証し、サイドチェーンに追加することに同意するか否か、判定を行う。同意すると判定した場合、監査人のサーバ装置は、当該ブロックに監査人の電子署名を入力する。複数の監査人のうち、所定数の監査人のサーバ装置から電子署名が入力された場合、当該ブロックはサイドチェーンに追加される。
【００７９】
上述の如く、ストロング・フェデレーションズではサーバ装置の計算力に依拠しないため、計算負荷が大きく削減され、合意形成に要する時間を短時間とし、迅速な取引を実現することができる。一方で、所定数の監査人の同意を必要とすることで、メインチェーンで担保されているセキュリティ（ビザンチン耐性）を維持することができる。
【００８０】
上記の処理によって監査人からトランザクションが承認された場合、取引所Ａ、Ｂの間のトランザクションはサイドチェーンに正常に取り込まれる。これにより、ＬＢＴＣは取引所Ｂに、ＪＰＹトークンは取引所Ａに引き渡される。
【００８１】
図８は、サイドチェーンからのペグアウト、及び法定通貨の償還が行われる様子を図示している。取引所Ｂの端末１ｂは、サイドチェーンのＬＢＴＣをメインチェーンの仮想通貨（ＢＴＣ）に変換するため、ペグアウトの要求を監査人のサーバ装置に送信、又はサイドチェーンに埋め込む。具体的には、端末１ｂは、メインチェーン上で仮想通貨をロックしている上述のロッキングトランザクションの解除を要求する。
【００８２】
ペグアウトの要求を受け付けた場合、各監査人のサーバ装置は、取引所ＢがＬＢＴＣを保持するサイドチェーン上のＵＴＸＯを検証する。所定数の監査人のサーバ装置が検証に成功し、ペグアウトを承認した場合、ロッキングトランザクションに各監査人のサーバ装置が電子署名を入力し、仮想通貨のロックを解除する。なお、ロックが解除される仮想通貨は今回の取引において取引所Ａがロックした仮想通貨とは限らず、他の取引でロックされた仮想通貨である場合もあり得る。仮想通貨のロックが解除されることにより、取引所Ｂの端末１ｂは自らのウォレットアドレスに仮想通貨を送金可能となる。
【００８３】
なお、取引所Ａがペグイン時に仮想通貨をロックしておいたロッキングトランザクションと、取引の相手方である取引所Ｂがペグアウト時にアンロックするロッキングトランザクションは必ずしも一致せず、他の取引において他のユーザが生成したロッキングトランザクションである場合もあり得る。
【００８４】
取引所Ａの端末１ａは、上述のトランザクションにより取得したＪＰＹトークンに基づく法定通貨の償還要求を検証サーバ２に送信する。償還要求を受け付けた場合、検証サーバ２は、取引所ＡがＪＰＹトークンを保有しているか否かチェックした後、取引所Ａが保有するＪＰＹトークンと等価な法定通貨を、金融振込等の手段で取引所Ａに送金する。
【００８５】
以上より、本システムを利用することで、仮想通貨及び法定通貨の交換を、所謂カウンターパーティのリスクなしに実現することができる。また、第三者を介さず相対取引で交換可能であり、当事者は売買対象である通貨のコントロールを自らで行うことができる。さらに、検証者Ｘが行う処理を組み合わせることで、通貨交換取引に一定の規制を加えることもできる。
【００８６】
なお、検証サーバ２はトランザクションの検証だけでなく、各トランザクションにより行われる取引記録の出力、つまり本プラットフォーム上で行われる通貨交換取引のレポートを出力可能とすると好適である。一般的な金融取引では、金融官庁からの要請に応じて取引記録を提出する必要がある。これに対応して、検証サーバ２は各トランザクションで暗号化されている取引内容を秘匿化用の秘密鍵を用いて復号し、取引記録を出力する。これにより、一般のユーザからは本プラットフォーム上での取引記録が秘匿化される一方、必要に応じて取引記録を閲覧可能とすることができる。
【００８７】
図９は、取引システムが実行する処理手順の一例を示すフローチャートである。図９に基づき、取引システムが実行する処理内容について説明する。なお、以下の説明では便宜上、取引所Ａ、Ｂが既に通貨交換取引に合意し、取引する通貨量、通貨の銘柄、取引日等が決まっているものとして説明する。
【００８８】
取引所Ｂの端末１ｂは、取引所Ｂが有する法定通貨に基づくＪＰＹトークン（第２のトークン）の発行要求を検証サーバ２に送信（出力）する（ステップＳ１１）。検証サーバ２は、取引所Ｂが有する法定通貨と等価なＪＰＹトークンを発行する（ステップＳ１２）。具体的には、検証サーバ２は、取引所Ｂの公開鍵、及び検証者Ｘの公開鍵を用いて、取引所Ｂ及び検証者Ｘそれぞれの電子署名の入力を解除条件としたマルチシグアドレス宛にＪＰＹトークンを発行する。
【００８９】
取引所Ａの端末１ａは、取引所Ａが保有する仮想通貨をメインチェーン上で使用不可能にロックするロッキングトランザクションを生成し、ブロードキャストする（ステップＳ１３）。具体的には、端末１ａは、サイドチェーン上での取引所Ａのウォレットアドレスに相当する公開鍵と、メインチェーン及びサイドチェーンの間の通貨の移動を管理する複数の監査人それぞれの公開鍵とを用いて、マルチシグアドレスに仮想通貨をデポジットしたトランザクションを生成してブロードキャストする。
【００９０】
端末１ａは、ロッキングトランザクションによりロックした仮想通貨をサイドチェーン上のＬＢＴＣ（第１のトークン）に変換する変換要求を出力する（ステップＳ１４）。具体的には、端末１ａは、ロッキングトランザクションの情報と、取引所Ａの公開鍵等の情報とを出力し、サイドチェーンへのペグインを監査人に要求する。端末１ａから要求を受け付けた場合、監査人のサーバ装置はメインチェーンに仮想通貨がロックされているか否かを検証し、承認した場合はサイドチェーン上のＬＢＴＣのＵＴＸＯをアンロック、あるいは新たなＬＢＴＣを発行する。
【００９１】
端末１ａは、ステップＳ１４の処理によって取得したＬＢＴＣのＵＴＸＯの情報を検証サーバ２に送信し、ＵＴＸＯを取引ＤＢ２４３に登録する（ステップＳ１５）。
【００９２】
端末１ａは、取引所Ａが保有するＬＢＴＣと、取引の相手方である取引所Ｂが保有するＪＰＹトークンとを交換するトランザクションを生成する（ステップＳ１６）。具体的には、端末１ａはマルチシグアドレスを用いて、取引所Ａ、Ｂそれぞれの電子署名の入力をアウトプットの解除条件としたトランザクションを生成する。例えば端末１ａはまず、ステップＳ１５でＵＴＸＯを登録したＬＢＴＣをインプットとしてトランザクションに格納する。また、端末１ａは取引所Ｂの端末１ｂからＪＰＹトークンのＵＴＸＯの情報を取得し、当該ＵＴＸＯで保持されているＪＰＹトークンをインプットとしてトランザクションに格納する。
【００９３】
さらに、端末１ａは、取引所Ａ及びＢそれぞれの公開鍵を用いて、取引所Ａ及びＢの電子署名の入力を解除条件とし、出力先を取引所Ｂのアドレス（公開鍵）としたＬＢＴＣのアウトプットをトランザクションに格納する。また、端末１ａは、取引所Ａ、取引所Ｂ、及び検証者Ｘそれぞれの公開鍵を用いて、三者の電子署名の入力を解除条件とし、出力先を取引所ＡのアドレスとしたＪＰＹトークンのアウトプットをトランザクションに格納する。
【００９４】
ステップＳ１６において、端末１ａは、取引所Ｂの端末１ｂと共有する秘匿化用秘密鍵を用いて、トークンの数量、種類等の取引内容を暗号化して記述したトランザクションを生成する。
【００９５】
端末１ａは、生成したトランザクションに取引所Ａの電子署名を入力し、取引所Ｂの端末１ｂに送信する（ステップＳ１７）。
【００９６】
取引所Ａの端末１ａからトランザクションを受信した場合、取引所Ｂの端末１ｂは、当該トランザクションに取引所Ｂの電子署名を入力する（ステップＳ１８）。端末１ｂは、トランザクションを検証サーバ２に送信して検証を要求する（ステップＳ１９）。
【００９７】
端末１ｂからトランザクションを受信した場合、検証サーバ２はトランザクションの検証を行い、当該トランザクションを承認するか否かを判定する（ステップＳ２０）。例えば検証サーバ２は、トークンの交換レート、取引者である各ユーザのユーザＩＤ、ＵＴＸＯ等の取引に関わる情報を検証し、承認するか否かを判定する。承認しないと判定した場合（Ｓ２０：ＮＯ）、検証サーバ２は一連の処理を終了する。
【００９８】
承認すると判定した場合（Ｓ２０：ＹＥＳ）、検証サーバ２は検証者Ｘの電子署名をトランザクションに入力（付加）し、サイドチェーンのネットワークにブロードキャストする（ステップＳ２１）。この場合、各監査人のサーバ装置がトランザクションの検証を行い、承認された場合はサイドチェーンのブロックにトランザクションが追加される。検証サーバ２は、トランザクションをブロードキャストした旨を端末１ａ、１ｂに通知する（ステップＳ２２）。
【００９９】
検証サーバ２から通知を受信した場合、取引所Ｂの端末１ｂは、サイドチェーン上のＬＢＴＣをメインチェーン上の仮想通貨に変換（ペグアウト）する変換要求を監査人に送信する（ステップＳ２３）。具体的には、端末１ｂは、メインチェーン上でロッキングトランザクションによりロックされている仮想通貨の解除要求を出力する。この場合、監査人のサーバ装置は、取引所Ｂが上記のトランザクションにより取得したＬＢＴＣのＵＴＸＯを検証し、承認した場合はロッキングトランザクションに電子署名を入力して仮想通貨のロックを解除する。
【０１００】
検証サーバ２から通知を受信した場合、取引所Ａの端末１ａは、上記のトランザクションにより取得したＪＰＹトークンに基づき法定通貨の償還要求を検証サーバ２に送信する（ステップＳ２４）。端末１ａから償還要求を受信した場合、検証サーバ２はＪＰＹトークンと等価な法定通貨を取引所Ａに償還する（ステップＳ２５）。検証サーバ２は一連の処理を終了する。
【０１０１】
なお、取引対象である金融資産は法定通貨に限定されず、例えば国債、株式等の金融商品であっても良い。
【０１０２】
また、通貨交換を行う第２のブロックチェーンはサイドチェーンに限定されず、例えばプライベートチェーン、オフチェーン等であっても良い。
【０１０３】
また、サイドチェーンはメインチェーンとの間で双方向ペグが可能なブロックチェーンであれば良く、例えばＳＰＶ証明（Simplified Payment Verification）等のアルゴリズムで動作するものであっても良い。
【０１０４】
また、上記では法定通貨に対応するＪＰＹトークンについてのみ検証者Ｘの電子署名とのマルチシグネチャとしたが、仮想通貨に対応するＬＢＴＣについても、検証者Ｘの電子署名とのマルチシグネチャとしても良い。
【０１０５】
また、本実施の形態では仮想通貨交換業者である取引所がユーザであるものとして説明したが、ユーザは個人等であっても良いことは勿論である。
【０１０６】
以上より、本実施の形態によれば、仮想通貨及び法定通貨をそれぞれトークンに変換し、各トークンを交換するトランザクションをブロックチェーン上で行うことで、通貨交換取引を適切に行うことができる。
【０１０７】
また、本実施の形態によれば、アトミックスワップを用いたトランザクションを生成することで、当事者同士の信頼関係を不要としながらも、相対取引で通貨交換を行うことができる。
【０１０８】
また、本実施の形態によれば、検証者Ｘがトランザクションを検証することで、不適切な取引が行われることを防止することができる。
【０１０９】
また、本実施の形態によれば、サイドチェーン上で通貨交換取引を行うことで、迅速な取引、手数料の抑制等を図ることができる。
【０１１０】
また、本実施の形態によれば、第三者から取引内容を秘匿化することができる。
【０１１１】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１２】
１  端末（情報処理装置）
１１  制御部
１２  主記憶部
１３  通信部
１４  表示部
１５  入力部
１６  補助記憶部
Ｐ１  プログラム
２  検証サーバ（検証装置）
２１  制御部
２２  主記憶部
２３  通信部
２４  補助記憶部
Ｐ２  プログラム
【図１】
2020071617.tif 000003
【図２】
2020071617.tif 000004
【図３】
2020071617.tif 000005
【図４】
2020071617.tif 000006
【図５】
2020071617.tif 000007
【図６】
2020071617.tif 000008
【図７】
2020071617.tif 000009
【図８】
2020071617.tif 000010
【図９】
2020071617.tif 000011