JP7465764B2 - 電子決済システムおよび電子決済方法 - Google Patents
電子決済システムおよび電子決済方法 Download PDFInfo
- Publication number
- JP7465764B2 JP7465764B2 JP2020145947A JP2020145947A JP7465764B2 JP 7465764 B2 JP7465764 B2 JP 7465764B2 JP 2020145947 A JP2020145947 A JP 2020145947A JP 2020145947 A JP2020145947 A JP 2020145947A JP 7465764 B2 JP7465764 B2 JP 7465764B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- asset
- information
- funds
- unlock
- 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 90
- 208000033748 Device issues Diseases 0.000 claims 1
- 238000007726 management method Methods 0.000 description 80
- 230000008569 process Effects 0.000 description 71
- 230000007704 transition Effects 0.000 description 48
- 238000012546 transfer Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 230000010365 information processing Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 241000862969 Stella Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 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/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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本発明は、電子決済システムおよび電子決済方法に係り、特に、資産・資金を預託して、電子決済取引をする場合に、取引の安全性を担保しながら、資産・資金の流動性の低下を防止するのに好適な電子決済システムおよび電子決済方法に関する。
情報処理技術の進展により、株式などの証券の取引きを、サーバなどの情報処理装置とそれらを接続したネットワーク回線により構成されたシステムを介して行う電子商取引が一般的に普及してきている。
このような電子商取引の一例として、非特許文献1には、DvP(Delivery Versus Payment)取引において、HTLC(Hashed Timelock Contract)を実現するメカニズムが記載されている。この非特許文献1には、秘密情報やハッシュ関数、また、タイムアウトといった仕組みを活用した、資産/資金のアトミックな交換方法について記載されている。
ここで、DvP取引とは、証券と資金の授受をリンクさせ、代金の支払いが行われることを条件に証券の引渡しを行い、逆に、証券の引渡しが行われることを条件に代金の支払いを行うことにより、仮に決済不履行が生じても、両者において取りはぐれが生じない決済取引の方法である。
また、HTLCとは、まず、取引者の資産/資金をそれぞれエスクロー(Escrow:預託)用の領域に移動させ、その後、一方の資産/資金が相手に渡ると、もう一方の資産/資金も相手に移動可能とし、資産が移動されないままに一定時間たつと、タイムアウトとなり、エスクロー用の領域の資産をそれぞれ元の保有者が引き戻せるようにする取引メカニズムに関するものである。
また、非特許文献2には、このようなHTLCの問題点が指摘されている。
また、非特許文献2には、このようなHTLCの問題点が指摘されている。
TierNolan, Bitcoin Forum > Bitcoin > Development & Technical Discussion > Alt chains and atomic transfers、[online]、July 18, 2020、[令和02年7月18日検索]、インターネット<URL:https://bitcointalk.org/index.php? topic=193281.0>
日本銀行、欧州中央銀行、"Project Stella:日本銀行・欧州中央銀行による分散型台帳技術に関する共同調査報告書(第2フェーズ)"、2018年3月27日、[令和02年7月18日検索]、インターネット<URL:https://www.boj.or.jp/announcements/release_2018/data/rel180327a1.pdf,https://www.boj.or.jp/announcements/release_2018/data/rel180327a3.pdf,https://www.boj.or.jp/announcements/release_2018/data/rel180327a2.pdf,https://www.boj.or.jp/announcements/release_2018/data/rel180327a4.pdf>
上記非特許文献1には、複数の資産/資金決済装置をまたがり、かつ、仲介者なくDvP取引を実現するHTLCのメカニズムについて記載されている。
しかしながら、非特許文献1に記載されている技術は、取引不成立時の資産/資金の流動性の低下という課題がある。この点について、非特許文献2においては、「流動性の利用という観点からは、複数台帳HTLC方式の方が、単一台帳方式と比べて効率性が低くなる傾向にある。特に、資産のロックが行われたものの、決済が未了となり、タイムアウト時間経過後に元の所有者に戻る場合には、こうした傾向が強くなる。」と記載されている。
本発明の目的は、取引者が資産を預託する電子決済を利用したDvP取引において、ロック中の資産をタイムアウトによらずに安全に引き戻すことができ、取引の安全性を担保しつつ、取引不成立時における資産/資金の流動性を低下させることを回避することができる電子決済システムおよび電子決済方法を提供することにある。
本発明の電子決済システムの構成は、好ましくは、資産/資金に関するトランザクションを発行するトランザクション発行装置と、トランザクション発行装置とネットワークにより接続され、トランザクション発行装置の発行するトランザクションに基づいて資産/資金の決済を行う資産/資金決済装置とからなる電子決済システムであって、トランザクションは、資産/資金の数量と、トランザクション発行元の電子署名を含むロック解除情報と、取引者の公開鍵を含むロック解除条件とを有し、第一のトランザクションは、複数の連続してなるロック解除条件を保持するレコードからなり、第一のトランザクションのロック解除条件には、トランザクション発行元と異なる電子署名に関する公開鍵情報を含み、資産/資金決済装置は、トランザクション発行装置の発行する第一のトランザクションを台帳に転記して、第一のトランザクション後に発行された第二のトランザクションの実行の可否を、台帳に転記されたロック解除情報とロック解除条件と、第二のトランザクションの台帳のロック解除情報とロック解除条件とを、第一のトランザクションの複数の連続してなるロック解除条件の順序に従って、照合させることにより判定して、実行可と判定された第二のトランザクションを実行するようにしたものである。
本発明によれば、取引者が資産を預託する電子決済を利用したDvP取引において、ロック中の資産をタイムアウトによらずに安全に引き戻すことができ、取引の安全性を担保しつつ、取引不成立時における資産/資金の流動性を低下させることを回避することができる電子決済システムおよび電子決済方法を提供することができる。
以下、本発明に係る一実施形態を、図1ないし図33を用いて説明する。
先ず、図1ないし図3を用いて一実施形態に係る電子決済システムの構成について説明する。
本実施形態の電子決済システム100は、分散型台帳技術(DLT:Distributed Ledger Technology)を前提とするものである。分散型台帳技術では、市場における取引参加者(取引者)が共通の取引モデルに基づいたトランザクションと台帳を前提として、取引者がトランザクションを発行し、システム側でそのトランザクションを台帳に反映させ、かつ、発行されたトランザクションの成否を判断して取引が進められる。
本実施形態では、取引者としては、ユーザA、ユーザBが参加し、ユーザAが株式を提供し、その代価としてユーザBから通貨「円」を受取る取引のモデル(ユーザBは、通貨「円」により、ユーザAから株式を購入する)の取引イメージを例として説明する。
電子決済システム100は、二つ以上のトランザクション発行装置110(図1では、二つのトランザクション発行装置を有しており、それぞれ110A、110Bと表記)、二つ以上の資産/資金決済装置150(図1では、三つの資産/資金決済装置を有しており、それぞれ取り扱う資産/資金L、資産/資金M、資産/資金Nごとに、150L、150M、150Nと表記)、共有領域180を有しており、それぞれネットワーク5により接続されている。ネットワーク5は、LAN(Local Area Network)でもよいし、インターネットのようなグローバルネットワークであってもよい。
トランザクション発行装置110は、取引の単位としてのトランザクションを発行する情報処理装置である。トランザクション発行装置110A、110Bは、ユーザA、Bのアクセス端末10A、10Bのみから操作できるように、それぞれネットワーク7A、7Bにより接続されている。また、各トランザクション発行装置110A、110Bは、それぞれ複数の資産/資金決済装置150とデータを授受できるようにネットワーク5により接続されている。また、各トランザクション発行装置110A、110Bは、それぞれ共有領域180とデータを授受できるよう接続されている。共有領域180は、図示していないが、各トランザクション発行装置110A、110Bから共通にアクセスできるファイルサーバやデータベースサーバが提供する領域であり、DvP取引テンプレート記憶部181を有している。
トランザクション発行装置110は、それぞれのデータを記憶する記憶部として、鍵情報記憶部121、パラメータ記憶部122、取引状況管理情報記憶部123、作成中トランザクション記憶部124を有し、それぞれデータを処理する機能部として、資産/資金決済装置アクセス部111、共有領域アクセス部112、トランザクション発行部113、取引状況管理部114を有する。
資産/資金決済装置アクセス部111は、資産/資金決済装置150にネットワーク5を介してアクセスする機能部である。共有領域アクセス部112は、共有領域180のデータにアクセスする機能部である。トランザクション発行部113は、取引に係るトランザクションを発行する機能部である。取引状況管理部114は、取引を管理して、その情報をユーザに提示する機能部である。
なお、トランザクション発行装置110で扱うデータ構造は、後に詳説する。
資産/資金決済装置150は、トランザクションを受信し、トランザクションの内容を台帳に転記したり、そのトランザクションにより取引を進め決済を行う装置である。本実施形態では、資産/資金決済装置150L、160M、170Nは、それぞれ異なる資産/資金である資産/資金L、資産/資金M、資産/資金Nについて、各ユーザの保有残高を管理している。ここでいう資産/資金は、株式や国債などの証券や、通貨「円」、「ドル」、「ユーロ」などの取引の価値を担う単位である。ここでは、それぞれの装置が異なる資産/資金の台帳を有するようにしたが、一つの資産/資金決済装置150で複数の資産/資金を取り扱えるようにしてもよい。
資産/資金決済装置150は、それぞれのデータを記憶する記憶部として、台帳記憶部154、実行済トランザクション記憶部155、実行前トランザクション記憶部156を有し、それぞれデータを処理する機能部として、トランザクション受信部151、トランザクション実行可否判定部152、トランザクション実行部153を有する。
トランザクション受信部151は、トランザクション発行装置110が発行するトランザクションをネットワーク5を介して受信する機能部である。トランザクション実行可否判定部152は、受信したトランザクションの取引における可否を判定する機能部である。トランザクション実行部153は、取引が可と判定されたトランザクションを実行する機能部である。
なお、資産/資金決済装置150で扱うデータ構造は、後に詳説する。
本実施形態においては、ユーザAがユーザBへ資産/資金管理システム150で管理されている資産/資金L(株式)を引き渡し、対価として、ユーザBがユーザAへ資産/資金管理システム160で管理されている資産/資金M(通貨「円」)を引き渡すというシナリオに基づき説明する。
次に、図2および図3を用いてトランザクション発行装置と資産/資金決済装置のハードウェア・ソフトウェア構成について説明する。
トランザクション発行装置110のハードウェア構成としては、例えば、図2に示されるパーソナルコンピュータのような一般的な情報処理装置で実現される。
トランザクション発行装置110は、CPU(Central Processing Unit)4002、主記憶装置4004、ネットワークI/F(InterFace)4006、表示I/F4008、入出力I/F4010、補助記憶I/F4012が、バスにより結合された形態になっている。
CPU4002は、トランザクション発行装置110の各部を制御し、主記憶装置4004に必要なプログラムをロードして実行する。
主記憶装置4004は、通常、RAMなどの揮発メモリで構成され、CPU4002が実行するプログラム、参照するデータが記憶される。
ネットワークI/F4006は、ネットワーク5と接続するためのインタフェースである。
表示I/F4008は、LCD(Liquid Crystal Display)などの表示装置4020を接続するためのインタフェースである。
入出力I/F4010は、入出力装置を接続するためのインタフェースである。図2の例では、キーボード4030とポインティングデバイスのマウス4032が接続されている。
補助記憶I/F4012は、HDD(Hard Disk Drive)4050やSSD(Solid State Drive)などの補助記憶装置を接続するためのインタフェースである。
HDD4050は、大容量の記憶容量を有しており、本実施形態を実行するためのプログラムが格納されている。トランザクション発行装置110には、資産/資金決済装置アクセスプログラム4051、共有領域アクセスプログラム4052、トランザクション発行プログラム4053、取引状況管理プログラム4054がインストールされている。
資産/資金決済装置アクセスプログラム4051、共有領域アクセスプログラム4052、トランザクション発行プログラム4053、取引状況管理プログラム4054は、それぞれ資産/資金決済装置アクセス部111、共有領域アクセス部112、トランザクション発行部113、取引状況管理部114の機能を実現するプログラムである。
また、HDD4050には、鍵情報テーブル400、パラメータテーブル910、取引状況管理情報テーブル1010、作成中トランザクション200Mが格納されている。
また、資産/資金決済装置150のハードウェア構成としては、例えば、図3に示されるサーバ装置のような一般的な情報処理装置で実現される。
各機能部は、図2に示した資産/資金決済装置の各部の機能と同様である。
資産/資金決済装置150のHDD5050は、トランザクション受信プログラム5051、トランザクション実行可否判定プログラム5052、トランザクション実行プログラム5053がインストールされている。
トランザクション受信プログラム5051、トランザクション実行可否判定プログラム5052、トランザクション実行プログラム5053は、それぞれトランザクション受信部151、トランザクション実行可否判定部152、トランザクション実行部153の機能を実現するプログラムである。
また、資産/資金決済装置150のHDD5050には、台帳、実行済トランザクション、実行前トランザクションが格納されている。
次に、図4ないし図9を用いて本実施形態の電子決済システムにおけるデータ構造について説明する。
先ず、図4を用いて台帳の一例について説明する。
台帳300は、トランザクション発行装置110の発行したトランザクションを反映し、かつ、そのトランザクションの実行の可否を判定するために、資産/資金決済装置150が保持するデータである。
台帳300は、トランザクション発行装置110の発行したトランザクションを反映し、かつ、そのトランザクションの実行の可否を判定するために、資産/資金決済装置150が保持するデータである。
台帳300(図4は、資産/資金Lの例)は、データ属性310として、資産/資金ID311、残高312、ロック解除条件313を有する。ロック解除条件313は、項番314、公開鍵315、ハッシュ値316、時刻317のサブ属性によって構成される。また、台帳300は、データ属性310の各要素に対応するデータをもつ行単位の情報であるレコードを一つ以上有する。
なお、ロック解除条件313に関し、公開鍵315に対応するデータは、「当該レコードの資産を移転するには、発行されたトランザクションに、その記載のデータに対応する電子署名が必要」ということを意味する。また、ハッシュ値316に対応するデータは、「当該レコードの資産を移転するには、発行されたトランザクションに、ハッシュ関数の出力結果が記載のデータになるような入力となる秘密情報が必要」ということを意味する。時刻317に対応するデータは、「当該レコードの資産を移転するには、現在時刻が記載のデータが示す時刻以降であることが必要」ということを意味する。
また、ロック解除条件313に関し、項番314は、各条件の適用可能順序を示している。例えば、図4に示した例では、資産/資金ID311が「L0801」であるレコードについては、以下のいずれかの順序で、ロック解除条件に対応するトランザクションを実行する必要があることを意味する。
・「1,-」の条件
・「2,-」の条件
・「3,-」の条件後、「3,1」の条件
・「3,-」の条件後、「3,2」の条件
・「1,-」の条件
・「2,-」の条件
・「3,-」の条件後、「3,1」の条件
・「3,-」の条件後、「3,2」の条件
次に、図5を用いて鍵情報テーブルの一例について説明する。
鍵情報テーブル400(図5は、ユーザAの例)は、ユーザの秘密鍵と公開鍵の情報を格納するテーブルであり、図5に示されるように、データ属性410として、システム411、ユーザ412、秘密鍵413、公開鍵414を有する。また、鍵情報テーブル400は、データ属性410に対応するデータをもつ行単位の情報であるレコードを一つ以上要する。
鍵情報テーブル400(図5は、ユーザAの例)は、ユーザの秘密鍵と公開鍵の情報を格納するテーブルであり、図5に示されるように、データ属性410として、システム411、ユーザ412、秘密鍵413、公開鍵414を有する。また、鍵情報テーブル400は、データ属性410に対応するデータをもつ行単位の情報であるレコードを一つ以上要する。
システム411には、資産/資金決済装置のシステム名称が格納される。以下の例では、資産/資金の名称と同一視している。ユーザ412には、ユーザ名称が格納される。本実施形態では、取引のユーザは、「ユーザA」、「ユーザB」である。秘密鍵413、公開鍵414には、それぞれ公開鍵技術における秘密鍵のデータと、その秘密鍵に対応する公開鍵のデータが格納される。秘密鍵は、そのユーザ自身のみが知る暗号鍵であり、公開鍵は、取引に参与する者の全てが知ることを許される暗号鍵である。
なお、ユーザ名412が「Me」であるレコードは、当該レコードが、当該情報保有者自身に関するレコードであることを意味(ユーザAなら、「ユーザA」、ユーザBなら、「ユーザB」)し、秘密鍵413に対応するデータとして有効な値が記憶されているものとする。また、ユーザ名412が「Me」でないレコードは、当該レコードが、他社に関するレコードであることを意味し、秘密鍵413に対応するデータは空欄であるものとする。
次に、図6を用いて初期トランザクションテンプレートの一例について説明する。
初期トランザクションテンプレート700は、トランザクション発行装置において、初期トランザクションを生成するためのテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。ここで、初期トランザクションとは、取引の流れを台帳に転記するためのテンプレートであり、それ以降のトランザクションが発行されときには、転記された台帳のレコードとマッチングさせ、実行可否のときには、トランザクションが実行され、その対応する台帳のレコードは、実行後に抹消される(具体例は、後述)。なお、本実施形態では、初期トランザクション後に発行されるトランザクションを通常トランザクションということにする。
初期トランザクションテンプレート700は、トランザクション発行装置において、初期トランザクションを生成するためのテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。ここで、初期トランザクションとは、取引の流れを台帳に転記するためのテンプレートであり、それ以降のトランザクションが発行されときには、転記された台帳のレコードとマッチングさせ、実行可否のときには、トランザクションが実行され、その対応する台帳のレコードは、実行後に抹消される(具体例は、後述)。なお、本実施形態では、初期トランザクション後に発行されるトランザクションを通常トランザクションということにする。
本実施形態の初期トランザクションテンプレート700は、第一の初期トランザクションテンプレート700Aと、第二の初期トランザクションテンプレート700Bがあるものとする。
第一の初期トランザクションテンプレート700Aは、データ属性720として、トランザクションID721、資産/資金ID722、金額723、ロック解除情報724、ロック解除条件725を有する。このうちロック解除情報724は、電子署名726、秘密情報727のサブ属性によって構成され、トランザクションを発行した主体を明らかにするためのデータである。また、ロック解除条件725は、項番728、公開鍵729、ハッシュ値730、時刻731のサブ属性によって構成される。また、第一の初期トランザクションテンプレート700Aは、データ属性720の各要素に対応するデータを有する行単位の情報であるレコードを一つ以上有する。
第一の初期トランザクションテンプレート700Aにおいて、ロック解除条件725に対応するデータは、図4に示した台帳300におけるロック解除条件313と同様の意味を有する。
また、第二の初期トランザクションテンプレート700Bについても、データそのものは異なるものの、各々の意味は、第一の初期トランザクションテンプレート700Aと同様である。
次に、図7を用いて初期トランザクション実行結果テンプレートの一例について説明する。
初期トランザクション実行結果テンプレートは、初期トランザクション発行後に、取引に参加するユーザが、その取引パターンを検証するためのテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。
初期トランザクション実行結果テンプレートは、初期トランザクション発行後に、取引に参加するユーザが、その取引パターンを検証するためのテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。
本実施形態の初期トランザクション実行結果テンプレート800は、第一の初期トランザクション実行結果テンプレート800Aと、第二の初期トランザクション実行結果テンプレート800Bがあるものとする。
第一のトランザクション実行結果テンプレート800Aは、データ属性820として、資産/資金ID821、残高822、ロック解除条件823を有する。このうちロック解除条件823は、項番824、公開鍵825、ハッシュ値826、時刻827のサブ属性によって構成される。また、第一のトランザクション実行結果テンプレート800Aは、データ属性820の各要素に対応するデータをもつ行単位の情報であるレコードを一つ以上有する。
第一の初期トランザクション実行結果テンプレートに800Aおいて、ロック解除条件823に対応するデータは、図3の台帳300におけるロック解除条件313と同様の意味を有する。
第二の初期トランザクション実行結果テンプレート800Bについても、データそのものは異なるものの、その意味は、第一の初期トランザクション実行結果テンプレート800Aと同様である。
次に、図8Aおよび図8Bを用いてパラメータテンプレートについて説明する。
パラメータテンプレート900は、他のテンプレートで参照されるパラメータに関する情報を保持するテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。本実施形態では、パラメータテンプレート900の値を埋めたデータ構造を、パラメータテーブルといい、パラメータテーブルに格納されている値をパラメータということにする。
パラメータテンプレート900は、他のテンプレートで参照されるパラメータに関する情報を保持するテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。本実施形態では、パラメータテンプレート900の値を埋めたデータ構造を、パラメータテーブルといい、パラメータテーブルに格納されている値をパラメータということにする。
本実施形態のパラメータテンプレート900は、第一のパラメータテンプレート900Aと、第二のパラメータテンプレート900Bがあるものとする。
第一のパラメータテンプレート900Aは、データ属性920として、資産/資金921、変数名922、区分923、取得手段924、値925を有する。このうち資産/資金921は、資産/資金1:920、資産/資金2:921によって構成される。資産/資金1:920、資産/資金2:921は、それぞれサブ属性として、システム930、資産/資金ID931のサブ属性を有する。
変数名922には、テンプレートとして参照されるときの変数の名称が格納される。区分は、「公開鍵」、「秘密情報」、「ハッシュ値」などの変数のカテゴリである。取得手段924は、システムが値を求めるときの方法が格納される。
値920は、区分923が「公開鍵」であるレコードに限り、資産/資金1:928、資産/資金2:929のサブ属性に分けることも可能とする。資産/資金1:928、資産/資金2:929は、資産/資金1:920、資産/資金2:921によって定義されたシステム、それぞれのシステム、資産/資金IDに対応して、それぞれのレコードに定義された変数名の値が格納されることを意味する。
また、第一のパラメータテンプレート900Aは、データ属性920の各要素に対応するデータを有する行単位の情報であるレコードを一つ以上有する。
なお、変数名922のデータは、図6の初期トランザクションテンプレート700のロック解除条件725のデータや、図7の初期トランザクション実行結果テンプレート800のロック解除条件823のデータと対応する。区分923のデータは、本実施形態においては、「公開鍵」「秘密情報」「ハッシュ値」「時刻」の4種類が定義し得るものとする。取得手段924のデータは、本実施形態においては「参照」「作成」の2種類が定義し得るものとする。
第二のパラメータテンプレート900Bについても、データそのものは異なるものの、その意味は、第一のパラメータテンプレート900Aと同様である。
次に、図9を用いて取引状況管理情報テンプレートについて説明する。
取引状況管理情報テンプレート1000は、ユーザがとり得る取引をシステム側から提示するためのテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。取引状況管理情報テンプレート1000は、取引状況管理情報記憶部123に取引状況管理情報テーブルとして保持される。
取引状況管理情報テンプレート1000は、ユーザがとり得る取引をシステム側から提示するためのテンプレートであり、共有領域180のDvP取引テンプレート記憶部181に保持される。取引状況管理情報テンプレート1000は、取引状況管理情報記憶部123に取引状況管理情報テーブルとして保持される。
本実施形態の取引状況管理情報テンプレート1000は、第一の取引状況管理情報テンプレート1000Aと、第二の取引状況管理情報テンプレート1000Bによって構成される。
第一の取引状況管理情報テンプレート1000Aは、図9に示されるように、データ属性1020として、資産/資金1021、項番1022、至急フラグ1023、区分1024を有する。資産/資金1021、サブ属性として、システム1030、資産/資金ID1031のサブ属性を有する。
また、第一の取引状況管理情報テンプレート1000Aは、データ属性1020の各要素に対応するデータを有する行単位の情報であるレコードを一つ以上有する。
なお、項番1022のデータは、図6の初期トランザクションテンプレート700の項番728のデータや、図7の初期トランザクション実行結果テンプレート800の項番824のデータと対応する。区分1024は、取引の結果をユーザに教示する欄であり、本実施形態においては「成立」「不成立」の2種類が登場し得るものとする。
至急フラグ1023がONの取引は、ユーザからトランザクションの選択をまたずに、システムがただちに実行する取引であるとする。
第二の取引状況管理情報テンプレート1000Bについても、データそのものは異なるものの、その意味は、第一の取引状況管理情報テンプレート1000Aと同様である。
以上、各種テンプレートについて説明したが、図においては、テンプレートから生じたテーブル、トランザクションについても、分かりやすくするため、元のテンプレートと同じ符号を引用している所がある。
次に、図10および図11を用いて本実施形態の電子決済システムにおける取引パターンの一例について説明する。
図10に示されるのは、取引が成立しないときのDvP取引パターンであり、このときのDvP取引パターン600は、第一の資産/資金移転フロー610と、第二の資産移転フロー640で表現される。本実施形態においては、第一の資産/資金移転フローが資産/資金Lに対応する取引の流れを表現しており。また、第二の資産/資金移転フローが資産/資金Mに対応する取引の流れを表現している。
資産移転フロー610、640は、状態をノードとし、そのノードをつなぐ状態遷移(遷移条件)で表現されるエッジからなる有向グラフの形態で表現される。
状態遷移(遷移条件)は、図6で示した初期トランザクションテンプレート700のロック解除情報とロック解除条件で表現される。
第一の資産移転フロー610は、状態として、初期状態611、エスクロー状態612、キャンセルエスクロー状態613、終了状態614、615状態を有し、それらのノードの状態遷移(遷移条件)621~626を有する。エスクロー状態612は、資産/資金Lが取引のために預託された状態を意味する。キャンセルエスクロー状態613は、預託のキャンセル待ち状態であることを意味する。
第一の資産移転フロー610において、エスクロー状態612からは、状態遷移(遷移条件)622または状態遷移(遷移条件)623に記載の条件を満たした場合に、終了状態614、615に遷移でき、また、状態遷移(遷移条件)624に記載の条件を満たした場合に、キャンセルエスクロー状態613に遷移できることを意味する。また、途中状態613からは、状態遷移(遷移条件)625または状態遷移(遷移条件)626の条件を満たした場合に終了状態615に遷移できることを意味する。
第二の資産移転フロー640についても、データそのものは異なるものの、その意味は、第一の資産移転フロー610と同様である。
ここで、状態遷移(遷移条件)622に記載されている「・電子署名:Sb1 for Pb、・秘密情報:x1 for y1」というのは、トランザクションのロック解除情報として、公開鍵Pbに対応する電子署名Sb1と、ハッシュ値y1をとる秘密情報x1を有するトランザクションが発行され、状態が遷移することを意味する。
また、状態遷移(遷移条件)623に記載されている「・電子署名:Sa1 for Pa、・時刻:T1以降」というのは、トランザクションのロック解除情報として、公開鍵Paに対応する電子署名Sa1を有するトランザクションが、時刻T1以降に発行されたときに、状態が遷移することを意味する。
キャンセルエスクロー状態613に関する遷移についても同様であるが、ここで、第一の資産移転フロー610に関する状態遷移(遷移条件)624には、「・電子署名:Sb2 for Pb、・秘密情報:x2 for y2」となっており、第二の資産移転フロー640に関する状態遷移(遷移条件)654には、「・電子署名:Sa5 for Pa、・秘密情報:x2 for y2」となっていることに留意する。
これは、秘密情報x2を知っているのが、ユーザAであるとすると、資産/資金Lの取引の状態をキャンセルエスクロー状態にし(すなわち、資産/資金Lの取引の状態をキャンセルにするトランザクションを発行し)、ユーザBは、そのトランザクションによって開示された秘密情報x2を知った後に、対価としての資産/資金Mの取引の状態をキャンセルエスクロー状態に(すなわち、資産/資金Mの取引の状態をキャンセルにするトランザクションを発行)できることを意味する。
このようなトランザクションにおけるロック解除情報と、ロック解除条件を規定することにより、ユーザAとユーザBが相対取引をするときの一方のみ資産/資金を両取りする事態が発生するのを防止することができる。
なお、形態においては、S201での合意結果に基づき、ユーザAの指示によって図10のDvP取引パターンが選択され、図6の第一の初期トランザクションテンプレート700A、図8Aの第一のパラメータテンプレート900A、図9の第一の取引状況管理情報テンプレート1000Aが、それぞれトランザクション、パラメータテーブル、取引状況管理情報テーブルとして、それぞれ作成中トランザクション記憶部124、パラメータ記憶部122、取引状況管理情報記憶部123に書き込まれたものとする。
また、第一の初期トランザクションテンプレート600Aにおいて、ロック解除条件725に対応する値は、図10の第一のDvP取引パターンにおける状態遷移(遷移条件)622~状態遷移(遷移条件)626に対応した内容となっている。
図11に示されるのは、取引が成立したときのDvP取引パターンであり、このときのDvP取引パターン1100は、第一の資産/資金移転フロー1110と、第二の資産移転フロー1140で表現される。これは、通常のHTLCによる取引を実現するためのDvP取引パターンである。本実施形態においては、第一の資産/資金移転フローが資産/資金Lに対応する取引の流れを表現しており。また、第二の資産/資金移転フローが資産/資金Mに対応する取引の流れを表現している。
第一の資産移転フロー1110において、エスクロー状態1112からは、状態遷移(遷移条件)1122または状態遷移(遷移条件)1123に記載の条件を満たした場合に、終了状態1114、1115に遷移できることを意味する。
第二の資産移転フロー640についても、データそのものは異なるものの、その意味は、第一の資産移転フロー1110と同様である。
エスクロー状態1112に関する遷移について、第一の資産移転フロー1110に関する状態遷移(遷移条件)1122には、「・電子署名:Sb1 for Pb、・秘密情報:x1 for y1」となっており、第二の資産移転フロー1140に関する状態遷移(遷移条件)1152には、「・電子署名:Sa4 for Pa、・秘密情報:x1 for y1」となっていることに留意する。
これは、秘密情報x1を知っているのが、ユーザAであるとすると、資産/資金Lの預託している状態を、解除状態にし(すなわち、資産/資金Lを取得するトランザクションを発行し)、ユーザBは、そのトランザクションによって開示された秘密情報x1を知った後に、対価としての資産/資金Mの預託している状態を、解除状態に(すなわち、資産/資金Mを取得するトランザクションを発行)できることを意味する。
このようなトランザクションにおけるロック解除情報と、ロック解除条件を規定することにより、ユーザAとユーザBが相対取引をするときの一方のみ資産/資金を両取りする事態が発生するのを防止することができる。
次に、上記で説明したデータ構造、各テンプレート、および、想定される取引パターンを前提として、図12ないし図33を用いて電子決済システムが行う処理について説明する。
先ず、図12のフローチャートの流れに従って、適宜必要な図を参照して電子決済システムにおける第一の初期トランザクション実行処理について説明する。
第一の初期トランザクションは、ユーザAがユーザBへ引き渡す資産/資金Lをロックし確保するとともに処理条件の設定をおこなうトランザクションである。
先ず、取引の当事者間で、取引内容について合意する(S201)。具体的な取引内容として、授受する資産の数量や、取引手順について合意する。このS201のステップは、本実施形態の電子決済システムを介することなく、ユーザAとユーザBとの間で実施される処理である。
本実施形態では、ユーザAがユーザBに渡す資産/資金Lの数量を「50」とし、ユーザBがユーザAに対価として渡す資産/資金Mの数量を「30」とする旨について、ユーザA・B間で確認し合意したものとする。
S202からS206は、トランザクション発行装置110を介し、ユーザAによって実施されるステップである。
先ず、トランザクション発行装置(ユーザA)110Aは、第一の初期トランザクションに利用する資産/資金を選択する(S202)。
この処理では、トランザクション発行装置(ユーザA)110Aのトランザクション発行部113が、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150が保有する資産/資金Lの台帳の情報を読み出す。さらに、ユーザAの指示に基づき、第一の初期トランザクションに関する資産を選択する。
以下、図13を用いてS202の処理を、説明する。
トランザクション発行部113は、鍵情報記憶部121から読みだした鍵情報テーブル400のレコードのうち、システム名411が「L」、ユーザが「Me」(すなわち、「ユーザA」)であるレコードを取得し、その公開鍵414の情報である「A0123」を取得する。
トランザクション発行部113は、鍵情報記憶部121から読みだした鍵情報テーブル400のレコードのうち、システム名411が「L」、ユーザが「Me」(すなわち、「ユーザA」)であるレコードを取得し、その公開鍵414の情報である「A0123」を取得する。
さらに、トランザクション発行部113は、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150の台帳記憶部154に記憶された資産/資金Lに関する台帳300を読み出す。そして、読みだした台帳300のレコードのうち、ロック解除条件313に対応する情報が1行であり、かつ、公開鍵315に対応する情報が前記「A0123」と一致し、かつ、ハッシュ値316および時刻317に対応する情報が空欄であるレコードを取得する。
さらに、トランザクション発行部113は、ユーザから必要数量の指示を受け、その取得したレコードから残高312が指示された数量以上になるようにレコードを選択する。これは、ユーザAが取引したい資産/資金Lの数量である「50」以上の資産/資金Lを担保するレコードを選択することを意味する。なお、レコードの選択は、残高312が指示数量以上であるレコード1件を選択するのでもよいし、残高312が指示数量未満であるレコードを複数選択し、それらの残高312の合計が指示数量以上になるようにするのでもよい。
なお、取得されたレコードの残高312の合計が指示数量未満であった場合には(S210:YES)、取引が不可能であることから、図12に示された電子決済システムにおける第一の初期トランザクション実行処理を終了する。
本実施形態においては、ユーザAは、S201で合意した資産/資金Lの取引数量である「50」を指示し、トランザクション発行部113は、資産/資金ID311に対応する値が「L0001」であるレコードを選択したものとする。
次に、トランザクション発行装置(ユーザA)110Aは、DvP取引パターンを選択する(S203)。
この処理では、トランザクション発行装置(ユーザA)110Aのトランザクション発行部113が、共有領域アクセス部112を介し、共有領域180に格納されたDvP取引パターンを取得する。さらに、ユーザAの指示に基づき、ユーザAが取引しようとするDvP取引パターンを選択する。なお、DvP取引パターンは、初期トランザクションテンプレート、初期トランザクション実行結果テンプレート、パラメータテンプレート、取引状況管理情報テンプレートによって表現され、それぞれの可変な値を埋めることにより実現される。
さらに、トランザクション発行部113は、読み出したDvP取引パターンの初期トランザクションテンプレート700のうち、第一の初期トランザクションテンプレート700Aを、作成中トランザクション記憶部124に書き込む。また、読みだしたDvP取引パターンのパラメータテンプレート900のうち、第一のパラメータテンプレート900Aを、パラメータ記憶部122に書き込む。また、読みだしたDvP取引パターンの取引状況管理情報テンプレート1000のうち、第一の取引状況管理情報テンプレート1000Aを、取引状況管理情報記憶部123に書き込む。
次に、トランザクション発行装置(ユーザA)110Aは、トランザクション作成に必要なパラメータを取得する(S204)。
トランザクション発行装置(ユーザA)110Aのトランザクション発行部113は、鍵情報記憶部121の情報を参照するとともに、追加で必要な情報を生成し、その結果をパラメータとしてパラメータ記憶部122に書き込む。
以下、図14Aおよび図14Bを用いてこのS204の処理を説明する。
図14Aに示されるように、第一のシステム名、第二のシステム名については、S201の合意結果に基づき、それぞれ「L」「M」を入力する。区分923が「公開鍵」、取得手段924が「参照」であるレコードの値925については、鍵情報テーブル400から対応する情報を読み出し、書き込む。
次に、図14Bに示されるように、区分923が「秘密情報」、取得手段が「作成」であるレコードの値925については、ランダムな数値を生成し書き込む。また、区分923が「ハッシュ値」、取得手段が「作成」であるレコードの値925については、対応する「秘密情報」を入力とし、既定のハッシュ関数の出力結果を書き込む。図14Bに示される例では、秘密情報x1として、ランダムに生成された値である「3456」が書き込まれ、それに対応するハッシュ値y1として、「3a4b5c6d」が書き込まれている。時刻については、システムクロックを参照し、取引により規定された一定のタイムアウト時間を、現在時刻に足した時刻を算出して書き込む。
書き込みが完了したパラメータテンプレートは、パラメータテーブルとしてパラメータ記憶部122に書き込まれる。
次に、トランザクション発行装置(ユーザA)110Aは、トランザクションを作成し送信する(S205)。
この処理では、トランザクション発行装置(ユーザA)110Aのトランザクション発行部113が、作成中トランザクション記憶部124から読み出したトランザクションを、鍵情報記憶部から読み出した鍵情報、および、パラメータ記憶部から読み出したパラメータで補完し完成させた上で、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150Lに送信する。
送信されたトランザクションは、資産/資金決済装置150Lのトランザクション受信部151によって、実行前トランザクション記憶部156に記憶された後、順次、トランザクション実行可否判定部152により、実行可否を判定される。トランザクション実行可否判定部によって実行可能と判断されたトランザクションは、トランザクション実行部153によって、台帳記憶部154の台帳300に反映されるとともに、実行済トランザクション記憶部155に書き込まれる。そして、その結果は、トランザクション発行装置110Aに通知される。
以下、図15Aおよび図15Bを用いて本実施形態における第一の初期トランザクション作成処理を説明する。
図15Aに示されるように、S203で取得した初期トランザクションテンプレート700Aのデータのうち、トランザクションID721に対応する値について、ユニークな値、資産/資金ID722に対応する値について、S202で選択したレコードの資産/資金ID311の値、金額723に対応する値は、S201の合意結果である数量「50」を、それぞれ書き込む。
次に、図15Bに示されるように、初期トランザクションテンプレート700Aのデータのうち、ロック解除条件725のデータを、パラメータ記憶部122から読み出したパラメータテーブルを参照し、対応するデータを反映する。
次に、電子署名724に対応する値については、鍵情報テーブル400に保持された秘密鍵413に対応する値を利用して、作成した電子署名を書き込む。この電子署名の平文データは、例えば、この初期トランザクションテンプレート700Aより生成される初期トランザクションレコードのトランザクションID721、資産/資金ID722、金額723、ロック解除条件725のバイナリデータとし、これをユーザAの所持する秘密鍵によって、ハッシュ値を取り、暗号化することによって、電子署名を生成し、それを検証する者は、その秘密鍵に対応する公開鍵によって検証することができる。
次に、図16を用いて第一の初期トランザクションの実行可否を判定する処理について説明する。
資産/資金決済装置150Lのトランザクション実行可否判定部152は、実行前トランザクション記憶部156からトランザクションを1件読み込み、記載された資産/資金ID722のデータに対応するレコードを、台帳記憶部154から読み出す。さらに、残高312の数値がトランザクションの金額723の数値以上であること(取引をするユーザAが指定された資産/資金を保有していること)、また、ロック解除条件313の内容がトランザクションのロック解除情報724の内容で満たされていることを確認する。ここでは、ロック解除条件313に対応するデータは「公開鍵A0123に対応する電子署名があること」のみであることから、トランザクション実行可否判定部152は、トランザクションに記載の電子署名720のデータを読み出した公開鍵で検証することにより、トランザクションの実行可否を判定する。すなわち、トランザクション実行可否判定部152は、電子署名を公開鍵で復号化した値と、そのレコードのトランザクションID721、資産/資金ID722、金額723、ロック解除条件725のバイナリデータのハッシュ値が一致するか否かを検証する。実行可能と判定された場合には、当該トランザクションをトランザクション実行部153に引き渡す。
資産/資金決済装置150Lのトランザクション実行可否判定部152は、実行前トランザクション記憶部156からトランザクションを1件読み込み、記載された資産/資金ID722のデータに対応するレコードを、台帳記憶部154から読み出す。さらに、残高312の数値がトランザクションの金額723の数値以上であること(取引をするユーザAが指定された資産/資金を保有していること)、また、ロック解除条件313の内容がトランザクションのロック解除情報724の内容で満たされていることを確認する。ここでは、ロック解除条件313に対応するデータは「公開鍵A0123に対応する電子署名があること」のみであることから、トランザクション実行可否判定部152は、トランザクションに記載の電子署名720のデータを読み出した公開鍵で検証することにより、トランザクションの実行可否を判定する。すなわち、トランザクション実行可否判定部152は、電子署名を公開鍵で復号化した値と、そのレコードのトランザクションID721、資産/資金ID722、金額723、ロック解除条件725のバイナリデータのハッシュ値が一致するか否かを検証する。実行可能と判定された場合には、当該トランザクションをトランザクション実行部153に引き渡す。
次に、図17を用いて本実施形態における第一の初期トランザクションの実行処理について説明する。
資産/資金決済装置150Lのトランザクション実行部153は、トランザクション実行可否判定部152から引き渡されたトランザクションの内容を台帳へ反映する。
資産/資金決済装置150Lのトランザクション実行部153は、トランザクション実行可否判定部152から引き渡されたトランザクションの内容を台帳へ反映する。
台帳300のレコードのうち、トランザクションに記載の資産/資金ID722のデータと同一の資産/資金ID311のデータを有するレコードを取得する。そして、取得したレコードにおいて、ロック解除条件313のデータが1行である場合には、以下の処理をおこなう。
先ず、取得したレコードについて、残高312の金額を、トランザクションの金額723に記載の数値で減算する(図17では、「L005」のレコードの残高は、0になった)。その後、台帳300に新規レコードを作成し追加する。追加したレコードについて、資産/資金ID311のデータは、ユニークな値(図17では、「L0005」)を生成し書き込む。残高312のデータは、トランザクションの金額723に記載の数値を転記する。ロック解除条件313については、トランザクションのロック解除条件725の内容を転記する。処理が完了したら、トランザクションを実行済トランザクション記憶部155に書き込むとともに、作成された台帳の資産/資金ID312の情報をトランザクション発行装置110Aに通知する。
なお、取得したレコードにおいて、ロック解除条件313のデータが複数行である場合の動作については、後述する。
次に、トランザクション発行装置110Aは、取引状況を更新する(S206)。
この処理では、トランザクション発行装置110Aの取引状況管理部114が、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150Lから通知された結果に基づき、パラメータ記憶部122が保持するパラメータテーブル、および、取引状況管理情報記憶部123が保持する取引状況管理情報テーブルを更新する。
この処理では、トランザクション発行装置110Aの取引状況管理部114が、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150Lから通知された結果に基づき、パラメータ記憶部122が保持するパラメータテーブル、および、取引状況管理情報記憶部123が保持する取引状況管理情報テーブルを更新する。
以下、図18を用いて本実施形態における第一の初期トランザクションの実行結果による取引状況を更新する処理を説明する。
トランザクション発行装置110Aの取引状況管理部114は、資産/資金決済装置アクセス部111を介し、トランザクション実行結果として、台帳に作成されたレコードの資産/資金ID「L0005」を受信する。さらに、パラメータ記憶部122からパラメータテーブルを読み出し、第一の資産/資金IDとして「L0005」を書き込む。さらに、取引状況管理情報記憶部123から取引管理情報テーブルを読み出し、第一の資産/資金IDとして「L0005」を書き込む。
トランザクション発行装置110Aの取引状況管理部114は、資産/資金決済装置アクセス部111を介し、トランザクション実行結果として、台帳に作成されたレコードの資産/資金ID「L0005」を受信する。さらに、パラメータ記憶部122からパラメータテーブルを読み出し、第一の資産/資金IDとして「L0005」を書き込む。さらに、取引状況管理情報記憶部123から取引管理情報テーブルを読み出し、第一の資産/資金IDとして「L0005」を書き込む。
次に、図19のフローチャートの流れに従って、適宜必要な図を参照して電子決済システムにおける第二の初期トランザクション実行処理について説明する。
第二の初期トランザクションは、ユーザBがユーザAへ引き渡す資産/資金Mをロックし確保するとともに処理条件の設定をおこなうためのトランザクションである。
先ず、取引の同時者間で、取引状況について情報共有を行う(S1901)。具体的には、ユーザAがトランザクションを実行した結果として、台帳に資産/資金ID「L0005」のレコードが追加されていることについて、ユーザBと情報共有する。
このS1901のステップは、本実施形態の電子決済システムを介することなく、ユーザAとユーザBとの間で実施される処理である。
S1902からS1908は、ユーザBによってトランザクション発行装置110Bが実行する処理である。
先ず、トランザクション発行装置110Bは、第二の初期トランザクションに利用する資産/資金を選択する(S1902)。
以下、図20を用いて本実施形態の第二の初期トランザクションに利用する資産/資金を選択する処理について説明する。
トランザクション発行装置110Bのトランザクション発行部113は、鍵情報記憶部121から読みだした鍵情報テーブル400のレコードのうち、システム名411が「M」、ユーザが「Me」(ユーザB)であるレコードを取得し、その公開鍵414の情報である「B0987」を取得する。
さらに、トランザクション発行部113は、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150の台帳記憶部154から、資産/資金Lに関する台帳300を読み出す。読みだした台帳300のレコードのうち、ロック解除条件313に対応する情報が1行であり、かつ、公開鍵315に対応する情報が読み出した「B0987」と一致し、かつ、ハッシュ値316および時刻317に対応する情報が空欄であるレコードを取得する。
さらに、トランザクション発行部113は、ユーザから必要数量の指示を受け、取得したレコードから残高312が指示された数量以上になる(取引をするユーザBが指定された資産/資金を保有している)ようにレコードを選択する。なお、レコードの選択は、残高312が指示数量以上であるレコード1件を選択するのでもよいし、残高312が指示数量未満であるレコードを複数選択し、それらの残高312の合計が指示数量以上になるようにするのでもよい。
なお、取得されたレコードの残高312の合計が指示数量未満であった場合には、取引が不可能であることから、図19に示された第二の初期トランザクション実行処理を終了する。
本実施形態においては、ユーザBは、S201で合意した資産/資金Mの取引数量である「30」を指示し、トランザクション発行部113は、資産/資金ID311に対応する値が「M0004」であるレコードを選択したものとする。
次に、トランザクション発行装置110Bは、DvP取引パターンを選択する(S1903)。
この処理では、トランザクション発行装置110Bのトランザクション発行部113が、共有領域アクセス部112を介し、共有領域180に格納されたDvP取引パターンを取得し、さらに、ユーザBの指示に基づき、DvP取引パターンを選択する。
さらに、トランザクション発行部113は、読み出したDvP取引パターンの初期トランザクションテンプレートのうち、第二の初期トランザクションテンプレート700Bを、作成中トランザクション記憶部124に書き込む。また、読みだしたDvP取引パターンのパラメータテンプレートのうち、第二のパラメータテンプレート900Bを、パラメータ記憶部122に書き込む。また、読みだしたDvP取引パターンの取引状況管理情報テンプレートのうち、第二の取引状況管理情報テンプレート1000Bを、取引状況管理情報記憶部123に書き込む。
本実施形態においては、S201での合意結果に基づき、ユーザBの指示によって図10のDvP取引パターンの資産移転フロー640が選択され、図7の第二の初期トランザクションテンプレート700B、図8Bの第二のパラメータテンプレート900B、図9の第二の取引状況管理情報テンプレート1000Bが、それぞれトランザクション、パラメータテーブル、取引状況管理情報テーブルとして、それぞれ作成中トランザクション記憶部124、パラメータ記憶部122、取引状況管理情報記憶部123に書き込まれたものとする。
次に、トランザクション発行装置110Bは、トランザクション作成に必要なパラメータを取得あるいは作成する(前半:S1904)。
この処理では、トランザクション発行装置110Bのトランザクション発行部113が、鍵情報記憶部121の鍵情報テーブルを参照するとともに、必要な情報をパラメータ記憶部122によりパラメータテーブルに書き込む。
以下、図21Aを用いて本実施形態におけるトランザクション作成に必要なパラメータを取得あるいは作成する処理の前半について説明する(後半は、図21Bにより後に説明)。
第一のシステム名、第二のシステム名については、図12のS201の合意結果に基づき、それぞれ「L」「M」を入力する。第一の資産/資金IDについては、S1901で通知された「L0005」を入力する。また、区分923が「公開鍵」、取得手段924が「参照」であるレコードの値925については、鍵情報テーブル400から対応する情報を読み出し、書き込む。
次に、トランザクション発行装置110Bは、ユーザAによる資産/資金Lのトランザクション実行結果を検証する(S1905)。
この処理は、トランザクション発行装置110Bのトランザクション発行部113が、S1903で読み出したDvP取引パターンの第一の初期トランザクション実行結果テンプレート800Aを、パラメータ記憶部122から読み出したパラメータで補完する。補完した結果を、資産/資金アクセス部111を介して読み出した資産/資金管理システム150の台帳と比較することにより、トランザクションの実行結果を検証する。
なお、台帳から読み出した情報と、初期トランザクション実行結果テンプレートを補完した結果との間に不一致が認められた場合には、問題ありとして(S1920:YES)、取引内容について認識の相違があり、取引継続は不可能であることから、図19に示された第二の初期トランザクション実行処理を終了する。
以下、図22を用いて本実施形態における第一の初期トランザクション実行結果を検証する処理を説明する。
S1903で読み出したDvP取引パターンの、第一の初期トランザクション実行結果テンプレート800Aのうち、資産/資金ID821および残高822を、図12のS201で合意した内容に基づき、補完する。さらに、ロック解除条件823に記載の変数名を、パラメータ記憶部122から読み出したパラメータで補完する。補完が完了した第一の初期トランザクション実行結果テンプレート800Aと、台帳から読み出した対応するレコードの内容とを比較し一致することを確認する。
S1903で読み出したDvP取引パターンの、第一の初期トランザクション実行結果テンプレート800Aのうち、資産/資金ID821および残高822を、図12のS201で合意した内容に基づき、補完する。さらに、ロック解除条件823に記載の変数名を、パラメータ記憶部122から読み出したパラメータで補完する。補完が完了した第一の初期トランザクション実行結果テンプレート800Aと、台帳から読み出した対応するレコードの内容とを比較し一致することを確認する。
なお、ロック解除条件823のうち、対応するパラメータを補完できなかった部分については、比較検証をスキップする。図22においては、初期トランザクション実行結果テンプレート800Aのハッシュ値826および時刻827のデータについて補完できていないものがあることから、台帳のハッシュ値316および時刻317について、対応するデータの検証はスキップされる。
次に、トランザクション発行装置110Bは、トランザクション作成に必要なパラメータを取得あるいは作成する(後半:S1904)。
この処理は、トランザクション発行装置110Bが、資産/資金決済装置アクセス部111を介して台帳から読み出した情報を利用し、パラメータ記憶部122から読み出したパラメータを補完する処理である。
以下、図21Bを用いて本実施形態におけるトランザクション作成に必要なパラメータを取得あるいは作成する処理の後半について説明する(前半は、図21Aにより既に説明した)。
区分923が「ハッシュ値」あるいは「時刻」、かつ、取得手段924が「参照」であるレコードの値925について、第一の初期トランザクション実行結果テンプレート800Bのロック解除条件823に記載の変数名を踏まえ、台帳の対応するレコードのロック解除条件のうち対応する値を抽出し、反映する。また、区分「923」が「時刻」、かつ、取得手段924が「作成」であるレコードについては、適切な値を入力する。
なお、パラメータについて、区分923が「秘密情報」、かつ、取得手段924が「参照」であるレコードについては、本ステップの時点では値を取得することができないため、空欄となる。
次に、トランザクション発行装置110Bは、トランザクションを作成し送信する(S1907)。
この処理は、トランザクション発行装置110Bのトランザクション発行部113が、作成中トランザクション記憶部124から読み出したトランザクションを、鍵情報記憶部から読み出した鍵情報テーブル、パラメータ記憶部から読み出したパラメータで補完し完成させた上で、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150に送信する。送信されたトランザクションは、資産/資金決済装置150の中で処理され、結果は、台帳記憶部154の台帳に反映されるとともに、トランザクション発行装置110Bに通知される。
以下、図23を用いて本実施形態における第二の初期トランザクションの実行処理を説明する。
本実施形態における第二の初期トランザクションの実行処理は、図17の第一の初期トランザクションの実行処理と同様である。
本実施形態における第二の初期トランザクションの実行処理は、図17の第一の初期トランザクションの実行処理と同様である。
ここでは、資産/資金Mに関するものであることから、資産/資金IDや残高などが異なっている。
次に、トランザクション発行装置110Bは、取引状況を更新する(S1908)。
この処理は、トランザクション発行装置110Bの取引状況管理部114が、資産/資金決済装置アクセス部111を介し、資産/資金決済装置150Mから通知された結果に基づき、パラメータ記憶部122が保持するパラメータ、および、取引状況管理情報記憶部123が保持する取引状況管理情報テーブルを更新する。
以下、図24を用いて本実施形態における第二の初期トランザクションの実行結果により取引状況を更新する処理を説明する。
トランザクション発行装置110Bの取引状況管理部114は、資産/資金決済装置アクセス部111を介し、トランザクション実行結果として、台帳300に作成されたレコードの資産/資金ID「M0008」を受信する。さらに、パラメータ記憶部122からパラメータを読み出し、第二の資産/資金IDとして「M0008」を書き込む。また、取引状況管理情報記憶部123から取引管理情報テーブルを読み出し、第二の資産/資金IDとして「M0008」を書き込む。
次に、取引の同時者間で、取引状況について共有する(S1909)。具体的には、ユーザBがトランザクションを実行した結果として、台帳に資産/資金ID「M0008」のレコードが追加されていることについて、ユーザAに伝える。
このS1909の処理は、本実施形態の電子決済システムを介することなく、ユーザAとユーザBとの間で実施されるステップである。
次に、トランザクション発行装置110Aは、ユーザBによる資産/資金Mのトランザクション実行結果を検証する(S1910)。
このS1910の処理は、ユーザAによってトランザクション発行装置110Aが、実行する処理である。
この処理では、トランザクション発行装置110Aが、S203で読み出したDvP取引パターンの、第二の初期トランザクション実行結果テンプレート800Bを、パラメータ記憶部122から読み出したパラメータで補完し、補完した結果を、資産/資金アクセス部を介して読み出した資産/資金管理システム160の台帳と比較することで、トランザクションの実行結果を検証する。
なお、台帳から読み出した情報と、初期トランザクション実行結果テンプレートを補完した結果との間に不一致が認められた場合には、取引内容について認識の相違があり、取引継続は不可能であることから、ユーザAは、取引状況管理情報記憶部123の取引管理情報を編集することにより、第一の初期トランザクションに係る資産/資金Lを引き戻すよう設定する(図示せず)。
以下、図25Aないし図25Cを用いて本実施形態における第二の初期トランザクションの実行結果を検証する処理を説明する。
第二の初期トランザクションの実行結果を検証する処理では、S203で読み出したDvP取引パターンの、第二の初期トランザクション実行結果テンプレート800Aのうち、図25Aに示されるように、資産/資金ID821および残高822を、図12のS201で合意した内容に基づき、補完する。さらに、ロック解除条件823に記載の変数名を、パラメータ記憶部122から読み出したパラメータで補完する。そして、トランザクション発行装置110Aは、補完が完了した第二の初期トランザクション実行結果テンプレート800Aと、台帳から読み出した対応するレコードの内容とを比較し一致することを確認する。
次に、トランザクション発行装置110Aは、パラメータ記憶部122のパラメータテーブルの第二の資産/資金ID927に、「M0008」を書き込む。
また、取引状況管理情報記憶部123の取引状況管理情報テーブルの第二の資産/資金ID1021に、「M0008」を書き込む。
次に、トランザクション発行装置110Aは、検証の結果、問題があった場合には、図25Cに示されるように、取引状況管理情報記憶部123から取引管理情報テーブルを読み出し、区分1024が「成立」であるレコードを削除する。
次に、図26のフローチャートの流れに従って、適宜必要な図を参照して電子決済システムにおける通常トランザクション実行処理について説明する。
S2901は、ユーザBが実行するステップである。
また、S2910、S2902、S2903、S2920、S2930、S2905、S2906の処理は、トランザクション発行装置110Aまたはトランザクション発行装置110により、独立に実行されるステップである。
S2901は、ユーザBが実行するステップである。
また、S2910、S2902、S2903、S2920、S2930、S2905、S2906の処理は、トランザクション発行装置110Aまたはトランザクション発行装置110により、独立に実行されるステップである。
以降、本実施形態では、トランザクション発行装置110Bで実行されるケースを念頭に、これらのステップについて説明する。
先ず、トランザクション発行装置110Bは、取引状況管理情報記憶部123に格納された取引状況管理情報テーブルを表示し、ユーザBは、トランザクションの実行を検討する取引案件を選択する(S2901)。
取引状況管理情報テーブルの全案件が終了している場合には(S2910:YES)、図26に示された通常トランザクション実行処理を終了し、取引状況管理情報が追加され次第、再度、通常トランザクション実行処理を開始する。
以下、図27を用いて取引状況管理情報テーブルから取引案件を選択する処理について説明する。
本実施形態においては、第一の資産/資金IDが「L0005」、第二の資産/資金IDが「M0008」である取引状況管理情報テーブルの案件が選択されたものとする。
本実施形態においては、第一の資産/資金IDが「L0005」、第二の資産/資金IDが「M0008」である取引状況管理情報テーブルの案件が選択されたものとする。
次に、トランザクション発行装置110Bは、パラメータ記憶部122が保持するパラメータのうち、秘密情報を更新する(S2902)。
この処理では、トランザクション発行装置110Bの取引状況管理部114は、資産/資金決済装置アクセス部111を介し、資産/資金管理システム150、160の実行済トランザクション記憶部155、165が保持するトランザクションを読み出す。さらに、S2901で選択した取引状況管理情報テーブルの第一の資産/資金IDもしくは第二の資産/資金IDに一致する資産/資金IDを有するトランザクションを、読み出したトランザクションから抽出する。
並行して、パラメータ記憶部122から、S2901で選択した取引状況管理情報テーブルの第一の資産/資金IDおよび第二の資産/資金IDを有するパラメータを抽出する。
抽出したトランザクションの秘密情報727が、抽出したパラメータのハッシュ値と対応関係にある場合には、当該ハッシュ値に対応する秘密情報のデータとして、秘密情報727のデータをパラメータテーブルに書き込む。
以下、図28を用いて本実施形態の秘密情報を更新する処理について説明する。
トランザクション発行装置110Bは、実行済トランザクション記憶部が保持するトランザクションのうち、「L0005」または「M0008」を資産/資金ID722の値として有するトランザクションを抽出する。
トランザクション発行装置110Bは、実行済トランザクション記憶部が保持するトランザクションのうち、「L0005」または「M0008」を資産/資金ID722の値として有するトランザクションを抽出する。
ここで、抽出されたトランザクションの秘密情報727である「3456」が、パラメータのレコードのうち、区分923が「ハッシュ値」であるレコードの値925の「3A4B5c6d」(既に初期実行結果テンプレート800Aより値を設定済み、図21B参照)と、ハッシュ関数における入出力値の関係にある(ハッシュ関数を、Hashとすると、y1=Hash(x1)である)ことから、そのレコードと対応関係にある区分923が「秘密情報」であるレコードの値925として、「3456」を書き込む。
次に、トランザクション発行装置110Bは、S2901で選択した取引状況管理情報が示す案件について、実行可否を判定する(S2603)。
以下、図29を用いてS2901で選択した取引状況管理情報が示す案件について、実行可否を判定する処理について説明する。
S2901で選択した取引状況管理情報テーブルのレコードのうち、1行を選択する。さらに、選択したレコードに対応する資産/資金IDおよびロック解除条件を有するレコードを、資産/資金決済装置アクセス部111を介し、資産/資金管理システムの台帳記憶部154の台帳300から取得する。さらに、パラメータ記憶部から読み出したパラメータと台帳のロック解除条件とを比較することで、トランザクションの実行可能性を確認する。図29では、ロック解除条件のハッシュ値「3A4B5cd」に対応する秘密情報「3456」がパラメータに載っていることから、トランザクションが実行可能と判断できる。
S2901で選択した取引状況管理情報テーブルのレコードのうち、1行を選択する。さらに、選択したレコードに対応する資産/資金IDおよびロック解除条件を有するレコードを、資産/資金決済装置アクセス部111を介し、資産/資金管理システムの台帳記憶部154の台帳300から取得する。さらに、パラメータ記憶部から読み出したパラメータと台帳のロック解除条件とを比較することで、トランザクションの実行可能性を確認する。図29では、ロック解除条件のハッシュ値「3A4B5cd」に対応する秘密情報「3456」がパラメータに載っていることから、トランザクションが実行可能と判断できる。
当該処理を、S2901で選択した取引状況管理情報の全レコードについて実施することで、選択された案件の実行可否を判定することができる。
次に、ユーザBは、S2903で実行可能と判定されたトランザクションについて、実行要否を判断する(S2904)。
本実施形態においては、取引状況管理情報テーブルのレコードのうち、項番1022が「1,-」と、「3,-」であるレコードに対応するトランザクションを実行すると判断するものとする。
なお、取引状況管理情報テーブルのレコードのうち、至急フラグ1023が空でないもの(図では「●」であるもの)については、ユーザの判断を介することなく、機械的に実行要と判断する。
次に、トランザクション発行装置110Bは、S2904で実行要と判断されたトランザクションを作成し実行する(S2905)。
以下、図30および図31を用いてトランザクションの実行処理を説明する。
図30は、取引が成立した場合の一連のトランザクションと台帳の様子示している。
ここで、ユーザBが、取引状況管理情報テーブルのレコードのうち、項番1022が「1,-」の取引を選択したものとする。
ここで、ユーザBが、取引状況管理情報テーブルのレコードのうち、項番1022が「1,-」の取引を選択したものとする。
資産/資金決済装置150Lのトランザクション実行部153は、トランザクションの資産/資金722およびロック解除情報724に対応する資産/資金ID311およびロック解除条件313を有するレコードを、台帳記憶部154が保持する台帳300から抽出する。さらに、抽出したレコードのロック解除条件313が、トランザクションのロック解除情報724で満たされていること(電子署名が公開鍵で正当であり、秘密情報のハッシュ値が対応していること)を確認した上で、台帳300を更新する。
具体的な更新方法として、更新前のロック解除条件313において、後続するレコードが存在しない場合には、新規の資産/資金IDのレコードを追加し、残高312に更新前の残高312の値を、ロック解除条件313にトランザクションのロック解除条件725の情報を、それぞれ記載する。また、更新前の資産/資金IDのレコードについては、残高312をゼロに、ロック解除条件313を空値に、それぞれ更新する(図30の台帳(トランザクション実行後))。
次に、ユーザBが、取引状況管理情報テーブルのレコードのうち、項番1022が「3,-」の取引を選択したものとする。
図31は、取引が成立しなかった場合のトランザクションと台帳の様子を示している。
資産/資金決済装置150Lのトランザクション実行部153は、トランザクションの資産/資金722およびロック解除情報724に対応する資産/資金ID311およびロック解除条件313を有するレコードを、台帳記憶部154が保持する台帳300から抽出する。
資産/資金決済装置150Lのトランザクション実行部153は、トランザクションの資産/資金722およびロック解除情報724に対応する資産/資金ID311およびロック解除条件313を有するレコードを、台帳記憶部154が保持する台帳300から抽出する。
図4で説明したように、項番の条件として、「3,-」の条件後、「3,1」の条件または、「3,-」の条件後、「3,2」の条件であるようにトランザクションの実行が規定されている。
このときには、「3,-」に対応するトランザクションを実行されたときには、図31に示されるように、「3,-」、「3,1」、「3,2」の台帳のロック解除条件313を、「3,1」、「3,2」の台帳のロック解除条件313に置き換える。
これにより、資産/資金IDが「L0005」のトランザクションとして、「3,-」のトランザクション実行後に、「3,1」、「3,2」に対応する資産/資金IDが「L0005」のトランザクションが実行されることが担保される。
次に、トランザクション発行装置110Bは、取引管理情報を更新する(S2906)。
トランザクション発行装置110Bの取引状況管理部114は、S2901で読み出した取引状況管理情報から、資産/資金IDを読み出す。読み出した各資産/資金IDについて、対応する資産/資金IDを有する台帳のレコードを、資産/資金決済装置150Lの資産/資金決済装置アクセス部111を介し、取得する。取得したレコードにおいて、残高312の値が「0」であった場合には、取引状況管理情報のレコードのうち、当該資産/資金IDを有するレコードを削除する。
以上、S2901からS2906を繰り返すことで、順次台帳を更新し、資産/資金Lおよび資産/資金Mの移転を実施する。
次に、図32および図33を用いて本実施形態におけるDvP取引における取引の全体の一連のトランザクションと台帳の様子について説明する。
先ず、図32を用いてDvP取引が成立した場合の取引の全体の一連のトランザクションと台帳の様子について説明する。
図12に示した電子決済システムにおける第一の初期トランザクション実行処理、図19に示した電子決済システムにおける第二の初期トランザクション実行処理の一連の処理の結果、それぞれ台帳レコード3501、3502が、それぞれ資産/資金決済装置150L、資産/資金決済装置150Mの台帳記憶部154に記憶されている。その後、ユーザAのトランザクション発行装置110が保持する情報(パラメータテーブルと鍵情報テーブルによる)3503を利用し、トランザクション3504を作成し送信する。
図12に示した電子決済システムにおける第一の初期トランザクション実行処理、図19に示した電子決済システムにおける第二の初期トランザクション実行処理の一連の処理の結果、それぞれ台帳レコード3501、3502が、それぞれ資産/資金決済装置150L、資産/資金決済装置150Mの台帳記憶部154に記憶されている。その後、ユーザAのトランザクション発行装置110が保持する情報(パラメータテーブルと鍵情報テーブルによる)3503を利用し、トランザクション3504を作成し送信する。
一方、資産/資金決済装置150Mがトランザクション3504を処理した結果、台帳が台帳レコード3505の通り更新されるとともに、実行済トランザクションの情報から、ユーザBのトランザクション発行装置110Bが保持する情報3506が更新される。トランザクション発行装置が保持する情報3506が更新された結果、ユーザBがトランザクション3507を発行できるようになり、台帳が台帳レコード3508の通り更新される。
台帳レコード3505は、ユーザAの電子署名によって移転できる、すなわち,ユーザAが保有する資産/資金Mである。また、台帳レコード3508は、ユーザBの電子署名によって移転できる、すなわち、ユーザBが保有する資産/資金Lである。
次に、図33を用いて取引が成立しなかった場合の取引の全体の一連のトランザクションと台帳の様子について説明する。
基本的な処理の流れの考え方は、図32で示したDvP取引が成立した場合の取引と同様である。
基本的な処理の流れの考え方は、図32で示したDvP取引が成立した場合の取引と同様である。
ここで、台帳レコード3601、台帳レコード3602がエスクロー状態であり、台帳3608、台帳3605がキャンセルエスクロー状態であることに留意する。
台帳レコード3611は、ユーザAの電子署名によって移転できる、すなわち、ユーザAが保有する資産/資金Lである。また、台帳レコード3614は、ユーザBの電子署名によって移転できる、すなわち、ユーザBが保有する資産/資金Mである。
本実施形態に係る電子決済システムの特徴を説明すると以下のようになる。
従来の取引では、図11の取引が成立しないときのDvP取引パターンに示されるように、トランザクションの発行者(電子署名主)と資金/資産の移動先は同じものでなければならなかった(図11:エスクロー状態1112→終了状態1113における状態遷移(遷移条件)1122など)。
従来の取引では、図11の取引が成立しないときのDvP取引パターンに示されるように、トランザクションの発行者(電子署名主)と資金/資産の移動先は同じものでなければならなかった(図11:エスクロー状態1112→終了状態1113における状態遷移(遷移条件)1122など)。
本実施形態に係る電子決済システムでは、トランザクションの発行者(電子署名主)と資金/資産の移動先は異なったものでも許容される(図10:エスクロー状態612→キャンセルエスクロー状態613における状態遷移(遷移条件)624など)。
これを実現するために、本実施形態に係る電子決済システムでは、トランザクションにロック解除条件を設け、そこに移動先(公開鍵がこれに対応する)を含めたことと、トランザクションの取引パターンとして、「3.-」、「3.1」または「3.-」、「3.2」のように、連続して実行しなければならない取引パターンを定義できるようにしている。
これにより、本実施形態の電子決済システムでは、HTLCを拡張し、ロック中の資産をタイムアウトによらずに安全に引き戻す仕組みを提供している。すなわち、例えば、取引の当事者は、複数の資産/資金決済装置をまたがり、かつ、仲介者なくDvP取引する際に、取引の安全性を担保しつつも、取引不成立時における資産/資金の流動性低下を回避することが可能となる。
100…電子決済システム
110…トランザクション発行装置
111…資産/資金決済装置アクセス部
112…共有領域アクセス部
113…トランザクション発行部
114…取引状況管理部
121…鍵情報記憶部
122…パラメータ記憶部
123…取引状況管理情報記憶部
124…作成中トランザクション記憶部
150…資産/資金決済装置
151…トランザクション受信部
152…トランザクション実行可否判定部
153…トランザクション実行部
154…台帳記憶部
155…実行済トランザクション記憶部
156…実行前トランザクション記憶部
180…共有領域
181…DvP取引テンプレート記憶部
110…トランザクション発行装置
111…資産/資金決済装置アクセス部
112…共有領域アクセス部
113…トランザクション発行部
114…取引状況管理部
121…鍵情報記憶部
122…パラメータ記憶部
123…取引状況管理情報記憶部
124…作成中トランザクション記憶部
150…資産/資金決済装置
151…トランザクション受信部
152…トランザクション実行可否判定部
153…トランザクション実行部
154…台帳記憶部
155…実行済トランザクション記憶部
156…実行前トランザクション記憶部
180…共有領域
181…DvP取引テンプレート記憶部
Claims (5)
- 資産/資金に関するトランザクションを発行するトランザクション発行装置と、
前記トランザクション発行装置とネットワークにより接続され、前記トランザクション発行装置の発行するトランザクションに基づいて資産/資金の決済を行う資産/資金決済装置とからなる電子決済システムであって、
前記トランザクションは、資産/資金の数量と、トランザクション発行元の電子署名を含むロック解除情報と、取引者の公開鍵を含むロック解除条件とを有し、
第一のトランザクションは、複数の連続してなるロック解除条件を保持するレコードからなり、
前記第一のトランザクションのロック解除条件には、前記トランザクション発行元と異なる電子署名に関する公開鍵情報を含み、
前記資産/資金決済装置は、前記トランザクション発行装置の発行する第一のトランザクションを台帳に転記して、前記第一のトランザクション後に発行された第二のトランザクションの実行の可否を、前記台帳に転記されたロック解除情報とロック解除条件と、第二のトランザクションの台帳のロック解除情報とロック解除条件とを、第一のトランザクションの複数の連続してなるロック解除条件の順序に従って、照合させることにより判定して、実行可と判定された前記第二のトランザクションを実行することを特徴とする電子決済システム。 - 前記トランザクションのロック解除情報は、さらに、秘密情報を有し、前記トランザクションのロック解除条件は、前記トランザクションのロック解除情報の秘密情報に対するハッシュ値を有し、
前記第一のトランザクションのロック解除条件には、前記トランザクション発行元の保持する秘密情報と異なるハッシュ値を含むことを特徴とする請求項1記載の電子決済システム。 - 第一の資産/資金を所有する第一の取引者と、第二の資産/資金を所有する第二の取引者が、それぞれ第一の資産/資金と第二の資産/資金とを交換する取引であって、
前記第一の取引者が取引をキャンセルする場合に発行されるトランザクションのロック解除情報に、前記第二の取引者の発行したトランザクションに含まれる電子署名と、秘密情報を含むことを特徴とする請求項2記載の電子決済システム。 - 前記トランザクション発行装置は、前記トランザクション発行装置の発行するトランザクションに対応した取引状況管理テーブルを有し、
取引状況管理テーブルのレコードは、「急」・「不急」が区分されており、
前記トランザクション発行装置は、「急」とされたレコードに対応するトランザクションを優先して発行することを特徴とする請求項1記載の電子決済システム。 - 資産/資金に関するトランザクションを発行するトランザクション発行装置と、
前記トランザクション発行装置とネットワークにより接続され、前記トランザクション発行装置の発行するトランザクションに基づいて資産/資金の決済を行う資産/資金決済装置とからなる電子決済システムによる電子決済方法であって、
前記トランザクションは、資産/資金の数量と、トランザクション発行元の電子署名と秘密情報とを含むロック解除情報と、取引者の公開鍵と前記ロック解除情報のハッシュ値とを含むロック解除条件とを有し、
第一のトランザクションは、複数の連続してなるロック解除条件を保持するレコードからなり、
前記第一のトランザクションのロック解除条件には、前記トランザクション発行元と異なる電子署名に関する公開鍵情報を含み、
前記資産/資金決済装置が、前記トランザクション発行装置の発行する第一のトランザクションを台帳に転記するステップと、
前記資産/資金決済装置が、前記第一のトランザクション後に発行された第二のトランザクションの実行の可否を、前記台帳に転記されたロック解除情報とロック解除条件と、第二のトランザクションの台帳のロック解除情報とロック解除条件とを、第一のトランザクションの複数の連続してなるロック解除条件の順序に従って、照合させることにより判定して、実行可と判定された前記第二のトランザクションを実行するステップとを有することを特徴とする電子決済方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020145947A JP7465764B2 (ja) | 2020-08-31 | 2020-08-31 | 電子決済システムおよび電子決済方法 |
CN202180052504.6A CN115989537A (zh) | 2020-08-31 | 2021-07-27 | 电子结算系统以及电子结算方法 |
US18/022,338 US20230325822A1 (en) | 2020-08-31 | 2021-07-27 | Electronic payment system and electronic payment method |
PCT/JP2021/027808 WO2022044662A1 (ja) | 2020-08-31 | 2021-07-27 | 電子決済システムおよび電子決済方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020145947A JP7465764B2 (ja) | 2020-08-31 | 2020-08-31 | 電子決済システムおよび電子決済方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022040968A JP2022040968A (ja) | 2022-03-11 |
JP7465764B2 true JP7465764B2 (ja) | 2024-04-11 |
Family
ID=80353233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020145947A Active JP7465764B2 (ja) | 2020-08-31 | 2020-08-31 | 電子決済システムおよび電子決済方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230325822A1 (ja) |
JP (1) | JP7465764B2 (ja) |
CN (1) | CN115989537A (ja) |
WO (1) | WO2022044662A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019104250A1 (en) | 2017-11-22 | 2019-05-31 | SALT Lending Holdings, Inc. | Incrementally perfected digital asset collateral wallet |
JP2020123265A (ja) | 2019-01-31 | 2020-08-13 | 株式会社メルカリ | プログラム、情報処理装置、及び情報処理方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629081B1 (en) * | 1999-12-22 | 2003-09-30 | Accenture Llp | Account settlement and financing in an e-commerce environment |
JP2002024532A (ja) * | 2000-07-11 | 2002-01-25 | Hitachi Ltd | 電子有価証券取引システム |
US6931382B2 (en) * | 2001-01-24 | 2005-08-16 | Cdck Corporation | Payment instrument authorization technique |
US10861112B2 (en) * | 2012-07-31 | 2020-12-08 | Causam Energy, Inc. | Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform |
CA2982773C (en) * | 2015-04-14 | 2023-07-04 | Capital One Services, Llc | A system, method, and apparatus for updating an existing dynamic transaction card |
US10410211B2 (en) * | 2015-06-15 | 2019-09-10 | Intel Corporation | Virtual POS terminal method and apparatus |
US20180191503A1 (en) * | 2015-07-14 | 2018-07-05 | Fmr Llc | Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
GB201613174D0 (en) * | 2016-07-29 | 2016-09-14 | Eitc Holdings Ltd | Computer-implemented system and method |
US10417217B2 (en) * | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
US10796329B2 (en) * | 2016-11-29 | 2020-10-06 | Mastercard International Incorporated | Method and system for authentication of coupons via blockchain |
US10839379B2 (en) * | 2017-07-20 | 2020-11-17 | Chicago Mercantile Exchange Inc. | Blockchain including linked digital assets |
US12026710B2 (en) * | 2017-08-29 | 2024-07-02 | Nchain Licensing Ag | Constraints on outputs of an unlocking transaction in a blockchain |
US20190095879A1 (en) * | 2017-09-26 | 2019-03-28 | Cornell University | Blockchain payment channels with trusted execution environments |
US20190114706A1 (en) * | 2017-10-17 | 2019-04-18 | SALT Lending Holdings, Inc. | Blockchain oracle for managing loans collateralized by digital assets |
US11315138B1 (en) * | 2018-03-12 | 2022-04-26 | Worldpay, Llc | Decentralized computer systems and methods for loyalty points payments using distributed ledgers |
WO2019235198A1 (ja) * | 2018-06-06 | 2019-12-12 | 日本電信電話株式会社 | 決済システム、決済方法、利用者装置、決済プログラム |
JP6710737B2 (ja) * | 2018-10-24 | 2020-06-17 | 株式会社 みずほ銀行 | 決済システム及び決済方法 |
US20200311816A1 (en) * | 2019-03-25 | 2020-10-01 | PetroChain Holdings, Inc. | Distributed ledger investment governance platform |
WO2021016219A1 (en) * | 2019-07-19 | 2021-01-28 | Dan Kikinis | Non-cryptographic immutable distributed ledger technology |
US20210287285A1 (en) * | 2020-03-16 | 2021-09-16 | TraDove, Inc. | Lightweight blockchain supported transaction platform with token integrated lending enhancements |
US11087293B1 (en) * | 2020-03-20 | 2021-08-10 | TraDove, Inc. | Blockchain based bank checking network with paper checking enhancements |
US11669812B2 (en) * | 2020-06-05 | 2023-06-06 | Serge M Krasnyansky | Contingent payments for virtual currencies |
US11477654B1 (en) * | 2022-05-31 | 2022-10-18 | Starlogik Ip Llc | Access controlling network architectures and systems, having cellular network components and elements modified to host access controlling schemas designed to transform and/or facilitate cellular communication signals in accordance with novel cellular communications protocols with multi-part multi-functional address signaling, and methods for use thereof |
-
2020
- 2020-08-31 JP JP2020145947A patent/JP7465764B2/ja active Active
-
2021
- 2021-07-27 WO PCT/JP2021/027808 patent/WO2022044662A1/ja active Application Filing
- 2021-07-27 CN CN202180052504.6A patent/CN115989537A/zh active Pending
- 2021-07-27 US US18/022,338 patent/US20230325822A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019104250A1 (en) | 2017-11-22 | 2019-05-31 | SALT Lending Holdings, Inc. | Incrementally perfected digital asset collateral wallet |
JP2020123265A (ja) | 2019-01-31 | 2020-08-13 | 株式会社メルカリ | プログラム、情報処理装置、及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022044662A1 (ja) | 2022-03-03 |
JP2022040968A (ja) | 2022-03-11 |
US20230325822A1 (en) | 2023-10-12 |
CN115989537A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7533974B2 (ja) | 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法 | |
Swan | Blockchain for business: Next-generation enterprise artificial intelligence systems | |
Sunyaev et al. | Distributed ledger technology | |
AU2020200682B2 (en) | Systems and methods of secure provenance for distributed transaction databases | |
WO2021046494A1 (en) | System and method of providing a blockchain-based recordation process | |
US20180189887A1 (en) | Cryptographic currency for financial data management, digital and digitalized cross-asset identification and unique digital asset identifier generation, asset valuation and financial risk management | |
KR20210050525A (ko) | 분할 가능한 증권형 토큰 | |
CN109314643A (zh) | 事务处理装置、事务处理方法以及用于其的程序 | |
JP2021529378A (ja) | ブロックチェーンの分散台帳を実装する分散調整エンジンベースの取引方法、装置、及びシステム | |
CN110168597A (zh) | 用于在区块链网络内原子转移智能资产的平台 | |
JP2018521437A (ja) | ブロックチェーン技術を用いて証券取引を売買、決済、および清算するためのシステムおよび方法 | |
US20210082045A1 (en) | Smart contract for copy trading | |
CN109937430A (zh) | 用于在区块链网络内原子转移智能资产的平台 | |
CN110135966B (zh) | 授信额度管理方法与系统 | |
US20200160288A1 (en) | Physically settled futures delivery system | |
Ferrick | Modernizing the Stockholder Shield: How Blockchains and Distributed Ledgers Could Rescue the Appraisal Remedy | |
JP2021099627A (ja) | 相続手続システム、相続手続管理方法、プログラム | |
US20220284508A1 (en) | A distributed computing architecture with settlement mechanism to enable traceability of credit tokenization, disbursement and repayment | |
JP7465764B2 (ja) | 電子決済システムおよび電子決済方法 | |
Martins et al. | Recoverable token: Recovering from intrusions against digital assets in Ethereum | |
KR20220066786A (ko) | 실물자산 투자방법 | |
Kaal et al. | Blockchain innovation in private investment funds-A comparative analysis of the United States and Europe | |
Rohmalia et al. | Designing a Central Bank Digital Currency (CBDC) Retail Model as a Payment System | |
US20240185234A1 (en) | Hierarchical digital issuance tokens and claim tokens | |
US20240233019A9 (en) | Digital assets platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230125 |
|
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: 20240326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7465764 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |