JP2020030787A - Remittance device - Google Patents

Remittance device Download PDF

Info

Publication number
JP2020030787A
JP2020030787A JP2018221885A JP2018221885A JP2020030787A JP 2020030787 A JP2020030787 A JP 2020030787A JP 2018221885 A JP2018221885 A JP 2018221885A JP 2018221885 A JP2018221885 A JP 2018221885A JP 2020030787 A JP2020030787 A JP 2020030787A
Authority
JP
Japan
Prior art keywords
remittance
key
customer
processing unit
information
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.)
Pending
Application number
JP2018221885A
Other languages
Japanese (ja)
Inventor
寛 鳥居
Hiroshi Torii
寛 鳥居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2018221885A priority Critical patent/JP2020030787A/en
Publication of JP2020030787A publication Critical patent/JP2020030787A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

To improve customer convenience of settlements in digital currency while ensuring reliability of business partners.SOLUTION: A remittance device (204b) of the present invention comprises: one or more remittance execution units (2041b) configured to provide multiple registered users with services to make remittance in a predetermined digital currency; and a remittance instruction unit (2044) configured to use remittance information specifying a remittance amount in the predetermined digital currency and a remittance destination to instruct the remittance execution unit (2041b) to make a remittance to a remittance destination address corresponding to the specified remittance destination in the specified amount in the predetermined digital currency.SELECTED DRAWING: Figure 32

Description

本発明は、送金指示装置、送金指示方法、送金指示プログラム及び送金指示システムに関し、特にデジタル通貨の送金指示を行う送金指示装置、送金指示方法、送金指示プログラム及び送金指示システムに関する。   The present invention relates to a remittance instruction device, a remittance instruction method, a remittance instruction program, and a remittance instruction system, and particularly to a remittance instruction device, a remittance instruction method, a remittance instruction program, and a remittance instruction system for instructing remittance of digital currency.

ネットワーク化された現在における決済では、硬貨、紙幣及び小切手等の物理的通貨に代わって、通貨を電子的に表現したデジタル通貨による送金が一般的となっている。ネットワーク上の支払いにおいて、現時点では、クレジットカードや銀行振り込みなどが一般的である。例えば米国におけるPayPal(登録商標)(特許文献1)という決済サービスでは、ユーザがクレジットカード番号や銀行口座番号を登録することにより、顧客が指定するクレジットカードや銀行口座を、商取引に利用することができる。店舗側は、PayPalにてアカウントを作成し、顧客からの送金はこのアカウントに蓄積する。(以下、「店舗」という表現を用いているが、これは必ずしも商品を販売している店とは限らない。個人やサービス提供会社や単なる送金先口座などを表し、送金の受け手を代表するものとしてこの表現を使用している。)   2. Description of the Related Art In the current settlement through a network, remittance using a digital currency in which currencies are represented electronically has been general, instead of physical currencies such as coins, bills, and checks. At present, credit cards, bank transfers, and the like are common in network payments. For example, in a payment service called PayPal (registered trademark) (Patent Literature 1) in the United States, a user registers a credit card number or a bank account number so that a credit card or a bank account designated by a customer can be used for commercial transactions. it can. The store creates an account with PayPal, and remittances from customers accumulate in this account. (Hereinafter, the term "store" is used, but this is not necessarily the store that sells the product. It refers to individuals, service providers, or simply remittance accounts, and is representative of the remittance recipient. Use this expression as.)

他方、近年においては仮想通貨(又は「暗号通貨(Cryptocurrency)」とも呼ばれる。)に対する注目が集まってきている。送金をしやすくする名目で開発されてきた仮想通貨であるが、送金の匿名性に注力してきたこともあったため、送金者の特定がしにくい場合がある。この問題を解決するために、電子商取引を行う店舗は、個々の仮想通貨交換業者と契約し、送金サービスを利用することができる。例えば、日本のbitFlyer(登録商標)社が提供するbitWire(登録商標) SHOPという決済サービスでは、送金先アドレスの自動生成とメールアドレスによる送金者の確認が行われる。このサービスもPayPal同様、店舗はbitFlyerにおいてアカウントを作成し、顧客からの送金はこのアカウントに蓄積する。また、異なる取引所間の送金では送金先アドレスを入力しなくてはならず、現段階ではこれをQRコード(登録商標)のスキャンで代用することが、ユーザビリティが高いと言われている。   On the other hand, in recent years, attention has been paid to virtual currencies (also referred to as “cryptocurrencies”). Although it is a virtual currency that has been developed under the name of making remittance easy, it has sometimes been difficult to identify the sender because of the emphasis on the anonymity of remittance. In order to solve this problem, an e-commerce store can contract with an individual virtual currency exchange company and use a remittance service. For example, in a settlement service called bitWire (registered trademark) SHOP provided by bitFlyer (registered trademark) in Japan, a remittance destination address is automatically generated and a sender is confirmed by an e-mail address. In this service, like PayPal, the store creates an account on bitFlyer, and remittances from customers are stored in this account. It is said that usability is high when remittance between different exchanges requires inputting a remittance destination address, and at this stage, replacing this with a QR code (registered trademark) scan.

米国特許第7,089,208号明細書U.S. Pat. No. 7,089,208

ところが、店舗がより多くの顧客と商取引(特に仮想通貨による支払、決済)を行おうとする場合、複数の決済業者(仮想通貨交換業者)と提携しなければならない。しかし、小規模な店舗や個人が複数の仮想通貨交換業者と提携するのは手続やコスト面から実現性が低い。また、店舗が仮想通貨交換業者との提携を行わない場合には、店舗は各顧客に都度、送金先アドレスを伝え、個々の顧客が利用する交換業者を活用して手動による送金を依頼することになる。よって、顧客の利便性が損なわれる。そこで、複数の交換業者からの支払いを包括的に扱い、顧客の利便性を図るサービスの登場が望まれる。   However, if a store intends to conduct business transactions (especially payment and settlement with virtual currency) with more customers, it must cooperate with a plurality of settlement companies (virtual currency exchange companies). However, it is not feasible for a small store or individual to partner with multiple virtual currency exchanges due to procedures and costs. In addition, if the store does not partner with a virtual currency exchange company, the store must inform each customer of the remittance address and request a manual remittance using the exchange used by each customer. become. Therefore, the convenience of the customer is impaired. Therefore, it is desired to introduce a service for comprehensively handling payments from a plurality of exchanges and improving customer convenience.

本開示は、このような問題を解決するためになされたものであり、複数の交換業者からの支払いを包括的に扱い、顧客の利便性を図るための送金指示装置、送金指示方法、送金指示プログラム及び送金指示システムを提供することを目的とする。   The present disclosure has been made in order to solve such a problem, and comprehensively handles payment from a plurality of exchanges, and provides a remittance instruction device, a remittance instruction method, and a remittance instruction for customer convenience. It is intended to provide a program and a remittance instruction system.

本開示の第1の態様にかかる送金指示装置は、
登録済みの複数のユーザに対して複数のデジタル通貨を送金するサービスを提供する複数の送金実行サービスのそれぞれと、各ユーザと、各ユーザが各送金実行サービスを利用するための複数の鍵のそれぞれと、を対応付けて記憶する鍵情報記憶部と、
所定の送金実行サービスと、当該所定の送金実行サービスを利用する前記ユーザとに基づいて、前記鍵情報記憶部の中から鍵を特定する特定部と、
所定のデジタル通貨における送金額と送金先とが指定された送金情報に基づいて、前記特定された鍵を用いて前記所定の送金実行サービスに対して、前記指定された所定のデジタル通貨及び前記送金額について前記指定された送金先に対応する送金先アドレスへの送金指示を行う送金指示部と、
を備える。
A remittance instructing device according to a first aspect of the present disclosure includes:
Each of a plurality of remittance execution services that provide a service for remitting a plurality of digital currencies to a plurality of registered users, and each of a plurality of keys for each user and each user to use each remittance execution service And a key information storage unit that stores the key information in association with
A predetermined remittance execution service, and a specifying unit that specifies a key from the key information storage unit based on the user using the predetermined remittance execution service,
Based on the remittance information in which a remittance amount and a remittee in a predetermined digital currency are specified, the specified digital currency and the remittance are transmitted to the predetermined remittance execution service using the specified key. A remittance instructing unit for instructing remittance to a remittee address corresponding to the designated remittee for the amount;
Is provided.

本開示によれば、複数の交換業者からの支払いを包括的に扱い、顧客の利便性を図るための送金指示装置、送金指示方法、送金指示プログラム及び送金指示システムを提供することができる。   According to the present disclosure, it is possible to provide a remittance instructing device, a remittance instructing method, a remittance instructing program, and a remittance instructing system for comprehensively handling payments from a plurality of exchanges and improving customer convenience.

実施形態1にかかる送金指示装置におけるハードウェアの構成を表すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration of the remittance instruction device according to the first embodiment. 実施形態1にかかる仮想通貨の送金に関する情報システムの構成、及び、顧客の鍵を登録するシーケンスを表すブロック図である。FIG. 2 is a block diagram illustrating a configuration of an information system related to virtual currency remittance according to the first embodiment and a sequence for registering a customer key. 実施形態1にかかる顧客取引所において表示される、鍵情報ページの例である。5 is an example of a key information page displayed on the customer exchange according to the first embodiment. 実施形態1にかかる送金指示装置にアクセスした際に表示される鍵登録ページの例である。5 is an example of a key registration page displayed when accessing the remittance instruction device according to the first embodiment. 実施形態1にかかる送金指示装置において、鍵の名前を知ることのできる情報を返すメソッドの例。7 shows an example of a method for returning information that allows the user to know the name of a key in the remittance instruction device according to the first embodiment. 実施形態1にかかる送金指示装置において、鍵登録ページの生成処理のうち、鍵を入力するテキストボックスをウェブページに追加する手順を示すフローチャート図である。FIG. 7 is a flowchart illustrating a procedure for adding a text box for inputting a key to a web page in the key registration page generation process in the remittance instruction device according to the first embodiment. 実施形態1にかかる送金指示装置における日本語の翻訳テーブルの例である。5 is an example of a Japanese translation table in the remittance instruction device according to the first embodiment. 実施形態1にかかる送金指示装置における鍵情報テーブルの例である。4 is an example of a key information table in the remittance instruction device according to the first embodiment. 実施形態1にかかる支払い手続きに関係する構成、及び、支払手続きの流れを示すシーケンスを表すブロック図である。FIG. 2 is a block diagram illustrating a configuration related to a payment procedure according to the first embodiment and a sequence illustrating a flow of the payment procedure. 実施形態1にかかる送金指示装置が生成する送金許可ページの例である。5 is an example of a remittance permission page generated by the remittance instruction device according to the first embodiment. 実施形態1にかかる送金指示装置において、店舗情報を保持する店舗情報テーブルの例である。5 is an example of a store information table holding store information in the remittance instruction device according to the first embodiment. 実施形態2にかかる仮想通貨の送金に関する情報システムの構成、及び、支払い手続きのシーケンスを表すブロック図である。It is a block diagram showing the structure of the information system regarding virtual currency remittance concerning Embodiment 2, and the sequence of a payment procedure. 実施形態2にかかる鍵定義テーブルのルックアップテーブルの例である。13 is an example of a lookup table of a key definition table according to the second embodiment. 実施形態2にかかる鍵情報テーブルの例である。11 is an example of a key information table according to the second embodiment. 実施形態2にかかる鍵登録ページの生成処理のうち、鍵を入力するテキストボックスをウェブページに追加する手順を示す。In the key registration page generation processing according to the second embodiment, a procedure for adding a text box for inputting a key to a web page will be described. 実施形態2にかかる鍵登録ページの例である。10 is an example of a key registration page according to the second embodiment. 実施形態2にかかる送金許可ページの例である。It is an example of a remittance permission page according to the second embodiment. 実施形態2にかかる送金指示装置において、換算レートを求める際のフローチャート図である。FIG. 13 is a flowchart for obtaining a conversion rate in the remittance instruction device according to the second embodiment. 実施形態3にかかる送金指示システムにおける送金許可シーケンスのブロック図である。It is a block diagram of a remittance permission sequence in the remittance instruction system according to the third embodiment. 実施形態3にかかる送金指示システムにおけるスマートフォンアプリの送金許可画面の例である。13 is an example of a remittance permission screen of a smartphone application in the remittance instruction system according to the third embodiment. 実施形態3にかかる送金指示システムにおいて、店舗情報を保持する店舗情報テーブルの例である。14 is an example of a store information table holding store information in the remittance instruction system according to the third embodiment. 実施形態3にかかる送金指示システムにおいて、各通貨の属性を保持する送金先アドレス生成制御テーブルの例である。13 is an example of a remittance destination address generation control table holding attributes of respective currencies in the remittance instruction system according to the third embodiment. 実施形態3にかかる送金指示システムにおいて、送金先アドレス生成用の鍵などを保持するデータベーステーブルの例である。14 is an example of a database table that holds a key for generating a remittee address in the remittance instruction system according to the third exemplary embodiment. 実施形態4にかかる仮想通貨の送金に関する情報システムの構成、及び、送金許可シーケンスのブロック図である。It is a block diagram of the structure of the information system regarding remittance of virtual currency according to Embodiment 4, and a remittance permission sequence. 実施形態4にかかる送金指示装置における送金許可ページの例である。14 is an example of a remittance permission page in the remittance instruction device according to the fourth embodiment. 実施形態4にかかる送金指示装置において、取引所に交換注文を出す際のフローチャート図である。FIG. 14 is a flowchart for when the remittance instruction device according to the fourth embodiment issues an exchange order to an exchange. 実施形態5にかかる仮想通貨の送金に関する情報システムの構成、及び、送金許可シーケンスのブロック図である。It is a block diagram of the structure of the information system regarding remittance of virtual currency concerning Embodiment 5, and a remittance permission sequence. 実施形態5にかかる送金指示装置における鍵情報データベースの例である。14 is an example of a key information database in a remittance instruction device according to a fifth embodiment. 実施形態5にかかる送金指示装置における取引ログの1エントリーの例である。14 is an example of one entry of a transaction log in the remittance instruction device according to the fifth embodiment. 実施形態5にかかる送金指示装置における引き出し用ウェブページの例である。16 is an example of a withdrawal web page in the remittance instruction device according to the fifth embodiment. 実施形態5にかかる送金指示装置における取引ログの1エントリーの例である。14 is an example of one entry of a transaction log in the remittance instruction device according to the fifth embodiment. 本実施形態6にかかる仮想通貨の送金に関する情報システムの構成、及び、送金許可シーケンスのブロック図である。It is a block diagram of the structure of the information system regarding remittance of virtual currency concerning Embodiment 6, and a remittance permission sequence. 本実施形態6にかかる店舗サーバの商品ページの例である。It is an example of a product page of a store server according to the sixth embodiment. 本実施形態6にかかる商品ページの価格表示欄付近のHTML記述の例である。It is an example of HTML description near the price display column of the product page according to the sixth embodiment.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。尚、本実施形態で取り扱う送金対象の通貨は、通貨を電子的に表現したデジタル通貨である。デジタル通貨は、例えば、仮想通貨、電子マネー等が挙げられるが、法定通貨との換金が保証されるか否かは問わない。また、デジタル通貨は、硬貨や紙幣が存在しない法定通貨であってもよい。また、以下の説明におけるhttps(Hypertext Transfer Protocol Secure)は、暗号化通信の一例に過ぎず、他の暗号化通信技術を適用しても構わない。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and repeated description will be omitted as necessary to clarify the description. The currency to be remitted in the present embodiment is a digital currency that represents the currency electronically. Digital currencies include, for example, virtual currencies, electronic money, and the like, but it does not matter whether or not cash exchange with legal currencies is guaranteed. Further, the digital currency may be a legal currency in which coins and bills do not exist. Further, https (Hypertext Transfer Protocol Secure) in the following description is merely an example of the encrypted communication, and another encrypted communication technology may be applied.

<実施形態1>
本実施形態では、デジタル通貨の取引所におけるサービス機能が送金実行サービスに組み込まれており、送金実行サービスで使われている鍵の名前がそのまま送金指示装置が提供するユーザインタフェースに表示される例を示す。
<First embodiment>
In this embodiment, the service function of the digital currency exchange is incorporated in the remittance execution service, and the name of the key used in the remittance execution service is displayed as it is on the user interface provided by the remittance instruction device. Show.

図1は、実施形態1にかかる送金指示装置100におけるハードウェアの構成を表すブロック図である。同図において、CPU(Central Processing Unit、中央処理装置)101は、本実施形態にかかる送金指示装置の処理が実装されたプログラム1021を実行する。プログラムメモリ102は、CPU101により実行されるプログラム1021を記憶する。RAM(Random Access Memory)103は、CPU101によるプログラム実行時に、各種情報を一時的に記憶する揮発性記憶装置である。尚、CPU101によるプログラム実行時に、RAM103がプログラム1021を記憶することにより、RAM103はプログラムメモリ102の役目を果たすように実装することもできる。ハードディスク104は、RAM103に比べてより長期の間、各種情報を記憶する不揮発性記憶装置である。通信部105は、他の装置と通信するために利用される。CPU101、プログラムメモリ102、RAM103、ハードディスク104及び通信部105は、バス106により接続され、データや制御信号を互いに受け渡すために用いられる。本明細書では、CPUによるプログラム実行を説明するが、FPGA(Field-Programmable Gate Array)などの集積回路でも同様の機能が実装できる。   FIG. 1 is a block diagram illustrating a hardware configuration of the remittance instruction device 100 according to the first embodiment. In the figure, a CPU (Central Processing Unit) 101 executes a program 1021 in which the processing of the remittance instruction device according to the present embodiment is implemented. The program memory 102 stores a program 1021 executed by the CPU 101. A RAM (Random Access Memory) 103 is a volatile storage device that temporarily stores various information when the CPU 101 executes a program. When the CPU 101 executes the program, the RAM 103 stores the program 1021 so that the RAM 103 can be implemented to serve as the program memory 102. The hard disk 104 is a nonvolatile storage device that stores various types of information for a longer time than the RAM 103. The communication unit 105 is used for communicating with another device. The CPU 101, the program memory 102, the RAM 103, the hard disk 104, and the communication unit 105 are connected by a bus 106 and are used to transfer data and control signals to each other. In this specification, execution of a program by a CPU will be described. However, the same function can be implemented by an integrated circuit such as an FPGA (Field-Programmable Gate Array).

また、本実施形態において、データベース機能が使用されるが、データベースに保管するデータは、ハードディスク104上やRAM103上などに記憶される。あるいは、他の装置上に記憶され、通信部105を利用して、読み書きすることも可能である。   In the present embodiment, a database function is used. Data to be stored in the database is stored on the hard disk 104, the RAM 103, or the like. Alternatively, it can be stored on another device and read and written using the communication unit 105.

図2は、本実施形態にかかる仮想通貨の送金に関する情報システムの構成、及び、顧客の鍵を登録する際のシーケンスを表すブロック図である。ここで、顧客取引所204は、1種類以上の仮想通貨の(通貨間の交換等の取引を含む)送金を仲介する仮想通貨交換業者が運用する情報システムである。顧客取引所204は、自己が管理する(登録済みの)複数のユーザ(例えば、顧客201)のそれぞれに対して、複数の仮想通貨を送金するサービスを提供する送金実行サービス2041を備える。ここで、顧客取引所204と送金実行サービス2041とは一対一で対応するものとする。そして、顧客取引所204は、鍵情報テーブル2042を記憶し、鍵情報テーブル2042は、顧客20421ごとに、鍵情報20422を対応付けて保存する。鍵情報20422は、送金実行サービス2041として提供されるAPI(Application Programming Interface)を利用するための鍵(API key等)204222と、その種別である鍵種別204221との組合せを複数、含むものである。つまり、顧客20421と鍵情報20422とは一対一で対応し、鍵情報20422には、鍵種別204221と鍵204222の組が1以上含まれる。よって、各鍵204222は、顧客20421ごとに異なる。そして、顧客取引所204は、WEBシステム2043としての機能を有し、顧客201からの鍵情報要求に応じて、鍵情報テーブル2042の中から顧客201を顧客20421として対応付けられた鍵情報20422を読み出して、鍵情報20422(鍵種別204221と鍵204222の組)を出力する。但し、鍵の保存方法や出力又は通知の仕方はこれに限定されない。   FIG. 2 is a block diagram showing a configuration of an information system relating to remittance of virtual currency according to the present embodiment, and a sequence when registering a customer key. Here, the customer exchange 204 is an information system operated by a virtual currency exchange company that mediates remittance of one or more types of virtual currency (including transactions such as exchange between currencies). The customer exchange 204 includes a remittance execution service 2041 that provides a service for remitting a plurality of virtual currencies to each of a plurality of registered (registered) users (for example, the customer 201) managed by the customer exchange 204. Here, it is assumed that the customer exchange 204 and the remittance execution service 2041 correspond one-to-one. Then, the customer exchange 204 stores a key information table 2042, and the key information table 2042 stores key information 20422 in association with each customer 20421. The key information 20422 includes a plurality of combinations of a key (API key or the like) 204222 for using an API (Application Programming Interface) provided as the remittance execution service 2041 and a key type 204221 as the type. That is, the customer 20421 and the key information 20422 correspond one-to-one, and the key information 20422 includes one or more sets of the key type 204221 and the key 204222. Therefore, each key 204222 is different for each customer 20421. The customer exchange 204 has a function as a WEB system 2043. In response to a key information request from the customer 201, the customer exchange 204 stores key information 20422 corresponding to the customer 201 as the customer 20421 from the key information table 2042. The key information 20422 is read out and the key information 20422 (the combination of the key type 204221 and the key 204222) is output. However, the key storage method and the output or notification method are not limited to this.

顧客コンピュータ202は、顧客201が操作するコンピュータ端末であり、例えば、ブラウザ等(アクセス処理部2021)が動作するパーソナルコンピュータ、スマートフォン、タブレット等である。尚、顧客201は「送金元」、及び、所定の送金実行サービスを利用するユーザの一例である。   The customer computer 202 is a computer terminal operated by the customer 201, and is, for example, a personal computer, a smartphone, a tablet, or the like on which a browser or the like (access processing unit 2021) operates. The customer 201 is an example of a “remitter” and a user who uses a predetermined remittance execution service.

送金指示装置203は、顧客及び取引所ごとの鍵情報を管理し、複数の取引所に対して送金指示を行うことが可能な情報処理装置である。尚、送金指示装置203は、複数台の情報処理装置により分散して、又は、冗長化して実現してもよい。送金指示装置203は、鍵定義テーブル2031と、鍵情報テーブル2032と、鍵登録処理部2033と、送金処理部2034とを備える。鍵定義テーブル2031は、複数の送金実行サービスのそれぞれごとに、前記鍵に関する定義を記憶するテーブルである。ここでは、鍵定義テーブル2031は、取引所及び言語ごとに、当該取引所で提供される送金実行サービスのAPIを利用する際に必要となる鍵について、当該取引所の情報システム上で用いられる鍵の名称の文字列を鍵の種別ごとに管理するテーブルである。鍵定義テーブル2031は、取引所20311、言語20312、鍵種別20313及び鍵名称20314が対応付けられている。尚、鍵名称は、取引所ごとに少なくとも1以上であればよい。当然のことながら、鍵種別20313は、鍵種別204221と同じ内容である必要はなく、配列内の位置で鍵種別を表してもよい。また、鍵定義テーブル2031は、言語ごとに別テーブルとしてもよい。   The remittance instructing device 203 is an information processing device that manages key information for each customer and exchange and can issue remittance instructions to a plurality of exchanges. The remittance instructing device 203 may be realized by a plurality of information processing devices in a distributed or redundant manner. The remittance instruction device 203 includes a key definition table 2031, a key information table 2032, a key registration processing unit 2033, and a remittance processing unit 2034. The key definition table 2031 is a table that stores a definition related to the key for each of a plurality of remittance execution services. Here, the key definition table 2031 indicates, for each exchange and language, a key used on the information system of the exchange for a key required when using the API of the remittance execution service provided by the exchange. Is a table for managing a character string of the name of each key for each key type. The key definition table 2031 is associated with an exchange 20311, a language 20312, a key type 20313, and a key name 20314. The key name may be at least one for each exchange. As a matter of course, the key type 20313 does not need to have the same content as the key type 204221, and the key type may be represented by a position in the array. The key definition table 2031 may be a separate table for each language.

鍵情報テーブル2032は、顧客20321及び取引所20322ごとに、鍵情報20323を管理するテーブルである。鍵情報20323には、鍵種別203231と鍵203232との組が複数含まれる。   The key information table 2032 is a table for managing key information 20323 for each customer 20321 and exchange 20322. The key information 20323 includes a plurality of pairs of a key type 203231 and a key 203232.

鍵登録処理部2033は、顧客からの鍵の登録要求に応じて鍵定義テーブル2031を参照して鍵登録ページを生成して返信し、鍵登録ページを介して入力された鍵を鍵情報テーブル2032に登録する。送金処理部2034は、顧客からの送金要求に応じて、指定された仮想通貨及び金額について指定された取引所に対して、鍵情報テーブル2032に登録された鍵を用いて送金先への送金指示を行う。   The key registration processing unit 2033 generates and returns a key registration page with reference to the key definition table 2031 in response to a key registration request from the customer, and returns the key input via the key registration page to the key information table 2032. Register with. The remittance processing unit 2034 issues a remittance instruction to the remittee using the key registered in the key information table 2032 to the designated exchange for the designated virtual currency and amount in response to a remittance request from the customer. I do.

続いて、図2を用いて顧客の鍵を登録する処理の流れを説明する。まず、顧客コンピュータ202のアクセス処理部2021は、顧客201の操作に応じて、顧客取引所204に対して鍵情報要求を送信する(S101)。例えば、顧客コンピュータ202は、顧客201がアカウントを持つ顧客取引所204のウェブサイトにログインし、顧客取引所204のWEBシステム2043は、鍵情報テーブル2042を参照し、顧客201に対応付けられた鍵情報20422を読み出して、鍵204222とその鍵種別204221の名称の文字列とを対応付けた鍵情報ページを生成し、顧客コンピュータ202に表示させるために、鍵情報ページを送信する(S102)。尚、顧客取引所204と顧客コンピュータ202の間の通信方法については本発明の対象外のため、説明を省く。アクセス処理部2021は、顧客取引所204から受信した鍵情報ページを画面(不図示)に表示する。顧客コンピュータ202に表示される鍵情報ページ300は、例えば図3のように鍵が2つとし、それぞれ鍵名称311「APIキー」と鍵名称321「秘密鍵」という名前が付いているものとする。そして、鍵情報ページ300は、鍵名称311に対応付けられた鍵312と、鍵名称321に対応付けられた鍵322とが表示されていることを示す。よって、顧客201は、顧客コンピュータ202の画面に表示された鍵情報ページ300を介して、鍵名称ごとの鍵の文字列を目視及びコピーする等により、鍵を入手できる。   Next, a flow of processing for registering a customer key will be described with reference to FIG. First, the access processing unit 2021 of the customer computer 202 transmits a key information request to the customer exchange 204 according to the operation of the customer 201 (S101). For example, the customer computer 202 logs in to the website of the customer exchange 204 in which the customer 201 has an account, and the WEB system 2043 of the customer exchange 204 refers to the key information table 2042 to check the key associated with the customer 201. The information 20422 is read out, a key information page in which the key 204222 is associated with the character string of the name of the key type 204221 is generated, and the key information page is transmitted to be displayed on the customer computer 202 (S102). Note that the communication method between the customer exchange 204 and the customer computer 202 is outside the scope of the present invention and will not be described. The access processing unit 2021 displays the key information page received from the customer exchange 204 on a screen (not shown). The key information page 300 displayed on the customer computer 202 has, for example, two keys as shown in FIG. 3 and has a key name 311 “API key” and a key name 321 “secret key”. . Then, the key information page 300 indicates that the key 312 associated with the key name 311 and the key 322 associated with the key name 321 are displayed. Therefore, the customer 201 can obtain the key by viewing and copying the character string of the key for each key name via the key information page 300 displayed on the screen of the customer computer 202.

次に、顧客201は顧客コンピュータ202を操作して、先ほど入手した鍵を送金指示装置203に登録する。本実施形態では、送金指示装置203はウェブサーバの機能を持つものとする。そのため、顧客コンピュータ202と送金指示装置203とは原則としてhttpsを用いた通信を行う。まず、顧客コンピュータ202のアクセス処理部2021は、送金指示装置203が提供する鍵登録のためのウェブページ(鍵登録URL(Uniform Resource Locator))にアクセスする(S111)と、顧客201がまだログインをしていない場合、送金指示装置203は、顧客コンピュータ202にログインページを返信する(S112)。これに応じて、アクセス処理部2021は、受信したログインページを画面に表示する。顧客201がログインページに対してユーザ名とパスワードを入力すると、アクセス処理部2021はこれを送金指示装置203へ、認証情報として送信する(S113)。尚、アクセス処理部2021は、併せて、鍵の登録対象の取引所の識別情報(取引所ID等)を送金指示装置203へ送信してもよい。あるいは、前記鍵登録URLに識別情報を含めてもよい。この認証情報が送金指示装置203に事前に登録してあるものと一致すれば、送金指示装置203の鍵登録処理部2033は鍵登録ページを生成する。このとき、鍵登録処理部2033は、鍵定義テーブル2031を参照し、ステップS113等で受信した取引所ID及びアクセス処理部2021側の表示言語に基づき、鍵種別20313及び鍵名称20314を読み出して、鍵名称20314に対応する鍵の入力欄を含む鍵登録ページを生成する。そして、鍵登録処理部2033は、顧客コンピュータ202に、生成した鍵登録ページを送信する(S114)。このとき、認証状態を維持するために、鍵登録処理部2033はクッキーを顧客コンピュータ202に送ることもできる。アクセス処理部2021は、送金指示装置203から受信した鍵登録ページを画面に表示する。   Next, the customer 201 operates the customer computer 202 to register the key obtained earlier in the remittance instructing device 203. In the present embodiment, it is assumed that the remittance instruction device 203 has a function of a web server. Therefore, the customer computer 202 and the remittance instructing device 203 perform communication using https in principle. First, when the access processing unit 2021 of the customer computer 202 accesses a web page (key registration URL (Uniform Resource Locator)) for key registration provided by the remittance instructing device 203 (S111), the customer 201 still logs in. If not, the remittance instructing device 203 returns a login page to the customer computer 202 (S112). In response, the access processing unit 2021 displays the received login page on the screen. When the customer 201 inputs a user name and a password on the login page, the access processing unit 2021 transmits them to the remittance instructing device 203 as authentication information (S113). The access processing unit 2021 may also transmit the identification information (exchange ID or the like) of the exchange whose key is to be registered to the remittance instructing device 203. Alternatively, the key registration URL may include identification information. If the authentication information matches the information registered in advance in the remittance instructing device 203, the key registration processing unit 2033 of the remittance instructing device 203 generates a key registration page. At this time, the key registration processing unit 2033 refers to the key definition table 2031, reads out the key type 20313 and the key name 20314 based on the exchange ID received in step S113 and the like and the display language of the access processing unit 2021, and A key registration page including a key input field corresponding to the key name 20314 is generated. Then, the key registration processing unit 2033 transmits the generated key registration page to the customer computer 202 (S114). At this time, the key registration processing unit 2033 can also send a cookie to the customer computer 202 in order to maintain the authentication state. The access processing unit 2021 displays the key registration page received from the remittance instruction device 203 on the screen.

顧客コンピュータ202に表示される鍵登録ページ400は、例えば図4のように、取引所名称401について、鍵名称411「APIキー」と鍵名称421「秘密鍵」を入力するテキストボックス(鍵入力欄412及び422)を含む。顧客201は、顧客コンピュータ202に表示される鍵登録ページ400における、「APIキー」と「秘密鍵」のそれぞれに対応する鍵入力欄412及び422に、図3からコピーした情報を入力する。   The key registration page 400 displayed on the customer computer 202 is, for example, as shown in FIG. 412 and 422). The customer 201 inputs the information copied from FIG. 3 into key input fields 412 and 422 corresponding to “API key” and “secret key” on the key registration page 400 displayed on the customer computer 202.

ここで、「APIキー」と「秘密鍵」という名前(鍵名称)は、顧客取引所204の情報システム上で扱われる表現(文字列)に合わせてある。これが可能なのは、鍵定義テーブル2031において取引所と言語毎に鍵の名前を記録しているためである。このようにすることで、鍵登録処理部2033における鍵登録ページ(ウェブページ)の生成処理の実装が一度完了すれば、その後はHTMLなどのフロントエンド技術を知らないバックエンド技術者でも、新たな取引所に対応するプログラムを書き、この鍵の名前の対応を記述するだけで、鍵登録ページを自動生成できる。これにより、少ない人数でより多くの取引所に素早く対応することができるため、非常に重要である。また、鍵の名称が鍵登録ページと取引所の鍵情報ページとで一貫性があるため、顧客はどの鍵を入力すれば良いのか迷う必要がないため、ユーザビリティの観点からも有用である。   Here, the names (key names) of the “API key” and the “secret key” match the expressions (character strings) handled on the information system of the customer exchange 204. This is possible because the key definition table 2031 records the name of the key for each exchange and language. By doing so, once the key registration page (web page) generation processing in the key registration processing unit 2033 is completed, even if a back-end engineer who does not know the front-end technology such as HTML, a new A key registration page can be automatically generated simply by writing a program corresponding to the exchange and describing the correspondence of the key name. This is very important because it allows you to quickly respond to more exchanges with fewer people. Further, since the key name is consistent between the key registration page and the exchange key information page, the customer does not need to be confused about which key to input, which is useful from the viewpoint of usability.

これを実現する一つの方法が、オブジェクト指向による継承と、国際化(Internationalization)技術を利用することである。ここでは、図5にPython言語による具体例を示す。バックエンド技術者は図5のメソッドを全ての取引所クラスに定義するだけで良い。ここで取引所クラスとは、顧客取引所毎に定義され、各取引所に関する情報を保持するクラスである。図5のメソッドは、文字列(str)と真偽値(bool)の対(tuple)を配列(list)に並べて返す処理を行うものである。ここで、配列の要素はそれぞれ1つの鍵に対応する。そのため、鍵が2種類ある場合、配列の長さは2となる。   One way to achieve this is to use object-oriented inheritance and internationalization techniques. Here, FIG. 5 shows a specific example in the Python language. The backend engineer need only define the method of FIG. 5 for all exchange classes. Here, the exchange class is a class that is defined for each customer exchange and holds information on each exchange. The method in FIG. 5 performs a process of returning a pair (tuple) of a character string (str) and a boolean value (bool) in an array (list). Here, each element of the array corresponds to one key. Therefore, when there are two types of keys, the length of the array is 2.

鍵登録処理部2033は、これらの情報に基づき図4のウェブページを生成する。ここで、鍵登録ページの生成処理のうち、鍵を入力するテキストボックスをウェブページに追加する手順を図6に示す。前提として、当該手順の開始時には、ウェブページ上のテキストボックス以前の部分については既に生成されているものとする。また、鍵登録処理部2033は、ステップS111又はステップS113で受け付けた取引所IDを特定している。まずステップ601で、鍵登録処理部2033は、顧客コンピュータ202のブラウザで選択されている表示言語を取得し、変数localeに代入する。次にステップ602で、鍵登録処理部2033は、図5のメソッドを呼び出し、得られた配列をnamesという変数に代入する。そして、配列namesの各要素のそれぞれについて(つまり、eachとして)、ステップ603からステップ606またはステップ607までを繰り返す。ステップ603では、鍵登録処理部2033は、まずlocaleに対応した翻訳テーブル(鍵定義テーブル2031)よりeachの最初の要素に対応した文字列を取得し、これを変数labelに代入する。翻訳テーブルについては後に説明する。次のステップ604で、鍵登録処理部2033は、変数labelに代入された文字列をテキストボックスに付随するラベルとして、ウェブページ上に追加する。ここで、eachの第2要素は、テキストボックスの属性を表す。鍵登録処理部2033は、ステップ605でeach[1]がTrueであると判定した場合、ステップ607で顧客201が入力した文字列が伏せ字で表示されるテキストボックスをウェブページに追加する。逆に、each[1]がFalseの場合、鍵登録処理部2033は、入力した内容が見えるテキストボックスをウェブページに追加する。鍵登録処理部2033は、以上のループの後、ウェブページの残りの部分を追加し、ウェブページを完成する。   The key registration processing unit 2033 generates the web page in FIG. 4 based on the information. FIG. 6 shows a procedure for adding a text box for inputting a key to the web page in the key registration page generation process. As a premise, at the start of the procedure, it is assumed that a part before the text box on the web page has already been generated. In addition, the key registration processing unit 2033 specifies the exchange ID received in step S111 or step S113. First, in step 601, the key registration processing unit 2033 acquires the display language selected by the browser of the customer computer 202, and substitutes it for the variable “locale”. Next, in step 602, the key registration processing unit 2033 calls the method of FIG. 5 and substitutes the obtained array into a variable named names. Then, Steps 603 to 606 or 607 are repeated for each element of the array names (that is, as an “each”). In step 603, the key registration processing unit 2033 first obtains a character string corresponding to the first element of “each” from the translation table (key definition table 2031) corresponding to “locale”, and substitutes this for the variable “label”. The translation table will be described later. In the next step 604, the key registration processing unit 2033 adds the character string assigned to the variable “label” to the web page as a label attached to the text box. Here, the second element of “each” represents an attribute of the text box. If the key registration processing unit 2033 determines in step 605 that “each [1]” is True, the key registration processing unit 2033 adds a text box in which the character string input by the customer 201 is displayed as a hidden character to the web page in step 607. Conversely, when each of the search parameters [each] is False, the key registration processing unit 2033 adds a text box in which the input content is visible to the web page. After the above loop, the key registration processing unit 2033 adds the rest of the web page to complete the web page.

ここで、上述した翻訳テーブル(鍵定義テーブル2031)は、例えば図7のようにルックアップテーブルになっており、左の列(キー)にある文字列を検索し、右の列(鍵名称20314)の文字列を取得する形式を取る。ここで、「キー」は、例えば、取引所20311及び鍵種別20313を組み合わせたものであるが、これに限定されない。図7は日本語の翻訳テーブルの例であるが、この翻訳テーブルを対応言語(言語20312)の数だけ用意する。取引所毎言語毎に翻訳テーブルを用意しても良いが、この例では全ての取引所で用いられる鍵名称20314の文字列を1つの翻訳テーブルに保持している。左の列(キー)の文字列は、図5のメソッドが返す文字列である。翻訳テーブルは、ハードディスク104上のファイルから読み込んでも、データベース内のテーブルであっても、保存場所は問わない。プログラムとは別の場所に翻訳テーブルを持つと、取引所の表現が変わった場合に、プログラマでない担当者でも鍵登録ページの表現を追随させることができる。   Here, the above-mentioned translation table (key definition table 2031) is a look-up table, for example, as shown in FIG. ) Takes the form of getting the string. Here, the “key” is, for example, a combination of the exchange 20311 and the key type 20313, but is not limited to this. FIG. 7 shows an example of a Japanese translation table. This translation table is prepared by the number of corresponding languages (languages 20312). A translation table may be prepared for each exchange language, but in this example, the character string of the key name 20314 used in all exchanges is held in one translation table. The character string in the left column (key) is a character string returned by the method in FIG. Whether the translation table is read from a file on the hard disk 104 or a table in a database, the storage location does not matter. Having a translation table in a location separate from the program allows a person who is not a programmer to follow the expression on the key registration page if the expression on the exchange changes.

図2に戻り説明を続ける。アクセス処理部2021は、図4の鍵登録ページ400の鍵入力欄412及び422に入力された鍵の文字列を鍵名称411及び421のそれぞれに対応する鍵種別に対応付けた鍵情報を、送金指示装置203へ送信する(S115)。そして、鍵登録処理部2033は、受信した鍵情報を鍵情報テーブル2032に登録する。例えば、鍵登録処理部2033は、ログインユーザを顧客20321、取引所IDを取引所20322として、受信した鍵情報に含まれる鍵種別203231及び鍵203232の組と対応付けて、鍵情報テーブル2032に追加又は更新する。   Returning to FIG. 2, the description will be continued. The access processing unit 2021 remits key information in which the character strings of the keys input to the key input fields 412 and 422 of the key registration page 400 in FIG. 4 are associated with key types corresponding to the key names 411 and 421, respectively. The information is transmitted to the instruction device 203 (S115). Then, the key registration processing unit 2033 registers the received key information in the key information table 2032. For example, the key registration processing unit 2033 adds the login user as the customer 20321 and the exchange ID as the exchange 20322 to the key information table 2032 in association with the combination of the key type 203231 and the key 203232 included in the received key information. Or update.

ここで、鍵情報テーブル2032の例を図8に挙げる。取引所の列には、取引所を表す識別子(取引所ID等)を保持する。顧客の列には、顧客を表す識別子(ログインされたユーザID等)を保持する。鍵情報の列には、図4で入力した鍵がjson(JavaScript(登録商標) Object Notation)形式で保持されている。json形式の各対は、鍵の内部的な名前と図4で入力した鍵の値となっている。尚、鍵情報は配列でも構わないが、鍵情報を可変要素数の構造に保持している理由は、取引所によって鍵の数が異なるためである。尚、セキュリティを確保するために、鍵情報は暗号化するべきであるが、暗号化の方法は公知技術を用いることができるため説明を省略する。また、OAuthなどの方法によりアクセストークンを入手する方法がある取引所においては、この方法によってアクセストークンを入手し、これを鍵として鍵情報テーブル2032に登録することもできる。   Here, an example of the key information table 2032 is shown in FIG. The exchange column holds an identifier (exchange ID or the like) representing the exchange. The customer column holds an identifier (such as a logged-in user ID) representing the customer. In the key information column, the key input in FIG. 4 is stored in json (JavaScript (registered trademark) Object Notation) format. Each pair in the json format is an internal key name and a key value input in FIG. Although the key information may be an array, the reason why the key information is held in a structure with a variable number of elements is that the number of keys differs depending on exchanges. The key information should be encrypted in order to ensure security, but the description of the encryption method is omitted because a known technique can be used. In an exchange where there is a method of obtaining an access token by a method such as OAuth, the access token can be obtained by this method and registered in the key information table 2032 as a key.

続いて、図9を用いて本実施形態にかかる支払い手続きに関係する構成を説明する。まず、図9では、図2の構成の一部を省略し、また、支払い手続きに関係する構成を追加している。送金指示装置203は、図2の構成に加え、店舗情報テーブル2035を備えるものとする。店舗情報テーブル2035は、後述する店舗サーバ205を運用する店舗に関する情報を管理するテーブルである。特に、店舗情報テーブル2035は、店舗公開鍵20351を店舗ごとに管理しているものとする。店舗公開鍵20351は、店舗サーバ205の暗号用の公開鍵である。尚、店舗情報テーブル2035のその他の構成は、後述する。   Next, a configuration related to a payment procedure according to the present embodiment will be described with reference to FIG. First, in FIG. 9, a part of the configuration of FIG. 2 is omitted, and a configuration related to a payment procedure is added. It is assumed that the remittance instruction device 203 includes a store information table 2035 in addition to the configuration in FIG. The store information table 2035 is a table that manages information about stores that operate the store server 205 described below. In particular, it is assumed that the store information table 2035 manages the store public key 20351 for each store. The store public key 20351 is a public key for encryption of the store server 205. Other configurations of the store information table 2035 will be described later.

店舗サーバ205は、電子商取引のWEBサイトを提供するコンピュータ装置である。尚、店舗サーバ205は、これを運用する店舗の業者と対応し、「送金先」の一例といえる。店舗サーバ205は、記憶装置に承認URL2051を保存している。承認URL2051は、送金許可のために顧客コンピュータ202がアクセスするべき送金指示装置203のURLである。尚、店舗サーバ205のその他の構成は、公知技術を用いて実現可能であるため、詳細な説明を省略する。店舗取引所207は、店舗サーバ205を運用する店舗の業者がユーザとして登録されている仮想通貨の取引所である。よって、店舗取引所207の構成は、顧客取引所204と同等であるため、詳細な説明を省略する。台帳208は、任意の仮想通貨の取引記録、例えば、ブロックチェーンを便宜上、機能ブロックとして記載したものである。   The store server 205 is a computer device that provides an electronic commerce web site. Note that the store server 205 corresponds to a company of a store that operates the store server 205, and can be said to be an example of a “remittance destination”. The store server 205 stores the approval URL 2051 in the storage device. The approval URL 2051 is the URL of the remittance instructing device 203 to be accessed by the customer computer 202 for remittance permission. Note that the other configuration of the store server 205 can be realized using a known technique, and thus a detailed description is omitted. The store exchange 207 is a virtual currency exchange in which a store operator operating the store server 205 is registered as a user. Therefore, since the configuration of the store exchange 207 is the same as that of the customer exchange 204, detailed description will be omitted. The ledger 208 describes a transaction record of an arbitrary virtual currency, for example, a block chain as a functional block for convenience.

上記を踏まえ、図9を用いて支払手続きの流れを説明する。まず、顧客201が顧客コンピュータ202を利用して、店舗サーバ205での発注シーケンスに入る。発注シーケンスは、個々の店舗によって異なるので、ここでは説明しない。顧客201は、発注シーケンスの最後に購買を確定する操作を行う。店舗によっては、「注文を確定する」というボタンを顧客201がクリックする。これにより、アクセス処理部2021は、送金を開始するトリガーを店舗サーバ205へ送信する(S201)ことになる。すると、店舗サーバ205は、店舗ID、取引ID、通貨、金額、送金先アドレスの組(以後、「支払情報」と呼ぶ。)を店舗サーバ205の秘密鍵(非公開鍵)で電子署名した情報と、送金許可のための承認URL2051を顧客コンピュータ202に返信する(S202)。ここで「店舗ID」とは店舗に固有の識別子である。「取引ID」は、同じ店舗内であれば固有であり、支払いを識別する識別子である。アクセス処理部2021は、受信した電子署名付きの支払情報をボディ部に格納し、httpsにより承認URL2051にPOSTリクエストを発行する(アクセスする)(S203)。送金指示装置203の送金処理部2034は、店舗公開鍵20351を用いて、受信した支払情報が店舗サーバ205の秘密鍵によって電子署名されていることを確認する。そして、この時点でログインされていなければ(有効なクッキーが顧客コンピュータ202に保存されていなければ)、送金処理部2034は、ログインページを顧客コンピュータ202へ返信する(S204)。これに応じて、アクセス処理部2021は、受信したログインページを画面に表示する。顧客201がログインページに対してユーザ名とパスワードを入力すると、アクセス処理部2021は、その認証情報(入力されたユーザ名とパスワードの組を含む)を送金指示装置203へ送信する(S205)。送金処理部2034は、受信した認証情報が予め保存されているものと一致していれば、支払情報の中の通貨と金額を含んだウェブページ(送金許可ページ)を生成する。そして、送金処理部2034は、生成した送金許可ページを送信詳細として顧客コンピュータ202へ送信する(S206)。アクセス処理部2021は、送金指示装置203から受信した送金許可ページを画面に表示する。   Based on the above, the flow of the payment procedure will be described with reference to FIG. First, the customer 201 enters an order sequence in the store server 205 using the customer computer 202. The ordering sequence is different for each store and will not be described here. The customer 201 performs an operation to confirm the purchase at the end of the ordering sequence. In some stores, the customer 201 clicks a button of “confirm order”. Accordingly, the access processing unit 2021 transmits a trigger for starting remittance to the store server 205 (S201). Then, the store server 205 digitally signs the set of the store ID, the transaction ID, the currency, the amount, and the remittance address (hereinafter referred to as “payment information”) with the secret key (private key) of the store server 205. Then, an approval URL 2051 for remittance is returned to the customer computer 202 (S202). Here, the “store ID” is an identifier unique to the store. The “transaction ID” is unique within the same store and is an identifier for identifying payment. The access processing unit 2021 stores the received payment information with the electronic signature in the body part, and issues (accesses) a POST request to the approval URL 2051 using https (S203). The remittance processing unit 2034 of the remittance instructing device 203 uses the store public key 20351 to confirm that the received payment information is digitally signed with the secret key of the store server 205. If the user has not logged in at this time (if a valid cookie has not been stored in the customer computer 202), the remittance processing unit 2034 returns a login page to the customer computer 202 (S204). In response, the access processing unit 2021 displays the received login page on the screen. When the customer 201 inputs a user name and a password on the login page, the access processing unit 2021 transmits the authentication information (including the input user name and password pair) to the remittance instructing device 203 (S205). If the received authentication information matches the one stored in advance, the remittance processing unit 2034 generates a web page (remittance permission page) including the currency and the amount in the payment information. Then, the remittance processing unit 2034 transmits the generated remittance permission page to the customer computer 202 as transmission details (S206). The access processing unit 2021 displays the remittance permission page received from the remittance instructing device 203 on the screen.

図10は、本実施形態1にかかる送金許可ページ1000の例である。送金許可ページ1000は、店舗名1001と、送金額1002と、取引所選択欄1003と、中止ボタン1004と、承認ボタン1005等を含む。店舗名1001は、送金先の店舗名を表示する欄である。ここで、送金指示装置203が備える店舗情報テーブル2035は、一例として図11のような構成とする。ここでは、店舗名の列にjson形式のデータを保持している。構造体のキーとして表示言語を、値として店舗名を持つ。構造体に所望の言語が含まれていない場合には、キーが”default”の値を使用する。そのため、送金処理部2034は、受信した支払情報に含まれる店舗IDにより店舗情報テーブル2035を検索して、店舗名を取得する。このとき、送金処理部2034は、顧客コンピュータ202のブラウザに指定されている表示言語をキーとしてこの構造体を検索することで、その表示言語に合わせた店舗名を取得できる。そして、送金処理部2034は、取得した店舗名を送金許可ページ1000の店舗名1001に挿入する。当然のことながら、図11のテーブルには店舗に関する他の列があっても良い。   FIG. 10 is an example of the remittance permission page 1000 according to the first embodiment. The remittance permission page 1000 includes a store name 1001, a remittance amount 1002, an exchange selection column 1003, a stop button 1004, an approval button 1005, and the like. The store name 1001 is a column for displaying a store name of a remittance destination. Here, the store information table 2035 provided in the remittance instruction device 203 has a configuration as shown in FIG. 11 as an example. Here, json format data is held in the column of the store name. It has a display language as a structure key and a store name as a value. If the desired language is not included in the structure, the key uses a value of "default". Therefore, the remittance processing unit 2034 searches the store information table 2035 with the store ID included in the received payment information, and acquires the store name. At this time, the remittance processing unit 2034 can acquire the store name corresponding to the display language by searching this structure using the display language specified in the browser of the customer computer 202 as a key. Then, the remittance processing unit 2034 inserts the acquired store name into the store name 1001 of the remittance permission page 1000. Of course, the table of FIG. 11 may have other columns for stores.

送金額1002は、発注に伴い、顧客側から店舗側へ送金される金額を表示する欄である。そのため、送金指示装置203は、受信した支払情報に含まれる通貨における金額を送金額1002に挿入する。ここで、顧客201の設定として基軸となる通貨(基軸通貨)が送金指示装置203内のデータベースに保存されている場合、送金額をその基軸通貨の価値に換算した換算額をウェブページに追加することが可能である。これにより、顧客201は、自身の基軸通貨に換算した額により送金額の現在の価値を容易に把握することができる。そのためには、送金指示装置203は、予め顧客取引所204から板情報を入手しておくこととなる。「板情報」とは、その取引所での2通貨間の買値と売値の一覧である。板情報が送金通貨の売り買いを基軸通貨で表した一覧である場合、送金額の換算額は、(送金額 × 最大買値 − 交換手数料)である。逆に、板情報が基軸通貨の売り買いを送金通貨で表した一覧である場合、送金額の換算額は、(送金額 / 最小売値 − 交換手数料)である。交換手数料が送金通貨によって引かれる場合には、それぞれ((送金額 − 交換手数料)× 最大買値)と((送金額 − 交換手数料)/ 最小売値)である。ここで、最大買値又は最小売値を換算レートとみなすことができる。   The remittance amount 1002 is a column for displaying an amount of money to be remitted from the customer side to the store side in accordance with the order. Therefore, the remittance instructing device 203 inserts the amount in the currency included in the received payment information into the remittance amount 1002. Here, when the currency serving as the base currency (base currency) is stored in the database in the remittance instructing device 203 as the setting of the customer 201, the conversion amount obtained by converting the remittance amount into the value of the base currency is added to the web page. It is possible. As a result, the customer 201 can easily grasp the current value of the remittance amount based on the amount converted into the base currency. For that purpose, the remittance instructing device 203 must obtain the board information from the customer exchange 204 in advance. The “board information” is a list of buy and sell prices between two currencies on the exchange. When the board information is a list of buy and sell in the remittance currency in the base currency, the conversion amount of the remittance is (remittance amount x maximum purchase price-exchange fee). Conversely, if the board information is a list of buys and sells in the base currency expressed in the remittance currency, the converted amount of the remittance is (remittance / retail value-exchange fee). If the exchange fee is subtracted by the remittance currency, they are ((remittance-exchange fee) x maximum bid price) and ((remittance-exchange fee) / retail price), respectively. Here, the maximum buy price or the minimum sell price can be regarded as the conversion rate.

また、取引所選択欄1003は、送金元の取引所を選択するドロップダウンメニューである。送金処理部2034は、鍵情報テーブル2032の中から、ログインしている顧客201に関連付けられた鍵が登録されている取引所のリストを取得する。そして、送金処理部2034は、取引所選択欄1003が選択されると取得したリストが表示されるように送金許可ページ1000を生成する。よって、顧客201は、表示されたリストの中から所望の取引所を選択できる。尚、顧客取引所204は、後にログインしている顧客201に関連付けられたこの鍵を元に顧客201のアカウントを特定することで、送金元を決定することができる。尚、上記換算額が表示されている場合に顧客201が取引所選択欄1003により他の取引所を選択すると、アクセス処理部2021は、送金指示装置203へその旨を通知する。そして、送金処理部2034は、上記に基づき、選択された取引所における換算額を再度算出し、ウェブページを更新して顧客コンピュータ202へ送信する。これにより、アクセス処理部2021は、更新後の換算額を表示する。   The exchange selection field 1003 is a drop-down menu for selecting an exchange as a remittance source. The remittance processing unit 2034 acquires, from the key information table 2032, a list of exchanges in which the key associated with the customer 201 who has logged in is registered. Then, the remittance processing unit 2034 generates the remittance permission page 1000 so that the acquired list is displayed when the exchange selection field 1003 is selected. Therefore, the customer 201 can select a desired exchange from the displayed list. The customer exchange 204 can determine the remittance source by specifying the account of the customer 201 based on the key associated with the customer 201 who logs in later. If the customer 201 selects another exchange in the exchange selection field 1003 when the converted amount is displayed, the access processing unit 2021 notifies the remittance instructing device 203 of that fact. Then, based on the above, the remittance processing unit 2034 recalculates the conversion amount at the selected exchange, updates the web page, and transmits the updated web page to the customer computer 202. Thereby, the access processing unit 2021 displays the converted amount after the update.

また、中止ボタン1004は、支払いプロセスを中止させるためのものである。顧客201が中止ボタン1004を選択した場合、アクセス処理部2021は、送金指示装置203へその旨を通知し、送金処理部2034は店舗サーバ205に支払いプロセスの中止の旨を通知し、支払いプロセスは中止される。具体的には、送金処理部2034は、店舗情報テーブル2035内の店舗に応じた通知URLの列よりURL文字列を取得し、末尾に/cancelを追加したURLにPOSTリクエストを店舗サーバ205へ送信することで、「通知」を実現してもよい。この際、送金処理部2034は、POSTリクエストのボディ部に、取引IDを含む情報について送金指示装置203の秘密鍵で電子署名した情報を入れる。店舗サーバ205はこの取引IDを元に注文のキャンセル手続きを行う。   The stop button 1004 is used to stop the payment process. When the customer 201 selects the stop button 1004, the access processing unit 2021 notifies the remittance instructing device 203 of that, the remittance processing unit 2034 notifies the store server 205 of the stop of the payment process, and the payment process Aborted. Specifically, the remittance processing unit 2034 obtains the URL character string from the column of the notification URL corresponding to the store in the store information table 2035, and transmits a POST request to the store server 205 to the URL with / cancel added to the end. By doing so, “notification” may be realized. At this time, the remittance processing unit 2034 inserts, in the body part of the POST request, information obtained by digitally signing the information including the transaction ID with the secret key of the remittance instructing device 203. The store server 205 performs an order cancellation procedure based on the transaction ID.

また、承認ボタン1005は、顧客201が送金を許可して、支払いプロセスを継続させるためのものである。顧客201が承認ボタン1005を選択した場合、アクセス処理部2021は、送金許可ページ1000上に表示された通貨、送金額及び取引所による送金が許可された旨を送金指示装置203へ通知し(S207)、送金処理部2034は、店舗サーバ205に送金許可の旨を通知する(S208)。具体的には、送金処理部2034は、店舗情報テーブル2035内の店舗に応じた通知URLの列よりURL文字列を取得し、末尾に/confirmedを追加したURLにPOSTリクエストを送信することで、「通知」を実現してもよい。この際、送金処理部2034は、POSTリクエストのボディ部に、取引IDを含む情報について送金指示装置203の秘密鍵で電子署名した情報を入れる。   An approval button 1005 is used by the customer 201 to permit remittance and continue the payment process. If the customer 201 selects the approval button 1005, the access processing unit 2021 notifies the remittance instructing device 203 of the currency displayed on the remittance permission page 1000, the remittance amount, and the fact that remittance by the exchange has been permitted (S207). ), The remittance processing unit 2034 notifies the store server 205 that remittance is permitted (S208). Specifically, the remittance processing unit 2034 obtains a URL character string from the column of the notification URL corresponding to the store in the store information table 2035, and transmits a POST request to the URL with / confirmed added to the end. "Notification" may be realized. At this time, the remittance processing unit 2034 inserts, in the body part of the POST request, information obtained by digitally signing the information including the transaction ID with the secret key of the remittance instructing device 203.

店舗サーバ205に送金許可の旨の通知を送った後、送金指示装置203の送金処理部2034は顧客取引所204に送金指示を送信する(S209)。   After sending a notice of permission of remittance to the store server 205, the remittance processing unit 2034 of the remittance instructing device 203 transmits a remittance instruction to the customer exchange 204 (S209).

より具体的には、送金処理部2034は、送金を許可つまり承認したユーザ(ログインユーザ)と、送金許可された取引所(送金許可ページ1000上で選択された取引所、つまり送金実行サービス2041)との組に対応付けられた鍵情報を、鍵情報テーブル2032の中から特定して読み出す。そして、送金処理部2034は、特定された鍵情報を用いて、選択された取引所(ここでは、顧客取引所204)の送金実行サービス2041に対して、送金許可されたデジタル通貨及び送金額について送金先である店舗サーバ205の送金先アドレスへの送金指示を送信する。   More specifically, the remittance processing unit 2034 includes the user who has permitted or approved the remittance (the login user) and the exchange where the remittance has been permitted (the exchange selected on the remittance allowance page 1000, that is, the remittance execution service 2041). The key information associated with the set is specified and read out from the key information table 2032. Then, the remittance processing unit 2034 uses the specified key information to transmit the remittance execution service 2041 of the selected exchange (here, the customer exchange 204) to the remittance execution service 2041 for the digital currency and the remittance amount permitted to be remitted. A remittance instruction is transmitted to the remittance destination address of the store server 205 that is the remittance destination.

ここで、送金指示の送信方法は取引所毎に異なるが、例えばhttps://exchange.com/api/withdrawにPOSTリクエストを送ることで行う。このとき、送金処理部2034は、鍵情報テーブル2032の取引所に対応する行の鍵情報の列における鍵の1つ(例えば、秘密鍵)を用いて以下の情報を電子署名した情報を、リクエストのボディ部に含める。
・鍵情報テーブル2032の取引所に対応する行の鍵情報の列からもう1つの鍵(例えば、APIキー)
・(送金許可された)通貨
・(送金許可された)送金額
・(送金許可された)送金先アドレス
Here, the method of transmitting the remittance instruction differs for each exchange, but for example, https: // exchange. This is done by sending a POST request to com / api / withdraw. At this time, the remittance processing unit 2034 requests information obtained by electronically signing the following information using one of the keys (for example, a secret key) in the key information column of the row corresponding to the exchange in the key information table 2032, Include it in the body part.
Another key (for example, an API key) from the key information column of the row corresponding to the exchange in the key information table 2032
・ Currency (permitted for remittance) ・ Remittance amount (permitted for remittance) ・ Remittance address (permitted for remittance)

顧客取引所204の送金実行サービス2041は、送金指示装置203からの送金指示を受信した場合に、送金指示に用いられた鍵情報に基づいてユーザ(顧客201)を特定し、送金指示に含まれる通貨及び送金額から当該ユーザが利用可能な送金元アドレスを特定する。例えば、送金実行サービス2041は、受信した送金指示に含まれるAPIキーによりユーザが顧客201であること及び当該ユーザの鍵を特定する。そして、送金実行サービス2041は、受信した送金指示に含まれる情報に電子署名を、特定した鍵により検証し、検証された場合に、受信した送金指示に含まれる通貨に基づいて、当該特定したユーザに対応する送金元アドレスを特定する。このとき、送金実行サービス2041は、送金元アドレスとして固定のものを用いても、または、動的に生成したものを用いてもよい。
その後、送金実行サービス2041は、特定された送金元アドレスから送金指示に含まれる送金先アドレスへ、送金指示に含まれる送金額を、送金指示に含まれる通貨に対応する台帳208に送金事実(取引記録)を書き込むことにより、送金を行う(S210)。例えば通貨がビットコインの場合、送金実行サービス2041は、ビットコインのブロックチェーンに送金事実を書き込む。
When receiving the remittance instruction from the remittance instructing device 203, the remittance execution service 2041 of the customer exchange 204 specifies the user (customer 201) based on the key information used for the remittance instruction, and is included in the remittance instruction. A remittance source address that can be used by the user is specified from the currency and the remittance amount. For example, the remittance execution service 2041 specifies that the user is the customer 201 and specifies the key of the user by using the API key included in the received remittance instruction. Then, the remittance execution service 2041 verifies the electronic signature of the information included in the received remittance instruction with the specified key, and if verified, based on the currency included in the received remittance instruction, Specify the remittance source address corresponding to. At this time, the remittance execution service 2041 may use a fixed remittance source address or a dynamically generated remittance source address.
Thereafter, the remittance execution service 2041 transmits the remittance amount included in the remittance instruction from the specified remittance source address to the remittance destination address included in the remittance instruction to the ledger 208 corresponding to the currency included in the remittance instruction (transaction). The remittance is performed by writing (record) (S210). For example, if the currency is bitcoin, the remittance execution service 2041 writes the remittance fact to the bitcoin blockchain.

顧客取引所204に送金指示を出した後、送金指示装置203の送金処理部2034は台帳208を監視し続け、送金先アドレスへの送金が完了したと見なせるかどうかを判断する。通貨がビットコインの場合、送金処理部2034は、ブロックチェーン上で予め指定された回数の承認がなされた場合に、送金が完了したと見なす。尚、送金処理部2034は、送金情報で指定された所定のデジタル通貨に対応する取引記録が承認条件を満たす場合に送金が完了したとみなす。ここで、承認条件を可変としてもよい。例えば、承認条件は、送金指示装置203又は外部(例えば、店舗サーバ205等)により更新されたものであってもよい。送金が完了したと見なされたら、送金処理部2034は店舗サーバ205に着金通知を送信する(S211)。具体的には、送金処理部2034は、店舗情報テーブル2035内の店舗に応じた通知URLの列よりURL文字列を取得し、末尾に/transferredを追加したURLにPOSTリクエストを送信することで、「着金通知」を実現してもよい。この際、送金処理部2034は、POSTリクエストのボディ部に、取引IDを含む情報について送金指示装置203の秘密鍵で電子署名した情報を入れる。   After issuing the remittance instruction to the customer exchange 204, the remittance processing unit 2034 of the remittance instructing device 203 keeps monitoring the ledger 208 and determines whether or not the remittance to the remittance destination address can be regarded as completed. When the currency is Bitcoin, the remittance processing unit 2034 considers that the remittance has been completed when approval is performed a predetermined number of times on the blockchain. Note that the remittance processing unit 2034 considers that remittance has been completed when the transaction record corresponding to the predetermined digital currency specified in the remittance information satisfies the approval condition. Here, the approval condition may be variable. For example, the approval condition may be updated by the remittance instructing device 203 or externally (for example, the store server 205). If it is determined that the remittance has been completed, the remittance processing unit 2034 sends a payment notification to the store server 205 (S211). Specifically, the remittance processing unit 2034 obtains a URL character string from the column of the notification URL corresponding to the store in the store information table 2035, and transmits a POST request to the URL with / transferred added at the end. "Notice of money arrival" may be realized. At this time, the remittance processing unit 2034 inserts, in the body part of the POST request, information obtained by digitally signing the information including the transaction ID with the secret key of the remittance instructing device 203.

尚、上記の説明では、より多くのリクエストを処理できるようにするためのロードバランサに関連する記述を省略した。但し、本実施形態は、多数のリクエストに対する負荷分散のためにロードバランサ等の公知技術を用いることができる。また、鍵登録処理部2033は、鍵登録部の一例である。また、送金処理部2034は、送金情報取得部、検証部、換算部、表示情報生成部、特定部、送金指示部及び着金通知部の一例である。そして、送金指示装置100内のCPU101は、プログラム1021を実行することにより、鍵登録処理部2033及び送金処理部2034として機能する。また、「支払情報」は、所定のデジタル通貨における送金額と送金先とが指定された送金情報の一例である。   In the above description, descriptions related to the load balancer for processing more requests are omitted. However, in the present embodiment, a known technique such as a load balancer can be used for load distribution for a large number of requests. The key registration processing unit 2033 is an example of a key registration unit. The remittance processing unit 2034 is an example of a remittance information acquisition unit, a verification unit, a conversion unit, a display information generation unit, a specification unit, a remittance instruction unit, and a payment notification unit. Then, the CPU 101 in the remittance instructing apparatus 100 functions as the key registration processing unit 2033 and the remittance processing unit 2034 by executing the program 1021. “Payment information” is an example of remittance information in which a remittance amount and a remittance destination in a predetermined digital currency are specified.

以上のように、本実施形態では、顧客の認証後に送金詳細が顧客コンピュータに表示される送金指示装置の例を示した。本実施形態では、顧客取引所が提示する鍵の名称を、取引所毎及び表示言語毎に保持することにより、顧客が迷わず送金指示装置にそれらの鍵を登録できるようにした。そのため、複数の交換業者を利用する顧客の利便性が向上できる。また、このようにすることによって、同時に送金指示装置の開発効率を上げ、より早くより多くの取引所に対応することができる。つまり、複数の交換業者に対する送金指示を包括的に扱うことができる。   As described above, in the present embodiment, an example of the remittance instructing apparatus in which remittance details are displayed on the customer computer after the customer is authenticated has been described. In this embodiment, the names of the keys presented by the customer exchange are stored for each exchange and for each display language, so that the customer can register those keys in the remittance instructing device without hesitation. Therefore, the convenience of a customer using a plurality of exchanges can be improved. By doing so, the development efficiency of the remittance instructing device can be increased at the same time, and it is possible to respond to more exchanges more quickly. That is, remittance instructions to a plurality of exchanges can be comprehensively handled.

<実施形態2>
本実施形態2は、実施形態1の変形例であり、送金許可シーケンスの効率を優先して、顧客の認証と同時に送金許可も行うシステムの例を示す。
<Embodiment 2>
The second embodiment is a modified example of the first embodiment, and shows an example of a system in which priority is given to the efficiency of the remittance permission sequence and remittance is simultaneously performed with customer authentication.

本実施形態2にかかる送金指示装置におけるハードウェアの構成は図1と同様であるものとする。よって、FPGAなど他の集積回路でも同様の構成で同じ機能が実現できる。但し、プログラム1021には、本実施形態2にかかる送金指示装置の処理が実装されているものとする。   It is assumed that the hardware configuration of the remittance instruction device according to the second embodiment is the same as that of FIG. Therefore, the same function can be realized with a similar configuration in another integrated circuit such as an FPGA. However, it is assumed that the process of the remittance instruction device according to the second embodiment is implemented in the program 1021.

鍵を登録するシーケンスは、実施形態1と同じように図2に従うものとする。但し、本実施形態2は、実施形態1と比べて開発効率を優先する例を示す。具体的には、鍵の個数と順番だけを顧客取引所と鍵登録ページとで一致させる。   The sequence for registering the key follows FIG. 2 as in the first embodiment. However, the second embodiment shows an example in which development efficiency is prioritized as compared with the first embodiment. Specifically, only the number and order of the keys are matched between the customer exchange and the key registration page.

図12は、本実施形態にかかる仮想通貨の送金に関する情報システムの構成、及び、支払い手続きのシーケンスを表すブロック図である。尚、図2又は図9と同じ構成には同じ符号を付し、説明を省略する。送金指示装置203aは、送金指示装置203と比べて鍵定義テーブル2031a、鍵情報テーブル2032a、鍵登録処理部2033a及び送金処理部2034aを備える。   FIG. 12 is a block diagram illustrating a configuration of an information system regarding remittance of virtual currency and a sequence of a payment procedure according to the present embodiment. The same components as those in FIG. 2 or FIG. 9 are denoted by the same reference numerals, and description thereof will be omitted. The remittance instruction device 203a includes a key definition table 2031a, a key information table 2032a, a key registration processing unit 2033a, and a remittance processing unit 2034a, as compared with the remittance instruction device 203.

鍵定義テーブル2031aは、取引所20311ごとの鍵個数20315を管理するテーブルである。鍵定義テーブル2031aを実現する一つの方法として、ルックアップテーブルを利用する方法がある。尚、鍵の個数の代わりに鍵の名称を保持し、適宜、鍵の名称の個数をカウントすることにより、実施形態1においても、テーブルを利用して実現できることは言うまでもない。図13は、鍵定義テーブル2031aのルックアップテーブルの例を示す。   The key definition table 2031a is a table for managing the number of keys 20315 for each exchange 20311. One method of implementing the key definition table 2031a is to use a lookup table. It is needless to say that the key name is held instead of the number of keys, and the number of key names is appropriately counted, whereby the first embodiment can be realized using a table. FIG. 13 shows an example of a lookup table of the key definition table 2031a.

図12に戻り説明を続ける。鍵情報テーブル2032aは、顧客20321及び取引所20322ごとに、鍵情報20323aを管理するテーブルである。鍵情報20323aは、複数の鍵203232を登録順で保持する。図14は、鍵情報テーブル2032aの例を示す。鍵情報の列には、複数の鍵が登録順にカンマ(,)で接続されていることを示す。ここで、鍵情報は可変長配列として表現されている。ここで、配列に格納される順番は、後述する鍵登録ページに表示される順番に対応する。   Returning to FIG. 12, the description will be continued. The key information table 2032a is a table for managing the key information 20323a for each customer 20321 and exchange 20322. The key information 20323a holds a plurality of keys 203232 in the order of registration. FIG. 14 shows an example of the key information table 2032a. The column of key information indicates that a plurality of keys are connected by commas (,) in the order of registration. Here, the key information is represented as a variable length array. Here, the order stored in the array corresponds to the order displayed on the key registration page described later.

図12に戻り説明を続ける。鍵登録処理部2033aは、顧客からの鍵の登録要求に応じて鍵定義テーブル2031aを参照して鍵登録ページを生成して返信し、鍵登録ページを介して入力された鍵を鍵情報テーブル2032aに登録する。図15は、本実施形態における鍵登録ページの生成処理のうち、鍵を入力するテキストボックスをウェブページに追加する手順を示す。尚、図15のフローを実行する前に、ウェブページの上部分は既に生成されているものとする。まず、ステップ1401で、鍵登録処理部2033aは、顧客コンピュータ202から受信した取引IDにより鍵定義テーブル2031a内を検索し、対応する取引所の鍵の個数を取得し、取得した鍵の個数を変数key_countに代入する。次に、ステップ1402からステップ1404を昇順のループカウンタ変数をdとしてkey_count回だけ繰り返す。ループの初めのステップ1402では、鍵登録処理部2033aは、変数labelに文字列“Key %d”を代入する。ここで%dは変換指定子であり、実際の表示文字列では、“%d”の部分が変数dの値(整数値)で置き換えられることを示す。次にステップ1403で、鍵登録処理部2033aは、ウェブページに変数labelの値を表示するラベルを追加する。その次のステップ1404で、鍵登録処理部2033aは、ステップ1403で追加したラベルに付随する形でテキストボックスを追加する。フローの実行が終わったら、鍵登録処理部2033aは、ウェブページの残りの部分を完成させる。これにより、取引所の鍵の個数に応じたテキストボックスとそのラベルを含んだウェブページ(鍵登録ページ)が生成される。   Returning to FIG. 12, the description will be continued. The key registration processing unit 2033a generates and returns a key registration page by referring to the key definition table 2031a in response to a key registration request from the customer, and stores the key input via the key registration page in the key information table 2032a. Register with. FIG. 15 shows a procedure of adding a text box for inputting a key to a web page in the key registration page generation processing according to the present embodiment. Note that it is assumed that the upper part of the web page has already been generated before executing the flow of FIG. First, in step 1401, the key registration processing unit 2033a searches the key definition table 2031a using the transaction ID received from the customer computer 202, obtains the number of keys of the corresponding exchange, and sets the obtained number of keys as a variable. Substitute for key_count. Next, steps 1402 to 1404 are repeated key_count times with the loop counter variable in ascending order set to d. In the first step 1402 of the loop, the key registration processing unit 2033a substitutes the character string "Key% d" for the variable label. Here,% d is a conversion specifier, and indicates that "% d" is replaced with the value of variable d (integer value) in the actual display character string. Next, in step 1403, the key registration processing unit 2033a adds a label indicating the value of the variable label to the web page. In the next step 1404, the key registration processing unit 2033a adds a text box in a form associated with the label added in step 1403. When the execution of the flow is completed, the key registration processing unit 2033a completes the rest of the web page. Thereby, a web page (key registration page) including a text box corresponding to the number of keys of the exchange and its label is generated.

図16は、本実施形態における鍵登録ページ400aの例である。鍵登録ページ400aは、図4の鍵登録ページ400と比べて、鍵名称411a及び421aが、汎用的な表記(“Key”)に順序を示す番号(”1”,”2”)が付されたものとなったことを示す。つまり、鍵名称411a及び421aは、いずれの取引所であっても同一の名称が表示される。   FIG. 16 is an example of a key registration page 400a in the present embodiment. The key registration page 400a is different from the key registration page 400 shown in FIG. This indicates that That is, the same name is displayed as the key names 411a and 421a in any exchange.

顧客201は顧客コンピュータ202に表示される鍵登録ページ400aに顧客取引所204から入手した鍵を入力する。これに応じて、アクセス処理部2021は、鍵登録ページ400aの鍵入力欄412及び422に入力された鍵の文字列を表示順序と対応付けた鍵情報を、送金指示装置203aへ送信する。ここでは、アクセス処理部2021は、鍵入力欄412に入力された鍵の文字列を表示順序「1」、鍵入力欄422に入力された鍵の文字列を表示順序「2」に対応付けて鍵情報とする。そして、鍵登録処理部2033aは、受信した鍵情報を、ログインユーザを顧客20321、取引所IDを取引所20322として、受信した鍵情報に含まれる順序に従って鍵203232を、鍵情報テーブル2032aに追加又は更新する。   The customer 201 inputs the key obtained from the customer exchange 204 into a key registration page 400a displayed on the customer computer 202. In response to this, the access processing unit 2021 transmits to the remittance instructing device 203a key information in which the character strings of the keys input to the key input fields 412 and 422 of the key registration page 400a are associated with the display order. Here, the access processing unit 2021 associates the character string of the key input to the key input field 412 with the display order “1” and the character string of the key input to the key input field 422 with the display order “2”. Key information. Then, the key registration processing unit 2033a adds the received key information to the key information table 2032a according to the order included in the received key information, with the login user as the customer 20321 and the exchange ID as the exchange 20322. Update.

図12に戻り説明を続ける。本実施形態では、顧客201の通貨を扱う顧客ウォレット206と取引所204aは別のサービスであると仮定する。顧客ウォレット206に預金管理や送金実行の機能はあるものの取引所機能がない場合や、顧客201が指定する基軸通貨を顧客取引所(ウォレット)が扱わない場合などがこれに該当する。また、顧客ウォレット206は、鍵情報テーブル2032aに保存された鍵203232を用いて利用可能な送金実行サービス2061を有するものとする。尚、店舗ウォレット207aは、店舗取引所207とは異なるサービスであるが、店舗取引所207を用いても構わない。また、店舗サーバ205aは、上述した店舗サーバ205の構成に加え、記憶装置に公開鍵2052をさらに保存している。ここで、公開鍵2052は、送金指示装置203aの暗号用の公開鍵である。一方、店舗サーバ205aは、記憶装置には予め承認URLを保存していない。   Returning to FIG. 12, the description will be continued. In this embodiment, it is assumed that the customer wallet 206 handling the currency of the customer 201 and the exchange 204a are different services. This corresponds to a case where the customer wallet 206 has a function of deposit management and remittance but has no exchange function, or a case where the customer exchange (wallet) does not handle the key currency designated by the customer 201. It is also assumed that the customer wallet 206 has a remittance execution service 2061 that can be used using the key 203232 stored in the key information table 2032a. The store wallet 207a is a service different from the store exchange 207, but the store exchange 207 may be used. The store server 205a further stores a public key 2052 in a storage device in addition to the configuration of the store server 205 described above. Here, the public key 2052 is a public key for encryption of the remittance instruction device 203a. On the other hand, the store server 205a does not previously store the approval URL in the storage device.

続いて、図12を用いて、支払手続きの流れを説明する。まず、顧客201が顧客コンピュータ202を利用して、店舗サーバ205aでの発注シーケンスに入る。顧客201は、発注シーケンスの最後に購買を確定する操作を行う。これにより、アクセス処理部2021は、送金を開始するトリガーを店舗サーバ205aへ送信する(S201)。ここで、店舗サーバ205aは送金指示装置203aとWebSocket Secureのような双方向通信のセッションで長期接続されている。そして、店舗サーバ205aは、店舗ID、通貨、金額、送金先アドレスの組に店舗サーバ205aの秘密鍵で電子署名した情報(以後、「支払情報」と呼ぶ。)を送金指示装置203aに送る(S202−1)。つまり、実施形態2にかかる支払情報は、取引IDを含まなくてよい。送金指示装置203aの送金処理部2034aは、店舗公開鍵20351を用いて、店舗サーバ205aの秘密鍵による電子署名を確認した後、取引IDを生成し、取引IDに対して送金指示装置203aの秘密鍵で電子署名した情報(以下、単に「取引ID」という。)を、送金許可のための承認URLにパラメータとして付加して、店舗サーバ205aに送信する(S202−2)。ここで、取引IDは、他の装置が生成できない規則で生成されているのが望ましい。例えば、連続的に生成される数値を送金指示装置203aの秘密鍵で電子署名したような識別子を用いることができる。また、送金指示装置203aは、この取引IDと先程の支払情報とを対応付けてデータベース(不図示)に格納する。同時に生成時刻を記録することも可能である。WebSocket Secureで店舗サーバ205aのSSL証明書を要求するよう設定されている場合、支払情報は電子署名しなくて良い。   Next, the flow of the payment procedure will be described with reference to FIG. First, the customer 201 uses the customer computer 202 to enter an order sequence in the store server 205a. The customer 201 performs an operation to confirm the purchase at the end of the ordering sequence. Accordingly, the access processing unit 2021 transmits a trigger for starting remittance to the store server 205a (S201). Here, the store server 205a is connected to the remittance instructing device 203a for a long period of time in a two-way communication session such as WebSocket Secure. Then, the store server 205a sends to the remittance instructing device 203a information (hereinafter, referred to as "payment information") obtained by electronically signing a set of the store ID, currency, amount, and remittance address with the secret key of the store server 205a (hereinafter, referred to as "payment information"). S202-1). That is, the payment information according to the second embodiment may not include the transaction ID. The remittance processing unit 2034a of the remittance instructing device 203a uses the store public key 20351 to confirm the electronic signature using the secret key of the store server 205a, generates a transaction ID, and generates a transaction ID for the transaction ID. The information electronically signed with the key (hereinafter, simply referred to as “transaction ID”) is added to the approval URL for remittance as a parameter and transmitted to the store server 205a (S202-2). Here, it is desirable that the transaction ID is generated according to a rule that cannot be generated by another device. For example, it is possible to use an identifier such that a numerical value continuously generated is electronically signed with the secret key of the remittance instructing device 203a. The remittance instructing device 203a stores the transaction ID and the payment information in a database (not shown) in association with each other. At the same time, the generation time can be recorded. If the WebSocket Secure is set to request the SSL certificate of the store server 205a, the payment information need not be digitally signed.

店舗サーバ205aは、受信した承認URL(パラメータに取引IDを含む)を顧客コンピュータ202へ送信する(S202−3)。そして、顧客コンピュータ202は、httpsにより受信した承認URLに対してGETリクエストを送る(S203a)と、送金指示装置203aは、これを受信する。送金指示装置203aの送金処理部2034aは、承認URLのパラメータから取引IDを抽出し、これを使ってデータベースから支払情報を読み込む。このとき、データベースに記録された生成時刻から、取引IDの有効期限を確認しても良い。送金処理部2034aは、この支払情報から、送金許可ページ1000aを生成し、送金詳細として顧客コンピュータ202へ返信する(S206a)。   The store server 205a transmits the received approval URL (including the transaction ID in the parameter) to the customer computer 202 (S202-3). Then, when the customer computer 202 sends a GET request to the approval URL received by https (S203a), the remittance instructing device 203a receives this. The remittance processing unit 2034a of the remittance instructing device 203a extracts the transaction ID from the parameter of the approval URL, and reads the payment information from the database using this. At this time, the expiration date of the transaction ID may be confirmed from the generation time recorded in the database. The remittance processing unit 2034a generates a remittance permission page 1000a from the payment information, and returns the remittance details to the customer computer 202 (S206a).

このとき、送金処理部2034aは、送金許可ページ1000aの生成において、実施形態1と同じように店舗IDを使って店舗情報テーブル2035より店舗名を取得する。また、送金処理部2034aは、支払情報の中から通貨と金額を抽出する。ここで、実施形態2では、送金処理部2034aが送金通貨の量をも考慮して基軸通貨への換算レートを求める場合について説明する。   At this time, the remittance processing unit 2034a acquires the store name from the store information table 2035 using the store ID as in the first embodiment, in generating the remittance permission page 1000a. In addition, the remittance processing unit 2034a extracts the currency and the amount from the payment information. Here, in the second embodiment, a case will be described in which the remittance processing unit 2034a obtains the conversion rate to the base currency in consideration of the amount of the remittance currency.

図17は、送金許可ページ1000aの例を示す。送金許可ページ1000aはユーザ名とパスワードを入力するためのテキストボックス(ユーザ情報入力欄1006)があり、顧客201がこれら情報を入力することにより、認証と送金許可を同時に行うことができる。また、顧客201が基軸通貨を選択するためのドロップダウンメニュー(基軸通貨選択欄1002c)が用意されている。使用するウォレットは予め送金通貨毎のデフォルトとして設定されているものとする。   FIG. 17 shows an example of the remittance permission page 1000a. The remittance permission page 1000a has a text box (user information input field 1006) for inputting a user name and a password. When the customer 201 inputs these information, authentication and remittance permission can be performed simultaneously. In addition, a drop-down menu (base currency selection field 1002c) for the customer 201 to select a base currency is prepared. It is assumed that a wallet to be used is set in advance as a default for each remittance currency.

また、送金許可ページ1000aは、送金額1002aと基軸通貨換算額1002bとを含む。送金額1002aは、支払情報に含まれる通貨及び金額である。基軸通貨換算額1002bは、上述した実施形態1で説明した「換算額」を表示する欄である。ここでは、換算額は、既定の取引所における「板情報」に基づき、送金額1002aから顧客201の基軸通貨に換算された金額である。尚、送金処理部2034aは、取引所から定期的に板情報を取得してもよい。   The remittance permission page 1000a includes a remittance amount 1002a and a base currency conversion amount 1002b. The remittance amount 1002a is the currency and amount included in the payment information. The base currency conversion amount 1002b is a column for displaying the “conversion amount” described in the first embodiment. Here, the conversion amount is the amount converted from the remittance amount 1002a to the base currency of the customer 201 based on the “board information” in the predetermined exchange. Note that the remittance processing unit 2034a may periodically acquire the board information from the exchange.

図18は、換算レートを求める際のフローチャート図である。まずステップ1700で、送金処理部2034aは、取引所204aより板情報を入手し、配列boardに代入する。板情報が送金通貨の売り買いを基軸通貨で表した一覧である場合、送金処理部2034aは、boardに(買値、取引量)の対を買値が降順になるようにソートした配列を代入する。逆に、板情報が基軸通貨の売り買いを送金通貨で表した一覧である場合、送金処理部2034aは、boardに(売値、取引量)の対を売値が昇順になるようにソートした配列を代入する。次にステップ1701で、送金処理部2034aは、送金額を線形変換して変数sizeに代入する。この時の線形係数と定数項は通貨毎に調整する必要がある。次にステップ1702からステップ1704のループを変数iを昇順のループカウンタ変数として繰り返す。まずステップ1702で、送金処理部2034aは、変数askbidに配列boardのi番目の要素を代入する。これにより、構造体askbidのpriceフィールド(askbid.price)には買値または売値が、volumeフィールド(askbid.volume)には取引量が保持されることとなる。次のステップ1703では、送金処理部2034aは、変数sizeからaskbid.volumeだけ減算する。次のステップ1704で、送金処理部2034aは、変数sizeと0の比較が行われ、sizeが0より大きければ、ループを続ける。逆にsizeが0以下であれば、ステップ1705へと進む。ステップ1705では、送金処理部2034aは、その時のaskbid.priceを換算レートとする。boardに買値が保持されている場合、送金額の換算額は、(送金額 × 換算レート − 交換手数料)となる。boardに売値が保持されている場合には、送金額の換算額は、(送金額 / 換算レート − 交換手数料)となる。ただし、交換手数料が送金通貨で行われる場合には、それぞれ((送金額 − 交換手数料)× 換算レート)と((送金額 − 交換手数料)/ 換算レート)となる。つまり、この例では、換算額を算出する際に、実際の取引量(注文における取引額)を累積して、送金額に達したときの買値又は売値を換算レートとして用いることを示す。以上のように換算レートを求めるのは、通貨によっては取引量が少なかったり、あるいは売値または買値の提示が次の瞬間に消えてしまったりして、多めの取引をしようとした場合、思わぬ価格の乱高下に見舞われることがあるためである。   FIG. 18 is a flowchart for obtaining the conversion rate. First, in step 1700, the remittance processing unit 2034a obtains board information from the exchange 204a and substitutes it into an array board. When the board information is a list of buy and sell in the remittance currency in the base currency, the remittance processing unit 2034a substitutes an array in which pairs of (buy price, transaction volume) are sorted so that the buy prices are in descending order. On the other hand, when the board information is a list in which the buy and sell of the base currency is expressed in the remittance currency, the remittance processing unit 2034a substitutes an array in which pairs of (sell price, transaction volume) are sorted in the ascending order of the sell price. I do. Next, in step 1701, the remittance processing unit 2034a linearly converts the remittance amount and substitutes it into a variable size. At this time, the linear coefficient and the constant term need to be adjusted for each currency. Next, the loop from step 1702 to step 1704 is repeated with the variable i as a loop counter variable in ascending order. First, in step 1702, the remittance processing unit 2034a substitutes the i-th element of the array board for the variable askbid. As a result, the buy price or the sell price is held in the price field (asked.price) of the structure askbid, and the transaction volume is held in the volume field (asked.volume). In the next step 1703, the remittance processing section 2034a converts the variable size to askbid. Subtract only the volume. In the next step 1704, the remittance processing unit 2034a compares the variable size with 0, and if the size is larger than 0, continues the loop. Conversely, if the size is 0 or less, the process proceeds to step 1705. In step 1705, the remittance processing unit 2034a transmits the asking. price is the conversion rate. When the buy price is held in the board, the conversion amount of the remittance amount is (remittance amount × conversion rate−exchange fee). When the selling price is held in the board, the conversion amount of the remittance amount is (remittance amount / conversion rate-exchange fee). However, if the exchange fee is performed in the remittance currency, it will be ((remittance-exchange fee) x conversion rate) and ((remittance-exchange fee) / exchange rate), respectively. In other words, this example shows that when calculating the conversion amount, the actual transaction amount (transaction amount in the order) is accumulated, and the buy or sell price when the remittance amount is reached is used as the conversion rate. As described above, the conversion rate is calculated depending on the currency, the trading volume is small, or the offer of the selling price or the buying price disappears at the next moment, and if you try to trade a lot, the unexpected price This is because they may be hit by high and low.

図12に戻って、送金許可後のシーケンスを説明する。顧客コンピュータ202のアクセス処理部2021は、受信した送金許可ページ1000aを表示する。そして、顧客201は、送金許可ページ1000aに対してユーザ名とパスワードを入力し、必要に応じて基軸通貨選択欄1002cの中から所望の通貨を選択して、基軸通貨換算額1002bの表示を切り替える。その後、顧客201が承認ボタン1005を選択した場合、アクセス処理部2021は、認証情報及び送金許可を送金指示装置203aへ送信する(S207a)。具体的には、アクセス処理部2021は、送金許可ページ1000aのユーザ情報入力欄1006に入力されたユーザ名とパスワードの組を含めて認証情報として送信する。また、アクセス処理部2021は、送金許可ページ1000a上に表示された通貨、送金額及び取引所による送金が許可された旨を送金指示装置203aへ送信する。   Returning to FIG. 12, a sequence after remittance permission is described. The access processing unit 2021 of the customer computer 202 displays the received remittance permission page 1000a. Then, the customer 201 inputs a user name and a password on the remittance permission page 1000a, selects a desired currency from the base currency selection field 1002c as necessary, and switches the display of the base currency conversion amount 1002b. . Thereafter, when the customer 201 selects the approval button 1005, the access processing unit 2021 transmits the authentication information and the remittance permission to the remittance instructing device 203a (S207a). Specifically, the access processing unit 2021 transmits the authentication information including the set of the user name and the password input in the user information input field 1006 of the remittance permission page 1000a. Further, the access processing unit 2021 transmits to the remittance instructing device 203a the currency displayed on the remittance permission page 1000a, the remittance amount, and the fact that remittance by the exchange has been permitted.

その後、送金指示装置203aの送金処理部2034aは店舗サーバ205aに送金許可通知を送り(S208)、顧客ウォレット206に送金指示を発行する(S209a)。送金指示の送信方法は顧客ウォレット206が定義するが、送金許可された送金先及び送金額、並びに、鍵を含む情報を送信するなどできる。このとき、送金処理部2034aは、鍵情報テーブル2032aから顧客と取引所(顧客ウォレット206)が合致する行を検索し、鍵情報を取得する。尚、顧客ウォレット206が複数の通貨を扱うウォレットであれば、送金処理部2034aは、送金指示に送金通貨も含めて指定する。   Thereafter, the remittance processing unit 2034a of the remittance instructing device 203a sends a remittance permission notice to the store server 205a (S208), and issues a remittance instruction to the customer wallet 206 (S209a). The method of transmitting the remittance instruction is defined by the customer wallet 206. For example, information including a remittance destination and a remittance permitted for remittance, and a key can be transmitted. At this time, the remittance processing unit 2034a searches the key information table 2032a for a line where the customer and the exchange (customer wallet 206) match, and acquires the key information. If the customer wallet 206 is a wallet that handles a plurality of currencies, the remittance processing unit 2034a specifies the remittance instruction including the remittance currency.

顧客ウォレット206の送金実行サービス2061は、送金指示装置203aから受信した送金指示を受信した場合に、送金指示に含まれる送金先へ、送金指示に含まれる送金額を送金する(S210)、例えば、送金実行サービス2061は、通貨に対応する台帳208に送金事実を書き込むことにより、送金を行う。その後、送金実行サービス2061は、台帳208を監視し続ける。   When receiving the remittance instruction received from the remittance instructing device 203a, the remittance execution service 2061 of the customer wallet 206 remits the remittance included in the remittance instruction to the remittee included in the remittance instruction (S210). The remittance execution service 2061 performs remittance by writing the remittance fact in the ledger 208 corresponding to the currency. Thereafter, the remittance execution service 2061 continues to monitor the ledger 208.

そして、送金指示装置203aは、顧客ウォレット206の定める方法によって着金の通知を待つ。例えば、送金実行サービス2061が台帳208のブロックチェーン上で予め指定された回数の承認がなされた場合に、送金が完了したと見なし、送金指示装置203aに対して着金通知を送信する(S211−1)。送金指示装置203aの送金処理部2034aは、顧客ウォレット206より着金通知を受け取ると、長期接続のセッションを使って顧客サーバ205aに取引IDを含む情報によって着金通知を送る(S211−2)。   Then, the remittance instructing device 203a waits for a notification of payment by the method defined by the customer wallet 206. For example, when the remittance execution service 2061 has been approved a predetermined number of times on the blockchain of the ledger 208, it is considered that the remittance has been completed, and a remittance notification is transmitted to the remittance instructing device 203a (S211- 1). When receiving the payment notification from the customer wallet 206, the remittance processing unit 2034a of the remittance instructing device 203a sends the payment notification using the information including the transaction ID to the customer server 205a using a long-term connection session (S211-2).

以上、本実施形態において、顧客の認証と同時に送金許可を行うシステムの例を示した。また、顧客ウォレットとは別の取引所サービスから板情報を取得する例を示した。特に、換算レートを求めるに当たって最大買値及び最小売値だけでなく複数の買値及び売値とその取引量を考慮することによって、大きな送金額の交換における予期せぬ価格下落を抑えることとした。また、着金監視を顧客ウォレットサービスに頼ることにして、本発明が様々な接続形態によっても実現できることを示した。   As described above, in the present embodiment, the example of the system for permitting the remittance at the same time as the authentication of the customer has been described. Also, an example has been described in which board information is obtained from an exchange service different from the customer wallet. In particular, in determining the conversion rate, by considering not only the maximum bid price and the minimum selling price but also a plurality of buying prices and selling prices and their transaction volumes, an unexpected price drop in the exchange of a large remittance amount is decided. Also, it has been shown that the present invention can be realized by various connection forms by relying on the customer wallet service for monitoring the payment.

<実施形態3>
本実施形態3は、実施形態1又は2の変形例である。本実施形態3は、同じ店舗宛ての送金であっても支払ごとに異なる送金先アドレスを用いるために、送金先アドレスを動的に生成する例を示す。また、送金実行サービスの間で共通の方法で送金依頼ができる形式が定められるようになった場合、例えば、送金実行サービスを利用するためのインタフェースが統一された場合を想定する。更に、指定された通貨以外の通貨による送金にも対応する。
<Embodiment 3>
The third embodiment is a modification of the first or second embodiment. In the third embodiment, an example is shown in which a remittee address is dynamically generated in order to use a different remittee address for each payment even for remittance to the same store. Further, it is assumed that a format in which a remittance request can be made by a common method among remittance execution services, for example, a case where an interface for using the remittance execution service is unified. Furthermore, remittance in a currency other than the designated currency is also supported.

本実施形態3にかかる送金指示装置におけるハードウェアの構成は図1と同様であるものとする。よって、FPGAなど他の集積回路でも同様の構成で同じ機能が実現できる。但し、プログラム1021には、本実施形態3にかかる送金指示サーバの処理が実装されているものとする。   The hardware configuration of the remittance instruction device according to the third embodiment is the same as that of FIG. Therefore, the same function can be realized with a similar configuration in another integrated circuit such as an FPGA. However, it is assumed that the processing of the remittance instruction server according to the third embodiment is implemented in the program 1021.

鍵を登録するシーケンスは、実施形態1と同じように図2に従うものとする。また、本実施形態3では送金実行サービスの間で送金依頼の方法が共通化されているので、鍵の名前と数も共通化されている。故に鍵登録ページ上の鍵の名称は固定となる。例えば、顧客201がスマートフォンアプリから鍵を登録する場合、画面上の鍵の名前は固定で良い。また、顧客201がウェブページで鍵の登録を行う場合は、HTML記述の中に鍵の名前が書き込んであれば良い。そのため、本実施形態3では、鍵定義テーブルが不要となる。   The sequence for registering the key follows FIG. 2 as in the first embodiment. Further, in the third embodiment, the method of requesting remittance is shared among the remittance execution services, so that the names and numbers of keys are also commonized. Therefore, the name of the key on the key registration page is fixed. For example, when the customer 201 registers a key from the smartphone application, the name of the key on the screen may be fixed. When the customer 201 registers a key on a web page, the key name may be written in the HTML description. Therefore, in the third embodiment, the key definition table becomes unnecessary.

図19に、本実施形態にかかる送金指示システムにおける送金許可シーケンスのブロック図を示す。ここで、送金指示サーバ203bは、店舗の送金先アドレス生成ためのアドレス生成鍵20361を記憶装置に保存しているものとする。このアドレス生成鍵20361は、予め店舗側が登録しても良いが、送金指示サーバ203bで自動生成しておいても良い。尚、送金指示サーバ203bは、図示しない構成として上述した鍵情報テーブル2032aや店舗情報テーブル2035を備えるものとする。   FIG. 19 is a block diagram of a remittance permission sequence in the remittance instruction system according to the present embodiment. Here, it is assumed that the remittance instruction server 203b stores an address generation key 20361 for generating a remittance destination address of a store in a storage device. The address generation key 20361 may be registered by the store in advance, or may be automatically generated by the remittance instruction server 203b. It is assumed that the remittance instruction server 203b includes the above-described key information table 2032a and store information table 2035 as components not shown.

また、他の実施形態では1つだった店舗サーバが、顧客のユーザインタフェースを提供する店舗販売サーバ205bと、注文を処理する店舗処理サーバ205cとに分かれる。また、本実施形態3では顧客コンピュータの代わりに顧客スマートフォン202aを使用するものとする。顧客スマートフォン202aにアプリ2022を実行させる場合、送金指示装置の一部機能を肩代わりできる。そのため、他の実施形態では送金指示装置としていたものを2つに分け、本実施形態3では送金指示サーバ203bの鍵登録処理部2033b及び送金処理部2034bと顧客スマートフォン202a上のアプリ2022を合わせて送金指示システムとみなすものである。尚、顧客スマートフォン202aは、記憶装置(不図示)に本実施形態3にかかるアプリ2022の処理が実装されたプログラムが記憶されており、プロセッサ(不図示)が記憶装置からメモリへ当該プログラムを読み込み実行することにより、本実施形態3にかかるアプリ2022の機能を実現するものとする。   In addition, in the other embodiments, the number of store servers is one, and is divided into a store sales server 205b that provides a user interface of a customer and a store processing server 205c that processes an order. In the third embodiment, the customer smartphone 202a is used instead of the customer computer. When causing the customer smartphone 202a to execute the application 2022, some functions of the remittance instruction device can be substituted. Therefore, the remittance instructing device in the other embodiment is divided into two. In the third embodiment, the key registration processing unit 2033b and the remittance processing unit 2034b of the remittance instruction server 203b and the application 2022 on the customer smartphone 202a are combined. It is regarded as a remittance instruction system. In the customer smartphone 202a, a program in which the processing of the application 2022 according to the third embodiment is mounted is stored in a storage device (not shown), and a processor (not shown) reads the program from the storage device to the memory. By executing the function, the function of the application 2022 according to the third embodiment is realized.

顧客スマートフォン202a上のアプリ2022には認証機能が実装されており、顧客201がユーザ名とパスワードを入力すると、それらが送金指示サーバ203bに送られる。送金指示サーバ203bは、それらを受け取ると、データベース内に保持しているユーザ名とパスワードの組と照合し、一致すれば認証トークンを返す。認証トークンは認証を繰り返さなくても良くするための情報であり、例えば(ユーザ名、時刻)の組を送金指示サーバ203bの秘密鍵で電子署名したものを使うことができる。パスワードをそのまま送らずにチャレンジ・レスポンス方式でもパスワードの照合が可能であることは当業者の間では公知のことである。またパスワードをそのまま比較するのではなく、パスワードのハッシュ値を比較する手法も公知である。   An authentication function is implemented in the application 2022 on the customer smartphone 202a, and when the customer 201 inputs a user name and a password, these are sent to the remittance instruction server 203b. Upon receiving them, the remittance instruction server 203b checks the user name and password pair held in the database and returns an authentication token if they match. The authentication token is information for eliminating the need to repeat authentication, and for example, a digital signature of a set of (user name, time) with the secret key of the remittance instruction server 203b can be used. It is well known to those skilled in the art that the password can be collated by the challenge response method without sending the password as it is. There is also known a method of comparing hash values of passwords instead of comparing passwords as they are.

まず、顧客201が顧客スマートフォン202aを利用して、店舗販売サーバ205bでの発注シーケンスに入る。そして、顧客201は、発注シーケンスの最後に購買を確定する操作を行う。これにより、アクセス処理部2021aは、送金を開始するトリガーを店舗販売サーバ205bへ送信する(S301)。すると、店舗販売サーバ205bは、店舗ID、取引ID、通貨、金額の組(以後、「支払情報」と呼ぶ。)をパラメータとした送金許可のための承認URLを、顧客スマートフォン202aに返信する(S302)。つまり、実施形態3にかかる支払情報は、送金先アドレスを含まない。ここで、支払情報に含まれる取引ID、通貨及び金額は店舗処理サーバ205cとも共有され、後に店舗処理サーバ205cが内容を確認できる。顧客スマートフォン202aのアクセス処理部2021aは、受信した送金許可の承認URLを開くと、ディープリンク機能(例えばiOS(登録商標)の場合はUniversal Link、Android(登録商標)の場合はIntent URL)により特定のアプリ2022が起動する。顧客スマートフォン202aは、特定のアプリ2022が起動したら、まず認証トークンを送るとともにウォレットのリストを送金指示サーバ203bに要求する(S303)。これに応じて、送金指示サーバ203bの送金処理部2034bは、認証トークンの電子署名を確認して、以下の情報を顧客スマートフォン202aの特定のアプリ2022に返信する(S304)。
・顧客ウォレット名のリスト
・各顧客ウォレットが扱うことのできる通貨のリスト
・通貨リストの各通貨から支払情報の通貨への換算レートのリスト
First, the customer 201 enters an order sequence in the store sales server 205b using the customer smartphone 202a. Then, the customer 201 performs an operation of confirming the purchase at the end of the ordering sequence. Accordingly, the access processing unit 2021a transmits a trigger to start remittance to the store sales server 205b (S301). Then, the store sales server 205b returns an approval URL for permitting remittance using the combination of the store ID, the transaction ID, the currency, and the amount (hereinafter, referred to as “payment information”) as parameters to the customer smartphone 202a ( S302). That is, the payment information according to the third embodiment does not include the remittance destination address. Here, the transaction ID, currency, and amount included in the payment information are also shared with the store processing server 205c, and the store processing server 205c can later confirm the contents. When the access processing unit 2021a of the customer smartphone 202a opens the received remittance permission approval URL, the access processing unit 2021a specifies the deep link function (for example, Universal Link in the case of iOS (registered trademark), Intent URL in the case of Android (registered trademark)). Application 2022 starts. When the specific application 2022 is activated, the customer smartphone 202a first sends an authentication token and requests a list of wallets from the remittance instruction server 203b (S303). In response, the remittance processing unit 2034b of the remittance instruction server 203b checks the electronic signature of the authentication token, and returns the following information to the specific application 2022 of the customer smartphone 202a (S304).
-List of customer wallet names-List of currencies that each customer wallet can handle-List of conversion rates from each currency of the currency list to the currency of payment information

このとき、送金指示サーバ203bの送金処理部2034bは、図14の鍵情報テーブル2032aからユーザ名(顧客ID)に関連付けて鍵が登録してある顧客ウォレット名(取引所名)より、顧客ウォレット名のリストを作成する。アプリ2022は、送金指示サーバ203bから受信したウォレット名のリストを元に、ステップS203で受信した承認URLのパラメータから支払情報を抽出し、図20のような送金許可画面2000を生成して表示する。ウォレット名はドロップダウンメニュー(取引所選択欄)2003の選択肢となり、顧客201はその中から1つを選ぶことができる。ドロップダウンメニュー(通貨選択欄)2007には、ドロップダウンメニュー2003で選んだウォレットが扱うことのできる通貨が選べるようになっている。その他、送金許可画面2000は、店舗名2001、送金額2002a、基軸通貨換算額2002b、中止ボタン2004及び承認ボタン2005を表示し、これらについては後述する。   At this time, the remittance processing unit 2034b of the remittance instruction server 203b uses the customer wallet name (exchange name) in which the key is registered in association with the user name (customer ID) from the key information table 2032a in FIG. Create a list of. The application 2022 extracts payment information from the parameters of the approval URL received in step S203 based on the list of wallet names received from the remittance instruction server 203b, and generates and displays a remittance permission screen 2000 as shown in FIG. . The wallet name becomes an option in a drop-down menu (exchange selection field) 2003, and the customer 201 can select one of them. In the drop-down menu (currency selection field) 2007, a currency that can be handled by the wallet selected in the drop-down menu 2003 can be selected. In addition, the remittance permission screen 2000 displays a store name 2001, a remittance amount 2002a, a base currency conversion amount 2002b, a stop button 2004, and an approval button 2005, which will be described later.

ところで、デジタル通貨によっては送金時間に大きな差がある。そこで、送金指示サーバ203bの送金処理部2034bは過去の送金において、送金指示から着金までの時間を記録しておくことによって、通貨毎の送金時間の分布を求めることができる。そこで、送金処理部2034bは、図21のように、店舗が希望する最長送金時間20352を店舗ID毎に予め店舗情報テーブル2035aとして保存する。そして、送金処理部2034bは、各顧客ウォレットが扱うことのできる通貨のリストを作成する際に、送金時間履歴テーブル2037を参照して、所定時間以内の送金が見込める通貨をウォレットごとに絞り込み、絞り込まれた通貨とウォレットの組のリスト(選択肢)をステップS304に含めて送信する。これにより、アプリ2022は、ドロップダウンメニュー2007に表示する通貨の選択肢を絞り込むことができる。対象となる通貨が1つもないウォレットは、ドロップダウンメニュー2003の候補から外す。例えば、ある通貨について過去1ヶ月の送金の95%が保存された最長送金時間よりも短い送金時間で終わっていなければ、通貨の選択肢からその通貨を外す。尚、顧客側の希望によっても選択肢を絞り込むこともできることは言うまでもない。これにより、送金に予想外に時間がかかることをある程度防ぐことができる。   By the way, there is a big difference in remittance time depending on the digital currency. Therefore, the remittance processing unit 2034b of the remittance instruction server 203b can obtain the distribution of the remittance time for each currency by recording the time from the remittance instruction to the payment in the past remittance. Therefore, as shown in FIG. 21, the remittance processing unit 2034b stores the maximum remittance time 20352 desired by the store in advance as the store information table 2035a for each store ID. Then, when creating a list of currencies that can be handled by each customer wallet, the remittance processing unit 2034b refers to the remittance time history table 2037 to narrow down currencies in which remittance within a predetermined time can be expected for each wallet. The list (options) of the set of currency and wallet thus obtained is included in step S304 and transmitted. As a result, the application 2022 can narrow down the choices of currencies to be displayed in the drop-down menu 2007. A wallet having no target currency is excluded from the candidates in the drop-down menu 2003. For example, if 95% of a month's remittances for a currency have not ended in less than the maximum stored remittance time, remove that currency from the currency options. It goes without saying that the options can be narrowed down according to the customer's request. Thereby, it is possible to prevent the remittance from taking an unexpectedly long time to some extent.

顧客201がドロップダウンメニュー2007で通貨を選択すると、アプリ2022は、支払情報の通貨における金額を、選択された通貨に換算して換算金額として送金額2002aに表示する。この際の換算レートは他の実施形態で示した方法で求めても良いが、本実施形態では板情報の時系列情報を利用して求める方法を示す。具体的には、送金指示サーバ203bの送金処理部2034bは、取引所204aから逐次板情報を取得し、時刻情報とともに各通貨対の板情報から最大買値と最小売値をデータベースに記録していく。そして、送金処理部2034bは、アプリ2022に顧客ウォレット名のリストを送るタイミング(S304)において、直近一定時間以内の最大買値及び最小売値の平均を求め、買値及び売値の換算レートとして併せてアプリ2022に送信する。このように換算レートを求めることにより、短時間での換算レートの大きな変動を抑えることができる。逆に、過去の板情報から、ディープラーニングなどの機械学習を用いて、近い将来の換算レートを予測することも可能である。このようにすることで、着金時に通貨交換する際の金額の変動を抑えることを狙う。   When the customer 201 selects a currency from the drop-down menu 2007, the application 2022 converts the amount in the currency of the payment information into the selected currency and displays the converted amount on the remittance amount 2002a. At this time, the conversion rate may be obtained by the method shown in other embodiments, but this embodiment shows a method of obtaining the conversion rate using the time series information of the board information. Specifically, the remittance processing unit 2034b of the remittance instruction server 203b acquires successive board information from the exchange 204a, and records the maximum buy price and the minimum sell price from the board information of each currency pair in the database together with the time information. Then, at the timing (S304) of sending the list of customer wallet names to the application 2022, the remittance processing unit 2034b obtains the average of the maximum bid price and the minimum sell price within the latest fixed time, and combines the average as the conversion rate of the buy price and the sell price. Send to By calculating the conversion rate in this way, a large change in the conversion rate in a short time can be suppressed. Conversely, it is also possible to predict a near future conversion rate from past board information using machine learning such as deep learning. By doing so, the aim is to suppress fluctuations in the amount of money exchanged at the time of payment.

また、送金額2002aに表示する換算金額には、送金手数料を含めても良い。この場合、表示する支払金額は以下の式で求められる。
換算金額 =(支払情報の金額 × 換算レート + 交換手数料)+ 送金手数料
または
換算金額 =(支払情報の金額 / 換算レート + 交換手数料)+ 送金手数料
Also, the conversion amount displayed in the remittance amount 2002a may include a remittance fee. In this case, the displayed payment amount is obtained by the following equation.
Conversion amount = (payment information amount x conversion rate + exchange fee) + remittance fee or conversion amount = (payment information amount / conversion rate + exchange fee) + remittance fee

また、アプリ2022は、送金額2002aの換算金額に添えて、顧客201が指定する基軸通貨での金額を基軸通貨換算額2002bに表示する。その場合の計算法は、実施形態1又は2と同じ方法をとることができる。あるいは例えば、換算金額を求めるときのように、換算レートとして過去買値及び売値の平均を使っても良い。いずれにしても、この基軸通貨での金額が最小となる通貨をドロップダウンメニュー2007のデフォルト値とするのが、顧客201にとって都合が良い。   In addition, the application 2022 displays the amount in the base currency designated by the customer 201 in the base currency conversion amount 2002b along with the converted amount of the remittance amount 2002a. The calculation method in that case can be the same method as in the first or second embodiment. Alternatively, for example, an average of past purchase prices and sell prices may be used as a conversion rate, such as when obtaining a conversion price. In any case, it is convenient for the customer 201 to set the currency whose amount in the base currency is the minimum as the default value of the drop-down menu 2007.

図20の送金許可画面2000で、顧客201が中止ボタン2004を選択した場合は、アプリ2022は送金指示サーバ203bへその旨を通知し、送金処理部2034bは、その店舗IDの取引IDの支払いは中止されたものとしてデータベースに記録し、支払いプロセスはこれで中止される。仮に送金指示サーバ203bのホスト名がapi.sender.comの場合、店舗処理サーバ205cはhttps://api.sender.com/v1/payments/{店舗ID}/{取引ID}にGETリクエストを発行することにより、データベースに記録されているその取引の詳細を知ることができる。ここでURLの{店舗ID}の部分は店舗IDに、{取引ID}の部分は取引IDに置き換える。取引の詳細情報には、通貨、金額及び状態が含まれ、店舗管理サーバ205cは内容が改竄されていないことも確認することができる。状態が「中止」となっていれば、支払いが中止になったことが分かる。   If the customer 201 selects the stop button 2004 on the remittance permission screen 2000 of FIG. Record in the database as aborted and the payment process is now aborted. If the host name of the remittance instruction server 203b is api. sender. com, the store processing server 205c sends the https: // api. sender. By issuing a GET request to com / v1 / payments / {store ID} / {transaction ID}, the details of the transaction recorded in the database can be known. Here, the {store ID} portion of the URL is replaced with the store ID, and the {transaction ID} portion is replaced with the transaction ID. The detailed information of the transaction includes the currency, the amount, and the state, and the store management server 205c can also confirm that the content has not been tampered with. If the status is "Cancel", it means that the payment has been canceled.

逆に、顧客201が図20の送金許可画面2000で承認ボタン2005を選択した場合、アプリ2022は送金許可画面2000上に表示又は選択された通貨、送金額及び取引所(顧客ウォレット)による送金が許可された旨を通知し(S305)、送金処理部2034bは、取引の状態を「許可」として記録する。店舗処理サーバ205cは、この状態を上記のURLより取得することができる。この間、送金指示サーバ203bの送金処理部2034bは、店舗処理サーバ205cへ支払情報を含めた送金許可通知を送信し(S306)、店舗処理サーバ205cは、支払情報の整合性を確認し、送金指示サーバ203bへ送金許可応答を送信する(S307)。そして、取引の状態を「許可」にした後、送金指示サーバ203bは、顧客ウォレット206に送金指示を発行する(S308)。その際に送るのは、図20の送金許可画面2000で選択した通貨、その換算金額(送金額)、後述する方法で生成された送金先アドレスである。また、送金処理部2034bは、顧客ウォレット206が指定する方法で、鍵情報テーブル2032aからユーザ名に関連付けた鍵を用いて、送金指示の情報を電子署名などする。   Conversely, when the customer 201 selects the approval button 2005 on the remittance permission screen 2000 of FIG. The remittance processing unit 2034b notifies that the transaction has been permitted (S305), and records the status of the transaction as "permitted". The store processing server 205c can acquire this state from the above URL. During this time, the remittance processing unit 2034b of the remittance instruction server 203b transmits a remittance permission notification including the payment information to the store processing server 205c (S306), and the store processing server 205c checks the consistency of the payment information and issues the remittance instruction. A remittance permission response is transmitted to the server 203b (S307). Then, after setting the status of the transaction to "permitted", the remittance instruction server 203b issues a remittance instruction to the customer wallet 206 (S308). What is sent at this time is the currency selected on the remittance permission screen 2000 in FIG. 20, the converted amount (remittance amount), and the remittance destination address generated by a method described later. In addition, the remittance processing unit 2034b digitally signs the information of the remittance instruction using the key associated with the user name from the key information table 2032a by the method specified by the customer wallet 206.

ここで、送金先アドレスの生成法を説明する。つまり、送金指示サーバ203bは、所定のデジタル通貨の特性に応じて、当該デジタル通貨に対応するアドレスを前記送金先アドレスとして生成する。ここで、送金指示サーバ203bは、予め図22のようなデータベースの送金先アドレス生成制御テーブル2038に各通貨ごとに(動的に送金先アドレスを生成するか否かを示す)属性が保持されているものとする。尚、送金先アドレス生成制御テーブル2038の代わりに、例えば、通貨ごとの上記属性がプログラムに書き込まれていても良い。例えば、BTC(Bitcoin)のように送金先アドレスの再利用が推奨されない通貨の場合、動的アドレス生成の列にtrueが保持されている。逆に、XRP(Ripple)のように送金先アドレスの再利用が可能な通貨の場合、動的アドレス生成の列にfalseが保持されている。   Here, a method of generating a remittance destination address will be described. That is, the remittance instruction server 203b generates an address corresponding to the digital currency as the remittance destination address according to the characteristics of the predetermined digital currency. Here, the remittance instruction server 203b holds in advance an attribute (indicating whether or not to dynamically generate a remittee address) for each currency in a remittee address generation control table 2038 of a database as shown in FIG. Shall be Note that, instead of the remittance destination address generation control table 2038, for example, the above attribute for each currency may be written in the program. For example, for a currency such as BTC (Bitcoin) for which re-use of a remittance address is not recommended, true is stored in the column of dynamic address generation. Conversely, in the case of a currency in which the remittance address can be reused, such as XRP (Ripple), false is held in the dynamic address generation column.

また、送金指示サーバ203bは、送金先アドレス生成用の鍵などを保持するデータベースの送金先アドレス管理テーブル2039を記憶する。図23は、送金先アドレス管理テーブル2039の例を示す。各行は店舗及び通貨の組毎に用意され、図22の送金先アドレス生成制御テーブル2038における動的アドレス生成の列がfalseの通貨については、図23の送金先アドレス管理テーブル2039の第3列は該当する店舗の送金先アドレスそのものを保持する。送金先アドレスそのものを保持する場合、送金指示の際に送る送金先アドレスにはこの値を利用する。逆に、図22の送金先アドレス生成制御テーブル2038において動的アドレス生成の列がtrueの通貨については、図23の送金先アドレス管理テーブル2039の第3列は該当する店舗のアドレス生成用の鍵を保持する。アドレス生成用の鍵を保持する場合、送金指示サーバ203bの送金処理部2034bは、これを用いて送金先アドレスを生成する。例えば、BTCの場合、Deterministic Walletと呼ばれる機能で実現されている送金先アドレス生成法が定義されている(BIP0032など)。送金指示サーバ203bの送金処理部2034bは、データベースに保持されているアドレス生成用の鍵を用いて、アドレスを生成できる。そして、送金指示の際にこれを送金先アドレスとして利用できる。   In addition, the remittance instruction server 203b stores a remittance destination address management table 2039 of a database that holds keys for generating a remittance destination address. FIG. 23 shows an example of the remittance destination address management table 2039. Each row is prepared for each set of store and currency. For a currency whose column of dynamic address generation is false in the remittance address generation control table 2038 of FIG. 22, the third column of the remittance address management table 2039 of FIG. The remittance destination address of the corresponding store is held. When the remittance destination address itself is held, this value is used for the remittance destination address to be sent when the remittance instruction is given. Conversely, for a currency whose dynamic address generation column is true in the remittance destination address generation control table 2038 in FIG. 22, a third column in the remittance destination address management table 2039 in FIG. Hold. When holding the key for generating the address, the remittance processing unit 2034b of the remittance instruction server 203b generates the remittance destination address using the key. For example, in the case of BTC, a remittance destination address generation method implemented by a function called Deterministic Wallet is defined (BIP0032 or the like). The remittance processing unit 2034b of the remittance instruction server 203b can generate an address using an address generation key held in the database. This can be used as a remittance destination address when instructing remittance.

図19の説明に戻る。送金指示を受けた顧客ウォレット206の送金実行サービス2061は、台帳208に送金事実を書き込む(S311)。尚、顧客ウォレットによっては、二段階認証(電話やメールなど他の手段)によって顧客201に送金の再確認が行われる場合もある。例えば、ステップS308に応じて、送金実行サービス2061は、顧客スマートフォン202aに対して、電話又はメール(つまり、アプリ2022以外が受信できる方法)により2FA(Two Factor Authentication)を行う(S309)。そして、顧客201が顧客スマートフォン202a(のアプリ2022以外の機能(電話番号によるSMS(Short Message Service)やメールアプリ等))に応答操作を行うことにより、顧客スマートフォン202aは、送金実行サービス2061へ2FA許可を通知する(S310)。これにより、ウェブアプリのパスワードが漏洩した際にも不正な取引を防止することができる。尚、顧客201は、顧客スマートフォン202a以外に、通信可能な携帯電話端末、タブレット端末又はパソコン等の情報通信装置を所持していてもよい。その場合、送金実行サービス2061は、ステップS309において顧客201が所持する情報通信装置に対して2FAを行い、ステップS310により当該情報通信装置からの2FA許可を受け付ける。   Returning to the description of FIG. The remittance execution service 2061 of the customer wallet 206 that has received the remittance instruction writes the remittance fact in the ledger 208 (S311). Depending on the customer wallet, reconfirmation of remittance to the customer 201 may be performed by two-step authentication (other means such as telephone and mail). For example, in response to step S308, the remittance execution service 2061 performs 2FA (Two Factor Authentication) to the customer smartphone 202a by telephone or e-mail (that is, a method capable of receiving other than the application 2022) (S309). When the customer 201 performs a response operation to the function (other than the application 2022 of the customer smartphone 202a (SMS (Short Message Service) based on a telephone number, a mail application, or the like)), the customer smartphone 202a sends 2FA to the remittance execution service 2061. The permission is notified (S310). Thereby, even when the password of the web application is leaked, it is possible to prevent unauthorized transactions. Note that the customer 201 may have an information communication device such as a mobile phone terminal, a tablet terminal, or a personal computer that can communicate, in addition to the customer smartphone 202a. In this case, the remittance execution service 2061 performs 2FA on the information communication device possessed by the customer 201 in step S309, and receives 2FA permission from the information communication device in step S310.

その後、送金指示サーバ203bは台帳208を監視し続け、送金状態を取引の状態に反映する。また、支払情報に指定した通貨と送金通貨が異なる可能性があるので、取引の詳細には送金通貨及び送金額が追加される。例えばBTCのブロックチェーンの場合、送金事実を書き込んだ後に「承認」と呼ばれる処理が繰り返される。もし「承認」がn回行われた場合には、取引状態は「承認n」とする。そして、ある一定回数Nを超える承認が繰り返されたら、取引状態を「承認N+」とし、以後その送金の監視は辞める。そして、送金処理部2034bは、取引状態が「承認N+」とされた取引IDを含む着金通知を店舗処理サーバ205cへ送信する(S312)。   Thereafter, the remittance instruction server 203b keeps monitoring the ledger 208, and reflects the remittance state on the transaction state. Since the currency specified in the payment information and the remittance currency may be different, the remittance currency and the remittance amount are added to the details of the transaction. For example, in the case of a BTC blockchain, a process called “approval” is repeated after writing the remittance fact. If “approval” is performed n times, the transaction state is “approval n”. Then, if the approval exceeding a certain number N is repeated, the transaction state is set to “approved N +”, and the monitoring of the remittance is stopped thereafter. Then, the remittance processing unit 2034b transmits a payment notification including the transaction ID whose transaction status is “approved N +” to the store processing server 205c (S312).

店舗処理サーバ205cは、受信した取引状態を確認し、所望の承認回数に達したら、例えば商品を発送するなどのプロセスを始めることができる。急を要するサービスの場合は、送金許可が下りた後にそのプロセスを始めることもできる。いつこのプロセスを始めるかは、店舗側の判断である。   The store processing server 205c confirms the received transaction status, and when the number of approvals reaches a desired number, can start a process such as, for example, shipping the product. For urgent services, the process can be started after the remittance has been granted. It is up to the store to decide when to start this process.

以上、本実施形態では、送金先アドレスが動的に生成される例を示した。また、指定された通貨以外の通貨による送金にも対応した。送金先アドレス生成法としてArmory Deterministic Walletに採用されている方法を使えば、送金指示サーバでも送金先アドレス生成用に公開鍵のみを保管すれば良いことについても触れておく。   As described above, in the present embodiment, an example in which the remittee address is dynamically generated has been described. It also supports remittances in currencies other than the specified currency. It is also mentioned that if the method used in Army Deterministic Wallet is used as the remittance address generation method, the remittance instruction server only needs to store only the public key for remittance address generation.

<実施形態4>
本実施形態4は、実施形態1、2又は3の変形例であり、任意の店舗あるいは個人が取引可能なシステムの例を示す。また、本実施形態4は、顧客が選択した通貨とは異なる通貨でも送金指示装置が換金を行った上で、送金指示を行うことができる。
<Embodiment 4>
The fourth embodiment is a modification of the first, second, or third embodiment, and shows an example of a system in which an arbitrary store or an individual can trade. In the fourth embodiment, the remittance instructing device can perform the remittance instruction after the remittance instructing device has converted the currency even in a currency different from the currency selected by the customer.

本実施形態4にかかる送金指示装置におけるハードウェアの構成は、図1と同様であるものとする。よって、FPGAなど他の集積回路でも同様の構成で同じ機能が実現できる。但し、プログラム1021には、本実施形態4にかかる送金指示装置の処理が実装されているものとする。   The hardware configuration of the remittance instruction device according to the fourth embodiment is the same as that of FIG. Therefore, the same function can be realized with a similar configuration in another integrated circuit such as an FPGA. However, it is assumed that the process of the remittance instruction device according to the fourth embodiment is implemented in the program 1021.

図24は、本実施形態にかかる仮想通貨の送金に関する情報システムの構成、及び、送金許可シーケンスのブロック図を示す。本実施形態では、預金管理を行うウォレット機能と通貨交換を行う取引所機能が、同じ顧客取引所204で行われるものとする。店舗サーバ205dは、電子商取引のWEBサイトを提供するコンピュータ装置である。店舗サーバ205dは、記憶装置に承認URL2051及びSSL証明書2053(公開鍵証明書)を保存している。ここで、SSL証明書2053は、信頼された認証局が店舗サーバ205dのサイト運営組織(及びURL)の信頼性を証明した電子証明書である。尚、送金指示装置203dは、送金指示装置203と比べて送金処理部2034dを備える。送金指示装置203dの他の構成は、送金指示装置203、203a、送金指示サーバ203b等と同等のものを用いることができる。よって、適宜、図示を省略している。   FIG. 24 is a block diagram showing the configuration of an information system relating to the remittance of virtual currency according to the present embodiment, and a remittance permission sequence. In the present embodiment, it is assumed that a wallet function for performing deposit management and an exchange function for performing currency exchange are performed on the same customer exchange 204. The store server 205d is a computer device that provides an electronic commerce web site. The store server 205d stores an approval URL 2051 and an SSL certificate 2053 (public key certificate) in a storage device. Here, the SSL certificate 2053 is an electronic certificate in which a trusted certificate authority has proved the reliability of the site operating organization (and URL) of the store server 205d. The remittance instructing device 203d includes a remittance processing unit 2034d as compared with the remittance instructing device 203. Other configurations of the remittance instructing device 203d can be the same as those of the remittance instructing devices 203 and 203a, the remittance instructing server 203b, and the like. Therefore, illustration is omitted as appropriate.

まず、顧客201が顧客コンピュータ202を利用して、店舗サーバ205dでの発注シーケンスに入る。顧客201は、発注シーケンスの最後に購買を確定する操作を行う。これにより、アクセス処理部2021は、送金を開始するトリガーを店舗サーバ205dへ送信する(S401)。すると、店舗サーバ205dは、店舗サーバURL(第1の宛先情報)、取引ID、通貨、金額の組に自身のSSL証明書2053の秘密鍵で電子署名した情報(以後、「支払情報」と呼ぶ。)をパラメータとした送金許可のための承認URLを、顧客コンピュータ202に返信する(S402)。すると、顧客コンピュータ202のアクセス処理部2021は、新たなブラウザウィンドウを開いて、取得した承認URLに対してGETリクエストを発行する(S403)。この時点で、顧客201が送金指示装置203dにログインしていなければ、上述したステップS204と同様のログインプロセスが行われる(S404、S405)。   First, the customer 201 uses the customer computer 202 to enter an order sequence in the store server 205d. The customer 201 performs an operation to confirm the purchase at the end of the ordering sequence. Accordingly, the access processing unit 2021 transmits a trigger for starting remittance to the store server 205d (S401). Then, the store server 205d digitally signs the set of the store server URL (first destination information), the transaction ID, the currency, and the amount with the private key of its own SSL certificate 2053 (hereinafter referred to as “payment information”). ) Is returned to the customer computer 202 with an approval URL for remittance permission as a parameter (S402). Then, the access processing unit 2021 of the customer computer 202 opens a new browser window and issues a GET request to the acquired approval URL (S403). At this time, if the customer 201 has not logged in to the remittance instructing device 203d, a log-in process similar to the above-described step S204 is performed (S404, S405).

ログインの後、送金指示装置203dの送金処理部2034dは、支払情報から店舗サーバURLを抽出し、そのURLからSSL証明書2053をダウンロードする(S406)。そして、送金処理部2034dは、SSL証明書2053に記述されている公開鍵を用いて、抽出した支払情報が対応する秘密鍵で電子署名されていることを検証する。正しく電子署名されていることが確認されたら、送金処理部2034dは、図25のようなウェブページ(送金許可ページ2500、表示用ページ)を生成する。この場合、送金処理部2034dは、ダウンロードしたSSL証明書2053のOrganization(O)フィールドから取得した組織名を店舗名2501として追加する。また、送金処理部2034dは、店舗サーバURLから抽出した文字列を店舗名2501の下のホスト名(第1の宛先情報に含まれる情報)として追加する。尚、ホスト名には、SSL証明書2053のCommon Name(CN)フィールドから取得したもの(公開鍵証明書に含まれる情報)を用いても良い。送金処理部2034dは、店舗がSSL証明書によって検証されたことを示す場合にアイコン2508(公開鍵証明書により検証済みであることを示す情報)を追加する。送金処理部2034dは、顧客201が登録している取引所の内、支払情報に指定してある通貨での送金ができる取引所を選択肢として選択可能にドロップダウンメニュー(取引所選択欄)2503に設定する。送金処理部2034dは、ドロップダウンメニュー2503で選択された取引所が扱える通貨を選択肢として選択可能にドロップダウンメニュー(通貨選択欄)2507を設定する。   After login, the remittance processing unit 2034d of the remittance instructing device 203d extracts the store server URL from the payment information and downloads the SSL certificate 2053 from the URL (S406). Then, using the public key described in the SSL certificate 2053, the remittance processing unit 2034d verifies that the extracted payment information is electronically signed with the corresponding private key. When it is confirmed that the electronic signature is correctly given, the remittance processing unit 2034d generates a web page (remittance permission page 2500, display page) as shown in FIG. In this case, the remittance processing unit 2034d adds the organization name acquired from the Organization (O) field of the downloaded SSL certificate 2053 as the store name 2501. Further, the remittance processing unit 2034d adds the character string extracted from the store server URL as a host name under the store name 2501 (information included in the first destination information). The host name may be the one obtained from the Common Name (CN) field of the SSL certificate 2053 (information included in the public key certificate). The remittance processing unit 2034d adds an icon 2508 (information indicating that the store has been verified by the public key certificate) when the store is verified by the SSL certificate. The remittance processing unit 2034d displays a drop-down menu (exchange selection field) 2503 so that, of the exchanges registered by the customer 201, exchanges that can remit in the currency specified in the payment information can be selected as options. Set. The remittance processing unit 2034d sets a drop-down menu (currency selection field) 2507 so that the currency handled by the exchange selected in the drop-down menu 2503 can be selected as an option.

そして、送金処理部2034dは、生成した送金許可ページ2500を送信詳細として顧客コンピュータ202へ送信する(S407)。アクセス処理部2021は、送金指示装置203dから受信した送金許可ページ2500を画面に表示する。そして、顧客201が承認ボタン2505を選択すると、アクセス処理部2021は、送金許可ページ2500上に表示された通貨、送金額及び取引所を含む送金許可を送金指示装置203dへ通知する(S408)。   Then, the remittance processing unit 2034d transmits the generated remittance permission page 2500 to the customer computer 202 as transmission details (S407). The access processing unit 2021 displays the remittance permission page 2500 received from the remittance instructing device 203d on the screen. When the customer 201 selects the approval button 2505, the access processing unit 2021 notifies the remittance instructing device 203d of the remittance permission including the currency, the remittance amount, and the exchange displayed on the remittance allowance page 2500 (S408).

ここで、本実施形態では送金対象の通貨を切り替えることができる。そのためには、顧客201が承認ボタン2505を押下する前に次のような操作を行うこととなる。例えば、顧客201がドロップダウンメニュー2507で通貨を選択すると、送金額2502aに選択された通貨での換算金額が表示される。例えば、アクセス処理部2021は、選択された通貨を送金指示装置203dへ通知し、送金処理部2034dにより換算金額が更新された送金許可ページ2500を取得し、表示してもよい。または、アクセス処理部2021は、選択された通貨に基づき換算金額を算出して、送金許可ページ2500を更新してもよい。   Here, in this embodiment, the currency to be remitted can be switched. For this purpose, the following operation is performed before the customer 201 presses the approval button 2505. For example, when the customer 201 selects a currency from the drop-down menu 2507, a conversion amount in the selected currency is displayed in the remittance amount 2502a. For example, the access processing unit 2021 may notify the remittance instructing device 203d of the selected currency, obtain the remittance permission page 2500 in which the remittance processing unit 2034d has updated the converted amount, and display the remittance permission page 2500. Alternatively, the access processing unit 2021 may calculate the conversion amount based on the selected currency and update the remittance permission page 2500.

また、顧客201が承認ボタン2505を選択した際のドロップダウンメニュー2507で選択された通貨が支払情報に含まれる通貨と同じ場合には、他の実施形態と同様に、送金処理部2034dは、その通貨で送金する。一方、顧客201が承認ボタン2505を選択した際のドロップダウンメニュー2507で選択された通貨が支払情報に含まれる通貨と異なる場合(通貨交換を伴う場合)には、送金処理部2034dは、選択した通貨を支払情報の通貨に交換してから送金する。この時、成行で注文することもできるが、換算金額以上の交換とならないように指し値で注文することも可能である。その時の指し値は換算金額を求める際に利用した換算レートである。特に指し値注文の場合、注文が成立しないことがあり得るので、注文を取り消す仕組みが必要である。   Also, when the currency selected in the drop-down menu 2507 when the customer 201 selects the approval button 2505 is the same as the currency included in the payment information, the remittance processing unit 2034d, as in the other embodiments, Send money in currency. On the other hand, when the currency selected in the drop-down menu 2507 at the time when the customer 201 selects the approval button 2505 is different from the currency included in the payment information (when currency exchange is involved), the remittance processing unit 2034d selects the selected currency. Exchange the currency for the payment information and then remit. At this time, it is possible to place an order with a market, but it is also possible to place an order with a limit price so as not to exchange more than the converted amount. The limit price at that time is the conversion rate used when obtaining the conversion amount. In particular, in the case of a limit order, there is a possibility that the order will not be fulfilled, so a mechanism for canceling the order is necessary.

図26に通貨交換を伴う通貨を選択した場合のフローチャート図を示す。顧客201が承認ボタン2505又は中止ボタン2504を選択したら、アクセス処理部2021は、ステップ2601でボタンの種類を特定し、上述した送金許可と共に、特定したボタンの種類を送金指示装置203dへ通知する。ボタンの種類が中止ボタン2504である場合、ステップ2608へと遷移し、送金処理部2034dは、直ちに支払いを中止する。一方、ボタンの種類が承認ボタン2505である場合、アクセス処理部2021は、ステップ2602で承認ボタンのラベルを「注文中」に変えてボタンを無効化する。そして、次のステップ2603で、送金処理部2034dは、顧客取引所204に注文を出す。つまり、送金処理部2034dは、顧客取引所204に対して通貨交換を要求する(図24のS410)。具体的には、送金処理部2034dは、顧客取引所204に対して支払情報に含まれる通貨における送金額分を、選択された通貨に交換する指示を行う。その後ステップ2604で送金処理部2034dは、中止ボタン2504が選択されたかどうかを判断する。中止ボタン2504が選択されていなければステップ2606へと直接遷移する。中止ボタン2504が選択されていれば、ステップ2605で送金処理部2034dは、顧客取引所204に注文を取り消すように指示する。その後ステップ2606で送金処理部2034dは、注文の状態を顧客取引所204に問い合わせるなどして監視する。注文が完了していれば、顧客201が中止ボタン2504を選択したことがあったとしても、取引は許可されたものとして扱う(ステップ2607)。注文が中止になっていれば、取引が中止されたものとして扱う(ステップ2608)。そのいずれでもない場合には、ステップ2604に戻って中止ボタン2504が押されたかどうかの判定を繰り返す。   FIG. 26 shows a flowchart in the case where a currency accompanied by currency exchange is selected. When the customer 201 selects the approval button 2505 or the stop button 2504, the access processing unit 2021 specifies the button type in step 2601 and notifies the remittance instructing device 203d of the specified button type together with the above-described remittance permission. If the type of the button is the stop button 2504, the process proceeds to step 2608, and the remittance processing unit 2034d immediately stops the payment. On the other hand, when the type of the button is the approval button 2505, the access processing unit 2021 invalidates the button by changing the label of the approval button to “on order” in step 2602. Then, in the next step 2603, the remittance processing unit 2034d issues an order to the customer exchange 204. That is, the remittance processing unit 2034d requests the customer exchange 204 for currency exchange (S410 in FIG. 24). Specifically, the remittance processing unit 2034d instructs the customer exchange 204 to exchange the remittance amount in the currency included in the payment information with the selected currency. Thereafter, in step 2604, the remittance processing unit 2034d determines whether the stop button 2504 has been selected. If the stop button 2504 has not been selected, the flow directly goes to step 2606. If the cancel button 2504 has been selected, in step 2605 the remittance processing unit 2034d instructs the customer exchange 204 to cancel the order. Thereafter, in step 2606, the remittance processing unit 2034d monitors the status of the order by inquiring the customer exchange 204 or the like. If the order has been completed, the transaction is handled as permitted even if the customer 201 has selected the stop button 2504 (step 2607). If the order has been canceled, the transaction is treated as canceled (step 2608). If neither is the case, the process returns to step 2604 to repeatedly determine whether the stop button 2504 has been pressed.

取引が中止したものとして扱われたら、ステップ2608にて、送金処理部2034dは、その店舗IDの取引IDの支払いは中止されたものとしてデータベースに記録し、支払いプロセスはこれで中止される。仮に送金指示装置203dのホスト名がapi.sender.comの場合、店舗サーバ205dはhttps://api.sender.com/v1/payments/{店舗ID}/{取引ID}にGETリクエストを発行することにより、データベースに記録されているその取引の状態を知ることができる。ここでURLの{店舗ID}の部分は店舗IDに、{取引ID}の部分は取引IDに置き換える。状態が「中止」となっていれば、支払いが中止になったことが分かる。本実施形態では、これを店舗サーバ205dへの通知の一形態とする。   If the transaction is treated as stopped, in step 2608, the remittance processing unit 2034d records the payment of the transaction ID of the store ID in the database as stopped, and the payment process is stopped. If the host name of the remittance instructing device 203d is api. sender. com, the store server 205d may use https: // api. sender. By issuing a GET request to com / v1 / payments / {store ID} / {transaction ID}, the status of the transaction recorded in the database can be known. Here, the {store ID} portion of the URL is replaced with the store ID, and the {transaction ID} portion is replaced with the transaction ID. If the status is "Cancel", it means that the payment has been canceled. In the present embodiment, this is one form of notification to the store server 205d.

逆に、取引が完了したものとして扱われたら、ステップ2607にて、送金処理部2034dは、取引の状態を「許可」として記録する。店舗サーバ205dはこの状態を上記のURLより取得することができる。取引の状態を「許可」にした後、送金指示装置203dは、顧客取引所204に交換された金額を確認し、それを支払情報の送金先アドレスへ送金するよう、顧客取引所204に指示する(S411)。そして、顧客取引所204の送金実行サービス2041は、台帳208に送金事実を書き込む(S412)。その後、送金指示装置203dは、台帳208の監視を続け、取引の状態を更新する。尚、店舗サーバ205dは、送金指示装置203dに対してポーリングにより送金許可がされたか否かを確認するものとする。これにより、店舗サーバ205dが送金許可がされた旨を把握することができるため、図24では、ステップS409として、送金許可通知として表現している。   Conversely, if it is determined that the transaction has been completed, in step 2607, the remittance processing unit 2034d records the status of the transaction as “permitted”. The store server 205d can acquire this state from the above URL. After setting the status of the transaction to "permitted", the remittance instructing device 203d confirms the amount exchanged with the customer exchange 204 and instructs the customer exchange 204 to remit it to the remittee address of the payment information. (S411). Then, the remittance execution service 2041 of the customer exchange 204 writes the remittance fact in the ledger 208 (S412). Thereafter, the remittance instructing device 203d keeps monitoring the ledger 208 and updates the transaction status. It is assumed that the store server 205d checks whether remittance has been permitted by polling the remittance instructing device 203d. As a result, the store server 205d can grasp that the remittance has been permitted. Therefore, in FIG. 24, it is expressed as a remittance permission notification in step S409.

以上、本実施形態では送金指示装置に店舗のアカウントが予め登録されていなくても、任意の店舗サーバが取引を開始できる送金指示装置を示した。SSL証明書を利用することにより、店舗の信用が評価され、顧客が安心して支払いを済ませることができる。ここで、SSL証明書の検証をなくせば、ウェブサーバを持たない任意の個人でもメールにURLを記載するなどして支払いを請求できるシステムになっている点にも触れておく。   As described above, in the present embodiment, the remittance instructing device that allows any store server to start a transaction even if the store account is not registered in the remittance instructing device in advance. By using the SSL certificate, the credibility of the store is evaluated, and the customer can pay with confidence. Here, it should be noted that if the SSL certificate is not verified, any individual who does not have a web server can request payment by writing a URL in an e-mail or the like.

<実施形態5>
本実施形態5は、実施形態1から4の変形例であり、URLのリンクを開くことにより支払い手続きを開始する例を示す。
<Embodiment 5>
The fifth embodiment is a modification of the first to fourth embodiments, and shows an example in which a payment procedure is started by opening a URL link.

本実施形態5にかかる送金指示装置におけるハードウェアの構成は図1と同様であるものとする。よって、FPGAなど他の集積回路でも同様の構成で同じ機能が実現できる。但し、プログラム1021には、本実施形態5にかかる送金指示装置の処理が実装されているものとする。   It is assumed that the hardware configuration of the remittance instruction device according to the fifth embodiment is the same as that of FIG. Therefore, the same function can be realized with a similar configuration in another integrated circuit such as an FPGA. However, it is assumed that the process of the remittance instruction device according to the fifth embodiment is implemented in the program 1021.

図27は、本実施形態にかかる仮想通貨の送金に関する情報システムの構成、及び、送金許可シーケンスのブロック図である。店舗サーバ205eは、顧客コンピュータ202からの送金開始のトリガーその他の発注シーケンスに伴い、顧客201のメールアドレスを宛先とし、上述した承認URL2051を本文に記載した支払請求メールをメールサーバ209に対して送信する(S500)。このとき、承認URL2051は、送金指示装置203eのウェブサイトのURL(第2の宛先情報)である。そして、承認URL2051のURLパラメータは、店舗サーバ205eの1エンドポイント(第1の宛先情報)を指し示す。尚、支払請求メールは、店舗サーバ205e以外の店員が操作する端末から送信されても構わない。   FIG. 27 is a block diagram of a configuration of an information system relating to remittance of virtual currency according to the present embodiment, and a remittance permission sequence. The store server 205e sends the payment request mail in which the above-mentioned approval URL 2051 is described in the text to the mail server 209 with the mail address of the customer 201 as a destination in response to the trigger of the start of remittance from the customer computer 202 and other ordering sequences. (S500). At this time, the approval URL 2051 is the URL (second destination information) of the website of the remittance instruction device 203e. Then, the URL parameter of the approval URL 2051 indicates one end point (first destination information) of the store server 205e. Note that the payment request mail may be transmitted from a terminal operated by a clerk other than the store server 205e.

メールサーバ209は、一般的なメールサーバである。メールサーバ209は、店舗サーバ205eから支払請求メールを受信し、支払請求メール2091として記憶装置に記憶する。メールサーバ209は、顧客コンピュータ202のメールクライアント2023からのメール受信要求に応じて支払請求メール2091を顧客コンピュータ202へ送信する。   The mail server 209 is a general mail server. The mail server 209 receives the payment request mail from the store server 205e and stores it in the storage device as the payment request mail 2091. The mail server 209 transmits a payment request mail 2091 to the customer computer 202 in response to a mail reception request from the mail client 2023 of the customer computer 202.

顧客コンピュータ202のメールクライアント2023は、起動時等にメールサーバ209に対してメール受信要求を送信し、メールサーバ209から承認URL2051を含む支払請求メール2091を受信する(S501)。顧客201が受信したメールに記載された承認URLをクリック等すると、アクセス処理部2021は、承認URLへのアクセスを行う(S502)。これにより、送金指示装置203eのウェブページが開く。ここで、送金指示装置203eの送金処理部2034eがウェブページを準備する時に、顧客201がログインしていなければ、上述したステップS204と同様に、送金処理部2034eは、ログインページを顧客コンピュータ202に送信する(S503)。顧客201がこのログインページにユーザ名とパスワードを入力すると、アクセス処理部2021はこれを送金指示装置203eへ、認証情報として送信する(S504)。送金指示装置203eの送金処理部2034eは、認証情報の受信に応じて、先ほどのステップS502でアクセスされた承認URLのパラメータが指し示す店舗サーバ205eに対してSSL証明書を要求し、店舗サーバ205eからSSL証明書2053を取得する(S505)。送金処理部2034eは、取得したSSL証明書2053の内容を検証する。そして、送金処理部2034eは、承認URLのパラメータとして指定されていたエンドポイントに対してGETリクエストを発行する。GETリクエストを受けた店舗サーバ205eは、送金通貨、送金額、送金先アドレス、必要承認回数及び通知先を含む支払情報をhttpsによって返信する(S506)。ここでは、httpsを用いた例を示したが、支払情報を秘密にする必要がない場合には、支払情報がSSL証明書2053の秘密鍵によって電子署名されていれば、暗号化されていない通信方法でも改竄が防げるのは言うまでもない。また当然ながら、http/httpsによらずとも他の通信方法によっても同様の効果が得られる。   The mail client 2023 of the customer computer 202 transmits a mail reception request to the mail server 209 at the time of activation or the like, and receives a payment request mail 2091 including the approval URL 2051 from the mail server 209 (S501). When the customer 201 clicks on the approval URL described in the received e-mail or the like, the access processing unit 2021 accesses the approval URL (S502). Thereby, the web page of the remittance instructing device 203e is opened. Here, if the customer 201 is not logged in when the remittance processing unit 2034e of the remittance instructing device 203e prepares the web page, the remittance processing unit 2034e sends the login page to the customer computer 202 as in step S204 described above. The data is transmitted (S503). When the customer 201 inputs a user name and a password on this login page, the access processing unit 2021 transmits them to the remittance instructing device 203e as authentication information (S504). The remittance processing unit 2034e of the remittance instructing device 203e, in response to receiving the authentication information, requests an SSL certificate from the store server 205e indicated by the parameter of the approval URL accessed in the previous step S502, and from the store server 205e. An SSL certificate 2053 is obtained (S505). The remittance processing unit 2034e verifies the content of the obtained SSL certificate 2053. Then, the remittance processing unit 2034e issues a GET request to the end point specified as the parameter of the approval URL. The store server 205e that has received the GET request returns payment information including the remittance currency, the remittance amount, the remittee address, the required number of approvals, and the notification destination by using https (S506). Here, an example using https is shown. However, if the payment information does not need to be kept secret, if the payment information is digitally signed with the private key of the SSL certificate 2053, unencrypted communication is performed. Needless to say, the method prevents tampering. Of course, similar effects can be obtained by other communication methods without depending on http / https.

支払情報は、ウェブページのようにHTML等の所定の構造化方式(構造化言語)で記述されていても良い。その場合、送金処理部2034eはDOM(Document Object Model)ツリーをパースして必要な情報を抽出する。例えば、送金通貨、送金額、送金先アドレス、必要承認回数及び通知先がそれぞれ固有のidを持った要素(エレメント)に含まれていれば、送金処理部2034eはそれらを探して抽出する。あるいは、送金通貨、送金額、送金先アドレス、必要承認回数及び通知先がそれぞれラベルと関連付けられてウェブページ内に配置してあれば、送金処理部2034eはまずそれらラベルを検索してから関連する情報を抽出すれば良い。   The payment information may be described in a predetermined structured method (structured language) such as HTML, like a web page. In this case, the remittance processing unit 2034e parses a DOM (Document Object Model) tree and extracts necessary information. For example, if the remittance currency, the remittance amount, the remittance destination address, the required number of approvals, and the notification destination are included in elements each having a unique id, the remittance processing unit 2034e searches for and extracts them. Alternatively, if the remittance currency, remittance amount, remittance destination address, required approval count, and notification destination are respectively arranged in the web page in association with the label, the remittance processing unit 2034e first searches for the label and then associates the label. Information should be extracted.

あるいは、支払情報は他の構造化方式であるjson形式で記述されていても良い。この場合は情報にキーが付与されているので、送金処理部2034eの実装が簡単となる。逆に、支払情報をHTMLで記述する場合には、店舗サーバ205eを実装する際に、REST APIの実装経験などがなくても良いという利点があり、店舗側にとって簡単となる。いずれにしても、支払情報をhttpsで送金指示装置203eに返すことにより、ウェブサーバに標準的に備わる方法によって、情報の改竄を防ぐことができ、開発効率を高めることができるのと同時に、新規開発に伴うバグによる脆弱性のリスクを軽減することができる。   Alternatively, the payment information may be described in json format, which is another structured method. In this case, since a key is assigned to the information, the remittance processing unit 2034e can be easily mounted. On the other hand, when the payment information is described in HTML, there is an advantage that the store server 205e does not need to have REST API mounting experience, which is simple for the store. In any case, by returning the payment information to the remittance instructing device 203e in https, it is possible to prevent the information from being tampered with the method provided in the web server as a standard, to improve the development efficiency, and at the same time to improve the development efficiency. The risk of vulnerability due to bugs during development can be reduced.

支払情報を抽出した送金処理部2034eは、その内容を図25のようなウェブページ(送金許可ページ2500)に追加して、顧客コンピュータ202に送信する(S507)。ここで、アイコン2508はSSL証明書を検証したことを表すアイコンである。店舗名2501はSSL証明書のOrganization(O)フィールドから取得したものであり、検証したSSL証明書がEV(Extended Validation)証明書の場合にのみ表示する。その下のホスト名は、店舗サーバURLから抽出したものであり、SSL証明書に含まれているドメイン名と合致する。   The remittance processing unit 2034e that has extracted the payment information adds the content to a web page (remittance permission page 2500) as shown in FIG. 25 and transmits the web page to the customer computer 202 (S507). Here, the icon 2508 is an icon indicating that the SSL certificate has been verified. The store name 2501 is obtained from the Organization (O) field of the SSL certificate, and is displayed only when the verified SSL certificate is an EV (Extended Validation) certificate. The host name below it is extracted from the store server URL, and matches the domain name included in the SSL certificate.

顧客201が支払情報を確認したら、承認ボタン2505を選択し、顧客コンピュータ202のアクセス処理部2021は、送金許可ページ2500上に表示又は選択された通貨、送金額及び取引所による送金が許可された旨を送金許可として送金指示装置203eへ通知する(S508)。すると、送金指示装置203eの送金処理部2034eは、まず図29のような情報を取引ログ20371として送金履歴テーブル2037aに追記する。取引ログ20371には、SSL証明書から取得したホスト名(cn)、送金通貨(currency)、送金額(amount)、送金先アドレス(destination)、並びに、記録時間(timestamp)及び支払留保フラグ(reserve)等が含まれる。また、送金指示装置203eは、さらに、送金先のアカウント20372を管理してもよい。アカウント20372は、店舗(店舗サーバ205e)を一意に識別する情報であり、送金指示装置203eの送金先となるユーザ(店舗)を示す課金用のアカウントである。アカウント20372には、例えば、取引ログ20371内のホスト名(cn)、つまり、SSL証明書内のホスト名を用いることができる。また、送金指示装置203eは、アカウント20372を送金先として送金指示装置203eを介して送金指示サービスが使用された際に、アカウント20372に課金される課金条件や後に説明する管理アドレスをさらに保持しているものとする。例えば、課金条件は、送金先として無料で利用可能な送金指示の上限回数であってもよい。   When the customer 201 confirms the payment information, the customer 201 selects the approval button 2505, and the access processing unit 2021 of the customer computer 202 receives the currency, the remittance, and the remittance by the exchange displayed or selected on the remittance permission page 2500. This is notified to the remittance instructing device 203e as remittance (S508). Then, the remittance processing unit 2034e of the remittance instructing device 203e first appends information as shown in FIG. 29 to the remittance history table 2037a as a transaction log 20371. The transaction log 20371 includes a host name (cn), a remittance currency (currency), a remittance amount (amount), a remittance destination address (destination), and a recording time (timestamp) and a reservation flag (reserve) acquired from the SSL certificate. ) Etc. are included. Further, the remittance instructing device 203e may further manage a remittance destination account 20372. The account 20372 is information for uniquely identifying a store (store server 205e), and is a charging account indicating a user (store) to which the remittance instructing device 203e is to be remitted. For the account 20372, for example, the host name (cn) in the transaction log 20371, that is, the host name in the SSL certificate can be used. The remittance instructing device 203e further holds a billing condition charged to the account 20372 when the remittance instruction service is used via the remittance instructing device 203e with the account 20372 as a remittance destination, and a management address described later. Shall be For example, the charging condition may be an upper limit number of remittance instructions that can be used as a remittee for free.

言い換えると、次のように言うことができる。すなわち、まず、送金処理部2034eは、ステップS505により店舗サーバ205eからSSL証明書2053を受信し、ステップS506によりSSL証明書2053の鍵により電子署名された支払情報を受信する。または、店舗サーバ205eと送金指示装置203eとの通信がhttps等により暗号化されていた場合には、支払情報に電子署名は不要となる。そして、送金処理部2034eは、ステップS508により顧客コンピュータ202から送金許可を受信した場合に、SSL証明書の内容を用いて店舗サーバ205eの課金用のアカウントを生成し、生成したアカウントを送金履歴記憶部へ登録する。これにより、送金指示装置203eは、各店舗に対して事前のアカウント登録を要求せずに、送金発生時にアカウントを自動生成し、かつ、アカウントごとに課金状態を管理することができる。よって、送金指示装置203eは、自己の送金指示サービスの普及を、店舗を介して促進することができる。   In other words, the following can be said. That is, first, the remittance processing unit 2034e receives the SSL certificate 2053 from the store server 205e in step S505, and receives the payment information electronically signed with the key of the SSL certificate 2053 in step S506. Alternatively, when the communication between the store server 205e and the remittance instructing device 203e is encrypted by https or the like, the payment information does not require an electronic signature. Then, when the remittance processing unit 2034e receives the remittance permission from the customer computer 202 in step S508, the remittance processing unit 2034e generates a charging account of the store server 205e using the content of the SSL certificate, and stores the generated account in the remittance history storage. Register with the department. Accordingly, the remittance instructing device 203e can automatically generate an account when a remittance occurs and manage the charging status for each account without requesting each store to register an account in advance. Therefore, the remittance instruction device 203e can promote the spread of its own remittance instruction service via the store.

ここで、送金処理部2034eは、SSL証明書に含まれるホスト名を識別子としてアカウントを生成するとよい。SSL証明書は、ホストごとに発行されるため、店舗の一意性を容易かつ確実に担保することができる。   Here, the remittance processing unit 2034e may generate an account using the host name included in the SSL certificate as an identifier. Since the SSL certificate is issued for each host, the uniqueness of the store can be secured easily and reliably.

また、送金処理部2034eは、送金履歴記憶部に登録されたアカウントを送金先とした送金指示の回数が所定の課金条件を満たした場合(例えば、上限回数を超えた場合)に、送金先への課金を開始することが望ましい。これにより、店舗は、送金指示装置203eのアカウントを事前に登録することなく、送金先として一定回数まで無料で送金指示サービスを利用できる。そして、送金指示装置203eは、無料での送金指示が一定回数を超えるアカウントに対して、課金することができ、課金を制御できる。   In addition, the remittance processing unit 2034e transmits to the remittance destination when the number of remittance instructions with the account registered in the remittance history storage unit as the remittance satisfies a predetermined charging condition (for example, when the number of times exceeds the upper limit number). It is desirable to start charging. Thus, the store can use the remittance instruction service as a remittance destination free of charge up to a certain number of times without previously registering an account of the remittance instruction device 203e. Then, the remittance instructing device 203e can charge an account for which the free remittance instruction has exceeded a certain number of times, and can control the charging.

そして、取引ログ20371に記録した後、送金処理部2034eは、店舗サーバ205eに支払いが承認されたことを通知する(S509)。具体的には、先の支払情報の通知先には送金許可通知の通知先URLが含まれているので、送金処理部2034eは、通知先URLに対してhttps POSTリクエストを発行する。通知先には明示的に取引IDを送らなくても、URLにその情報を組み入れることで、パラメータとして扱わずに同様の効果が得られる。   Then, after recording in the transaction log 20371, the remittance processing unit 2034e notifies the store server 205e that the payment has been approved (S509). Specifically, since the notification destination of the previous payment information includes the notification destination URL of the remittance permission notification, the remittance processing unit 2034e issues an https POST request to the notification destination URL. Even if the transaction ID is not explicitly sent to the notification destination, the same effect can be obtained by incorporating the information into the URL without treating it as a parameter.

そして、送金処理部2034eは、顧客201の鍵を利用して送金通貨、送金額及び送金先アドレスを含めた送信指示を顧客取引所204へ送信する(S510)。ただし、ここでの送金先アドレスは取引ログ20371に記録された内容に基づく。まず、送金処理部2034eは、取引ログ20371を検索し、過去一定期間(例えば1ヶ月)の同じホスト名に対する取引回数が所定回数以下であるかどうかを確認する。所定回数以下であれば、送金処理部2034eは、店舗サーバ205eから取得した送金先アドレスを使用する。このとき、例えば、送金処理部2034eは、該当する取引ログ20371の支払留保フラグ(“reserve”キー)にfalseを設定する。逆に所定回数を超えていれば、送金処理部2034eは、送金指示装置203eが用意した送金先アドレス(送金額を留保するために、送金指示装置203eが管理する管理アドレス)を使用する。結果的に、取引回数が所定回数を超える場合には、支払いが特定のアドレスに一時的に留保されることになる。この時、例えば、送金処理部2034eは、該当する取引ログ20371の支払留保フラグ(“reserve”キー)にtrueを設定する。   Then, the remittance processing unit 2034e transmits a transmission instruction including a remittance currency, a remittance amount, and a remittee address using the key of the customer 201 to the customer exchange 204 (S510). However, the remittance destination address here is based on the contents recorded in the transaction log 20371. First, the remittance processing unit 2034e searches the transaction log 20371, and checks whether the number of transactions for the same host name in a past fixed period (for example, one month) is equal to or less than a predetermined number. If the number is less than or equal to the predetermined number, the remittance processing unit 2034e uses the remittance destination address acquired from the store server 205e. At this time, for example, the remittance processing unit 2034e sets false to the payment reserved flag (“reserve” key) of the corresponding transaction log 20371. On the other hand, if the number exceeds the predetermined number, the remittance processing unit 2034e uses the remittance destination address prepared by the remittance instructing device 203e (a management address managed by the remittance instructing device 203e to reserve the remittance amount). As a result, if the number of transactions exceeds a predetermined number, the payment is temporarily reserved at a specific address. At this time, for example, the remittance processing unit 2034e sets true to the payment reserved flag (“reserve” key) of the corresponding transaction log 20371.

つまり少なくとも、送金処理部2034eは、前記生成したアカウントに、前記送金情報に含まれる前記送金先アドレスをさらに対応付けて前記送金履歴情報として前記送金履歴記憶部に登録し、前記送金指示の回数が前記課金条件を満たした場合に、前記送金先アドレスへの前記送金指示を行う代わりに、送金指示装置203eが管理する管理アドレスへ前記送金額を送金するための前記送金指示を行う。尚、送金処理部2034eは、送金履歴記憶部に登録された当該アカウントにおける送金履歴情報を数えることにより、送金指示の回数を算出してもよい。または、送金処理部2034eは、当該アカウントにおける送金履歴情報に対して所定の統計処理を行うことで、下記条件を満たすか否かを判定してもよい。   That is, at least, the remittance processing unit 2034e further associates the remittee address included in the remittance information with the generated account and registers the remittance address information in the remittance history storage unit as the remittance history information. When the charging condition is satisfied, the remittance instruction for remitting the remittance amount to the management address managed by the remittance instructing device 203e is performed instead of instructing the remittance address to the remittance destination address. Note that the remittance processing unit 2034e may calculate the number of remittance instructions by counting the remittance history information for the account registered in the remittance history storage unit. Alternatively, the remittance processing unit 2034e may determine whether the following condition is satisfied by performing predetermined statistical processing on the remittance history information in the account.

その後、顧客取引所204は送金指示に応じて台帳208に送金事実を書き込む(S511)。ここで、顧客201の鍵は、例えば図28のようなNoSQLのデータベースに予め保持されている。この例では、“user”のキーに顧客の識別子、“exchange”に顧客取引所の識別子、“api_keys”に顧客の鍵が保持されている。当然、他の形式のデータベースにも同様の情報を保持することができる。鍵の使用法は、顧客取引所が指定する方法に合わせるが、例えば、鍵のひとつで(送金通貨、送金額及び送金先アドレス)の組を電子署名して顧客取引所に送信するなどする。   Thereafter, the customer exchange 204 writes the remittance fact in the ledger 208 in response to the remittance instruction (S511). Here, the key of the customer 201 is stored in advance in a NoSQL database as shown in FIG. 28, for example. In this example, the key of “user” holds the identifier of the customer, “exchange” holds the identifier of the customer exchange, and “api_keys” holds the key of the customer. Of course, other types of databases can hold similar information. The key is used in accordance with the method specified by the customer exchange. For example, a set of (remittance currency, remittance amount and remittance address) is electronically signed with one of the keys and transmitted to the customer exchange.

顧客取引所204から応答として台帳上の識別子(Transaction ID;txid)を得るので、送金指示の後、送金指示装置203eの送金処理部2034eは台帳208を監視し、着金があったと見なして良くなるまで待つ。先の支払情報の必要承認回数に指定された回数だけ台帳の承認が繰り返されたら、送金指示装置203eの送金処理部2034eは店舗サーバ205eに着金を通知する(S512)。そのために、支払情報の通知先に着金通知先URLが含まれている場合、送金処理部2034eは、着金通知先URLにhttps POSTリクエストを発行する。ボディ部には後に説明する引き出し用URLを含める。ビットコイン(BTC)などのブロックチェーン台帳においては、台帳の承認が繰り返されれば後で取り消される確率が減少するが、完全に0になるわけではない。そのために、店舗サーバ205eは、送金額や店舗の財務状況あるいは予想送金時間などに合わせて必要承認回数を、その都度調整するべきである。尚、店舗サーバ205eの代わりに送金処理部2034eが必要承認回数を調整してもよい。   Since an identifier (Transaction ID; txid) on the ledger is obtained as a response from the customer exchange 204, after the remittance instruction, the remittance processing unit 2034e of the remittance instructing device 203e monitors the ledger 208 and may regard the receipt of money. Wait until it becomes. When the approval of the ledger is repeated the number of times specified in the required number of approvals of the payment information, the remittance processing unit 2034e of the remittance instructing device 203e notifies the store server 205e of the payment (S512). Therefore, when the payment notification destination includes the payment notification destination URL, the remittance processing unit 2034e issues an https POST request to the payment notification destination URL. The body portion includes a drawer URL described later. In the case of a blockchain ledger such as Bitcoin (BTC), the probability of later cancellation is reduced if the approval of the ledger is repeated, but it is not completely zero. For this purpose, the store server 205e should adjust the required number of approvals in each case according to the remittance amount, the financial condition of the store, or the estimated remittance time. Note that the remittance processing unit 2034e may adjust the required number of approvals instead of the store server 205e.

すなわち、本実施形態にかかる着金通知は、次のような処理が可能であり、これらは上述した実施形態1から4にも適用可能である。まず、承認条件は、前記送金指示ごとに更新される。また、店舗サーバ205eは送金情報に含まれる前記送金額に基づいて前記承認条件を更新してもよい。また、店舗サーバ205eは、取引記録の承認履歴に基づいて前記承認条件を更新することが望ましい。また、前記承認条件は、前記送金先において前記送金情報に含まれる前記送金額に基づいて更新されたものであってもよい。また、前記承認条件は、当該送金先の資産情報に基づいて更新されたものであってもよい。   That is, the payment notification according to the present embodiment can be processed as follows, and these can be applied to the above-described first to fourth embodiments. First, the approval condition is updated for each remittance instruction. The store server 205e may update the approval condition based on the remittance amount included in the remittance information. Further, it is desirable that the store server 205e updates the approval condition based on the approval history of the transaction record. Further, the approval condition may be updated at the remittance destination based on the remittance amount included in the remittance information. Further, the approval condition may be updated based on the asset information of the remittee.

また、送金処理部2034eは、POSTリクエストのフォームデータとして、引き出し用URL(第3の宛先情報)を送信する。   The remittance processing unit 2034e transmits a withdrawal URL (third destination information) as the form data of the POST request.

すなわち、送金処理部2034eは、前記指定された所定のデジタル通貨に対応する取引記録が所定の承認条件を満たした場合に、前記送金先に対して前記送金額を引き出すための第3の宛先情報を含めて着金通知を行なう。   That is, when the transaction record corresponding to the specified predetermined digital currency satisfies a predetermined approval condition, the remittance processing unit 2034e outputs third destination information for withdrawing the remittance amount to the remittance destination. Is notified.

また、支払情報の通知先に着金通知先URLの代わりにメールアドレスが指定されている場合には、送金処理部2034eは、着金通知文に加えて、引き出し用URLをメール本文に記載して、指定メールアドレスにメールを送信する。尚、引き出し用URLはホスト名毎に異なり、有効期限を設けることもできる。   If a mail address is specified instead of the payment notification destination URL as the payment information notification destination, the remittance processing unit 2034e writes the withdrawal URL in the mail text in addition to the payment notification message. And send an email to the designated email address. Note that the withdrawal URL differs for each host name, and may have an expiration date.

店舗の従業員が店舗サーバ205eその他の端末からこの引き出し用URLをウェブブラウザで開くと、図30のような表を含んだウェブページが表示される。表の各行には通貨毎に留保されている金額が表示されている。店舗の従業員は、引き出しを希望する通貨の行の送金先アドレスの列に店舗の送金先アドレス(第2の送金先アドレス)を入力し、引き出しの列にあるボタンを選択する。すると、当該端末は、選択されたボタンの行に入力された送金先アドレスを送金指示装置203eへ送信し(つまり、引出要求を送信し)、送金指示装置203eの送金処理部2034eは、取引ログ20371の中から、店舗のホスト名に対して、入力された送金先アドレスが過去に使用されたかどうかを確認する。送金先アドレスの使用が確認されたら、送金処理部2034eは、留保しているアドレスから入力された送金先アドレスに対して、留保されている金額から手数料を引いた通貨の金額(引出金額)を送金する。そして、送金処理部2034eは、図31のような情報を、手数料込みの引き出し金額を負の数として取引ログ20371に追記する。このようにすることで、取引ログのホスト名及び通貨毎に“reserve”キーに対応する値がtrueであるエントリーの“amount”値の総和を取ることによって、留保残高が計算できるようになる。   When the store employee opens the withdrawal URL from the store server 205e or another terminal with a web browser, a web page including a table as shown in FIG. 30 is displayed. Each row of the table shows the amount reserved for each currency. The store employee enters the remittance address of the store (second remittee address) in the remittance address column of the row of the currency in which the withdrawal is desired, and selects the button in the withdrawal column. Then, the terminal transmits the remittance address entered in the row of the selected button to the remittance instructing device 203e (that is, transmits a withdrawal request), and the remittance processing unit 2034e of the remittance instructing device 203e transmits the transaction log From among the 20371, it is confirmed whether or not the input remittance address has been used in the past for the host name of the store. When the use of the remittance address is confirmed, the remittance processing unit 2034e adds the amount of money (withdrawal amount) obtained by subtracting the commission from the reserved amount to the remittance address input from the reserved address. send money. Then, the remittance processing unit 2034e adds the information shown in FIG. 31 to the transaction log 20371 with the withdrawal amount including the commission as a negative number. In this way, the reserve balance can be calculated by taking the total sum of the “mount” values of the entries whose value corresponding to the “reserve” key is true for each host name and currency of the transaction log.

すなわち、送金処理部2034eは、少なくとも、前記送金先からの引出要求に応じて、前記送金額から送金指示手数料を減額した額を引出金額として算出し、前記管理アドレスから前記送金先アドレスへ前記引出金額を送金するための前記送金指示を行う。このとき、送金処理部2034eは、前記送金先からの引出要求として第2の送金先アドレスの入力を受け付けた場合、前記送金履歴記憶部に登録された当該送金先のアカウントに対応付けられた前記送金先アドレスと前記第2の送金先アドレスとを照合し、前記送金先アドレスの1つと前記第2の送金先アドレスとが一致する場合、前記送金額から送金指示手数料を減額した額を引出金額として算出し、前記管理アドレスから前記第2の送金先アドレスへ前記引出金額を送金するための前記送金指示を行うことが望ましい。さらに、送金処理部2034eは、前記送金先から前記第3の宛先情報に対するアクセスの中で、前記引出要求を受け付けるとよい。これにより、送金指示装置203eは、課金を確実に行うことができる。また、店舗側も引出金額を容易かつ確実に取得することができる。これら引き出しにおける送金指示は、別の取引所やウォレットにおける送金実行サービスを利用してもよく、あるいは、送金指示装置203eに実装された送金実行サービスを利用してもよい。   That is, the remittance processing unit 2034e calculates, at least in accordance with the withdrawal request from the remittance destination, the amount obtained by subtracting the remittance instruction fee from the remittance amount as the withdrawal amount, and performs the withdrawal from the management address to the remittance destination address. The remittance instruction for remittance is issued. At this time, if the remittance processing unit 2034e receives the input of the second remittee address as the withdrawal request from the remittee, the remittance history storage unit stores the remittance history associated with the account of the remittee. The remittance address is compared with the second remittance address, and if one of the remittance addresses matches the second remittance address, an amount obtained by subtracting a remittance instruction fee from the remittance amount is withdrawn. It is desirable to perform the remittance instruction for remitting the withdrawal amount from the management address to the second remittee address. Further, the remittance processing unit 2034e may receive the withdrawal request during the access to the third destination information from the remittance destination. As a result, the remittance instructing device 203e can reliably perform charging. Also, the store can easily and reliably acquire the withdrawal amount. The remittance instruction in these withdrawals may use a remittance execution service in another exchange or wallet, or may use a remittance execution service mounted on the remittance instructing device 203e.

以上、本実施形態では、URLによる支払い請求の例を示した。この承認URLはURLであるため、メールに記載するのみならず、ウェブページ上のリンクや印刷物のQRコード(登録商標)として活用するなどできる。支払情報を店舗のhttpsサーバが提供することにより、以下を含めた数多くのメリットが享受できる。
・支払情報等をURLパラメータに含めるのに比べ、短いURLにすることができ、メールや書類などに記載するのに都合が良い。
・短いURLであるにもかかわらず、その後取得される支払情報は暗号化されていることから、第三者が支払情報を偽造及び改竄することを防ぐことができ、顧客が意図しない宛先に送金してしまうことを防ぐことができる。利用形態としては例えば、所定回の送金手数料を無料にして、店舗サイトに本サービスのURLを表示してもらう。そして、当該店舗サイトのユーザ(顧客)がリンクをクリックすることで、本サービスのユーザ登録画面を自動的に表示できる。
・URL生成のために送金指示装置に取引を登録したり、店舗がアカウントを事前に作成したりする必要がなく、送金指示装置と店舗サーバの負担が軽い。例えば、ワンタイムのアカウントでも実現可能である。
・偽造及び改竄が難しく送金指示装置への負担も軽いので、承認URLを不特定多数の人に公開して送金を依頼することができる。例えば、寄付金の送金先や小規模事業者又は個人が店舗側として自己の決済に利用する際にも適している。
・店舗サーバの実装者は、ウェブページに承認URLを埋め込み、支払情報を記述したページを用意するだけでも、決済機能を実現できる。店舗サーバの実装は容易であり、ユーザはリンクをクリックするだけであるためユーザの利便性高い。よって、本サービスの普及を促進できる。
As described above, in the embodiment, the example of the payment request by the URL has been described. Since this approval URL is a URL, it can be used not only in an email but also as a link on a web page or a QR code (registered trademark) of a printed matter. By providing the payment information by the https server of the store, a number of advantages including the following can be enjoyed.
A shorter URL can be used as compared with the case where payment information and the like are included in the URL parameter, which is convenient for writing in a mail or a document.
Despite the short URL, since the payment information obtained thereafter is encrypted, it is possible to prevent a third party from falsifying and falsifying the payment information, and remittance to a destination not intended by the customer. Can be prevented. As a use form, for example, a predetermined remittance fee is made free, and the URL of the service is displayed on the store site. Then, when the user (customer) of the store site clicks the link, the user registration screen of the service can be automatically displayed.
-There is no need to register a transaction in the remittance instructing device for generating a URL or create an account in advance at the store, and the burden on the remittance instructing device and the store server is light. For example, it can be realized by a one-time account.
・ Since forgery and tampering are difficult and the burden on the remittance instructing device is light, the approval URL can be disclosed to an unspecified number of people to request remittance. For example, it is also suitable when a remittance destination of a donation, a small business or an individual uses it as a store for its own settlement.
-The store server implementer can implement the settlement function only by embedding the approval URL in the web page and preparing a page describing the payment information. The implementation of the store server is easy, and the user simply clicks the link, which is convenient for the user. Therefore, the spread of this service can be promoted.

また、SSL証明書内の情報を利用することにより、以下のメリットが享受できる。
・店舗の従業員がアカウントを作成する操作をしなくても、送金指示装置による課金が可能である。
・アカウントを作成するために、メールアドレスや名前やパスワードなどの個人情報を収集する必要がない。
・店舗のアカウントを手動で作成しなくても身元保証が可能なため、身元の確認のためのコストが不要である。
In addition, by using the information in the SSL certificate, the following advantages can be enjoyed.
-Charging with the remittance instructing device is possible without the store employee having to create an account.
-There is no need to collect personal information such as email addresses, names and passwords to create an account.
・ Identity can be guaranteed without having to manually create a store account, so there is no need for identification costs.

尚、本実施形態にかかる送金指示装置は、少なくとも送金先に関する公開鍵証明書に基づいて送金情報を受信するものであればよい。例えば、送金指示装置は、公開鍵証明書を用いた暗号化通信(例えば、https)により送金情報を受信する場合や、送金先において公開鍵証明書の鍵により電子署名された送金情報を受信する場合が含まれる。   The remittance instructing device according to the present embodiment may be any device that receives remittance information based on at least a public key certificate related to a remittance destination. For example, the remittance instructing device receives remittance information by encrypted communication (for example, https) using a public key certificate, or receives remittance information electronically signed by a key of a public key certificate at a remittance destination. Cases are included.

<実施形態6>
本実施形態6では、上述した各実施形態を送金実行サービスに適用する一例を示す。
<Embodiment 6>
In the sixth embodiment, an example in which each of the above-described embodiments is applied to a remittance execution service will be described.

本実施形態6にかかる送金実行装置におけるハードウェアの構成は図1と同等であるものとする。よって、FPGAなど他の集積回路でも同様の構成で同じ機能が実現できる。但し、プログラム1021には、本実施形態6にかかる送金実行装置の処理が実装されているものとする。   It is assumed that the hardware configuration of the remittance execution device according to the sixth embodiment is the same as that of FIG. Therefore, the same function can be realized with a similar configuration in another integrated circuit such as an FPGA. However, it is assumed that the processing of the remittance execution device according to the sixth embodiment is implemented in the program 1021.

図32は、本実施形態6にかかる仮想通貨の送金に関する情報システムの構成、及び、送金許可シーケンスのブロック図を示す。他の実施形態と比較して、送金指示装置の機能と送金実行サービスの機能が、送金実行装置204bによって両方とも行われるところが、大きく異なる。尚、送金実行装置204bには、上述した鍵定義テーブル2031や鍵登録処理部2033が不要である。店舗サーバ205fは、電子商取引のWEBサイトを提供するコンピュータ装置である。店舗サーバ205fは、記憶装置に送金実行装置204bのURL2054及びSSL証明書2053を保存している。   FIG. 32 is a block diagram of a configuration of an information system regarding remittance of virtual currency according to the sixth embodiment and a remittance permission sequence. As compared with the other embodiments, the remittance instructing device and the remittance execution service are both performed by the remittance execution device 204b. Note that the remittance execution device 204b does not require the key definition table 2031 and the key registration processing unit 2033 described above. The store server 205f is a computer device that provides an electronic commerce web site. The store server 205f stores the URL 2054 of the remittance execution device 204b and the SSL certificate 2053 in the storage device.

まず、顧客201が顧客コンピュータ202を利用して、店舗サーバ205fでの発注シーケンスに入る。顧客201は、発注シーケンスの最後に購買を確定する操作を行う。これにより、アクセス処理部2021は、送金を開始するトリガーを店舗サーバ205fへ送信する(S601)。あるいは、実店舗の場合、店員が代わりに顧客コンピュータ202とは別のコンピュータでこれを行うこともできる。すると、店舗サーバ205fは、以下の情報をそれぞれURLパラメータとして、送金実行装置204bのURL2054(第2の宛先情報)と組み合わせて新たなURLを作成する。本実施形態では、これを承認URLと呼ぶことにする。
・支払情報を記載したウェブページのURL(支払情報URL)(第1の宛先情報)
・今回の支払いを特定する識別子(取引ID)
ここで、支払情報URLは店舗サーバ205fの1エンドポイントを指し示すこともあるが、他のサーバでも良い。本実施形態6では、店舗サーバ205fの1エンドポイントを指し示すものとして説明を続ける。
First, the customer 201 uses the customer computer 202 to enter an order sequence in the store server 205f. The customer 201 performs an operation to confirm the purchase at the end of the ordering sequence. Accordingly, the access processing unit 2021 transmits a trigger for starting remittance to the store server 205f (S601). Alternatively, in the case of a physical store, a clerk could instead do this on a computer separate from customer computer 202. Then, the store server 205f creates a new URL by combining the following information as URL parameters with the URL 2054 (second destination information) of the remittance execution device 204b. In the present embodiment, this is called an approval URL.
・ URL of web page describing payment information (payment information URL) (first destination information)
・ Identifier (transaction ID) identifying this payment
Here, the payment information URL may indicate one end point of the store server 205f, but may be another server. In the sixth embodiment, the description will be continued assuming that it indicates one end point of the store server 205f.

