JP2020030631A - Device, method, program, and system for instructing remittance - Google Patents
Device, method, program, and system for instructing remittance Download PDFInfo
- Publication number
- JP2020030631A JP2020030631A JP2018156010A JP2018156010A JP2020030631A JP 2020030631 A JP2020030631 A JP 2020030631A JP 2018156010 A JP2018156010 A JP 2018156010A JP 2018156010 A JP2018156010 A JP 2018156010A JP 2020030631 A JP2020030631 A JP 2020030631A
- Authority
- JP
- Japan
- Prior art keywords
- remittance
- key
- customer
- currency
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 89
- 238000012545 processing Methods 0.000 claims description 245
- 238000006243 chemical reaction Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 22
- 230000004044 response Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000013519 translation Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
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.
ところが、店舗がより多くの顧客と商取引(特に仮想通貨による支払、決済)を行おうとする場合、複数の決済業者(仮想通貨交換業者)と提携しなければならない。しかし、小規模な店舗や個人が複数の仮想通貨交換業者と提携するのは手続やコスト面から実現性が低い。また、店舗が仮想通貨交換業者との提携を行わない場合には、店舗は各顧客に都度、送金先アドレスを伝え、個々の顧客が利用する交換業者を活用して手動による送金を依頼することになる。よって、顧客の利便性が損なわれる。そこで、複数の交換業者からの支払いを包括的に扱い、顧客の利便性を図るサービスの登場が望まれる。 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.
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。尚、本実施形態で取り扱う送金対象の通貨は、通貨を電子的に表現したデジタル通貨である。デジタル通貨は、例えば、仮想通貨、電子マネー等が挙げられるが、法定通貨との換金が保証されるか否かは問わない。また、デジタル通貨は、硬貨や紙幣が存在しない法定通貨であってもよい。また、以下の説明における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
また、本実施形態において、データベース機能が使用されるが、データベースに保管するデータは、ハードディスク104上やRAM103上などに記憶される。あるいは、他の装置上に記憶され、通信部105を利用して、読み書きすることも可能である。
In the present embodiment, a database function is used. Data to be stored in the database is stored on the
図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
顧客コンピュータ202は、顧客201が操作するコンピュータ端末であり、例えば、ブラウザ等(アクセス処理部2021)が動作するパーソナルコンピュータ、スマートフォン、タブレット等である。尚、顧客201は「送金元」、及び、所定の送金実行サービスを利用するユーザの一例である。
The
送金指示装置203は、顧客及び取引所ごとの鍵情報を管理し、複数の取引所に対して送金指示を行うことが可能な情報処理装置である。尚、送金指示装置203は、複数台の情報処理装置により分散して、又は、冗長化して実現してもよい。送金指示装置203は、鍵定義テーブル2031と、鍵情報テーブル2032と、鍵登録処理部2033と、送金処理部2034とを備える。鍵定義テーブル2031は、複数の送金実行サービスのそれぞれごとに、前記鍵に関する定義を記憶するテーブルである。ここでは、鍵定義テーブル2031は、取引所及び言語ごとに、当該取引所で提供される送金実行サービスのAPIを利用する際に必要となる鍵について、当該取引所の情報システム上で用いられる鍵の名称の文字列を鍵の種別ごとに管理するテーブルである。鍵定義テーブル2031は、取引所20311、言語20312、鍵種別20313及び鍵名称20314が対応付けられている。尚、鍵名称は、取引所ごとに少なくとも1以上であればよい。当然のことながら、鍵種別20313は、鍵種別204221と同じ内容である必要はなく、配列内の位置で鍵種別を表してもよい。また、鍵定義テーブル2031は、言語ごとに別テーブルとしてもよい。
The
鍵情報テーブル2032は、顧客20321及び取引所20322ごとに、鍵情報20323を管理するテーブルである。鍵情報20323には、鍵種別203231と鍵203232との組が複数含まれる。
The key information table 2032 is a table for managing
鍵登録処理部2033は、顧客からの鍵の登録要求に応じて鍵定義テーブル2031を参照して鍵登録ページを生成して返信し、鍵登録ページを介して入力された鍵を鍵情報テーブル2032に登録する。送金処理部2034は、顧客からの送金要求に応じて、指定された仮想通貨及び金額について指定された取引所に対して、鍵情報テーブル2032に登録された鍵を用いて送金先への送金指示を行う。
The key
続いて、図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
次に、顧客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
顧客コンピュータ202に表示される鍵登録ページ400は、例えば図4のように、取引所名称401について、鍵名称411「APIキー」と鍵名称421「秘密鍵」を入力するテキストボックス(鍵入力欄412及び422)を含む。顧客201は、顧客コンピュータ202に表示される鍵登録ページ400における、「APIキー」と「秘密鍵」のそれぞれに対応する鍵入力欄412及び422に、図3からコピーした情報を入力する。
The
ここで、「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
これを実現する一つの方法が、オブジェクト指向による継承と、国際化(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
ここで、上述した翻訳テーブル(鍵定義テーブル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
図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
ここで、鍵情報テーブル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
店舗サーバ205は、電子商取引のWEBサイトを提供するコンピュータ装置である。尚、店舗サーバ205は、これを運用する店舗の業者と対応し、「送金先」の一例といえる。店舗サーバ205は、記憶装置に承認URL2051を保存している。承認URL2051は、送金許可のために顧客コンピュータ202がアクセスするべき送金指示装置203のURLである。尚、店舗サーバ205のその他の構成は、公知技術を用いて実現可能であるため、詳細な説明を省略する。店舗取引所207は、店舗サーバ205を運用する店舗の業者がユーザとして登録されている仮想通貨の取引所である。よって、店舗取引所207の構成は、顧客取引所204と同等であるため、詳細な説明を省略する。台帳208は、任意の仮想通貨の取引記録、例えば、ブロックチェーンを便宜上、機能ブロックとして記載したものである。
The
上記を踏まえ、図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
図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
送金額1002は、発注に伴い、顧客側から店舗側へ送金される金額を表示する欄である。そのため、送金指示装置203は、受信した支払情報に含まれる通貨における金額を送金額1002に挿入する。ここで、顧客201の設定として基軸となる通貨(基軸通貨)が送金指示装置203内のデータベースに保存されている場合、送金額をその基軸通貨の価値に換算した換算額をウェブページに追加することが可能である。これにより、顧客201は、自身の基軸通貨に換算した額により送金額の現在の価値を容易に把握することができる。そのためには、送金指示装置203は、予め顧客取引所204から板情報を入手しておくこととなる。「板情報」とは、その取引所での2通貨間の買値と売値の一覧である。板情報が送金通貨の売り買いを基軸通貨で表した一覧である場合、送金額の換算額は、(送金額 × 最大買値 − 交換手数料)である。逆に、板情報が基軸通貨の売り買いを送金通貨で表した一覧である場合、送金額の換算額は、(送金額 / 最小売値 − 交換手数料)である。交換手数料が送金通貨によって引かれる場合には、それぞれ((送金額 − 交換手数料)× 最大買値)と((送金額 − 交換手数料)/ 最小売値)である。ここで、最大買値又は最小売値を換算レートとみなすことができる。
The
また、取引所選択欄1003は、送金元の取引所を選択するドロップダウンメニューである。送金処理部2034は、鍵情報テーブル2032の中から、ログインしている顧客201に関連付けられた鍵が登録されている取引所のリストを取得する。そして、送金処理部2034は、取引所選択欄1003が選択されると取得したリストが表示されるように送金許可ページ1000を生成する。よって、顧客201は、表示されたリストの中から所望の取引所を選択できる。尚、顧客取引所204は、後にログインしている顧客201に関連付けられたこの鍵を元に顧客201のアカウントを特定することで、送金元を決定することができる。尚、上記換算額が表示されている場合に顧客201が取引所選択欄1003により他の取引所を選択すると、アクセス処理部2021は、送金指示装置203へその旨を通知する。そして、送金処理部2034は、上記に基づき、選択された取引所における換算額を再度算出し、ウェブページを更新して顧客コンピュータ202へ送信する。これにより、アクセス処理部2021は、更新後の換算額を表示する。
The
また、中止ボタン1004は、支払いプロセスを中止させるためのものである。顧客201が中止ボタン1004を選択した場合、アクセス処理部2021は、送金指示装置203へその旨を通知し、送金処理部2034は店舗サーバ205に支払いプロセスの中止の旨を通知し、支払いプロセスは中止される。具体的には、送金処理部2034は、店舗情報テーブル2035内の店舗に応じた通知URLの列よりURL文字列を取得し、末尾に/cancelを追加したURLにPOSTリクエストを店舗サーバ205へ送信することで、「通知」を実現してもよい。この際、送金処理部2034は、POSTリクエストのボディ部に、取引IDを含む情報について送金指示装置203の秘密鍵で電子署名した情報を入れる。店舗サーバ205はこの取引IDを元に注文のキャンセル手続きを行う。
The
また、承認ボタン1005は、顧客201が送金を許可して、支払いプロセスを継続させるためのものである。顧客201が承認ボタン1005を選択した場合、アクセス処理部2021は、送金許可ページ1000上に表示された通貨、送金額及び取引所による送金が許可された旨を送金指示装置203へ通知し(S207)、送金処理部2034は、店舗サーバ205に送金許可の旨を通知する(S208)。具体的には、送金処理部2034は、店舗情報テーブル2035内の店舗に応じた通知URLの列よりURL文字列を取得し、末尾に/confirmedを追加したURLにPOSTリクエストを送信することで、「通知」を実現してもよい。この際、送金処理部2034は、POSTリクエストのボディ部に、取引IDを含む情報について送金指示装置203の秘密鍵で電子署名した情報を入れる。
An
店舗サーバ205に送金許可の旨の通知を送った後、送金指示装置203の送金処理部2034は顧客取引所204に送金指示を送信する(S209)。
After sending a notice of permission of remittance to the
より具体的には、送金処理部2034は、送金を許可つまり承認したユーザ(ログインユーザ)と、送金許可された取引所(送金許可ページ1000上で選択された取引所、つまり送金実行サービス2041)との組に対応付けられた鍵情報を、鍵情報テーブル2032の中から特定して読み出す。そして、送金処理部2034は、特定された鍵情報を用いて、選択された取引所(ここでは、顧客取引所204)の送金実行サービス2041に対して、送金許可されたデジタル通貨及び送金額について送金先である店舗サーバ205の送金先アドレスへの送金指示を送信する。
More specifically, the
ここで、送金指示の送信方法は取引所毎に異なるが、例えば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
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
Thereafter, the
顧客取引所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
尚、上記の説明では、より多くのリクエストを処理できるようにするためのロードバランサに関連する記述を省略した。但し、本実施形態は、多数のリクエストに対する負荷分散のためにロードバランサ等の公知技術を用いることができる。また、鍵登録処理部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
以上のように、本実施形態では、顧客の認証後に送金詳細が顧客コンピュータに表示される送金指示装置の例を示した。本実施形態では、顧客取引所が提示する鍵の名称を、取引所毎及び表示言語毎に保持することにより、顧客が迷わず送金指示装置にそれらの鍵を登録できるようにした。そのため、複数の交換業者を利用する顧客の利便性が向上できる。また、このようにすることによって、同時に送金指示装置の開発効率を上げ、より早くより多くの取引所に対応することができる。つまり、複数の交換業者に対する送金指示を包括的に扱うことができる。 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の変形例であり、送金許可シーケンスの効率を優先して、顧客の認証と同時に送金許可も行うシステムの例を示す。
<
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
鍵定義テーブル2031aは、取引所20311ごとの鍵個数20315を管理するテーブルである。鍵定義テーブル2031aを実現する一つの方法として、ルックアップテーブルを利用する方法がある。尚、鍵の個数の代わりに鍵の名称を保持し、適宜、鍵の名称の個数をカウントすることにより、実施形態1においても、テーブルを利用して実現できることは言うまでもない。図13は、鍵定義テーブル2031aのルックアップテーブルの例を示す。
The key definition table 2031a is a table for managing the number of
図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
図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
図16は、本実施形態における鍵登録ページ400aの例である。鍵登録ページ400aは、図4の鍵登録ページ400と比べて、鍵名称411a及び421aが、汎用的な表記(“Key”)に順序を示す番号(”1”,”2”)が付されたものとなったことを示す。つまり、鍵名称411a及び421aは、いずれの取引所であっても同一の名称が表示される。
FIG. 16 is an example of a
顧客201は顧客コンピュータ202に表示される鍵登録ページ400aに顧客取引所204から入手した鍵を入力する。これに応じて、アクセス処理部2021は、鍵登録ページ400aの鍵入力欄412及び422に入力された鍵の文字列を表示順序と対応付けた鍵情報を、送金指示装置203aへ送信する。ここでは、アクセス処理部2021は、鍵入力欄412に入力された鍵の文字列を表示順序「1」、鍵入力欄422に入力された鍵の文字列を表示順序「2」に対応付けて鍵情報とする。そして、鍵登録処理部2033aは、受信した鍵情報を、ログインユーザを顧客20321、取引所IDを取引所20322として、受信した鍵情報に含まれる順序に従って鍵203232を、鍵情報テーブル2032aに追加又は更新する。
The
図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
続いて、図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
店舗サーバ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
このとき、送金処理部2034aは、送金許可ページ1000aの生成において、実施形態1と同じように店舗IDを使って店舗情報テーブル2035より店舗名を取得する。また、送金処理部2034aは、支払情報の中から通貨と金額を抽出する。ここで、実施形態2では、送金処理部2034aが送金通貨の量をも考慮して基軸通貨への換算レートを求める場合について説明する。
At this time, the
図17は、送金許可ページ1000aの例を示す。送金許可ページ1000aはユーザ名とパスワードを入力するためのテキストボックス(ユーザ情報入力欄1006)があり、顧客201がこれら情報を入力することにより、認証と送金許可を同時に行うことができる。また、顧客201が基軸通貨を選択するためのドロップダウンメニュー(基軸通貨選択欄1002c)が用意されている。使用するウォレットは予め送金通貨毎のデフォルトとして設定されているものとする。
FIG. 17 shows an example of the
また、送金許可ページ1000aは、送金額1002aと基軸通貨換算額1002bとを含む。送金額1002aは、支払情報に含まれる通貨及び金額である。基軸通貨換算額1002bは、上述した実施形態1で説明した「換算額」を表示する欄である。ここでは、換算額は、既定の取引所における「板情報」に基づき、送金額1002aから顧客201の基軸通貨に換算された金額である。尚、送金処理部2034aは、取引所から定期的に板情報を取得してもよい。
The
図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
図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
その後、送金指示装置203aの送金処理部2034aは店舗サーバ205aに送金許可通知を送り(S208)、顧客ウォレット206に送金指示を発行する(S209a)。送金指示の送信方法は顧客ウォレット206が定義するが、送金許可された送金先及び送金額、並びに、鍵を含む情報を送信するなどできる。このとき、送金処理部2034aは、鍵情報テーブル2032aから顧客と取引所(顧客ウォレット206)が合致する行を検索し、鍵情報を取得する。尚、顧客ウォレット206が複数の通貨を扱うウォレットであれば、送金処理部2034aは、送金指示に送金通貨も含めて指定する。
Thereafter, the
顧客ウォレット206の送金実行サービス2061は、送金指示装置203aから受信した送金指示を受信した場合に、送金指示に含まれる送金先へ、送金指示に含まれる送金額を送金する(S210)、例えば、送金実行サービス2061は、通貨に対応する台帳208に送金事実を書き込むことにより、送金を行う。その後、送金実行サービス2061は、台帳208を監視し続ける。
When receiving the remittance instruction received from the
そして、送金指示装置203aは、顧客ウォレット206の定める方法によって着金の通知を待つ。例えば、送金実行サービス2061が台帳208のブロックチェーン上で予め指定された回数の承認がなされた場合に、送金が完了したと見なし、送金指示装置203aに対して着金通知を送信する(S211−1)。送金指示装置203aの送金処理部2034aは、顧客ウォレット206より着金通知を受け取ると、長期接続のセッションを使って顧客サーバ205aに取引IDを含む情報によって着金通知を送る(S211−2)。
Then, the
以上、本実施形態において、顧客の認証と同時に送金許可を行うシステムの例を示した。また、顧客ウォレットとは別の取引所サービスから板情報を取得する例を示した。特に、換算レートを求めるに当たって最大買値及び最小売値だけでなく複数の買値及び売値とその取引量を考慮することによって、大きな送金額の交換における予期せぬ価格下落を抑えることとした。また、着金監視を顧客ウォレットサービスに頼ることにして、本発明が様々な接続形態によっても実現できることを示した。 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は、同じ店舗宛ての送金であっても支払ごとに異なる送金先アドレスを用いるために、送金先アドレスを動的に生成する例を示す。また、送金実行サービスの間で共通の方法で送金依頼ができる形式が定められるようになった場合、例えば、送金実行サービスを利用するためのインタフェースが統一された場合を想定する。更に、指定された通貨以外の通貨による送金にも対応する。
<
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
図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
また、他の実施形態では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
顧客スマートフォン202a上のアプリ2022には認証機能が実装されており、顧客201がユーザ名とパスワードを入力すると、それらが送金指示サーバ203bに送られる。送金指示サーバ203bは、それらを受け取ると、データベース内に保持しているユーザ名とパスワードの組と照合し、一致すれば認証トークンを返す。認証トークンは認証を繰り返さなくても良くするための情報であり、例えば(ユーザ名、時刻)の組を送金指示サーバ203bの秘密鍵で電子署名したものを使うことができる。パスワードをそのまま送らずにチャレンジ・レスポンス方式でもパスワードの照合が可能であることは当業者の間では公知のことである。またパスワードをそのまま比較するのではなく、パスワードのハッシュ値を比較する手法も公知である。
An authentication function is implemented in the
まず、顧客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
-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
ところで、デジタル通貨によっては送金時間に大きな差がある。そこで、送金指示サーバ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
顧客201がドロップダウンメニュー2007で通貨を選択すると、アプリ2022は、支払情報の通貨における金額を、選択された通貨に換算して換算金額として送金額2002aに表示する。この際の換算レートは他の実施形態で示した方法で求めても良いが、本実施形態では板情報の時系列情報を利用して求める方法を示す。具体的には、送金指示サーバ203bの送金処理部2034bは、取引所204aから逐次板情報を取得し、時刻情報とともに各通貨対の板情報から最大買値と最小売値をデータベースに記録していく。そして、送金処理部2034bは、アプリ2022に顧客ウォレット名のリストを送るタイミング(S304)において、直近一定時間以内の最大買値及び最小売値の平均を求め、買値及び売値の換算レートとして併せてアプリ2022に送信する。このように換算レートを求めることにより、短時間での換算レートの大きな変動を抑えることができる。逆に、過去の板情報から、ディープラーニングなどの機械学習を用いて、近い将来の換算レートを予測することも可能である。このようにすることで、着金時に通貨交換する際の金額の変動を抑えることを狙う。
When the
また、送金額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にとって都合が良い。
Further, the
図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
逆に、顧客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
ここで、送金先アドレスの生成法を説明する。つまり、送金指示サーバ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
また、送金指示サーバ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
図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
その後、送金指示サーバ203bは台帳208を監視し続け、送金状態を取引の状態に反映する。また、支払情報に指定した通貨と送金通貨が異なる可能性があるので、取引の詳細には送金通貨及び送金額が追加される。例えばBTCのブロックチェーンの場合、送金事実を書き込んだ後に「承認」と呼ばれる処理が繰り返される。もし「承認」がn回行われた場合には、取引状態は「承認n」とする。そして、ある一定回数Nを超える承認が繰り返されたら、取引状態を「承認N+」とし、以後その送金の監視は辞める。そして、送金処理部2034bは、取引状態が「承認N+」とされた取引IDを含む着金通知を店舗処理サーバ205cへ送信する(S312)。
Thereafter, the
店舗処理サーバ205cは、受信した取引状態を確認し、所望の承認回数に達したら、例えば商品を発送するなどのプロセスを始めることができる。急を要するサービスの場合は、送金許可が下りた後にそのプロセスを始めることもできる。いつこのプロセスを始めるかは、店舗側の判断である。
The
以上、本実施形態では、送金先アドレスが動的に生成される例を示した。また、指定された通貨以外の通貨による送金にも対応した。送金先アドレス生成法として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
まず、顧客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
ログインの後、送金指示装置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
そして、送金処理部2034dは、生成した送金許可ページ2500を送信詳細として顧客コンピュータ202へ送信する(S407)。アクセス処理部2021は、送金指示装置203dから受信した送金許可ページ2500を画面に表示する。そして、顧客201が承認ボタン2505を選択すると、アクセス処理部2021は、送金許可ページ2500上に表示された通貨、送金額及び取引所を含む送金許可を送金指示装置203dへ通知する(S408)。
Then, the
ここで、本実施形態では送金対象の通貨を切り替えることができる。そのためには、顧客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
また、顧客201が承認ボタン2505を選択した際のドロップダウンメニュー2507で選択された通貨が支払情報に含まれる通貨と同じ場合には、他の実施形態と同様に、送金処理部2034dは、その通貨で送金する。一方、顧客201が承認ボタン2505を選択した際のドロップダウンメニュー2507で選択された通貨が支払情報に含まれる通貨と異なる場合(通貨交換を伴う場合)には、送金処理部2034dは、選択した通貨を支払情報の通貨に交換してから送金する。この時、成行で注文することもできるが、換算金額以上の交換とならないように指し値で注文することも可能である。その時の指し値は換算金額を求める際に利用した換算レートである。特に指し値注文の場合、注文が成立しないことがあり得るので、注文を取り消す仕組みが必要である。
Also, when the currency selected in the drop-
図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
取引が中止したものとして扱われたら、ステップ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
逆に、取引が完了したものとして扱われたら、ステップ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
以上、本実施形態では送金指示装置に店舗のアカウントが予め登録されていなくても、任意の店舗サーバが取引を開始できる送金指示装置を示した。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
メールサーバ209は、一般的なメールサーバである。メールサーバ209は、店舗サーバ205eから支払請求メールを受信し、支払請求メール2091として記憶装置に記憶する。メールサーバ209は、顧客コンピュータ202のメールクライアント2023からのメール受信要求に応じて支払請求メール2091を顧客コンピュータ202へ送信する。
The
顧客コンピュータ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
支払情報は、ウェブページのように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
支払情報を抽出した送金処理部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
顧客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
言い換えると、次のように言うことができる。すなわち、まず、送金処理部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
ここで、送金処理部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
そして、取引ログ20371に記録した後、送金処理部2034eは、店舗サーバ205eに支払いが承認されたことを通知する(S509)。具体的には、先の支払情報の通知先には送金許可通知の通知先URLが含まれているので、送金処理部2034eは、通知先URLに対してhttps POSTリクエストを発行する。通知先には明示的に取引IDを送らなくても、URLにその情報を組み入れることで、パラメータとして扱わずに同様の効果が得られる。
Then, after recording in the
そして、送金処理部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
つまり少なくとも、送金処理部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
その後、顧客取引所204は送金指示に応じて台帳208に送金事実を書き込む(S511)。ここで、顧客201の鍵は、例えば図28のようなNoSQLのデータベースに予め保持されている。この例では、“user”のキーに顧客の識別子、“exchange”に顧客取引所の識別子、“api_keys”に顧客の鍵が保持されている。当然、他の形式のデータベースにも同様の情報を保持することができる。鍵の使用法は、顧客取引所が指定する方法に合わせるが、例えば、鍵のひとつで(送金通貨、送金額及び送金先アドレス)の組を電子署名して顧客取引所に送信するなどする。
Thereafter, the
顧客取引所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
すなわち、本実施形態にかかる着金通知は、次のような処理が可能であり、これらは上述した実施形態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
また、送金処理部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
すなわち、送金処理部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
以上、本実施形態では、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
まず、顧客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
・ 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
ログインの後、送金実行装置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
支払情報を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
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
支払情報を抽出した送金処理部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
顧客201が支払情報を確認したら、承認ボタン2505を選択し、顧客コンピュータ202のアクセス処理部2021は、送金許可ページ2500上に表示又は選択された通貨、送金額及び取引所による送金が許可された旨を送金許可として送金実行装置204bへ通知する(S609)。すると、送金実行装置204bの送金処理部2044は、店舗サーバ205fに支払いが承認されたことを通知する(S610)。具体的には、先の支払情報の通知先にメールアドレスが含まれているので、送金処理部2044は、このメールアドレスに対して支払いが承認された旨のメールを送る。メール本文には、先にURLパラメータとして取得した取引IDを含めることで、メールの受け手はどの取引が承認されたのか認識できる。このメールは、送金実行装置204bの秘密鍵で電子署名または暗号化することにより、改竄を防止する。
When the
そして、送金処理部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
以上、本実施形態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
<その他の実施の形態>
尚、上述した送金先アドレスや暗号化された文字列などは、例示に過ぎない。
また、上述した取引記録の承認は、プルーフオブワーク(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
尚、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、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
102 program memory 1021
104
2052
206
Claims (9)
所定の送金実行サービスと、当該所定の送金実行サービスを利用する前記ユーザとに基づいて、前記鍵情報記憶部の中から鍵を特定する特定部と、
所定のデジタル通貨における送金額と送金先とが指定された送金情報に基づいて、前記特定された鍵を用いて前記所定の送金実行サービスに対して、前記指定された所定のデジタル通貨及び前記送金額について前記指定された送金先に対応する送金先アドレスへの送金指示を行う送金指示部と、
を備える送金指示装置。 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;
A remittance instructing device comprising:
請求項1に記載の送金指示装置。 If the transaction record corresponding to the specified predetermined digital currency satisfies an approval condition updated in the remittance instructing device or externally, the remittance destination is further provided with a payment notifying unit that notifies the remittee of the payment. 2. The remittance instruction device according to 1.
前記鍵定義記憶部を用いて、前記ユーザの端末から当該ユーザが特定の送金実行サービスを利用するための鍵を受け付けて、当該受け付けた鍵を前記ユーザ及び当該特定の送金実行サービスに対応付けて前記鍵情報記憶部へ登録する鍵登録部と、
をさらに備える請求項1又は2に記載の送金指示装置。 For each of the plurality of remittance execution services, a key definition storage unit that stores a definition related to the key,
Using the key definition storage unit, a key for the user to use a specific remittance execution service is received from the user terminal, and the received key is associated with the user and the specific remittance execution service. A key registration unit for registering in the key information storage unit;
The remittance instructing device according to claim 1 or 2, further comprising:
請求項1乃至3のいずれか1項に記載の送金指示装置。 The remittance instruction device according to any one of claims 1 to 3, further comprising a remittance information acquisition unit configured to acquire the remittance information including the remittee address from the remittee.
請求項1乃至4のいずれか1項に記載の送金指示装置。 The remittance according to any one of claims 1 to 4, further comprising a conversion unit configured to calculate a conversion amount obtained by converting the remittance amount into the other currency based on a conversion rate between the predetermined digital currency and another currency. Pointing device.
前記送金額を前記所定のデジタル通貨から他の通貨に交換した場合の期待される処理時間が指定された時間以内の場合に、前記所定の送金実行サービスに対して、前記送金額を前記所定のデジタル通貨から前記他の通貨へ交換させ、当該交換後の金額について前記送金指示を行う
請求項1乃至5のいずれか1項に記載の送金指示装置。 The remittance instructing unit includes:
When the expected processing time when exchanging the remittance amount from the predetermined digital currency to another currency is within a specified time, the remittance amount is changed to the predetermined amount for the predetermined remittance execution service. The remittance instructing device according to any one of claims 1 to 5, wherein a digital currency is exchanged for the other currency, and the remittance instruction is performed for the amount after the exchange.
登録済みの複数のユーザに対して複数のデジタル通貨を送金するサービスを提供する複数の送金実行サービスのそれぞれと、各ユーザと、各ユーザが各送金実行サービスを利用するための複数の鍵のそれぞれと、を対応付けて記憶した鍵情報記憶部の中から、所定の送金実行サービスと、当該所定の送金実行サービスを利用する前記ユーザとに基づいて、鍵を特定する特定ステップと、
所定のデジタル通貨における送金額と送金先とが指定された送金情報に基づいて、前記特定された鍵を用いて前記所定の送金実行サービスに対して、前記指定された所定のデジタル通貨及び前記送金額について前記指定された送金先に対応する送金先アドレスへの送金指示を行う送金指示ステップと、
を行う送金指示方法。 Computer
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 from a key information storage unit storing the associated remittance execution service and the user using the predetermined remittance execution service, a specifying step of specifying a key,
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 step of instructing remittance to a remittee address corresponding to the designated remittee for the amount;
Do remittance instruction method.
所定のデジタル通貨における送金額と送金先とが指定された送金情報に基づいて、前記特定された鍵を用いて前記所定の送金実行サービスに対して、前記指定された所定のデジタル通貨及び前記送金額について前記指定された送金先に対応する送金先アドレスへの送金指示を行う送金指示処理と、
をコンピュータに実行させる送金指示プログラム。 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 from a key information storage unit that stores in association with each other, a predetermined remittance execution service, and a specifying process of specifying a key based on the user who uses 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. Remittance instruction processing for instructing remittance to a remittee address corresponding to the designated remittee for the amount;
Remittance instruction program that causes a computer to execute
所定の送金実行サービスと、当該所定の送金実行サービスを利用する前記ユーザと、所定のデジタル通貨における送金額と送金先とが指定された送金情報とを前記サーバへ送信する送金要求部を備える端末と、を備え、
前記サーバは、
前記送金要求部から受信した前記所定の送金実行サービスと、前記ユーザとに基づいて、前記鍵情報記憶部の中から鍵を特定する特定部と、
前記送金要求部から受信した前記送金情報に基づいて、前記特定された鍵を用いて前記所定の送金実行サービスに対して、前記指定された所定のデジタル通貨及び前記送金額について前記指定された送金先に対応する送金先アドレスへの送金指示を行う送金指示部と、
を備える送金指示システム。 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 server including a key information storage unit that stores the key information in association with
A terminal including a predetermined remittance execution service, the user who uses the predetermined remittance execution service, and a remittance request unit for transmitting remittance information in which a remittance amount and a remittee in a predetermined digital currency are specified to the server. And
The server is
A specifying unit that specifies a key from the key information storage unit based on the predetermined remittance execution service received from the remittance request unit and the user;
Based on the remittance information received from the remittance request unit, using the specified key, for the predetermined remittance execution service, the specified remittance for the specified predetermined digital currency and the remittance amount A remittance instructing unit for instructing remittance to a remittance destination address corresponding to the first,
A remittance instruction system comprising:
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018156010A JP6445211B1 (en) | 2018-08-23 | 2018-08-23 | Remittance instruction device, remittance instruction method, remittance instruction program, and remittance instruction system |
PCT/JP2019/014820 WO2020039645A1 (en) | 2018-08-23 | 2019-04-03 | Money transfer instruction device, money transfer instruction method, money transfer instruction program, and money transfer instruction system |
US17/270,847 US20210312437A1 (en) | 2018-08-23 | 2019-04-03 | Remittance instruction apparatus, remittance instruction method, remittance instruction program, and remittance instruction system |
EP19851481.2A EP3843021A4 (en) | 2018-08-23 | 2019-04-03 | Money transfer instruction device, money transfer instruction method, money transfer instruction program, and money transfer instruction system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018156010A JP6445211B1 (en) | 2018-08-23 | 2018-08-23 | Remittance instruction device, remittance instruction method, remittance instruction program, and remittance instruction system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018221885A Division JP2020030787A (en) | 2018-11-28 | 2018-11-28 | Remittance device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6445211B1 JP6445211B1 (en) | 2018-12-26 |
JP2020030631A true JP2020030631A (en) | 2020-02-27 |
Family
ID=64899575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018156010A Active JP6445211B1 (en) | 2018-08-23 | 2018-08-23 | Remittance instruction device, remittance instruction method, remittance instruction program, and remittance instruction system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6445211B1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109377224A (en) | 2018-10-25 | 2019-02-22 | 阿里巴巴集团控股有限公司 | Block chain method of commerce and device, electronic equipment |
JP2020123266A (en) * | 2019-01-31 | 2020-08-13 | 富士通株式会社 | Information processor, method for processing information, and program |
CN113128989A (en) * | 2019-02-01 | 2021-07-16 | 创新先进技术有限公司 | Block chain transaction method and device, electronic equipment and storage medium |
CN109981816B (en) * | 2019-03-21 | 2023-04-18 | 上海风汇网络科技有限公司 | Value transmission system and method based on DNS (Domain name System) and DNS server |
US11763383B2 (en) | 2019-05-30 | 2023-09-19 | Nec Corporation | Cryptocurrency system, terminal, server, trading method of cryptocurrency, and program |
WO2020255372A1 (en) | 2019-06-21 | 2020-12-24 | double jump.tokyo株式会社 | Token issuance method, information processing device, and blockchain system |
JP6651083B1 (en) * | 2019-10-01 | 2020-02-19 | イーサセキュリティ パシフィックホールディングス プライベート リミテッド | Cryptocurrency management method |
JP2021056984A (en) * | 2019-12-09 | 2021-04-08 | イーサセキュリティ パシフィックホールディングス プライベート リミテッド | Virtual currency operation method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279269A (en) * | 2005-03-28 | 2006-10-12 | Ntt Communications Kk | Information management device, information management system, network system, user terminal, and their programs |
JP2011076166A (en) * | 2009-09-29 | 2011-04-14 | Mrs Holdings Co Ltd | Fund transfer system |
WO2016013048A1 (en) * | 2014-07-25 | 2016-01-28 | 株式会社三井住友銀行 | Method and system for generating signing code used for secure money transfer |
JP2016218633A (en) * | 2015-05-18 | 2016-12-22 | 株式会社Orb | Virtual currency management program, and virtual currency management method |
-
2018
- 2018-08-23 JP JP2018156010A patent/JP6445211B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279269A (en) * | 2005-03-28 | 2006-10-12 | Ntt Communications Kk | Information management device, information management system, network system, user terminal, and their programs |
JP2011076166A (en) * | 2009-09-29 | 2011-04-14 | Mrs Holdings Co Ltd | Fund transfer system |
WO2016013048A1 (en) * | 2014-07-25 | 2016-01-28 | 株式会社三井住友銀行 | Method and system for generating signing code used for secure money transfer |
JP2016218633A (en) * | 2015-05-18 | 2016-12-22 | 株式会社Orb | Virtual currency management program, and virtual currency management method |
Also Published As
Publication number | Publication date |
---|---|
JP6445211B1 (en) | 2018-12-26 |
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 | |
US10869170B2 (en) | Email based e-commerce with SMS and social media | |
US8682802B1 (en) | Mobile payments using payment tokens | |
US10713630B2 (en) | Apparatus and method for purchasing a product using an electronic device | |
CN108369700A (en) | Mobile-payment system | |
US20220101303A1 (en) | System and method for improving the security of an e-commerce transactions using simple mail transfer protocol (smtp) | |
KR20120115764A (en) | Service server, user terminal, service providing method and control method thereof | |
US11699148B2 (en) | Email address token integration | |
KR20140142344A (en) | Third party token system for anonymous shipping | |
JP2018049538A (en) | Commodity delivery support system, commodity delivery support device, and commodity delivery support method | |
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 | |
JP6940546B2 (en) | Request management system, request management method and computer program | |
JP7432895B2 (en) | Crypto asset purchase/exchange system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180831 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180905 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181015 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6445211 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181128 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |