IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 仲宗根 豊の特許一覧

特許7583233取引システム、取引システムの制御方法及び取引システムの制御プログラム
<>
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図1
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図2
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図3
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図4
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図5
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図6
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図7
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図8
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図9
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図10
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図11
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図12
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図13
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図14
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図15
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図16
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図17
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図18
  • 特許-取引システム、取引システムの制御方法及び取引システムの制御プログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-06
(45)【発行日】2024-11-14
(54)【発明の名称】取引システム、取引システムの制御方法及び取引システムの制御プログラム
(51)【国際特許分類】
   G06Q 20/38 20120101AFI20241107BHJP
【FI】
G06Q20/38 310
【請求項の数】 7
(21)【出願番号】P 2020081638
(22)【出願日】2020-05-05
(65)【公開番号】P2021177267
(43)【公開日】2021-11-11
【審査請求日】2022-02-03
【審判番号】
【審判請求日】2023-11-30
(73)【特許権者】
【識別番号】518205368
【氏名又は名称】仲宗根 豊
(74)【代理人】
【識別番号】100187377
【弁理士】
【氏名又は名称】芳野 理之
(72)【発明者】
【氏名】仲宗根 豊
【合議体】
【審判長】佐藤 智康
【審判官】相崎 裕恒
【審判官】月野 洋一郎
(56)【参考文献】
【文献】米国特許出願公開第2019/0238525(US,A1)
【文献】特開2019-191876(JP,A)
【文献】国際公開第2019/072317(WO,A2)
【文献】特許第6500158号公報(JP,B1)
【文献】特開2019-144781(JP,A)
【文献】特開2002-329155(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数のノードによって取引記録が保持され、これらによって構築されたネットワークで仮想通貨が管理されるブロックチェーンと、
前記ブロックチェーンの側鎖であるサイドチェーンと、を有し、
前記仮想通貨を取引する取引端末、取引を検証する検証サーバ、第三者機関である取引決済サーバを有する取引システムであって、
前記サイドチェーンでは、前記ブロックチェーンで管理される仮想通貨を管理できると共に、少なくとも、前記仮想通貨と法定通貨との交換を含む取引が可能な構成となっていると共に、前記サイドチェーンで実行された取引の結果情報は、前記ブロックチェーンに反映され、
前記サイドチェーンにおける取引情報は、監査端末及び前記検証サーバが検証し、
前記監査端末は、前記仮想通貨の取引の当事者として実際に機能していない前記取引端末から選択された複数の前記取引端末であり、
複数の前記取引端末が、前記サイドチェーンおける取引に当事者として複数回、関与し、複数回の前記取引の結果情報が発生するときに、途中の前記取引の結果情報を省略し、最終の前記取引の結果情報のみを記憶するネッティング処理を行うと共に、前記ネッティング処理の前記最終の結果情報に基づき、当事者である各前記取引端末と前記取引決済サーバとの間のみの契約である取引情報を生成し、前記取引端末と前記取引決済サーバとの間の前記取引情報に基づいて、前記サイドチェーンで取引が実行される構成となっていることを特徴とする取引システム。
【請求項2】
前記サイドチェーンにおける当事者である端末間の前記取引情報には、交換する取引対象を相互に条件付けて、当事者の一方の端末が取引内容を実行しない場合、他方の端末の取引内容も実行されない構成を含んでいることを特徴とする請求項1に記載の取引システム。
【請求項3】
前記サイドチェーンにおける前記取引情報は、その内容を秘匿化するための秘匿化処理が施されていることを特徴とする請求項1又は請求項2に記載の取引システム。
【請求項4】
前記仮想通貨及び前記法定通貨は、それそれ、前記サイドチェーン上では、サイドチェーン上で使用可能なサイドチェーン用トークンに変換されて取引され、
前記サイドチェーン用トークンは、前記検証サーバが、その発行を許可する構成となっており、
前記検証サーバは、前記サイドチェーンにおける前記取引情報の取引対象の交換価値の妥当性を判断することを特徴とする請求項1乃至請求項3のいずれか1項に記載の取引システム。
【請求項5】
前記取引決済サーバは、前記仮想通貨を使用不可となるように、前記ブロックチェーンにロックし、
複数の前記監査端末が、当該仮想通貨がロックされているか否かを検証し、前記監査端末が検証に成功すると、前記ブロックチェーンにロックされた当該仮想通貨と等価なサイドチェーン用トークンを前記サイドチェーンにアンロック又は新規発行することを特徴とする請求項4に記載の取引システム。
【請求項6】
複数のノードによって取引記録が保持され、これらによって構築されたネットワークで仮想通貨が管理されるブロックチェーンと、
前記ブロックチェーンの側鎖であるサイドチェーンと、を有し、
前記仮想通貨を取引する取引端末、取引を検証する検証サーバ、第三者機関である取引決済サーバを有する取引システムの制御方法であって、
前記サイドチェーンでは、前記ブロックチェーンで管理される仮想通貨を管理できると共に、少なくとも、前記仮想通貨と法定通貨との交換を含む取引が可能な構成となっていると共に、前記サイドチェーンで実行された取引の結果情報は、前記ブロックチェーンに反映され、
前記サイドチェーンにおける取引情報は、監査端末及び前記検証サーバが検証し、
前記監査端末は、前記仮想通貨の取引の当事者として実際に機能していない前記取引端末から選択され、
複数の前記取引端末が、前記サイドチェーンにおける取引に当事者として複数回、関与し、複数回の前記取引の結果情報が発生するときに、途中の前記取引の結果情報を省略し、最終の前記取引の結果情報のみを記憶するネッティング処理を行うと共に、前記ネッティング処理の前記最終の結果情報に基づき、当事者である各前記取引端末と第三者機関である取引決済サーバとの間のみの契約である取引情報を生成し、前記取引端末と前記取引決済サーバとの間の前記取引情報に基づいて、前記サイドチェーンで取引が実行される構成となっていることを特徴とする取引システムの制御方法
【請求項7】
複数のノードによって取引記録が保持され、これらによって構築されたネットワークで仮想通貨が管理されるブロックチェーンと、前記ブロックチェーンの側鎖であるサイドチェーンと、前記仮想通貨を取引する取引端末、取引を検証する検証サーバ、第三者機関である取引決済サーバを有する取引システム
前記サイドチェーンでは、前記ブロックチェーンで管理される仮想通貨を管理できると共に、少なくとも、前記仮想通貨と法定通貨との交換を含む取引が可能な構成となっていると共に、前記サイドチェーンで実行された取引の結果情報は、前記ブロックチェーンに反映される機能
前記サイドチェーンにおける取引情報は、監査端末及び前記検証サーバが検証する機能、
数の前記取引端末が、前記サイドチェーンおける取引に当事者として複数回、関与し、複数回の前記取引の結果情報が発生するときに、途中の前記取引の結果情報を省略し、最終の前記取引の結果情報のみを記憶するネッティング処理を行う機能
前記ネッティング処理の前記最終の結果情報に基づき、当事者である各前記取引端末と第三者機関である取引決済サーバとの間のみの契約である取引情報を生成し、前記取引端末と前記取引決済サーバとの間の前記取引情報に基づいて、前記サイドチェーンで取引が実行される機能、を実現させるための取引システムの制御プログラム
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、ブロックチェーン等の分散型台帳技術に関する取引システム、取引システムの制御方法及び取引システムの制御プログラムに関するものである。
【背景技術】
【0002】
従来から、ブロックチェーン等の分散型台帳技術を用いて実現される仮想通貨が利用されている。
また、これら仮想通貨を円等の法定通貨と交換する需要があり、例えば、仮想通貨と法定通貨を固定価格で交換する等の提案もなされている(例えば、特許文献1等)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-29706号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、ブロックチェーン等の分散型台帳技術を用いて信用が担保されている「仮想通貨」を円等の法定通貨と交換するには、ブロックチェーン等で、例えば、POW(Proof of Work)等の手法でマイナーの合意が形成される必要があり、例えば、約10分間程度かかり、このため、仮想通貨と法定通貨と取引結果が、実際にブロックチェーン等に反映されるまで、時間がかかりすぎるという問題があった。
また、ブロックチェーン等で管理されている「仮想通貨」を法定通貨と交換して、その取引結果をブロックチェーン等に反映させるには、マイナーの合意が必要で、そのマイナーの手数料が高騰しているため、取引のコストが上昇しているという問題もあった。
【0005】
そこで、本発明は、仮想通貨と法定通貨との交換、又は仮想通貨を媒介通貨としての法定通貨間の交換を迅速且つ低コストで行うことができると共に、セキュリテイの安全性や効率性も確保できる取引システム、取引システムの制御方法及び取引システムの制御プログラムを提供することを目的とする。
【0006】
前記目的は、本発明によれば、複数のノードによって取引記録が保持され、これらによって構築されたネットワークで仮想通貨が管理されるブロックチェーンと、前記ブロックチェーンの側鎖であるサイドチェーンと、を有し、前記仮想通貨を取引する取引端末、取引を検証する検証サーバ、第三者機関である取引決済サーバを有する取引システムであって、前記サイドチェーンでは、前記ブロックチェーンで管理される仮想通貨を管理できると共に、少なくとも、前記仮想通貨と法定通貨との交換を含む取引が可能な構成となっていると共に、前記サイドチェーンで実行された取引の結果情報は、前記ブロックチェーンに反映され、前記サイドチェーンにおける取引情報は、監査端末及び前記検証サーバが検証し、前記監査端末は、前記仮想通貨の取引の当事者として実際に機能していない前記取引端末から選択された複数の前記取引端末であり、複数の前記取引端末が、前記サイドチェーンおける取引に当事者として複数回、関与し、複数回の前記取引の結果情報が発生するときに、途中の前記取引の結果情報を省略し、最終の前記取引の結果情報のみを記憶するネッティング処理を行うと共に、前記ネッティング処理の前記最終の結果情報に基づき、当事者である各前記取引端末と前記取引決済サーバとの間のみの契約である取引情報を生成し、前記取引端末と前記取引決済サーバとの間の前記取引情報に基づいて、前記サイドチェーンで取引が実行される構成となっていることを特徴とする取引システムにより達成される。
【0007】
前記構成によれば、サイドチェーンでは、ブロックチェーンで管理される仮想通貨を管理できると共に、少なくとも、仮想通貨と法定通貨との交換を含む取引が可能な構成となっていると共に、サイドチェーンで実行された取引の結果情報は、ブロックメインチェーンに反映される構成となっている。
ブロックチェーンでは、POW(Proof of Work)により「マイナー」の合意が形成されるまでの時間が1ブロック当たり、約10分間と長いが、本発明では、実際の取引(例えば、仮想通貨と法定通貨の交換等)が、サイドチェーンで行われる。
このため、サイドチェーンでは、POWでの合意形成を待つ必要がないので、取引の時間を短縮することができ、これがため、迅速な取引が可能となる。
また、サイドチェーンを用いることで、ブロックチェーンのような「マイナー」の合意は不要なので、コストも低下させることもできる。
さらに、サイドチェーンでは、ブロックチェーンの「マイナー」とは異なる複数の監視部(例えば、検証サーバ、監査端末等)で、その取引を監視するため、取引の安全も確保することが可能となっている。
前記構成によれば、端末が、サイドチェーンおける取引に、当事者として複数回、関与するときに、当該取引情報の取引内容について、ネッティング処理を行う構成となっている。
当事者が複数回、取引に関与するときは、原則として、その都度、取引内容を実行しなければならない。例えば、A端末がB端末に仮想通貨を100万円と交換し、その後、仮想通貨を得たB端末が、C端末に同仮想通貨を110万円と交換する場合で、取引ごとに取引内容を実行する。このとき、B端末に所持金がないと、B端末は、100万円を借り入れて、A端末から仮想通貨を取得し、その後、C端末と仮想通貨を110万円と交換した後、100万円を返済することになる。これでは、取引の迅速化を図ることができない。
一方、上述の例で、A端末からC端末に仮想通貨を渡し、C端末からA端末に100万円、C端末からB端末に10万円渡すという取引内容の「ネッティング処理」を行えば、B端末は、A端末との取引のために、わざわざ借り入れをする必要がなく、迅速な取引が可能となる。
また、この「ネッティング処理」では、C端末に1万円でも資金不足等が生じると、A端末、B端末、C端末の全体の取引が債務不履行となるおそれがある。
そこで、本発明では、さらに、ネッティング処理の結果情報に基づき、当事者である各端末と第三者機関(例えば、取引決済サーバ等)との間のみの前記取引情報を、端末毎に生成し、第三者機関との取引情報に基づいて、サイドチェーンで取引が実行される構成としている。
すなわち、上述の例では、例えば、それぞれ、取引決済サーバ等の第三者機関と端末A、端末B、端末Cとの間の取引情報を生成する。
具体的には、第三者機関がA端末に100万円支払う取引情報、第三者機関がB端末に10万円支払う取引情報、そして、第三者機関が110万円と交換にC端末に仮想通貨を引き渡す取引情報等を生成する。
このように、当事者である各端末と第三者機関との間のみの取引情報を、端末毎に生成することで、例えば、C端末に資金不足があっても、C端末と第三者機関との取引のみが不履行となり、他の2つの取引は有効に成立することになる。
したがって、取引の安全と効率性の双方を達成することができる。
【0008】
好ましくは、取引システムの前記サイドチェーンにおける当事者である端末間の前記取引情報には、交換する取引対象を相互に条件付けて、当事者の一方の端末が取引内容を実行しない場合、他方の端末の取引内容も実行されない構成を含んでいることを特徴とする。
【0009】
前記構成によれば、前記サイドチェーンにおける当事者である端末間の取引情報には、交換する取引対象(例えば、ビットコイントークン、円トークン等)を相互に条件付けて、当事者の一方の端末が取引内容を実行しない場合、他方の端末の取引内容も実行されない構成、例えば、デリバリー・バーサス・ペイメント・スワップ(Delivery Versus Payment Swap)等を含んでいる。
このため、サイドチェーン上で取引を行う端末である当事者同士について、互いに信頼関係がなくても、第3者である仲介者等を介することなく、相対取引を安心して行うことができる。
【0010】
好ましくは、取引システムの前記サイドチェーンにおける前記取引情報は、その内容を秘匿化するための秘匿化処理が施されていることを特徴とする。
【0011】
前記構成によれば、サイドチェーンにおける前記取引情報は、その内容(例えば、取引量、トークンの種類等)を秘匿化するための秘匿化処理、例えば、コンフィデンシャル・トランザクション、コンフィデンシャル・アセット等が施されているので、サイドチェーン上の取引内容が外部等に漏れることがなく、取引の安全が図られている。
【0012】
好ましくは、取引システムの前記仮想通貨及び前記法定通貨は、それそれ、前記サイドチェーン上では、サイドチェーン上で使用可能なサイドチェーン用トークンに変換されて取引され、前記サイドチェーン用トークンは、前記検証サーバが、その発行を許可する構成となっており、前記サイドチェーン用トークンは、前記検証サーバが、その発行を許可する構成となっており、前記検証サーバは、前記サイドチェーンにおける前記取引情報の取引対象の交換価値の妥当性を判断することを特徴とする。
【0013】
前記構成によれば、仮想通貨及び法定通貨は、それそれ、サイドチェーン上では、サイドチェーン上で使用可能なサイドチェーン用トークン(例えば、ビットコイントークン、円トークン等)に変換されて取引され、サイドチェーン用トークンは、監視部(例えば、監査端末、検証サーバ等)が、その発行を許可する構成となっている。
したがって、サイドチェーンでは、監視部の許可なく取引ができず、取引の安全(セキュリテイ)が確保されている。
また、前記構成によれば、監視部(例えば、検証サーバ等)は、サイドチェーンにおける取引情報の取引対象の交換価値(例えば、ビットコイントークンと円トークンの交換価値等)の妥当性を判断する。
したがって、例えば、ビットコイントークンと円トークンの交換価値が、市場における時価情報と著しく相違する場合は、不適切な取引として、取引を承認しない。
このように。本発明では、サイドチェーンにおける不適切な内容の取引の成立も未然に防ぐことができる。
【0014】
好ましくは、取引システムの前記取引決済サーバは、前記仮想通貨を使用不可となるように、前記ブロックチェーンにロックし、複数の前記監査端末が、当該仮想通貨がロックされているか否かを検証し、前記監査端末が検証に成功すると、前記ブロックチェーンにロックされた当該仮想通貨と等価なサイドチェーン用トークンを前記サイドチェーンにアンロック又は新規発行することを特徴とする。
【0022】
前記目的は、本発明によれば、複数のノードによって取引記録が保持され、これらによって構築されたネットワークで仮想通貨が管理されるブロックチェーンと、前記ブロックチェーンの側鎖であるサイドチェーンと、を有し、前記仮想通貨を取引する取引端末、取引を検証する検証サーバ、第三者機関である取引決済サーバを有する取引システムの制御方法であって、前記サイドチェーンでは、前記ブロックチェーンで管理される仮想通貨を管理できると共に、少なくとも、前記仮想通貨と法定通貨との交換を含む取引が可能な構成となっていると共に、前記サイドチェーンで実行された取引の結果情報は、前記ブロックチェーンに反映され、前記サイドチェーンにおける取引情報は、監査端末及び前記検証サーバが検証し、前記監査端末は、前記仮想通貨の取引の当事者として実際に機能していない前記取引端末から選択され、複数の前記取引端末が、前記サイドチェーンおける取引に当事者として複数回、関与し、複数回の前記取引の結果情報が発生するときに、途中の前記取引の結果情報を省略し、最終の前記取引の結果情報のみを記憶するネッティング処理を行うと共に、前記ネッティング処理の前記最終の結果情報に基づき、当事者である各前記取引端末と第三者機関である取引決済サーバとの間のみの契約である取引情報を生成し、前記取引端末と前記取引決済サーバとの間の前記取引情報に基づいて、前記サイドチェーンで取引が実行される構成となっていることを特徴とする取引システムの制御方法により達成される。
【0023】
前記目的は、本発明によれば、複数のノードによって取引記録が保持され、これらによって構築されたネットワークで仮想通貨が管理されるブロックチェーンと、前記ブロックチェーンの側鎖であるサイドチェーンと、前記仮想通貨を取引する取引端末、取引を検証する検証サーバ、第三者機関である取引決済サーバを有する取引システムに、前記サイドチェーンでは、前記ブロックチェーンで管理される仮想通貨を管理できると共に、少なくとも、前記仮想通貨と法定通貨との交換を含む取引が可能な構成となっていると共に、前記サイドチェーンで実行された取引の結果情報は、前記ブロックチェーンに反映される機能、前記サイドチェーンにおける取引情報は、監査端末及び前記検証サーバが検証する機能、複数の前記取引端末が、前記サイドチェーンおける取引に当事者として複数回、関与し、複数回の前記取引の結果情報が発生するときに、途中の前記取引の結果情報を省略し、最終の前記取引の結果情報のみを記憶するネッティング処理を行う機能、前記ネッティング処理の前記最終の結果情報に基づき、当事者である各前記取引端末と第三者機関である取引決済サーバとの間のみの契約である取引情報を生成し、前記取引端末と前記取引決済サーバとの間の前記取引情報に基づいて、前記サイドチェーンで取引が実行される機能、を実現させるための取引システムの制御プログラムにより達成される。
【発明の効果】
【0024】
以上説明したように、本発明は、仮想通貨と法定通貨との交換、又は仮想通貨を媒介通貨としての法定通貨間の交換を迅速且つ低コストで行うことができると共に、セキュリテイの安全性や効率性も確保できる取引システム、取引システムの制御方法及び取引システムの制御プログラムを提供できるという利点がある。
【図面の簡単な説明】
【0025】
図1】本発明の「取引システム」の実施の形態である「ビットコイン(登録商標)取引システム1」を示す概略説明図である。
図2図1のインターネット網2等により提供されるプラットフォームにおける「ビットコイン」の「ブロックチェーン(メインチェーン)」と、その側鎖である「サイドチェーン」の概略説明図である。
図3図1の「取引決済サーバ200」の主な構成を示す概略ブロック図である。
図4図3の「取引決済サーバ側第1の各種情報記憶部210」の主な構成を示す概略ブロック図である。
図5図3の「取引決済サーバ側第2の各種情報記憶部220」の主な構成を示す概略ブロック図である。
図6図3の「取引決済サーバ側第2の各種情報記憶部230」の主な構成を示す概略ブロック図である。
図7図1の「検証サーバ100」の主な構成を示す概略ブロック図である。
図8図7の「検証サーバ側第1の各種情報記憶部110」の主な構成を示す概略ブロック図である。
図9図7の「検証サーバ側第2の各種情報記憶部120」の主な構成を示す概略ブロック図である。
図10図1の取引端末10A、10B、10C等の主な構成を示す概略図である
図11図1の「取引端末」のうち、本実施の形態で「監査端末」として機能する図1の「取引端末10D(E,F、G)」を示す概略ブロック図である。
図12】取引端末10A乃至10Cが、それぞれ、「ビットコイン」の取引希望の情報を発信した場合に、図1の「取引決済サーバ200」が「マッチング処理」や「ネッティング処理」等を行う工程を示す概略フローチャートである。
図13】取引端末10A乃至10Cが、それぞれ、「ビットコイン」の取引希望の情報を発信した場合に、図1の「取引決済サーバ200」が「マッチング処理」や「ネッティング処理」等を行う工程を示す他の概略フローチャートである。
図14】確定した「取引決済サーバ200」と各「取引端末10A」等との個々の契約(取引)を、本システム1のプラットフォームを利用して実行する工程を示す概略フローチャートである。
図15】確定した「取引決済サーバ200」と各「取引端末10A」等との個々の契約(取引)を、本システム1のプラットフォームを利用して実行する工程を示す他の概略フローチャートである。
図16】確定した「取引決済サーバ200」と各「取引端末10A」等との個々の契約(取引)を、本システム1のプラットフォームを利用して実行する工程を示す他の概略フローチャートである。
図17】確定した「取引決済サーバ200」と各「取引端末10A」等との個々の契約(取引)を、本システム1のプラットフォームを利用して実行する工程を示す他の概略フローチャートである。
図18】確定した「取引決済サーバ200」と各「取引端末10A」等との個々の契約(取引)を、本システム1のプラットフォームを利用して実行する工程を示す他の概略フローチャートである。
図19】確定した「取引決済サーバ200」と各「取引端末10A」等との個々の契約(取引)を、本システム1のプラットフォームを利用して実行する工程を示す他の概略フローチャートである。
【発明を実施するための形態】
【0026】
以下、この発明の好適な実施の形態を添付図面等を参照しながら、詳細に説明する。
尚、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【0027】
図1は、本発明の「取引システム」の実施の形態である「ビットコイン(登録商標)取引システム1」を示す概略説明図である。
図1に示すように、本システム1は、取引対象であり仮想通貨である例えば、「ビットコイン」の取引所10A乃至取引所10G等が有する取引端末10A乃至取引端末10Gを有している。
これら、取引端末10A等は、それぞれ地理的に離間して配置され、例えば、取引端末10Aは東京、取引端末10Bは、大阪、取引端末10Gはロンドン等に配置されている。
【0028】
そして、これら取引端末10A等は、図1に示すようにインターネット網2により、相互に通信可能な構成となっている。
また、インターネット網2には、図1に示すように、監視部である例えば、「検証サーバ100」と、第三者機関である例えば、「取引決済サーバ200」も通信可能となっている。
【0029】
また、図1に示すように、取引端末A等は、「ビットコイン」の取引の当事者として機能する場合の他、後述する「監査端末10A等」としても機能する構成となっている。
【0030】
図2は、図1のインターネット網2等により提供されるプラットフォームにおける「ビットコイン」の「ブロックチェーン(メインチェーン)」と、その側鎖である「サイドチェーン」の概略説明図である。
現在、ビットコインの取引価格や流通量は、取引所等によってばらつきがあり、均衡がとれておらず、ビットコインの取引の共通取引基盤や共通決済基盤がない。
このため、本実施の形態の本システム1は、ビットコインの取引の共通基盤を提供するものである。
【0031】
また、図1の「ブロックチェーン(メインチェーン)」は、仮想通貨であるビットコインの取引履歴を管理する分散型台帳の一種である。
ブロックチェーンのネットワークは、マイナーと呼ばれる不特定多数のノードにより形成され、各ノードがトランザクションを検証して検証結果の合意を形成し、ブロックチェーン上の取引履歴を更新する。
なお、本発明において、仮想通貨は、ビットコインに限定されず、イーサリアム(登録商標)等のアルトコインであっても構わない。
【0032】
図2に示すように、本実施の形態では、メインチェーンは、その側鎖となるブロックチェーンである「サイドチェーン」を有している。
この「サイドチェーン」は、後述するように、「メインチェーン」とは異なる「アルゴリズム」で動作するネットワークであるが、「メインチェーン」と「サイドチェーン」との間では、後述するように、「双方向ペグ(Two-way Peg)」が可能な構成となってなっている。
すなわち、「メインチェーン」上で管理されている「ビットコイン」と「サイドチェーン」上で管理されている「サイドチェーン用トークン」とを相互に交換することができる。
【0033】
サイドチェーンの動作のアルゴリズムは、特に限定しないが、本実施の形態に係るサイドチェーンは、「ストロング・フェデレーションズ(Strong Federations)と呼ばれるアルゴリズムで動作する。
「ストロング・フェデレーションズ」は、ネットワーク上に地理的及び管轄的に分散して配置された複数の監査端末が、サイドチェーン上のトランザクションの検証動作を実行すると共に、「メインチェーン」との間の「ビットコイン」の双方ペグの検証動作を実行する。
【0034】
本実施の形態では、図1の取引端末10A等が、監査端末としても機能する構成となっている。
この検証は、「k-ofーn」の「マルチシグネチャースキーム」(複数の秘密鍵が必要とされ、そのうち一定数の秘密鍵が要求される)のアルゴリズムで実行される。
「メインチェーン」では「Pow(Proof OF Work)」により「マイナー」の合意形成を行うが、「サイドチェー」ンでは「マルチシグネチャ」に置き換えることで、メインチェーンのセキュリテイを維持しつつ、時間的遅延を生じ難くする構成となっている。
【0035】
また、「メインチェーン」でも実装されているマルチシグネチャ技術によって双方向ペグを行うことで、メインチェーンの仕様を変更せずとも、双方向ペグが可能となっている。
本実施の形態では、「サイドチェーン」上に、「監査端末10A等」に加え、検証者の「検証サーバ100」及び「取引決済サーバ200」が通過交換取引を検証するプラットフォームを構築する。
【0036】
本プラットフォーム上では、検証サーバの承認を得ずに取引を行うことができないように構成されている。検証サーバは、取引者のID等の確認等を行うが、法規制の観点から取引内容のチェックを行い、法令等に違反する取引には承認を与えないとの機能も発揮する。
【0037】
また、図1の取引端末10A等、検証サーバ100及び取引決済サーバ200等は、コンピュータを有し、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)やハードディスク等を有し、バスを介して接続されている。
【0038】
図3は、図1の「取引決済サーバ200」の主な構成を示す概略ブロック図である。
図3に示すように、取引決済サーバ200は、取引決済サーバ側制御部201を有し、同制御部201は、他の装置等と通信する「取引決済サーバ側通信装置202」、各種情報を表示する「取引決済サーバ側ディスプレイ203」、そして各種情報を入力する「取引決済サーバ側各種情報入力装置204」を制御する。
また、同制御部201は、図3の「取引決済サーバ側第1の各種情報記憶部210」、「取引決済サーバ側第2の各種情報記憶部220」及び「取引決済サーバ側第2の各種情報記憶部230」を制御する。
【0039】
図4乃至図6は、それぞれ、図3の「取引決済サーバ側第1の各種情報記憶部210」、「取引決済サーバ側第2の各種情報記憶部220」及び「取引決済サーバ側第2の各種情報記憶部230」の主な構成を示す概略ブロック図である。
これらの内容については、後述する。
【0040】
図7は、図1の「検証サーバ100」の主な構成を示す概略ブロック図である。
図7に示すように、検証サーバ100は、検証サーバ側制御部101を有し、同制御部101は、他の装置等と通信する「検証サーバ側通信装置102」、各種情報を表示する「検証サーバ側ディスプレイ103」、そして各種情報を入力する「検証サーバ側各種情報入力装置104」を制御する。
また、同制御部101は、図7の「検証サーバ側第1の各種情報記憶部110」及び「検証サーバ側第2の各種情報記憶部120」を制御する。
【0041】
図8及び図9は、それぞれ、図7の「検証サーバ側第1の各種情報記憶部110」及び「検証サーバ側第2の各種情報記憶部120」の主な構成を示す概略ブロック図である。
これらの内容については、後述する。
【0042】
図10は、図1の取引端末10A、10B、10C等の主な構成を示す概略図である。本実施の形態では、後述のように、取引端末10A乃至取引端末10Cが、「ビットコイン」の取引の当事者として機能し、図1の取引端末10D乃至取引所10Gが、「監査端末」として機能する。
なお、本実施の形態では、説明の便宜上、4つの監査端末で説明するが、本発明における監査端末は、これに限らず適切な数の監査端末が求められる。
また、監査端末は、その数が多いほど、セキュリテイは高くなり、その数が少なくなるほど、処理速度が速くなる。
このため、両者のバラスをとるように、監視端末の数を適切に定める。
「取引端末」として機能するのは、取引端末10A、10B、10Cであるが、これらは同一の構成のため、以下「取引端末10C」についてのみ説明する。
【0043】
図10は、図1の「取引端末10C(A、B)」の主な構成を示す概略ブロック図である。
図10に示すように、取引端末10Cは、取引端末側制御部11Cを有し、同制御部11Cは、他の装置等と通信する「取引端末側通信装置12C」、各種情報を表示する「取引端末側ディスプレイ13C」、そして各種情報を入力する「取引端末側各種情報入力装置14C」を制御する。
また、同制御部11Cは、図10の「C取引端末側鍵情報記憶部15C」及び「取引端末側各種情報記憶部16C」も制御する。
このうち、「C取引端末側鍵情報記憶部15C」については、後述する。
【0044】
図11は、図1の「取引端末」のうち、本実施の形態で「監査端末」として機能する図1の「取引端末10D(E,F、G)」を示す概略ブロック図である。
以下、監査端末10D(E,F、G)」として説明する。
「監査端末」として機能するのは、監査端末10D乃至監査端末10Gであるが、これらは同一の構成のため、以下「監査端末10D」についてのみ説明する。
【0045】
図11に示すように、監査端末10Dは、「監査端末側制御部11D」を有し、同制御部11Dは、他の装置等と通信する「監査端末側通信装置12D」、各種情報を表示する「監査端末側ディスプレイ13D」、そして各種情報を入力する「監査端末側各種情報入力装置14D」を制御する。
また、同制御部11Dは、図11の「監査端末側鍵情報記憶部15D」及び「監査端末検証部17D」も制御する。
これら「監査端末側鍵情報記憶部15D」及び「監査端末検証部17D」の内容については、後述する。
【0046】
図12乃至図19は、本システム1の主な動作例を示す概略フローチャートである。
本実施の形態では、図1の「取引端末10A」「取引端末B」及び「取引端末C」が、それぞれ「ビットコイン」に関する取引を希望し、図1の「取引端末10D」乃至「取引端末10G」が「監査端末」として機能する例で、以下、説明する。
【0047】
図12及び図13は、取引端末10A乃至10Cが、それぞれ、「ビットコイン」の取引希望の情報を発信した場合に、図1の「取引決済サーバ200」が「マッチング処理」や「ネッティング処理」等を行う工程を示す概略フローチャートである。
【0048】
本システム1の利用を希望する取引端末10A等は、図1の「決済サーバ200」からプログラムをインストールする。
具体的には、各取引端末10A等が取引のマッチングやコミュニケーション、及びトランザクションの生成等を実行するツールとしての機能するプログラムである。
これにより、取引端末10A等は、当該プログラムを用いて、本システム1のプラットフォームにおいて、「ビットコイン」の取引の相手方を検索し、取引情報である例えば、取引内容(取引価格、取引量等)の交渉を行い、相手方と合意した場合、取引端末10A等は、本システム1を利用してく「ビットコイン」の交換等を実行する。
【0049】
また、本システム1の利用を希望する取引端末10A等は、取引上、資金不足等が生じた場合に備えて「担保金」等を「取引決済サーバ200」を管理する「取引決済所」に預ける等の対策を講じる。
これにより、取引端末10A等は、「取引決済サーバ200」を含む本システム1を利用することが可能となる。
【0050】
以下、図12乃至図13のフローチャートに沿って以下、説明する。
先ず、図12のステップ(以下「ST」という。)1へ進む。
ST1では、各取引端末10A等から「ビットコイン」と「円」との交換の具体的な条件情報が、「取引決済サーバ200」に送信される。
【0051】
次いで、ST2へ進む。ST2では、「取引決済サーバ200」は、各取引端末10A等の条件情報を「取引決済サーバ200」の図4の「条件情報記憶部211」に記憶する。
例えば、1)取引端末Aの条件情報は「1ビットコイン」を「100万円」で購入したいことと「1ビットコイン」を「110万円」で売却したいことである。
また、2)「取引端末10B」の条件情報は、「2ビットコイン」を「180万円」で購入したいことと、「1ビットコイン」を「100万円」で売却したいこと、である
さらに、3)「取引端末10C」の条件情報は、「1ビットコイン」を「110万円」で購入したことと、「2ビットコイン」を「180万円」で売却したいことである。
【0052】
次いで、ST3へ進む。ST3では、「取引決済サーバ200」の図4の「マッチング処理部(プログラム)212」が動作し、所定の時間内(例えば、9時から11時等)での実行を希望する「ビットコイン」と、法定通貨である例えば、「円」との交換取引条件が一致する取引端末10A等との組み合わせを探し、図4の「マッチング結果記憶部213」に記憶する。
【0053】
例えば、取引端末10Aが「1ビットコイン」を取引端末Bに「110万円」で売却、取引端末10Aが取引端末10Cから「1ビットコイン」を「100万円」で購入、取引端末10Bが、取引端末10Cから「2ビットコイン」を「180万円」で購入する。
このように、「取引端末10Aと取引端末Bの契約」、「取引端末10Bと取引端末10Cの契約」及び「取引端末10Cと取引端末10Aの契約」を候補として選択し、「マッチング結果記憶部213」に記憶する。
【0054】
次いで、ST4へ進む。ST4では、「マッチング結果記憶部213」の契約内容について、各契約当事者である取引端末10A等に同意を求め、取得する。
【0055】
このように、契約毎に、各取引所A等が契約内容を実行するとき、各取引所A等は、契約内容に合致した「ビットコイン」や「円」を、その契約毎に用意する必要がある。
例えば、上述の例では、取引端末10Aは、10Cに「110万円」を提供する契約であるが、取引端末Bとの契約で、Bから「100万円」取得することになる。
【0056】
この場合、取引所Aが、先に取引所Cとの契約を実行するときに、110万を所持せず、10万円のみ所持している場合、短期の借入で「100万円」を借り、取引所Bとの契約で「100万円」取得した後、「100万円」を返済することになる。
これでは、迅速な取引が困難となるという問題がある。
【0057】
そこで、本実施の形態では、各契約を、それぞれ実行するのではなく、各取引所の最終的な「ビットコイン」や「円」の取得内容や提供内容を計算し途中の各取引を省略する「ネッティング」という処理を以下のように実行する。
【0058】
ST5では、図4の「ネッティング契約処理部214」が動作し、「マッチング結果記憶部213」の取引端末10A、10B及び10C3つの契約をそれぞれ実行するのではなく、取引端末10A、10B及び10Cと「取引決済サーバ200」がそれぞれ、契約することで、1回の契約で、取引端末10A、10B及び10Cが最終的に取得又は提供する「ピットコイン」及び/又は「円」を取得及び/又は提供することができる契約組み合わせ情報を生成する。
【0059】
具体的には、上述の例で、取引端末10A、10B及び10C間では、最終的には、1)取引端末10Cが10Bに「1ビットコイン」を提供し、2)取引端末10Bは、取引端末10Aに100万円を提供すると共に取引端末Cには、70万円提供することになる。
そして、この「ネッティング契約処理」が行われた結果情報を、図5の「ネッティング契約処理結果情報記憶部221」に記憶する。
【0060】
しかし、図5の「ネッティング契約処理結果情報記憶部221」の契約内容では、例えば、取引端末10Bの取引所10Bが170万円、用意できないときは、すべて契約が不履行となり、実行することができないという問題が生じる。
そこで、本実施の形態では、「取引決済サーバ200」の図6の「セントラルカウンターパーティ契約処理部(プログラム)234」が動作し、図5の「ネッティング契約処理結果情報記憶部221」に記憶されている「ネッティング契約処理結果情報」の契約当事者を、それぞれ「取引決済サーバ200」との契約に変更し、図5の「セントラルカウンターパーティ契約処理結果情報記憶部222」に記憶させる。
【0061】
具体的には、上述の例では、1)取引決済サーバ200が取引端末10Aに「10万円」提供する契約、2)取引決済サーバ200が取引端末10Bに「1ビットコイン」を」提供する契約、3)取引決済サーバ200が取引端末10Cに「1ビットコイン」を提供すると共に、取引端末10Cは、取引決済サーバ200に「70万円」提供する契約とする。
【0062】
このように、契約主体に「取引決済サーバ200」を組み込むことで、契約当事者のいずれかが契約内容を履行できない場合でも、すべての契約が不履行となるのではなく、当該不履行が生じた「取引決済サーバ」との契約のみが不履行となり、他の「取引決済サーバ200」との契約は履行されることなる。
また、これら「セントラルカウンターパーティ契約処理結果情報記憶部222」の契約は、ネッティング契約処理されているため、各当事者が、上述のネッティング前の契約で履行に必要な法定通貨(円)の全額等を履行時に用意する必要がないので、取引を迅速に行うことができる。
【0063】
なお、本実施の形態では、図4の「ネッティング契約処理部214」が動作し、さらに図6の「セントラルカウンターパーティ契約処理部234」が動作する例で説明したが、これらを分けることなく、一括処理しても構わない。
また、取引を急ぐときは、図1乃至図7の処理を省略しても構わない。
【0064】
次いで、ST7へ進む。ST7では、「取引決済サーバ200」は、契約の相手方となる取引端末10A等の支払い能力や担保金等を確認し、かかる「セントラルカウンターパーティ契約」について、契約の相手方である取引端末10A等の「同意」を取得する。
【0065】
以上で、図1のメインチェーンとサイドチェーンを利用して、実行すべき具体的な取引(契約)が確定する。
また、上述のように、「取引決済サーバ200」と、各取引端末10A、10BC及び10Cとの契約(取引)としたことで、迅速且つ安全な取引を保証することができる。
【0066】
なお、これらの取引内容には、例えば取引対象である仮想通貨(ビットコイン)、法定通貨の種類(円)、法定通貨(円)に対する仮想通貨(ビットコイン)の価格に相当する取引価格、通貨の取引量(交換量)の他、取引を行う日時、取引を行う取引端末ID等の情報が含まれる。
【0067】
図14乃至図19は、上述の工程で、確定した「取引決済サーバ200」と各「取引端末10A」等との個々の契約(取引)を、本システム1のプラットフォームを利用して実行する工程を示す概略フローチャートである。
【0068】
取引内容について合意した場合、取引決済サーバ200、取引端末10A、10B及び10Cは、それぞれ合意した取引内容に従って処理を行う。
具体的には、上述の例では、1)取引決済サーバ200が取引端末10Aに「10万円」提供する契約、2)取引決済サーバ200が取引端末10Bに「1ビットコイン」を」提供する契約、3)取引決済サーバ200が取引端末10Cに「1ビットコイン」を提供すると共に、取引端末10Cは、取引決済サーバ200に「70万円」提供する契約となる。
【0069】
以下、図14乃至図19のフローチャートに沿って説明するが、先ず、「取引決済サーバ200」が「取引端末10C」に「1ビットコイン」を提供すると共に、「取引端末10C」が、「取引決済サーバ200」に「70万円」を提供する契約の工程について、説明する。
【0070】
図14のST11では、取引決済サーバ200は、所有する仮想通貨である例えば、「1ビットコイン」を「メインチェーン」から「サイドチェーン」に移動させるための動作を実行する。
すなわち、取引決済サーバ200は、取引決済サーバ200の特定の「1ビットコイン」を、使用不可となるように「ロック(凍結)」するため以下の動作を行う。
【0071】
具体的には、図5の「ロック用マルチシグアドレス生成部(プログラム)223」が動作し、取引決済サーバ200は、複数の監査端末D等(例えば、取引端末D等)の図11の「監査端末側鍵情報記憶部15D」の公開鍵と、取引決済サーバ200の「取引決済サーバ側鍵情報記憶部224」(図5)の公開鍵とを用いて、メインチェーン上で、「1ビットコイン」をロックするための「ロック用マルチシグアドレス」を生成し、「ロック用マルチシグアドレス記憶部」に記憶する。
【0072】
ここで「マルチシグアドレス」は、トランザクションの署名に複数の鍵を必要とする技術をいう。
また、このとき、取引決済サーバ200は、楕円曲線の準同型性を利用して、各監査端末の公開鍵から新たな公開鍵を生成し、生成した公開鍵を用いて「マルチシグアドレス」を生成する。
【0073】
次いで、ST12へ進む。ST12では、取引決済サーバ200の「ロッキングトランザクション生成部(プログラム)231」(図6)が動作し、図5の「ロック用マルチシグアドレス記憶部225」の「ロック用マルチシグアドレス」に「1ビットコイン」をデポジットした「ロッキングトランザクション」を生成し、図6の「ロッキングトランザクション記憶部232」に記憶する。
【0074】
次いで、ST13へ進む。ST13では、取引決済サーバ200は、図6の「ロッキングトランザクション記憶部232」のロッキングトランザクションをメインチェーンのネットワークに送信する。
これにより、メインチェーンに当該1ビットコインがロックされる。
【0075】
また、メインチェーンの「ビットコイン」は、監査端末10D等が電子署名を入力しなければ「アンロック」することができず、使用不可の状態となる。
【0076】
次いで、ST14へ進む。ST14では、取引決済サーバ200の「ビットコイントークン要求部(プログラム)233」(図6)が動作し、取引決済サーバ200は、図6の「ロッキングトランザクション記憶部232」の「ロッキングトランザクション」情報と、図5の「ロック用マルチシグアドレス記憶部225」の「ロック用マルチシグアドレス」生成時に使用した取引決済サーバ200の公開鍵等の情報を「監査端末10D等」に送信し、取引決済サーバ200のサイドチェーンのアドレス宛に、取引対象であり、サイドチェーン用トークンである例えば、「ビットコイントークン」の送信を求める。
【0077】
次いで、ST15へ進む。ST15では、監査端末10D等は、図11の「監査端末側鍵情報記憶部15D」の監査端末10D等の秘密鍵と、図5の「取引決済サーバ側鍵情報記憶部224」の公開鍵等の情報を用いて、メインチェーンに当該「ビットコイン」がロックされているか否かを検証する。
【0078】
次いで、ST16へ進む。ST16では、サイドチェーンで用いられているアルゴリズムである「ストロング・フェデレーションズ」では、複数の監査端末10D等のうち、適切な数の監査端末10D等が検証に成功したか否かを判断する。
【0079】
そして、ST17へ進む。ST17では、適切な数の監査端末10D等が、検証に成功すると、「ペグイン」が承認され、メインチェーンにロックされた「1ビットコイン」と等価な「1ビットコイントークン」をサイドチェーンでアンロック又は新規発行され、取引決済サーバ200のアドレスへ当該情報を送信する。
【0080】
次いで、ST18へ進む。ST18では、「取引決済サーバ200」は、上記で取得した「1ビットコイントークン」を保持する「UTXO」の情報を「検証サーバ100」に送信し、図8の「取引データベース111」に、対応する「1ビットコイン」と対応付けて登録する。
【0081】
したがって、「UTXO」に登録された「1ビットコイントークン」を「取引決済サーバ200」が、「検証サーバ100」に無断で、使用した場合、「検証サーバ100」は、トランザクションの検証時に取引を承認せず、そのトランザクションを無効とすることができる。
【0082】
次いで、ST19へ進む。ST19では、「取引端末10C」は、金融振込等の手段で法定通貨(70万円)を検証サーバ100を管理する検証人又は円トークン発行人に送金し、サイドチェーンで取引履歴が管理される「サイドチェーン用トークン」である例えば、「70万円トークン」を発行するように検証サーバに要求する。
【0083】
なお、本実施の形態では、「検証サーバ100」が、取引の検証及び円トークンの発行の両方を行うものとして説明したが、本発明では、円トークンの発行主体が、「検証サーバ200」と異なっても構わない。
【0084】
次いで、ST20へ進む。ST20では、図8の「検証サーバ側マルチシグアドレス生成部(プログラム)112」が動作し、図10の「C取引端末側鍵情報記憶部15D」の取引端末10Cの公開鍵と、図8の「検証サーバ側鍵情報記憶部113」の検証サーバの公開鍵を用いて、取引端末10Cと検証サーバ200の電子署名の入力を解除条件としたマルチシグアドレスを生成し、図8の「検証サーバ側マルチシグアドレス記憶部114」に記憶する。
【0085】
次いで、ST21へ進む。ST21では、図8の「検証サーバ側トランザクション生成部(プログラム)115」が動作し、図8の「検証サーバ側マルチシグアドレス記憶部114」のマルチシグアドレスに「70万円トークン」をデポジットしたトランザクションを生成し、サイドチェーンのネットワークにブロードキャストする。
【0086】
これにより、本プラットフォーム上で、「70万円トークン」は「検証サーバ100」の承認(署名)を得なければ使用することができない状態となる。
【0087】
次いで、ST22へ進む。ST22では、「検証サーバ100」は、「取引端末10C」が「70万円トークン」を保持する旨の「UTXO」の情報を、図9の「取引データベース121」に登録する。
【0088】
この後、「取引決済サーバ200」は、取得した「1ビットコイントークン」と「取引端末10C」の「70万円トークン」とを交換するトランザクションを生成し、サイドチェーンのネットワークにブロードキャストすることとなる。
しかし、この場合、「取引決済サーバ200」は、トランザクションを生成して、取引端末Cにトークンを送るだけでは、「取引端末10C」の不正行為によって交換が成立しないおそれがある。
【0089】
そこで、本実施の形態では、このような事態に備えて、取引決済サーバと取引端末Cは、「デリバリー・バーサス・ペイメント・スワップ(Delivery Versus Payment Swap)(ビットコイントークンと円トークンを相互に条件付けて、一方が行なわれない場合、他方も行われないようにすること)によるトークンの交換を行う。(以下、「DVPスワップ」という。)
【0090】
「DVPスワップ」は、互いの信頼関係を不要としながらも、第3者(仲介者)を介さず相対取引でビットコイ等の仮想通貨と「円トークン」の交換を可能とする手法である。
したがって、サイドチェーン上で取引を行う端末の当事者同士について、互いに信頼関係がなくても、第3者である仲介者等を介することなく、相対取引を安心して行うことができる。
【0091】
以下、「DVPスワップ」について説明する
本実施の形態では、「取引決済サーバ200」が、「取引決済サーバ200」と「取引端末10C」のそれぞれの公開鍵を用いて「マルチシグアドレス」を生成し、当該マルチシグアドレスを使用して「1ビットコイントークン」及び「70万円トークン」をデポジットしたトランザクションを生成する。
【0092】
そして、「取引決済サーバ200」と「取引端末10C」は、それぞれ、当該トランザクションに「取引決済サーバ200」と「取引端末10C」のそれぞれの電子署名を入力(付加)して、ブロードキャストする。
具体的には、以下のとおりである。
【0093】
ST24では、「取引決済サーバ100」は、図5の「取引決済サーバ側鍵情報記憶部224」と図10の「C取引端末側鍵情報記憶部13C」の取引決済サーバ200及び取引端末10Cの公開鍵を用いて、取引決済サーバ200及び取引端末10Cの電子署名の入力を解除条件とし、出力先を「取引端末10C」のアドレスとした「1ビットコイントークン」のアウトプットをトランザクションとして格納する。
【0094】
次いで、ST25へ進む。ST25では「取引決済サーバ200」は、図5の「取引決済サーバ側鍵情報記憶部224」、図10の「C取引端末側鍵情報記憶部13C」及び図8の「検証サーバ側鍵情報記憶部113」の取引決済サーバ200、取引端末10C及び検証サーバ100」、それぞれの公開鍵を用いて、三者の電子署名の入力を解除条件とし、出力先を「取引決済サーバ200」のアドレス又は取引決済サーバ200と検証サーバ100の「マルチシグアドレス」とした「70万円トークン」のアウトプットをトランザクションに格納する。
【0095】
上述のトランザクションを生成する際に、「取引決済サーバ200」は、当該トランザクションで交換される「1ビットコイントークン」と「70万円トークン」の種類や数量、すなわち、取引内容を第三者から秘匿化するため、当事者以外では閲覧できないよう暗号化したトランザクションを生成する。
【0096】
具体的には、取引決済サーバ200」は、秘匿化処理である例えば、「コンフィデンシャル・トランザクション(Confidential Transaction)」、及び「コンフィデンシャル・アセット(Confidential Assets)」と呼ばれる手法を用いて、取引内容を暗号化したトランザクションを生成する。
【0097】
したがって、サイドチェーン上の取引内容が漏れることなく、取引の安全を図ることができることになる。
【0098】
以下、取引量の暗号化を行う「コンフィデンシャル・トランザクション」について説明する。
コンフィデンシャル・トランザクションは、ブロックチェーンにより公開される「ビットコイントークン」及び「円トークン」の取引量を秘匿化する手法であり、準同型暗号を利用して取引量を暗号化する手法である。
【0099】
コンフィデンシャル・トランザクションでは「Pedersen Commitment」を用い、取引量(a)を以下の式(1)で示すコミットメントC(a)で表現する。
コミットメントC(a)=xG+aH・・・(1)
xは、当事者が共有する秘密鍵(blinding factor)、G及びHは、楕円曲線上のベースポイント(離散対数点)である。
【0100】
式(1)で示すように、通常の楕円曲線暗号において秘密鍵を公開鍵に変換するベースポイント(G)のほかに、取引量(a)を暗号化するためのベースポイント(H)を追加することで、コミットメントC(a)を生成する。
コンフィデンシャル・トランザクションでは、トランザクションに格納される各インプット及びアウトプットの数量をコミットメントC(a)で表し、数量の代わりにコミットメントC(a)を各インプット及びアウトプットのスクリプトに記述する。
【0101】
コミットメントC(a)は、加法特性を有し、複数のコミットメントC(a)の総和は、コミットされる取引量(a)の総和のコミットメントC(a)に等しくなる。
例えば、C(1)+C(1)=C(2)の関係が成り立つ。
したがって、各インプットのコミットメントC(a)の総和から各アウトプットのコミットメントC(a)の総和を差し引いて0になるかをチェックすることで、取引量(a)を検証することができる。
これにより、秘密鍵(x)を知る当事者は、取引量(a)を知ることができる一方、第三者は、取引量(a)を知ることができない。
【0102】
なお、コンフィデンシャル・トランザクションでは、さらにコミットされる取引量(a)が0以上であることを証明するためにリング署名等レンジプルーフを用いる。
【0103】
次に、取引量に加えて取引する「トークン」等の種類(アセットタイプ)を秘匿化する「コンフィデンシャル・アセット」について説明する。
コンフィデンシャル・アセットは、コンフィデンシャル・トランザクションを応用した手法であり、取引量に加えて、取引する「ビットコイントークン」「円トークン」の種類(アセットタイプ)を秘匿化する手法である。
【0104】
コンフィデンシャル・アセットでは、「ビットコイントークン」等の種類ごとに異なるベースポイントを用いてコミットメントを計算する。
例えば、取引量(a)(b)である2種類の「ビットコイントークン」「円トークン」を想定した場合、取引量(a)の「ビットコイントークン」等のコミットメントC(a)が、式(1)で計算すると共に、取引量(b)の「ビットコイントークン」等のコミットメントC(b)は、次の式(2)で計算する。
【0105】
C(b)=xG+bI・・・(2)
「I」と「H」は、同様に楕円曲線上のベースポイントである。
式(1)、(2)を比較するとわかるように、コンフィデンシャル・アセットでは、「ビットコイントークン」等の種類に応じて異なるベースポイントH、Iを選択してコミットメントC(a)、C(b)を計算する。
【0106】
そして、各インプット及びアウトプットの数量としてコミットメントC(a)、C(b)を記述とすると共に、「ビットコイントークン」等の種類に応じたベースポイントH、Iを各コミットメントC(a)、C(b)にラベル付けする。
【0107】
これにより、取引量(a)(b)は秘匿化される。
ただし、ベースポイントHを固定値としては、「ビットコイントークン」等の種類が分ってしまうため、コンフィデンシャル・アセットでは、次の式(3)のように、ベースポイントHをAに置き換える。
A=H+rG・・・(3)
rは、当事者のみが知る秘密の欄数値である。ベースポイントHをAに置き換えた場合、式(1)は、次の式(4)で表される。
C(a)=xG+aA=xG+a(H+rG)=(x+ra)G+aH・・・(4)
式(1)、(4)を比較すると分かるように、秘密鍵xは(x、r)に置き換わる。
【0108】
乱数値rを知る当事者は、ベースポイントAから「ビットコイントークン」等の種類を知ることができる一方、第三者は知ることができない。
なお、コンフィデンシャル・アセットでは、さらに、通貨の創造を防ぐためベースポイントAをリング署名で構成する。
【0109】
なお、上記では所謂シングルチェーンでの「DVPスワップ」について説明したが、クロスチェーンでの「DVPスワップ」や「アトミックスワップ」のように、複数のトランザクションを生成して通貨交換を行うようにしても良い。
すなわち、「取引決済サーバ200」と「取引端末10C」が生成するトランザクションの数は単数に限定されない。
【0110】
このように、「取引決済サーバ200」と「取引端末10C」は、上述の如く「DVPスワップ」により信頼関係を不要として、「1ビットコイントークン」と「70万円トークン」を交換するための取引内容等を暗号化したトランザクションを生成することができる。
【0111】
次いで、図17のST26へ進む。ST26では、「取引決済サーバ200」は図5の「取引決済サーバ側鍵情報記憶部224」の「取引決済サーバ200」の秘密鍵を用いて、当該トランザクションに「取引決済サーバ20」の電子署名を入力し、「取引端末10C」に送信する。
【0112】
次いで、ST27へ進む。ST27では、「取引端末10C」は、受信したトランザクションに「C取引端末側鍵情報記憶部15C」の「取引端末10C」の秘密鍵を用いて電子署名を入力する。
【0113】
この際に、「取引端末10C」が不正行為を働き、「取引決済サーバ200」に出力すべき「70万円トークン」の出力先を改変した場合、「取引決済サーバ200」が入力した電子署名の検証に失敗し、無効なトランザクションと判定される。
このように、上述の工程により、第三者を介さず、相手方と信頼関係なしに、安心して取引を行うことができる。
【0114】
次いで、ST28へ進む。ST28では、「取引決済サーバ200」と「取引端末10Cは」、生成したトランザクションを「検証サーバ100」に送信し、トランザクションの検証を要求すると共に、「検証サーバ100」がトランザクションを検証可能なように、「取引決済サーバ200」と「取引端末10C」は、トランザクションの秘匿化の際に用いた秘密鍵を併せて送信する。
【0115】
次いで、ST29へ進む。ST29では、図9の「復号部(プログラム)122」が動作し、「取引決済サーバ200」と「取引端末10C」から、送信された秘密鍵を用いて、「トークン」の交換量(取引量)、種類といった取引内容を表す情報を復号する。
【0116】
次いで、図9の「承認部(プログラム)123」が動作し、復号した取引内容が適正か否かを検証し、適正な場合は、当該トランザクションを承認し、適正でない場合は、当該トランザクションを承認しない。
【0117】
具体的には、例えば、「検証サーバ100」の「承認部(プログラム)123」は、上記のトランザクションで交換される「ビットコイントークン」の数量と「円トークン」の数量とから、「取引決済サーバ200」と「取引端末10C」との間で行われる通貨交換取引の取引価格(交換レート)を算出する。
【0118】
「ビットコイントークン」は、仮想通貨に、「円トークン」は法定通貨に対応するため、算出した価格は、法定通貨に対する仮想通貨の売買価格に相当する。
また、「検証サーバ200」は、法定通貨に対する仮想通貨の現在の時価情報を、所定の外部API(Application Programmable Interface)から取得する。
【0119】
そして、「検証サーバ100」は、上記で算出した取引価格と、一般に流通する仮想通貨の取引価格(流通ルート)との差分が所定の閾値以上であるか否かを判断する。
両者の差分が閾値以上であると判定した場合、「検証サーバ100」は、当該トランザクションが不適切な取引に係るものと判定し、当該トランザクションを承認しない。
【0120】
金融取引では、一般的に、不適切な取引を取り締まるため、法令、自主規制等を含めて種々の規制が設けられている。
一方で、本システム1はブロックチェーンを用いた分散型の取引システムであり、取引を管理する中央集権的な管理者が存在しない。
しかし、取引を完全にユーザのみに委ねた場合、一般的な金融取引の規制に鑑みて、不適切な取引が行われるおそれがある。
【0121】
例えば、当事者同士が結託し、少額の日本円を多額の仮想通貨(ビットコイン)と交換することで、資金洗浄のような行為が発生するおそれがある。
そこで、本実施の形態では、「検証サーバ100」が取引内容を検証することで、不適切な取引を防止する。
【0122】
例えば、検証サーバは、上述の如く、トランザクションにより交換される通貨の交換レートを検証し、不適切な取引であるか否かを判定する。
その他にも、「検証サーバ100」は、各取引端末のID、UTXO等の取引に関わる情報を検証し、不適切な取引であるか否かを判定する。
【0123】
なお、本実施の形態では、上記では、通貨の交換レート、当事者のID、UTXO等を基準に検証を行っているが、本発明は、これに限定されるものではなく、例えば、通貨の取引量等を基準に検証を行っても構わない。
【0124】
すなわち、「検証サーバ100」は、取引内容が適合する適正なトランザクションであるか否かを判定可能であれば良く、その判定条件は特に限定されない。
【0125】
次いで、図18のST31では、「検証サーバ100」の「承認部(プログラム)123」が、適正な取引であると判定し、検証に成功した場合、「検証サーバ100」は、図8の「検証サーバ側鍵情報記憶部113」の「検証サーバ100」の秘密鍵を用いて、当該トランザクションに電子署名を付加し、サイドチェーンのネットワークにブロードキャストする。
【0126】
次いで、ST32へ進む。ST32では、「検証サーバ100」からブロードキャストされたトランザクションは、「監査端末10D等」で検証が実行される。
「監査端末10D」等は、それらの図11に示す「監査端末検証部(プログラム)17D」が動作し、端末の計算力に依拠した「Pow」ではなく、サイドチェーンで採用される「ストロング・フェデレーション」のアルゴリズムによりトランザクションを検証し、サイドチェーンにブロックに追加することに同意する場合、各監査端末10D等は、当該ブロックに「監査端末10D」等の電子署名を入力する。
【0127】
「監査端末10D」等は、端末の計算力に依拠した「Pow」ではなく、サイドチェーンで採用される「ストロング・フェデレーション」のアルゴリズムによりトランザクションを検証して合意を形成する。
ストロング・フェデレーションでは、ラウンドロビンで処理が行われ、複数の監査端末のうち、いずかの監査端末10D等が順番にマスターに選出されて検証を行う。
マスターとなった監査端末10D等は、サイドチェーンのネットワーク上にブロードキャストされた各トランザクションのスクリプトを検証し、サイドチェーンに追加するブロックの候補を生成する。
マスターである「監査端末10D」等は、生成したブロックの候補を他の「監査端末
に送信する。
【0128】
次いで、ST33へ進む。ST33では、「複数の監査端末10D等のうち、所定数の監査端末から電子署名が入力された場合、当該ブロックはサイドチェーンに追加され、「取引決済サーバ200」と「取引端末10C」の間のトランザクションはサイドチェーンに正常に取り込まれる。
【0129】
サイドチェーン上では、ストロング・フェデレーションを採用するため、「監査端末10D」等の計算力に依拠しないため、計算負荷が大きく削減され、合意形成に要する時間を短時間とし、迅速な取引を実行することができる。
一方で、所定数の「監査端末10D」等の同意を必要とすることで、メインチェーンで担保されているセキュリティ(ビザンチン耐性)を維持することができる。
【0130】
次いで、ST34へ進む。ST34では、「取引決済サーバ100」は、「監査端末10D」等及び/又は検証サーバ100に、メインチェーン上で「1ビットコイン」をロックしている「ロッキングトランザクション」の解除を要求する。
【0131】
次いで、ST35では、「取引端末10C」は、サイドチェーンの「ビットコイントークン」をメインチェーンの「ビットコイン」に変換するため、ペグアウトの要求を「監査端末10D」等に送信、または、サイドチェーンに埋め込む。
【0132】
次いで、ST36へ進む。ST36では、「ペグアウト」の要求を受けた、各「監査端末10D」等は、「取引端末10C」が「ビットコイントークン」を保持するサイドチェーン上、すなわち、「検証サーバ100」の「UTXO」を検証する。
【0133】
次いで、ST37へ進む。ST37では、所定数の監査端末10D等が、検証に成功し、ペグアウトを承認した場合、ロッキングトランザクションに各「監査端末10D」等が電子署名を入力し、「ビットコイン」のロックを解除する。
【0134】
「1ビットコイン」のロックが解除されることにより、「取引端末10C」は、自らのウォレットアドレスに「ビットコイン」を送信可能となる。
なお、ロックが解除される「ビットコイン」は、今回の取引において「取引決済サーバ200」が、ロックした「ビットコイン」とは限らず、他の取引でロックされた「ビットコイン」である場合で良い。
【0135】
なお、「取引決済サーバ200」が、ペグイン時に「ビットコイン」をロックしておいたロッキングトランザクションと、取引の相手方である「取引端末10C」がペグアウト時にアンロックするロッキングトランザクションは必ずしも一致せず、他の取引において他の「取引端末10C」が生成したロッキングトランザクションである場合もあり得る。
【0136】
次いで、ST38へ進む。ST38では、「取引決済サーバ200」は、上述のトランザクションにより取得した「円トークン」に基づく法定通貨(70万円)の償還要求を送信サーバに送信する。
【0137】
次いで、ST39へ進む。ST39では、償還要求を受け付けた「検証サーバ100」は、「取引決済サーバ200」が「70万円トークン」を保有しているか否かをチェックした後、「取引決済サーバ200」が保有する「円トークン」と等価な法定通貨(70万円)を、金融振込等の手段で取引決済サーバの口座に送金する。
【0138】
このように、本実施の形態では、「取引端末10C」は「1ビットコイントークン」をサイドチェーンからメインチェーンに移動するペグアウト(Peg-out)を行って「1ビットコイン」を取得すると共に、「取引決済サーバ200」は「円トークン」に基づく法定通貨(70万円)の償還要求を行い、金融振込等の手段で法定通貨(70万円)を取得する。
そして、これにより、「取引決済サーバ200」の「1ビットコイン」と、「取引端末10C」の法定通貨(70万円)との交換が完了する。
【0139】
また、本実施の形態では、サイドチェーンは、監査端末10D等や検証サーバ100により管理される「トークン」で取引が実行されるため、取引の安全が担保される構成となっている。
【0140】
続いて、他の取引、すなわち、「取引決済サーバ200」が「取引端末10A」に「10万円」を提供する契約も本システム1を利用して実行する。
この場合、上述の「取引端末10C」が「取引決済サーバ200」に「70万円」を提供する工程と、同様の工程を経て実行される。
【0141】
また、他の取引である「取引端末10C」に「1ビットコイン」を提供する契約も本システム1を利用して実行される。
その場合、上述の「取引端末10C」が「取引決済サーバ200」に「1ビットコイン」を提供する工程と、同様の工程を経て実行される。
【0142】
以上のように、本システム1を利用することで、仮想通貨(1ビットコイン)及び法定通貨(70万円)の交換を、所謂カウンターパーティのリスクなしに実現することができる。
また、第三者を介さずに相対取引で交換可能であり、当事者は売買対象である通貨のコントロールを自らで行うことができる。
さらに、「検証サーバ100」が実行する処理を組み合わせることで、通貨交換取引に一定の規制を加えることもできる。
また、複数の連続した契約について、個々の契約について、それぞれ処理すると不都合があるが、本実施の形態では、「取引決済サーバ200」等を動作させることで解決される。
【0143】
なお、「検証サーバ100」は、トランザクションの検証だけでなく、各トランザクションにより行われる取引記録の出力、つまり、本プラットフォーム上で行われる通貨交換取引のレポートを出力可能とする構成としても良い。
一般的な金融取引では、金融官庁からの要請に応じて取引記録を提出する必要がある。
これに対応して、「検証サーバ100」は、各トランザクションで暗号化されている取引内容を秘匿化用の秘密鍵を用いて復号し、取引記録を出力する。
これにより一般ユーザからは本プラットフォーム上での取引記録が秘匿化される一方、必要に応じて取引記録を閲覧可能とすることができる。
【0144】
本実施の形態では、ビットコイン等の仮想通貨と法定通貨である円の交換を例に説明したが、本実施の形態では、法定通貨は、円のみならず「USドル」や「ベトナムドン」等の他の国家の法定通貨としても構わない。
【0145】
また、本実施の形態では、仮想通貨と法定通貨との間の交換を例に説明したが、仮想通貨を媒介通貨等として、例えば、円とUS(アメリカ合衆国)ドルや円とベトナムドン等を交換する構成としても構わない。
この場合、日本円監査端末、USドル監査端末、ベトナムドン監査端末、マレーシアリンギット監査端末等を本実施の形態の図1のシステム1に配置することで、日本円、USドル、ベトナムドン、マレーシアリンギットをビットコイン等の仮想通貨を介して相互に交換することが可能となる。
【0146】
以上説明した実施形態においては、装置として実現される場合を例に挙げて説明したが、本発明は、これに限定されず、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD-ROM、DVDなど)光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納され頒布されてもよい。
【0147】
また、記憶媒体は、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であればよい。記憶媒体の記憶形式は、特には限定されない。
【0148】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
【0149】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体には限定されず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0150】
また、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づいて本実施形態における各処理を実行すればよく、1つのパソコン等からなる装置であってもよいし、複数の装置がネットワーク接続されたシステム等であってもよい。
【0151】
また、本発明におけるコンピュータとは、パソコンには限定されず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0152】
以上、本発明の実施形態について説明した。しかし、本発明は、上記実施形態に限定されず、特許請求の範囲を逸脱しない範囲で種々の変更を行うことができる。上記実施形態の構成は、その一部を省略したり、上記とは異なるように任意に組み合わせたりすることができる。
【符号の説明】
【0153】
1・・・ビットコイン取引システム、10A乃至10G・・・取引端末、11C・・・取引端末側制御部、11D・・・監査端末側制御部、12C・・・取引端末側通信装置、12D・・・監査端末側通信装置、13C・・・取引端末側ディスプレイ、13D・・・監査端末側ディスプレイ、14C・・・取引端末側各種情報入力装置、14D・・・監査端末側各種情報入力装置、15C・・・C取引端末側鍵情報記憶部、15D・・・監査端末側鍵情報記憶部、16C・・・取引端末側各種情報記憶部、17D・・・監査端末検証部(プログラム)、100・・・検証サーバ、101・・・検証サーバ側制御部、102・・・検証サーバ側通信装置、103・・・検証サーバ側ディスプレイ、104・・・検証サーバ側各種情報入力装置、110・・・検証サーバ側第1の各種情報記憶部、111、121・・・取引データベース、112・・・検証サーバ側マルチシグアドレス生成部(プログラム)、113・・・検証サーバ側鍵情報記憶部、114・・・検証サーバ側マルチシグアドレス記憶部、115・・・検証サーバ側トランザクション生成部(プログラム)、120・・・検証サーバ側第2の各種情報記憶部、122・・・復号部(プログラム)、123・・・承認部(プログラム)、200・・・取引決済サーバ、201・・・取引決済サーバ側制御部、202・・・取引決済サーバ側通信装置、203・・・取引決済サーバ側ディスプレイ、204・・・取引決済サーバ側各種情報入力装置、210・・・取引決済サーバ側第1の各種情報記憶部、211・・・条件情報記憶部、212・・・マッチング処理部(プログラム)、213・・・マッチング結果記憶部、214・・・ネッティング契約処理部、220・・・取引決済サーバ側第2の各種情報記憶部、221・・・ネッティング契約処理結果情報記憶部、222・・・セントラルカウンターパーティ契約処理結果情報記憶部、223・・・ロック用マルチシグアドレス生成部(プログラム)、224・・・取引決済サーバ側鍵情報記憶部、225・・・ロック用マルチシグアドレス記憶部、230・・・取引決済サーバ側第2の各種情報記憶部、231・・・ロッキングトランザクション生成部(プログラム)、232・・・ロッキングトランザクション記憶部、233・・・ビットコイントークン要求部(プログラム)、234・・・セントラルカウンターパーティ契約処理部(プログラム)、
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19