そして、店舗サーバ205fは、この承認URLを、顧客コンピュータ202に送信する(S602)。また、顧客コンピュータ202にカメラがある場合にはQRコードによって承認URLを読み込ませることもできる。さらに、赤外線通信、近距離無線通信など他の通信法でも同様である。すると、顧客コンピュータ202のアクセス処理部2021は、取得した承認URLに対してGETリクエストを発行する(S603)。この時点で、顧客201が送金実行装置204bにログインしていなければ、上述したステップS204と同様のログインプロセスが行われる(S604、S605)。   Then, the store server 205f transmits the approval URL to the customer computer 202 (S602). If the customer computer 202 has a camera, the approval URL can be read by a QR code. The same applies to other communication methods such as infrared communication and short-range wireless communication. Then, the access processing unit 2021 of the customer computer 202 issues a GET request to the obtained approval URL (S603). At this time, if the customer 201 has not logged in to the remittance execution device 204b, the same log-in process as in step S204 described above is performed (S604, S605).

ログインの後、送金実行装置204bの送金処理部2044は、承認URLのURLパラメータから取得した支払情報URLに対してSSL証明書を要求し、店舗サーバ205fからSSL証明書2053を取得する(S606)。送金処理部2044は、取得したSSL証明書の内容を検証する。そして、送金処理部2044は、支払情報URLに対してGETリクエストを発行する。GETリクエストを受けた店舗サーバ205fは、送金通貨、送金額、送金先アドレス、必要承認回数及び通知先を含む支払情報をhttpsによって返信する(S607)。   After login, the remittance processing unit 2044 of the remittance execution device 204b requests an SSL certificate for the payment information URL obtained from the URL parameter of the approval URL, and obtains the SSL certificate 2053 from the store server 205f (S606). . The remittance processing unit 2044 verifies the content of the obtained SSL certificate. Then, the remittance processing unit 2044 issues a GET request to the payment information URL. The store server 205f that has received the GET request returns payment information including the remittance currency, the remittance amount, the remittee address, the required number of approvals, and the notification destination by using https (S607).

支払情報をHTMLで記述することを許すことにより、店舗サーバ205fは商品(サービス)を説明するウェブページを上記URLパラメータとして提供するだけで良い。図33は店舗サーバの商品ページ3300の例である。「価格:」と表示される領域(価格表示欄3310)に商品の金額情報(税抜価格欄3311及び税込価格欄3312)が掲載されている。この部分をHTML形式で抜き取ると、例えば図34のようになる。この例では、送金通貨、送金金額は、次のような手順で抽出できる。
1.送金処理部2044は、文字列「価格:」を含むtdエレメントをページ内から検索する。
2.送金処理部2044は、上記tdエレメントが含まれるtrエレメントに属するエレメントの中から文字列「税込」を含むエレメントを検索する。
3.送金処理部2044は、上記「税込」を含むエレメント(税込価格欄3312)の文字列の中で数値を表す文字列を送金金額とする。(この例では0.00324。)
4.送金処理部2044は、上記「税込」を含むエレメントの文字列の中で、送金可能な通貨を表す文字列があれば、それを送金通貨とする。(この例ではBTC。)
By allowing the payment information to be described in HTML, the store server 205f only needs to provide a web page describing the product (service) as the URL parameter. FIG. 33 is an example of a product page 3300 of the store server. In the area (price display section 3310) where "price:" is displayed, information on the price of the product (price before tax section 3311 and price including tax section 3312) is posted. When this part is extracted in the HTML format, for example, it becomes as shown in FIG. In this example, the remittance currency and the remittance amount can be extracted by the following procedure.
1. The remittance processing unit 2044 searches the page for a td element including the character string “price:”.
2. The remittance processing unit 2044 searches for an element including the character string “tax included” from the elements belonging to the tr element including the td element.
3. The remittance processing unit 2044 sets, as the remittance amount, a character string representing a numerical value among the character strings of the element (the tax-included price column 3312) including the “tax included”. (0.00324 in this example.)
4. The remittance processing unit 2044 sets, as a remittance currency, a character string representing a remittable currency in the character string of the element including “tax included”. (In this example, BTC.)

また、この商品ページ3300にはidが"payment-attributes"であるエレメントがあり、その文字列は、送金先アドレスと通知先と必要承認回数を、送金実行装置204bの公開鍵で暗号化したものとなっている。送金先アドレスを暗号化することにより、顧客201が決められた手順を踏まずに送金先アドレスに送金することを防ぐことができる。また、通知先を暗号化することにより、不要なスパムメールなどを避けることができる。   The product page 3300 has an element whose id is "payment-attributes", and its character string is obtained by encrypting the remittance destination address, the notification destination, and the required number of approvals with the public key of the remittance execution device 204b. It has become. By encrypting the remittance address, it is possible to prevent the customer 201 from remittance to the remittance address without following a predetermined procedure. In addition, by encrypting the notification destination, unnecessary spam mails and the like can be avoided.

支払情報を抽出した送金処理部2044は、その内容を図25のようなウェブページ(送金許可ページ2500)に追加して、顧客コンピュータ202に送信する(S608)。店舗名2501はSSL証明書のOrganization(O)フィールドから取得したものである。その下のホスト名は、SSL証明書に含まれているドメイン名である。   The remittance processing unit 2044 that has extracted the payment information adds the content to a web page (remittance permission page 2500) as shown in FIG. 25 and transmits the web page to the customer computer 202 (S608). The store name 2501 is obtained from the Organization (O) field of the SSL certificate. The host name below it is the domain name contained in the SSL certificate.

顧客201が支払情報を確認したら、承認ボタン2505を選択し、顧客コンピュータ202のアクセス処理部2021は、送金許可ページ2500上に表示又は選択された通貨、送金額及び取引所による送金が許可された旨を送金許可として送金実行装置204bへ通知する(S609)。すると、送金実行装置204bの送金処理部2044は、店舗サーバ205fに支払いが承認されたことを通知する(S610)。具体的には、先の支払情報の通知先にメールアドレスが含まれているので、送金処理部2044は、このメールアドレスに対して支払いが承認された旨のメールを送る。メール本文には、先にURLパラメータとして取得した取引IDを含めることで、メールの受け手はどの取引が承認されたのか認識できる。このメールは、送金実行装置204bの秘密鍵で電子署名または暗号化することにより、改竄を防止する。   When the customer 201 confirms the payment information, the customer 201 selects the approval button 2505, and the access processing unit 2021 of the customer computer 202 receives the currency, the remittance, and the remittance by the exchange displayed or selected on the remittance permission page 2500. This is notified to the remittance execution device 204b as remittance permission (S609). Then, the remittance processing unit 2044 of the remittance execution device 204b notifies the store server 205f that the payment has been approved (S610). Specifically, since the e-mail address is included in the notification destination of the payment information, the remittance processing unit 2044 sends an e-mail indicating that the payment has been approved to this e-mail address. By including the transaction ID previously acquired as the URL parameter in the email text, the recipient of the email can recognize which transaction has been approved. The mail is electronically signed or encrypted with the secret key of the remittance execution device 204b to prevent tampering.

そして、送金処理部2044は、送金通貨、送金額及び送金先アドレスを含めた送信指示を送金実行部2041aに発行する(S611)。すると、送金実行部2041aは送金指示に応じて台帳208に送金事実を書き込む(S612)。この時、BTCのように送金先アドレスを複数指定することができる通貨においては、送金実行部2041aは、送金実行手数料を徴収する。具体的には、送金実行部2041aは、店舗サーバ205fが指定した送金先アドレスに指定された金額から手数料を引いた分を送金し、送金実行装置204bが保持する別の送金先アドレスにも送金実行手数料分を送金する。台帳208に書き込む際に台帳上の識別子(Transaction ID; txid)を得るので、送金指示の後、送金処理部2044は台帳208を監視し、着金があったと見なして良くなるまで待つ。先の必要承認回数に指定された回数だけ台帳の承認が繰り返されたら、送金処理部2044は先の通知先に指定されたメールアドレスに着金したことを知らせるメールを送信する(S613)。メール本文には取引IDを含める。先の通知と同様、メールの暗号化や電子署名が可能である。   Then, the remittance processing unit 2044 issues a transmission instruction including the remittance currency, the remittance amount, and the remittance destination address to the remittance execution unit 2041a (S611). Then, the remittance execution unit 2041a writes the remittance fact to the ledger 208 according to the remittance instruction (S612). At this time, in a currency such as BTC in which a plurality of remittance destination addresses can be designated, the remittance execution unit 2041a collects a remittance execution fee. Specifically, the remittance execution unit 2041a remits the amount obtained by subtracting the commission from the amount specified in the remittance address specified by the store server 205f, and also transfers the remittance to another remittance address held by the remittance execution device 204b. Remit the execution fee. When writing in the ledger 208, an identifier (Transaction ID; txid) on the ledger is obtained. Therefore, after the remittance instruction, the remittance processing unit 2044 monitors the ledger 208 and waits until it is determined that payment has been received. When the approval of the ledger is repeated the number of times specified as the required number of approvals, the remittance processing unit 2044 transmits an e-mail notifying that the money has been received to the e-mail address specified as the notification destination (S613). The email body contains the transaction ID. As with the previous notification, the mail can be encrypted and a digital signature can be made.

以上、本実施形態6では、送金実行と送金処理の両方をひとつの装置で行う例を示した。送金実行と送金処理が別々の装置で実装されていなくても、上述した実施形態1から5の利点を享受できることを示した。   As described above, in the sixth embodiment, the example in which both the remittance execution and the remittance processing are performed by one apparatus has been described. This shows that the advantages of Embodiments 1 to 5 described above can be enjoyed even if the remittance execution and the remittance processing are not implemented by separate devices.

<その他の実施の形態>
尚、上述した送金先アドレスや暗号化された文字列などは、例示に過ぎない。
また、上述した取引記録の承認は、プルーフオブワーク(PoW)に限定されず、プルーフオブステーク(PoS)、プルーフオブインポータンス(PoI)、プルーフオブヒューマンワーク(PoH)その他の方式を用いても構わない。
<Other embodiments>
The remittance destination address and the encrypted character string described above are merely examples.
Further, the above-described approval of the transaction record is not limited to the proof of work (PoW), but may be a proof of stake (PoS), a proof of importance (PoI), a proof of human work (PoH), or another method. Absent.

また、上述した各実施形態の送金指示装置又は送金実行装置は、以下のような構成を備えることができる。
すなわち、前記所定のデジタル通貨と他の通貨との換算レートに基づき前記送金額を当該他の通貨に換算した換算金額を算出する換算部をさらに備えることができる。
そして、前記ユーザの端末に表示させる表示用ページに、前記換算金額を追加する表示情報生成部をさらに備えることができる。
そして、前記表示情報生成部は、前記複数のデジタル通貨のそれぞれに対応する取引記録の承認履歴に基づき、前記複数の送金実行サービスのうち少なくとも一部を選択し、当該選択された送金実行サービスのリストを前記ユーザへの選択肢として前記表示用ページにさらに追加するとよい。
また、前記送金指示部は、前記ユーザにより前記他の通貨が選択された場合、前記所定の送金実行サービスに対して、前記送金額を前記所定のデジタル通貨から前記選択された他の通貨へ交換させ、当該交換後の金額について前記送金指示を行うようにしてもよい。
また、前記特定部は、前記ユーザにより他の送金実行サービスが選択された場合、前記鍵情報記憶部の中から当該他の送金実行サービス及び前記ユーザに対応付けられた鍵を新たに特定し、前記送金指示部は、前記所定の送金実行サービスに代えて、前記新たに特定された鍵を用いて前記他の送金実行サービスに対して、前記換算金額の送金指示を行うとよい。
前記換算部は、前記所定の送金実行サービスによる送金手数料を加味して、前記換算金額を算出するとよい。
または、前記送金指示部は、前記送金額と比べて前記換算金額の方が前記ユーザの基軸通貨における費用総額が低い場合に、前記送金額を前記所定のデジタル通貨から前記他の通貨へ交換させ、当該交換後の金額について前記送金先アドレスへ前記送金指示を行うようにしてもよい。
また、前記換算部は、前記デジタル通貨の取引所から取得した前記換算レートを用いて、前記換算金額を算出するとよい。
また、前記換算部は、前記デジタル通貨の取引所から取得した板情報から前記換算レートを算出するとよい。
さらに、前記換算部は、前記板情報に含まれる通貨売買における取引量を加味して前記換算レートを算出するとよい。
また、前記他の通貨は、前記ユーザの基軸通貨であるとよい。
または、前記送金指示部は、前記送金額を前記所定のデジタル通貨から他の通貨に交換した場合の期待される処理時間が指定された時間以内の場合に、前記所定の送金実行サービスに対して、前記送金額を前記所定のデジタル通貨から前記他の通貨へ交換させ、当該交換後の金額について前記送金指示を行うようにしてもよい。
Further, the remittance instructing device or the remittance execution device of each embodiment described above can have the following configuration.
That is, it can further include a conversion unit that calculates a conversion amount obtained by converting the remittance amount into the other currency based on the conversion rate between the predetermined digital currency and another currency.
The display page to be displayed on the terminal of the user may further include a display information generating unit for adding the converted amount.
Then, the display information generation unit selects at least a part of the plurality of remittance execution services based on an approval history of a transaction record corresponding to each of the plurality of digital currencies, and selects the selected remittance execution service. A list may be further added to the display page as an option for the user.
Further, the remittance instructing unit exchanges the remittance amount from the predetermined digital currency to the selected other currency for the predetermined remittance execution service when the user selects the other currency. Then, the remittance instruction may be issued for the exchanged amount.
Further, when another remittance execution service is selected by the user, the specifying unit newly specifies a key associated with the other remittance execution service and the user from the key information storage unit, The remittance instructing unit may issue a remittance instruction of the converted amount to the other remittance execution service using the newly specified key instead of the predetermined remittance execution service.
The conversion unit may calculate the conversion amount in consideration of a remittance fee for the predetermined remittance execution service.
Alternatively, the remittance instructing unit causes the remittance amount to be exchanged from the predetermined digital currency to the other currency when the converted amount has a lower total cost in the user's base currency than the remittance amount. Alternatively, the remittance instruction may be issued to the remittance destination address for the exchanged amount.
Further, the conversion unit may calculate the conversion amount using the conversion rate obtained from the exchange of the digital currency.
Further, the conversion unit may calculate the conversion rate from board information obtained from the digital currency exchange.
Further, the conversion unit may calculate the conversion rate in consideration of a transaction volume in currency trading included in the board information.
Further, the other currency may be a key currency of the user.
Alternatively, the remittance instructing unit, when the expected processing time when exchanging the remittance amount from the predetermined digital currency to another currency is within a specified time, the predetermined remittance execution service Alternatively, the remittance amount may be exchanged from the predetermined digital currency to the other currency, and the remittance instruction may be issued for the exchanged amount.

尚、上述した実施形態1、2,4及び5にかかる送金指示装置は、顧客コンピュータ202で実行されるOS上で動作するアプリケーションとし、鍵定義テーブル2031等の各種テーブルを顧客コンピュータ202内の記憶装置に備えていても良い。その場合、顧客コンピュータ202と送金指示装置203等の間の通信は一部不要となる。   The remittance instructing apparatuses according to the first, second, fourth, and fifth embodiments are applications running on the OS executed on the customer computer 202, and store various tables such as the key definition table 2031 in the customer computer 202. It may be provided in the device. In this case, communication between the customer computer 202 and the remittance instructing device 203 is partially unnecessary.

尚、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。   In the above-described embodiment, the description has been given as a hardware configuration, but the present invention is not limited to this. The present disclosure can also realize any processing by causing a CPU (Central Processing Unit) to execute a computer program.

上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   In the above example, the program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media are magnetic recording media (eg, flexible disk, magnetic tape, hard disk drive), magneto-optical recording media (eg, magneto-optical disk), CD-ROM (Read Only Memory), CD-R, CD-R / W, DVD (Digital Versatile Disc), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). Also, the program may be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer via a wired communication line such as an electric wire and an optical fiber, or a wireless communication line.

なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。   The present disclosure is not limited to the above embodiment, and can be appropriately modified without departing from the gist. In addition, the present disclosure may be implemented by appropriately combining the embodiments.

100 送金指示装置
101 CPU
102 プログラムメモリ
1021 プログラム
103 RAM
104 ハードディスク
105 通信部
106 バス
201 顧客
202 顧客コンピュータ
202a 顧客スマートフォン
2021 アクセス処理部
2021a アクセス処理部
2022 アプリ
2023 メールクライアント
203 送金指示装置
203a 送金指示装置
203b 送金指示サーバ
203d 送金指示装置
203e 送金指示装置
2031 鍵定義テーブル
2031a 鍵定義テーブル
20311 取引所
20312 言語
20313 鍵種別
20314 鍵名称
20315 鍵個数
2032 鍵情報テーブル
2032a 鍵情報テーブル
20321 顧客
20322 取引所
20323 鍵情報
20323a 鍵情報
203231 鍵種別
203232 鍵
2033 鍵登録処理部
2033a 鍵登録処理部
2033b 鍵登録処理部
2034 送金処理部
2034a 送金処理部
2034b 送金処理部
2034d 送金処理部
2034e 送金処理部
2035 店舗情報テーブル
2035a 店舗情報テーブル
20351 店舗公開鍵
20352 最長送金時間
20361 アドレス生成鍵
2037 送金時間履歴テーブル
2037a 送金履歴テーブル
20371 取引ログ
20372 アカウント
2038 送金先アドレス生成制御テーブル
2039 送金先アドレス管理テーブル
204 顧客取引所
204a 取引所
204b 送金実行装置
2041 送金実行サービス
2041a 送金実行部
2042 鍵情報テーブル
20421 顧客
20422 鍵情報
204221 鍵種別
204222 鍵
2043 WEBシステム
2044 送金処理部
205 店舗サーバ
205a 店舗サーバ
205b 店舗販売サーバ
205c 店舗処理サーバ
205d 店舗サーバ
205e 店舗サーバ
205f 店舗サーバ
2051 承認URL
2052 公開鍵
2053 SSL証明書
2054 送金実行装置URL
206 顧客ウォレット
2061 送金実行サービス
207 店舗取引所
207a 店舗ウォレット
208 台帳
209 メールサーバ
2091 支払請求メール
300 鍵情報ページ
311 鍵名称
312 鍵
321 鍵名称
322 鍵
400 鍵登録ページ
400a 鍵登録ページ
401 取引所名称
411 鍵名称
411a 鍵名称
412 鍵入力欄
421 鍵名称
421a 鍵名称
422 鍵入力欄
1000 送金許可ページ
1000a 送金許可ページ
1001 店舗名
1002 送金額
1002a 送金額
1002b 基軸通貨換算額
1002c 基軸通貨選択欄
1003 取引所選択欄
1004 中止ボタン
1005 承認ボタン
1006 ユーザ情報入力欄
2000 送金許可画面
2001 店舗名
2002a 送金額
2002b 基軸通貨換算額
2003 取引所選択欄
2004 中止ボタン
2005 承認ボタン
2007 通貨選択欄
2500 送金許可ページ
2501 店舗名
2502a 送金額
2502b 基軸通貨換算額
2503 取引所選択欄
2504 中止ボタン
2505 承認ボタン
2507 通貨選択欄
2508 アイコン
3300 商品ページ
3310 価格表示欄
3311 税抜価格欄
3312 税込価格欄
100 Remittance instructing device 101 CPU
102 program memory 1021 program 103 RAM
104 hard disk 105 communication unit 106 bus 201 customer 202 customer computer 202a customer smartphone 2021 access processing unit 2021a access processing unit 2022 application 2023 mail client 203 remittance instructing device 203a remittance instructing device 203b remittance instructing server 203d remittance instructing device 203e remittance instructing device 2031 key Definition table 2031a Key definition table 20311 Exchange 20312 Language 20313 Key type 20314 Key name 20315 Key number 2032 Key information table 2032a Key information table 20321 Customer 20322 Exchange 20323 Key information 20323a Key information 20321 Key type 203232 Key registration part 2033a Key registration part 2033 33 Key registration processing unit 2033b Key registration processing unit 203 Remittance processor 2034a Remittance processor 2034b Remittance processor 2034d Remittance processor 2034e Remittance processor 2035 Store information table 2035a Store information table 20351 Store public key 20352 Longest remittance time 20361 Address generation key 2037 Remittance time history table 2037a Remittance history table 203 Log 20372 Account 2038 Remittance destination address generation control table 2039 Remittance destination address management table 204 Customer exchange 204a Exchange 204b Remittance execution device 2041 Remittance execution service 2041a Remittance execution unit 2042 Key information table 20421 Customer 20422 Key information 204221 Key type 204222 Key 2043 WEB system 2044 Remittance processing unit 205 Store server 205a Store server 2 5b store sales server 205c store processing server 205d store server 205e shop server 205f shop server 2051 approved URL
2052 Public key 2053 SSL certificate 2054 Remittance execution device URL
206 Customer wallet 2061 Remittance execution service 207 Store exchange 207a Store wallet 208 Ledger 209 Mail server 2091 Payment request mail 300 Key information page 311 Key name 312 Key 321 Key name 322 Key 400 Key registration page 400a Key registration page 401 Exchange name 411 Key name 411a Key name 412 Key input field 421 Key name 421a Key name 422 Key input field 1000 Remittance permission page 1000a Remittance permission page 1001 Store name 1002 Remittance amount 1002a Remittance amount 1002b Base currency conversion amount 1002c Base currency selection field 1003 Exchange Field 1004 Cancel button 1005 Approve button 1006 User information input field 2000 Remittance permission screen 2001 Store name 2002a Remittance amount 2002b Base currency conversion amount 2 03 Exchange selection field 2004 Stop button 2005 Approve button 2007 Currency selection field 2500 Remittance permission page 2501 Store name 2502a Remittance amount 2502b Base currency conversion amount 2503 Exchange selection field 2504 Stop button 2505 Approve button 2507 Currency selection field 2508 Icon 3300 Product page 3310 Price display field 3311 Tax-excluded price field 3312 Tax-included price field

Claims (1)

登録済みの複数のユーザに対して所定のデジタル通貨を送金するサービスを提供する1以上の送金実行部と、
前記所定のデジタル通貨における送金額と送金先とが指定された送金情報に基づいて、前記送金実行部に対して、前記指定された所定のデジタル通貨における前記送金額について前記指定された送金先に対応する送金先アドレスへの送金指示を行う送金指示部と、
を備える送金装置。
One or more remittance execution units that provide a service for remitting a predetermined digital currency to a plurality of registered users;
Based on the remittance information in which the remittance amount and the remittee in the predetermined digital currency are specified, the remittance execution unit is notified to the remittance destination in the specified remittance amount in the specified predetermined digital currency. A remittance instructing unit for instructing remittance to the corresponding remittance address,
A remittance device comprising:
JP2018221885A 2018-11-28 2018-11-28 Remittance device Pending JP2020030787A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018221885A JP2020030787A (en) 2018-11-28 2018-11-28 Remittance device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018221885A JP2020030787A (en) 2018-11-28 2018-11-28 Remittance device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018156010A Division JP6445211B1 (en) 2018-08-23 2018-08-23 Remittance instruction device, remittance instruction method, remittance instruction program, and remittance instruction system

Publications (1)

Publication Number Publication Date
JP2020030787A true JP2020030787A (en) 2020-02-27

Family

ID=69622647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018221885A Pending JP2020030787A (en) 2018-11-28 2018-11-28 Remittance device

Country Status (1)

Country Link
JP (1) JP2020030787A (en)

Similar Documents

Publication Publication Date Title
JP6445211B1 (en) Remittance instruction device, remittance instruction method, remittance instruction program, and remittance instruction system
US20220129866A1 (en) Method and system for a secure registration
US11979390B2 (en) Email-based authentication for account login, account creation and security for passwordless transactions
US11308485B2 (en) Processing a transaction using electronic tokens
US20220383310A1 (en) Myriad of payment methods with alternate payment controls
US8682802B1 (en) Mobile payments using payment tokens
US10713630B2 (en) Apparatus and method for purchasing a product using an electronic device
US20230394451A1 (en) System and method for two-click validation
US20220101303A1 (en) System and method for improving the security of an e-commerce transactions using simple mail transfer protocol (smtp)
GB2524030A (en) Virtual card number transaction record
JP2014516440A (en) Service server, user terminal device, service providing method and control method thereof
KR20140142344A (en) Third party token system for anonymous shipping
JP2018049538A (en) Commodity delivery support system, commodity delivery support device, and commodity delivery support method
JP6943282B2 (en) Cryptocurrency payment agency, virtual currency payment agency method and program
JP2019109831A (en) Credibility evaluation system, computer terminal, and transaction method
JP2012018614A (en) System and method for providing account inquiry service
CN114207652A (en) Non-local account handling
WO2020039645A1 (en) Money transfer instruction device, money transfer instruction method, money transfer instruction program, and money transfer instruction system
KR20110129735A (en) The internet loan system where the quick loan is possible
JP2020030787A (en) Remittance device
JP7161191B2 (en) Remittance instruction device, remittance instruction method, remittance instruction program, and remittance instruction system
JPWO2018179152A1 (en) Virtual currency payment agent, virtual currency payment agent method and program
KR20110095762A (en) System and method for providing on-line personal credit loan
KR20150127565A (en) Method for Extending Redemption based on Electronic Documents by using Call Center
JP7432895B2 (en) Crypto asset purchase/exchange system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181218