JP7011203B2 - 決済システム、決済方法、利用者装置、決済プログラム - Google Patents
決済システム、決済方法、利用者装置、決済プログラム Download PDFInfo
- Publication number
- JP7011203B2 JP7011203B2 JP2020523603A JP2020523603A JP7011203B2 JP 7011203 B2 JP7011203 B2 JP 7011203B2 JP 2020523603 A JP2020523603 A JP 2020523603A JP 2020523603 A JP2020523603 A JP 2020523603A JP 7011203 B2 JP7011203 B2 JP 7011203B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- payment
- blockchain
- network
- template
- 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
Links
- 238000000034 method Methods 0.000 title claims description 52
- 230000008569 process Effects 0.000 description 39
- 238000012795 verification Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001146209 Curio rowleyanus Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本発明は、ブロックチェーンの技術に関し、特に、複数のブロックチェーンを連携させる技術に関する。
中央集権的な管理を必要とせずに、信頼性を担保可能な仕組みがデジタル仮想通貨ビットコインを中心に普及しつつある。ブロックチェーンと呼ばれるこの仕組みにおいては、やり取りされる情報の信頼性が分散ネットワーク内の合意形成のプロセスによって担保され、かつ、改ざんや二重使用などの不正を系全体で防ぐことで健全性が保たれる。
ブロックチェーンでは、参加者間の仮想通貨の取引情報(トランザクション)が「ブロック」という単位でまとめられ、各ブロックは数珠つなぎとなって時系列順に管理される。新たなブロックの承認は、Proof of Workなどの分散ネットワークにおける合意アルゴリズムによって形成される。新たなブロックの承認は、ブロック内部に記録された通貨取引が系全体で合意されたことを示す。
このブロックチェーンを用いて管理される一連の取引情報の帳簿を「分散台帳」と呼び、ネットワークに参加する各ノード(端末)は同一の分散台帳を保持している。近年では、分散台帳に通貨取引だけでなく、高度なスクリプトコードを登録し、スクリプトコードの実行とその結果についても合意を得るブロックチェーン基盤技術も開発されている。例えばEthereumと呼ばれるブロックチェーン基盤は、トランザクションを入力としてスクリプトコードを実行し、その実行結果をツリー構造のキーバリュー型ストアに格納し、その時のストアの代表値もブロックに記録する分散台帳を持つ。
仮想通貨では、トランザクションは「誰から誰へいくら渡した」といった通貨の取引記録のみに限定されたが、これら後継のブロックチェーン技術では、利用者自身がトランザクションとスクリプトコードによって記録する情報をプログラマブルに設定することができる。そのため、証券取引、保険業務、著作権管理など通貨取引以外の様々な用途にブロックチェーンを応用することが容易になる。これらの基盤技術は、ある契約に関して参加者間で合意を得ることから、スマートコントラクト型のブロックチェーンと呼ばれている。
異なる役割を有する複数のブロックチェーンを連携させることで、一方の仮想通貨型のブロックチェーン上の支払いに応じて、他方のブロックチェーン上のサービスの提供を可能とする技術が特許文献1に記載されている。特許文献1の方法によれば、仮想通貨ブロックチェーン用の支払いトランザクションを、サービス提供用ブロックチェーンのトランザクションに内包させる。これにより、利用者(即ち、支払人)とサービス提供者(即ち、被支払人)とは、サービス提供用ブロックチェーンを監視するだけで、対価の支払いと、サービス提供の両方を管理することが可能となる。
特許文献1の方法では、サービスの対価の支払いにおいて、サービス提供者(被支払人)は、常にサービス提供用ブロックチェーンを監視する必要がある。サービス提供者は、自身の端末でサービス提供用ブロックチェーンに内包された仮想通貨ブロックチェーン用の支払トランザクションの正当性を検証し、正当性が検証されれば、サービスの提供を示すトランザクションをサービス提供用ブロックチェーン用のネットワークにブロードキャストする。ここで、サービス提供者は、支払いの検証からサービスの提供まで、サービス提供用ブロックチェーンへの接続を必要とする。
ところで、ブロックチェーンの特性を活かし、より透明性が高く監査可能なシステムを構築するためには、仲介するシステムを極力排除し、プロセスが自律的に実行されることが望ましい。
特許文献1の方法では、支払の検証からサービスの提供までの間は、サービス提供者が仲介することから、サービス提供者の端末の故障または不正により、一連のプロセスが正しく実行されない可能性がある。また、サービス提供者にとっても、常にサービス提供用ブロックチェーンを監視し続けることは、運用上のコストとなる。
本発明は、上記課題を鑑みてなされたものであり、本発明の目的は、複数のブロックチェーンを効率的に連携させることにある。
上記目的を達成するため、第1の本発明は、第1ブロックチェーンと、第2ブロックチェーンとを連携した決済システムであって、トランザクションの雛形を含む雛形情報トランザクションを、第1ブロックチェーンのネットワークに送信するサービス提供者装置と、第1ブロックチェーンに登録された前記トランザクションの雛形を用いて生成される電子署名と、支払金額とを含む支払情報トランザクションを、第1ブロックチェーンのネットワークに送信する利用者装置と、第1ブロックチェーンに含まれるスマートコントラクトと、を備え、前記スマートコントラクトは、前記支払情報トランザクションに含まれる電子署名をその支払金額と、前記トランザクションの雛形とを用いてを検証し、前記サービス提供者装置は、第1ブロックチェーンに登録された前記トランザクションの雛形と、前記電子署名と、前記支払金額とを用いて決済トランザクションを生成し、第2ブロックチェーンのネットワークに送信することを特徴とする。
第2の本発明は、第1ブロックチェーンと、第2ブロックチェーンとを連携した決済方法であって、サービス提供者装置は、トランザクションの雛形を含む雛形情報トランザクションを、第1ブロックチェーンのネットワークに送信し、利用者装置は、第1ブロックチェーンに登録された前記トランザクションの雛形を用いて電子署名を生成し、前記電子署名と、支払金額とを含む支払情報トランザクションを、第1ブロックチェーンのネットワークに送信し、第1ブロックチェーンに含まれるスマートコントラクトは、前記支払情報トランザクションに含まれる電子署名を、前記支払金額と前記トランザクションの雛形とを用いて検証し、前記サービス提供者装置は、第1ブロックチェーンに登録された前記トランザクションの雛形と、前記電子署名と、前記支払金額とを用いて決済トランザクションを生成し、第2ブロックチェーンのネットワークに送信することを特徴とする。
第3の本発明は、第1ブロックチェーンと、第2ブロックチェーンとを連携した決済システムにおける利用者装置であって、所定金額の保証金を送金する送金トランザクションを、第2ブロックチェーンのネットワークに送信する送金トランザクション生成部と、サービス提供者装置が第1ブロックチェーンに登録したトランザクションの雛形を用いて電子署名を生成し、当該電子署名と支払金額とを含む支払情報トランザクションを、第1ブロックチェーンのネットワークに送信する支払トランザクション生成部と、を備えることを特徴とする。
第4の本発明は、上記利用者装置として、コンピュータを機能させることを特徴とする決済プログラムである。
本発明によれば、複数のブロックチェーンを効率的に連携させることができる。
以下、本発明の実施の形態について、図面を参照して説明する。
図1は、本発明の実施の形態に係る決済システムの全体構成図である。本決済システムは、仮想通貨型ブロックチェーン(第2ブロックチェーン)での仮想通貨による支払いと、スマートコントラクト型ブロックチェーン(第1ブロックチェーン)によるサービス提供とを連携したシステムである。
仮想通貨型ブロックチェーンは、当該ブロックチェーンのP2Pネットワーク3(以下、「仮想通貨型ネットワーク」)に参加するノードによって共有される分散台帳である。仮想通貨型ブロックチェーンには、仮想通貨の取引履歴が登録される。どこからどこにいくらの仮想通貨を移動するかといった取引情報を記載したトランザクションが仮想通貨型ネットワーク3にブロードキャストされると、そのトランザクションを含むブロックが生成されて、生成されたブロックが仮想通貨型ブロックチェーンの末尾に追加される。
スマートコントラクト型ブロックチェーンは、当該ブロックチェーンのP2Pネットワーク4(以下、「スマートコントラクト型ネットワーク」)に参加するノードによって共有される分散台帳である。トランザクションがスマートコントラクト型ネットワーク4にブロードキャストされると、そのトランザクションを含むブロックが生成され、生成されたブロックがスマートコントラクト型ブロックチェーンの末尾に追加される。ブロックが追加されると、当該ブロックに含まれるトランザクションを入力として、参加ノードの端末上で事前に登録されたスクリプトコード(即ちスマートコントラクト)が実行され、分散台帳が更新される。このようなスマートコントラクト型ブロックチェーンを実現する基盤として例えば、Ethereum、Hyperledger Fabricなどが挙げられる。
利用者装置1は、スマートコントラクト型ブロックチェーンが提供するサービスの利用者が使用する装置である。利用者装置1は、トランザクション生成部11と、ブロックチェーンクライアント13とを備える。
トランザクション生成部11は、後述する「設定」、「支払」および「決済」の3つの処理(ステップ)のうち、「設定」と「支払」において、必要なトランザクションを生成する。生成したトランザクションは、ブロックチェーンクライアント13を介して、対応するブロックチェーンのネットワーク3、4に送信される。
「設定」処理では、利用者装置1は、「利用者のアドレスからマルチシグアドレスへのデポジットを行うトランザクション」を生成し、仮想通貨型ネットワーク3に送信する(ステップS1)。その後、利用者装置1は、「デポジット情報を登録するトランザクション」を生成し、スマートコントラクト型ネットワーク4に送信する(ステップS2)。
「支払」処理では、利用者装置1は、「支払いを示す電子署名と支払金額を登録するトランザクション」を生成し、スマートコントラクト型ネットワーク4に送信する(ステップS3)。
図2は、ブロックチェーンクライアント13の構成を示すブロック図である。本実施形態の利用者装置1は、仮想通貨型ネットワーク3およびスマートコントラクト型ネットワーク4と接続する。このため、ブロックチェーンクライアント13は、仮想通貨型ブロックチェーンクライアント14と、スマートコントラクト型ブロックチェーンクライアント15とを備える。
仮想通貨型ブロックチェーンクライアント14は、分散台帳141、と、ブロックチェーン制御部142とを備える。分散台帳141には、ブロックチェーン制御部142を介して、仮想通貨型ネットワーク3に接続された全ての端末(装置)と緩やかに同期することによって、リアルタイムに近い形で最新状態のブロックチェーンが記憶されている。
ブロックチェーン制御部142は、仮想通貨型ネットワーク3に接続された端末と自律分散的に協調してブロックチェーンの系を維持する。具体的には、ブロックチェーン制御部142は、分散台帳141にアクセスし、分散台帳141のブロックチェーンを読み出し、または、更新する。ブロックチェーン制御部142は、トランザクションを仮想通貨型ネットワーク3に送信する。
スマートコントラクト型ブロックチェーンクライアント15は、分散台帳151と、ブロックチェーン制御部152とを備える。分散台帳151およびブロックチェーン制御部152は、分散台帳141およびブロックチェーン制御部142と同様である。
サービス提供者装置2は、スマートコントラクト型ブロックチェーン上でサービスを運営するサービス提供者が使用する装置である。サービス提供者は、利用者からの支払いを受けて何らかのサービス(例えば、デジタルコンテンツの権利登録など)を、利用者に提供する。
サービス提供者装置2は、トランザクション生成部21と、トランザクション雛形生成部22と、ブロックチェーンクライアント23とを備える。
トランザクション生成部21およびトランザクション雛形生成部22は、「設定」、「支払」および「決済」の3つの処理のうち、「設定」および「決済」において必要なトランザクションを生成する。
「設定」処理では、サービス提供者装置2(トランザクション雛形生成部22)は、「トランザクション雛形を登録するトランザクション」を生成し、スマートコントラクト型ネットワーク4に送信する(ステップS4)。トランザクション雛形については、後述する。
「決済」処理では、サービス提供者装置2(トランザクション生成部21)は、「マルチシグアドレスからサービス提供者のアドレスへの支払いを確定するトランザクション」を生成し、仮想通貨型ネットワーク3に送信する(ステップS5)。
ブロックチェーンクライアント23は、利用者装置1のブロックチェーンクライアント13(図2参照)と同様であるため、ここでは説明を省略する。
本実施形態では、スマートコントラクト型ネットワーク4上には、2つのスマートコントラクトが事前に登録されている。具体的には、スマートコントラクト型ブロックチェーンのプロトコルに従って、ブリッジングコントラクト41およびサービスコントラクト42が、当該ネットワーク4に接続された各端末上の分散台帳151に登録されている。
ブリッジングコントラクトは、仮想通貨型ブロックチェーンとスマートコントラクト型ブロックチェーンとを連携するスマートコントラクトである。ブリッジングコントラクトは、利用者装置1から支払いに関する情報(電子署名、支払金額)を受け取り、その正当性を検証する。
サービスコントラクトは、ブリッジングコントラクトが支払情報の正当性を確認した後に、サービス提供者が実施するサービス(例えば、コンテンツの権利移転など)を実行するスマートコントラクトである。
どちらのスマートコントラクトも、格納している変数の状態を確認・参照するAPI(Application Programming Interface)を備える。例えば、利用者装置1は、APIを用いて、自身の分散台帳151からサービスコントラクトの実行結果を取得する(ステップS6)。また、サービス提供者装置2は、APIを用いて、自身の分散台帳からブリッジングコントラクトに登録されたデポジット情報および支払情報を取得する(ステップS7)。なお、図1のステップS6およびS7の破線は、自身の装置に格納された分散台帳を参照する処理を示す。
次に、本実施形態の処理を説明する。本実施形態では、「設定」、「支払」および「決済」の3つの処理を行う。
図3に、「設定」処理の概念図を示す。「設定」処理では、次の「支払」処理のために必要な準備をする。
まず、利用者装置1は、送金トランザクションを生成し、送金トランザクションを仮想通貨型ネットワーク3に送信(ブロードキャスト)する(ステップS11)。送金トランザクションは、利用者のアドレスから、利用者とサービス提供者とが共同で管理するマルチシグアドレス宛に、所定の金額のデポジット(保証金)を送金するトランザクションである。
マルチシグアドレスは、仮想通貨型ブロックチェーンにおいて、出金の際にトランザクションに対して複数人の電子署名を必要とするアドレスのことである。本実施形態では、利用者の電子署名と、サービス提供者の電子署名とが必要なマルチシグアドレスを用いる。ここでは、例えば、1.0BTCがマルチシグアドレスに送金されたとする。
送金トランザクションが仮想通貨型ネットワーク3に送信されることにより、送金トランザクションを含むブロックが生成され、端末間のゆるやかな同期により、当該ブロックが仮想通貨型ネットワーク3に接続された全ての端末の分散台帳(ブロックチェーン)に反映される。ここでは、仮想通貨型ブロックチェーンにおいて、利用者のアドレスから、マルチシグアドレス宛に、1.0BTCのデポジットが送金されたことが確定する。
次に、利用者装置1は、デポジットに関するデポジット情報を登録するためのトランザクション(保証金情報トランザクション)を、スマートコントラクト型ネットワーク4に送信する(ステップS12)。当該トランザクションは、デポジット情報として、少なくとも送金したデポジットの金額を含み、ステップS11の送金トランザクションのID、マルチシグアドレスなどの情報を、さらに含んでも良い。
このトランザクションがスマートコントラクト型ネットワーク4に送信されることにより、当該トランザクションを含むブロックが生成され、端末間のゆるやかな同期により、当該ブロックがスマートコントラクト型ネットワーク4に接続された全ての端末の分散台帳に反映される。これにより、全ての端末において、分散台帳のブリッジングコントラクトが管理するストレージ領域に、デポジット情報が登録される。
サービス提供者装置2は、自身の分散台帳に登録されているブリッジングコントラクトから、利用者装置1が登録したデポジット情報を取得する(ステップS13)。サービス提供者装置2は、取得したデポジット情報を用いて、トランザクションの雛型(トランザクション雛形)を作成する(ステップS14)。ここで、トランザクション雛形は、仮想通貨型ブロックチェーンのトランザクションを変形した、不完全なトランザクションの形式である。具体的には、「マルチシグアドレスからサービス提供者装置への送金(出金)を示すトランザクション」から、「送金額」および「すべての電子署名」の情報を除外したトランザクションである。
図4に、トランザクション雛形のイメージを図示する。図示する例では、入力に必要な「全ての電子署名」および出力に必要な「送金額」は、「null」(空欄)となっている。なお本例では、2種類の送金額が記載されている。一つは実質的にサービス提供者に送金する金額であり、もう一つは利用者へのお釣として送金する金額である。
なお、ステップS11では、マルチシグアドレスには1.0BTCがデポジットされている。次の「支払」処理では、利用者装置1は、このデポジットの範囲(1.0BTC)で、トランザクション雛形の「送金額(すなわち支払金額とお釣)」と「電子署名」とを更新して支払情報トランザクションを生成し、ブリッジングコントラクトに提出することになる。
そして、サービス提供者装置2は、仮想通貨型ブロックチェーンにおいて、ステップS11で送信された送金トランザクションを含むブロックが確定するのに十分な時間を経た上で、ステップS14で生成したトランザクション雛形を含む雛形情報トランザクションを、スマートコントラクト型ネットワーク4に送信する(ステップS15)。
これにより、当該雛形情報トランザクションを含むブロックが生成され、端末間のゆるやかな同期により、当該ブロックがスマートコントラクト型ネットワーク4に接続された全ての端末の分散台帳に反映される。ここでは、トランザクション雛形は、スマートコントラクト型ブロックチェーンのブリッジングコントラクトに登録される。
この時、サービス提供者装置2は、雛形情報トランザクションに、トランザクション雛形の他に、次の支払処理で行われる電子署名の検証に必要な情報(例えば、利用者装置1の仮想通貨のアドレスに関する公開鍵)を含めて送信し、ブリッジングコントラクトに登録してもよい。あるいは、ブリッジングコントラクトが、事前に電子署名の検証に必要な情報を保持していても良い。
次に、「支払」処理について説明する。
図5に、「支払」処理の概念図を示す。図5では、支払金額を更新しながら3回の支払処理を行う例を示す。
まず、1回目の支払いにおいて、利用者装置1は、「設定」処理でサービス提供者装置2が登録したトランザクション雛形を、自身の分散台帳のブリッジングコントラクトから取得する(ステップS21)。そして、利用者装置1は、トランザクション雛形から電子署名1を作成する(ステップS22)。
図6は、利用者装置1のステップS21およびステップS22の処理を示すフローチャートである。利用者装置1は、前述のとおり、ブリッジングコントラクトからトランザクション雛形を取得する(ステップS21)。そして、利用者装置1は、取得したトランザクション雛形に支払金額1(ここでは、0.3BTCとする)を設定し、署名前トランザクション1を生成する(ステップS221)。そして、利用者装置1は、署名前トランザクション1に対して、マルチシグアドレスに対応する利用者の秘密鍵で電子署名1を生成する(ステップS222)。
図5に戻り、利用者装置1は、支払金額1と電子署名1とを含み、これらの情報をブリッジングコントラクトに登録するためのトランザクション(支払情報トランザクション)を生成し、スマートコントラクト型ネットワーク4に送信する(ステップS23)。これにより、当該トランザクションを含むブロックが生成され、端末間のゆるやかな同期により、当該ブロックがスマートコントラクト型ネットワーク4に接続された全ての端末の分散台帳に反映される。ここでは、スマートコントラクト型ブロックチェーンにおいて、支払金額1と電子署名1とが各端末のブリッジングコントラクトに登録される。
本トランザクションを含むブロックが分散台帳に登録される時、全ての端末上で、ブリッジングコントラクトによる所定の処理(支払い検証)が実行される(ステップS24)。
図7は、ブリッジングコントラクトが行うステップS24の検証処理を示すフローチャートである。まず、ブリッジングコントラクトは、ステップS23で利用者装置1が送信した「電子署名1と支払金額1(0.3BTC)とを登録するトランザクション」を取得する(ステップS241)。ブリッジングコントラクトは、取得したトランザクションの支払金額1と、その支払手数料(仮想通貨型ブロックチェーンにおいてマイナーに支払う手数料など)とを合わせた金額がデポジット金額(1.0BTC)を超えていないかを検証する(ステップS242)。
超えていないことが検証された場合(正当性が検証された場合)、ブリッジングコントラクトは、支払情報トランザクションに含まれる電子署名を、支払金額とトランザクションの雛形とを用いて検証する。具体的には、ブリッジングコントラクトは、設定処理(図3参照)で事前にブリッジングコントラクトに登録されたトランザクション雛形に、支払金額1を設定して署名前トランザクションを作成する(ステップS243)。支払金額1を設定する際には、利用者へのお釣となる送金額(1.0BTC-0.3BTC-支払手数料)もブリッジングコントラクト上で適切に計算され、設定される。次に、ブリッジングコントラクトは、作成した署名前トランザクションを用いて、電子署名1を検証する(ステップS244)。
この電子署名の検証方法として、ビットコインなどで用いられているECDSA方式の電子署名では、署名前のメッセージと電子署名とを用いて、検証用の公開鍵を復元できることが知られている。
そこで、ブリッジングコントラクトは、例えば図3のステップS15などで事前に登録しておいた署名検証に必要な情報(公開鍵、公開鍵のハッシュなど)を利用して、ステップS241で取得したトランザクションの電子署名1の正当性を検証する。すなわち、ブリッジングコントラクトは、生成した署名前トランザクションと、利用者装置1から送信された電子署名1とを用いて公開鍵を復元し、復元した公開鍵と事前に登録しておいた公開鍵とが一致する場合、電子署名1は正当であると検証する。一方、復元した公開鍵と事前に登録しておいた公開鍵とが一致しない場合、ブリッジングコントラクトは、電子署名1は正当でないと検証する。
そして、ブリッジングコントラクトは、電子署名1の正当性が検証された場合、サービスコントラクトを呼び出す(ステップS245)。
図5に戻り、電子署名1が正当であると検証された場合、ブリッジングコントラクトは、その支払金額1に応じたサービスを実行するためにサービスコントラクトを呼び出す。(ステップS25)。具体的には、ブリッジングコントラクトは、支払金額1などをパラメータとして、サービスコントコントラクトのメソッドを呼び出す(ステップS25)。これにより、サービスコントラクトは、支払金額に応じた所定のサービス(例えばデジタルコンテンツの権利移転など)を実行する。
図5では、利用者装置1は、ステップS21~S25の支払処理を3回の実施し、その都度、サービスコントラクトによるサービスが実施される。2回目の支払処理(ステップS31~S35)および3回目の支払処理(ステップS31~S35)は、1回目の支払処理(ステップS21~S25)と同様である。
ただし、支払金額は、支払金額1(0.3BTC)<支払金額2(0.6BTC)<支払金額3(0.9BTC)の関係が成り立ち、最後の支払金額(0.9BTC)が最終的な決済金額となる。ここで、2回目以降の支払金額は、前回の支払金額に今回のサービス分の支払金額を加算したものである。図5に示す例では、利用者装置1は、3回の支払いを行い、その都度0.3BTC分のサービスが提供されることを示している。
なお、図5では、利用者装置1は、3回に渡っての支払情報トランザクションを、スマートコントラクト型ネットワーク4にブロードキャストしているが(ステップS23、S33、S43)、もし、3回目の支払いで、下記で説明する「決済」処理を行なった場合、サービス提供者装置2は、1回目と2回目の支払情報を用いて決済を行うことはできない。例え1回目と2回目の支払情報を用いて決済トランザクションを生成し、ブロードキャストしたとしても、仮想通貨型ブロックチェーンの合意検証のプロセスで弾かれ、ネットワーク的に無効となる。
最後に「決済」処理について説明する。
図8は、「決済」処理を示す図である。サービス提供者装置2は、任意のタイミングで支払いを締めて、仮想通貨型ブロックチェーン上に支払いを反映させる。まず、サービス提供者装置2は、最終的な支払金額3と、電子署名3と、トランザクション雛形とを、自装置の分散台帳(ブリッジングコントラクト)から取得する(ステップS51)。
そして、サービス提供者装置2は、トランザクション雛形に支払金額3と電子署名3を設定して決済トランザクションを生成する。この時点の決済トランザクションは、「利用者装置1のみの電子署名が付与された、マルチシグアドレスからサービス提供者へ送金するトランザクション」である。すなわち、この時点の決済トランザクションは、サービス提供者装置2の電子署名がないため、有効なトランザクションではない。
そこで、サービス提供者装置2は、マルチシグアドレスからの送金を有効にするために、決済トランザクションに、自身の端末上でマルチシグに対応する自身の秘密鍵で電子署名を付与し、仮想通貨型ブロックチェーン上で有効となるトランザクションを作成する(ステップS52)。署名後の決済トランザクションは、利用者とサービス提供者の2つの電子署名を持つため仮想通貨型ブロックチェーン上で有効となる。
なお、マルチシグアドレスを使用しない場合は、サービス提供者装置2は、決済トランザクションに自身の電子署名を付与する必要はない。
サービス提供者装置2は、署名後の決済トランザクションを仮想通貨型ネットワーク3に送信し、決済する(ステップS53)。決済トランザクションが仮想通貨型ネットワーク3に送信されることにより、決済トランザクションを含むブロックが生成され、端末間のゆるやかな同期により、当該ブロックが仮想通貨型ネットワーク3に接続された全ての端末の分散台帳に反映される。ここでは、仮想通貨型ブロックチェーンにおいて、マルチシグアドレスから、サービス提供者のアドレス宛に、0.9BTCの支払金額3送金され、決済が完了する。
なお、サービス提供者装置2が決済トランザクションを仮想通貨型ネットワーク3に送信するまで(ステップS53)、すなわちサービス提供者が支払いを締めるまで、利用者装置1は、図5に示すn回目の支払処理を行い、支払金額を書き換えて、追加のサービス提供を受けることができる。
以上説明した本実施形態では、「支払」処理においてサービス提供者装置2は介在せず、支払の検証からサービスの提供までをスマートコントラクト型ブロックチェーン上で全て実行する。すなわち、特許文献1でサービス提供者装置2が実行していたプロセスを、スマートコントラクト型ブロックチェーンが担う。
これにより、本実施形態では、サービス提供者装置2は、支払いの検証からサービスの提供まで、スマートコントラクト型ブロックチェーンへの接続を必要としない。すなわち、サービス提供者装置2は、スマートコントラクト型ブロックチェーンを常に監視する必要がないため、運用コストが低減する。
また、本実施形態では、支払の検証からサービスの提供までの間、サービス提供者装置2が仲介しないため、サービス提供者装置2の故障またはサービス提供者の不正により、一連の支払処理が正しく実行されない状況を回避することができる。
また、本実施形態では、支払の検証からサービスの提供を、スマートコントラクト型ブロックチェーンのブリッジングコントラクトおよびサービスコントラクトが、自律的に実行するため、より透明性が高く監査可能なシステムを構築することができる。
また、本実施形態では、トランザクション雛形をスマートコントラクト型ブロックチェーンに登録し、利用者装置1およびサービス提供者装置2は、自身の分散台帳からトランザクション雛形を取得して利用するため、トランザクションの送信数を削減し、ブロックの肥大化を抑制し、また、ブロックの計算コストも削減することができる。
また、本実施形態では、利用者の電子署名とサービス提供者の電子署名とが必要なマルチシグアドレスを利用したトランザクションを使用する。これにより、利用者装置1が、勝手に決済トランザクションを仮想通貨型ブロックチェーンに登録し、仮想通貨を使用することを防止することができる。すなわち、本実施形態では、サービス提供者装置2のみが、決済トランザクションに自身の電子署名を付与して仮想通貨型ブロックチェーンに登録することができる。すなわち、サービス提供者装置2が、決済のタイミングを制御することができ、任意のタイミングで決済を確定させることができる。
なお、上記説明した利用者装置1およびサービス提供者装置2は、例えば、CPU(Central Processing Unit、プロセッサ)と、メモリと、ストレージ(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置と、入力装置と、出力装置とを備える汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、利用者装置1およびサービス提供者装置2の各機能は、利用者装置1用のプログラムの場合は利用者装置1のCPUが、サービス提供者装置2用のプログラムの場合はサービス提供者装置2のCPUが、それぞれ実行することにより実現される。
また、利用者装置1用のプログラム、および、サービス提供者装置2用のプログラムは、HDD、SSD、USBメモリ、CD-ROM、DVD-ROM、MOなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
また、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、本実施形態のスマートコントラクトは、図1に示すように、ブリッジングコントラクトと、サービスコントラクトの2つの種類のスマートコントラクトを備える。しかしながら、1つのスマートコントラクトが、ブリッジングコントラクトとサービスコントラクトの両方の機能を備えることとしてもよい。
また、本実施形態では、1つのサービスコントラクトの場合を例として説明したが、サービスコントラクトは複数あってもよい。この場合、各サービスコントラクトは、それぞれ異なる種類のサービスを実施し、ブリッジングコントラクトは、支払情報トランザクションで指定されたサービスに対応するサービスコントラクトを呼び出す。
1 :利用者装置
11:トランザクション生成部
13:ブロックチェーンクライアント
14:仮想通貨用ブロックチェーンクライアント
15:スマートコントラクト用ブロックチェーンクライアント
2 :サービス提供者装置
21:トランザクション生成部
22:トランザクション雛形生成部
23:ブロックチェーンクライアント
24:仮想通貨用ブロックチェーンクライアント
25:スマートコントラクト用ブロックチェーンクライアント
3 :仮想通貨型ブロックチェーンのネットワーク
4 :スマートコントラクト型ブロックチェーンのネットワーク
41:ブリッジングコントラクト
42:サービスコントラクト
11:トランザクション生成部
13:ブロックチェーンクライアント
14:仮想通貨用ブロックチェーンクライアント
15:スマートコントラクト用ブロックチェーンクライアント
2 :サービス提供者装置
21:トランザクション生成部
22:トランザクション雛形生成部
23:ブロックチェーンクライアント
24:仮想通貨用ブロックチェーンクライアント
25:スマートコントラクト用ブロックチェーンクライアント
3 :仮想通貨型ブロックチェーンのネットワーク
4 :スマートコントラクト型ブロックチェーンのネットワーク
41:ブリッジングコントラクト
42:サービスコントラクト
Claims (7)
- 第1ブロックチェーンと、第2ブロックチェーンとを連携した決済システムであって、
トランザクションの雛形を含む雛形情報トランザクションを、第1ブロックチェーンのネットワークに送信するサービス提供者装置と、
第1ブロックチェーンに登録された前記トランザクションの雛形を用いて生成される電子署名と、支払金額とを含む支払情報トランザクションを、第1ブロックチェーンのネットワークに送信する利用者装置と、
第1ブロックチェーンに含まれるスマートコントラクトと、を備え、
前記スマートコントラクトは、前記支払情報トランザクションに含まれる電子署名を、前記支払金額と前記トランザクションの雛形とを用いて検証し、
前記サービス提供者装置は、第1ブロックチェーンに登録された前記トランザクションの雛形と、前記電子署名と、前記支払金額とを用いて決済トランザクションを生成し、第2ブロックチェーンのネットワークに送信すること
を特徴とする決済システム。 - 請求項1記載の決済システムであって、
前記スマートコントラクトは、第1ブロックチェーンに登録された前記トランザクションの雛形に前記支払金額を設定して署名前トランザクションを生成し、当該署名前トランザクションを用いて前記電子署名を検証し、正当性が検証された場合に前記支払金額に応じたサービスを実行すること
を特徴とする決済システム。 - 請求項1記載の決済システムであって、
前記利用者装置は、
マルチシグアドレスへ所定金額の保証金を送金する送金トランザクションを、第2ブロックチェーンのネットワークに送信し、
前記所定金額を含む保証金情報トランザクションを、第1ブロックチェーンのネットワークに送信し、
前記サービス提供者装置は、前記決済トランザクションに自身の電子署名を付加し、署名後の決済トランザクションを第2ブロックチェーンのネットワークに送信すること
を特徴とする決済システム。 - 請求項3記載の決済システムであって、
前記スマートコントラクトは、前記支払金額に手数料を加えた金額が、前記保証金の所定金額を超えていないかを検証すること
を特徴とする決済システム。 - 第1ブロックチェーンと、第2ブロックチェーンとを連携した決済方法であって、
サービス提供者装置は、
トランザクションの雛形を含む雛形情報トランザクションを、第1ブロックチェーンのネットワークに送信し、
利用者装置は、
第1ブロックチェーンに登録された前記トランザクションの雛形を用いて電子署名を生成し、
前記電子署名と、支払金額とを含む支払情報トランザクションを、第1ブロックチェーンのネットワークに送信し、
第1ブロックチェーンに含まれるスマートコントラクトは、前記支払情報トランザクションに含まれる電子署名を、前記支払金額と前記トランザクションの雛形とを用いて検証し、
前記サービス提供者装置は、第1ブロックチェーンに登録された前記トランザクションの雛形と、前記電子署名と、前記支払金額とを用いて決済トランザクションを生成し、第2ブロックチェーンのネットワークに送信すること
を特徴とする決済方法。 - 第1ブロックチェーンと、第2ブロックチェーンとを連携した決済システムにおける利用者装置であって、
所定金額の保証金を送金する送金トランザクションを、第2ブロックチェーンのネットワークに送信する送金トランザクション生成部と、
サービス提供者装置が第1ブロックチェーンに登録したトランザクションの雛形を用いて電子署名を生成し、当該電子署名と支払金額とを含む支払情報トランザクションを、第1ブロックチェーンのネットワークに送信する支払トランザクション生成部と、を備えること
を特徴とする利用者装置。 - 請求項6に記載の利用者装置として、コンピュータを機能させることを特徴とする決済プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018108901 | 2018-06-06 | ||
JP2018108901 | 2018-06-06 | ||
PCT/JP2019/019878 WO2019235198A1 (ja) | 2018-06-06 | 2019-05-20 | 決済システム、決済方法、利用者装置、決済プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019235198A1 JPWO2019235198A1 (ja) | 2021-06-03 |
JP7011203B2 true JP7011203B2 (ja) | 2022-01-26 |
Family
ID=68770262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020523603A Active JP7011203B2 (ja) | 2018-06-06 | 2019-05-20 | 決済システム、決済方法、利用者装置、決済プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210233068A1 (ja) |
JP (1) | JP7011203B2 (ja) |
WO (1) | WO2019235198A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10685009B1 (en) * | 2016-10-20 | 2020-06-16 | Massachusetts Mutual Life Insurance Company | Systems and methods for trigger based synchronized updates in a distributed records environment |
JP7180223B2 (ja) * | 2018-09-12 | 2022-11-30 | 富士通株式会社 | 取引管理装置、取引管理方法および取引管理プログラム |
US20200134719A1 (en) * | 2018-10-30 | 2020-04-30 | ZenBusiness PBC | Distributed ledger implementation for entity formation and monitoring system |
CN110047008A (zh) * | 2018-12-18 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种基于区块链的理赔方法和装置 |
CN111008838A (zh) * | 2019-12-20 | 2020-04-14 | 深圳前海星际同辉科技有限公司 | 基于区块链的交易平台系统方法、终端及存储介质 |
JP7473911B2 (ja) | 2020-04-21 | 2024-04-24 | 清水建設株式会社 | 施工情報管理システム、及び施工情報管理方法 |
JP7465764B2 (ja) * | 2020-08-31 | 2024-04-11 | 株式会社日立製作所 | 電子決済システムおよび電子決済方法 |
JP6982345B1 (ja) * | 2020-10-06 | 2021-12-17 | 株式会社Datachain | 取引システム |
CN116964985A (zh) * | 2021-03-29 | 2023-10-27 | 富士通株式会社 | 通知控制方法、验证方法、信息处理装置以及通知控制程序 |
CN113469690B (zh) * | 2021-07-23 | 2024-03-26 | 佳乔(深圳)投资有限公司 | 一种基于区块链的交易结算方法 |
CN116416065A (zh) * | 2023-04-13 | 2023-07-11 | 广州佳禾科技股份有限公司 | 一种基于区块链的云链签系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017204070A (ja) | 2016-05-10 | 2017-11-16 | 日本電信電話株式会社 | 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム |
CN108323232A (zh) | 2017-05-16 | 2018-07-24 | 北京大学深圳研究生院 | 一种多层级区块链系统之间索引与链拓扑结构的维护方法 |
-
2019
- 2019-05-20 WO PCT/JP2019/019878 patent/WO2019235198A1/ja active Application Filing
- 2019-05-20 JP JP2020523603A patent/JP7011203B2/ja active Active
- 2019-05-20 US US16/972,240 patent/US20210233068A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017204070A (ja) | 2016-05-10 | 2017-11-16 | 日本電信電話株式会社 | 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム |
CN108323232A (zh) | 2017-05-16 | 2018-07-24 | 北京大学深圳研究生院 | 一种多层级区块链系统之间索引与链拓扑结构的维护方法 |
Non-Patent Citations (1)
Title |
---|
藤本 真吾,4F1-2 ブロックチェーンの安全な連携方式の提案,2018年 暗号と情報セキュリティシンポジウム(SCIS2018)予稿集 [USB] 2018年 暗,2018年01月23日,Pp.1-6 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019235198A1 (ja) | 2021-06-03 |
WO2019235198A1 (ja) | 2019-12-12 |
US20210233068A1 (en) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7011203B2 (ja) | 決済システム、決済方法、利用者装置、決済プログラム | |
JP7021747B2 (ja) | 決済システム、決済方法、利用者装置、決済プログラム | |
US20220084020A1 (en) | System and method for scaling blockchain networks with secure off-chain payment hubs | |
EP3688929B1 (en) | System and method for providing privacy and security protection in blockchain-based private transactions | |
US10901983B2 (en) | System and method for universal blockchain interoperability | |
JP6813477B2 (ja) | 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法 | |
CN109154885B (zh) | 区块链平台上的业务处理执行 | |
US20190172026A1 (en) | Cross blockchain secure transactions | |
CN110730963B (zh) | 用于信息保护的系统和方法 | |
JP6218979B1 (ja) | ブロックチェーンを利用した金融取引方法およびシステム | |
JP2017204070A (ja) | 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム | |
EP3957025B1 (en) | System and method for providing privacy and security protection in blockchain-based private transactions | |
WO2020199703A1 (zh) | 一种区块链交易的方法、装置和系统 | |
KR102627868B1 (ko) | 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템 | |
TW202139127A (zh) | 用於與區塊鏈相關聯之服務平台之運算服務 | |
CN111640002A (zh) | 一种基于区块链的货押贷款方法和装置 | |
WO2019142884A1 (ja) | ブロック検証装置、ブロック検証方法、及びプログラム | |
CN115619396A (zh) | 数据凭证处理方法、装置、区块链节点以及存储介质 | |
JP7254954B2 (ja) | ブロックチェーンで生成されたデータを認証する方法およびシステム | |
CN111598556A (zh) | 一种数字货币交换方法、装置、设备和介质 | |
KR102428950B1 (ko) | 오프체인 결제 방법 및 그 시스템 | |
Felley et al. | Towards usable off-chain payments | |
CN118608146A (zh) | 一种数据处理的方法、装置、设备、存储介质及程序产品 | |
CN115471328A (zh) | 一种物权转移方法、装置、客户端及区块链系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201117 |
|
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: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7011203 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |