【文献】
アントノプロス・M・アンドレアス,ビットコインとブロックチェーン,初版,NTT出版,2016年07月21日,pp. 1-30, 67-88, 283-296
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、既存技術によっては、送金者および受金者が相互に個人情報を公開することなく、かつ、第三者機関に対しても個人情報を公開することなく現金の授受を行うことができなかった。例えば、特許文献1に記載の技術では、サービスの利用者は、取引を仲介する中央管理者に対しては個人情報を提供することを求められないが、電子暗号通貨と貨幣との両替取引においては個人情報(口座番号やクレジットカード番号等)を提供することを求められる。
【0006】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、送金者および受金者が、相互に個人情報を公開することなく、かつ、第三者機関に対しても個人情報を公開することなく現金の授受を行うことが可能な、新規かつ改良された送金元装置、送金先装置、送金方法、受金方法、プログラムおよび送金システムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある観点によれば、送金元装置から送金先装置への送金
に利用され、公開鍵から生成されるアドレスである仲介アドレスを取得する取得部と、前記送金元装置に投入された現金の額を計数する入金計数部と、前記額を前記仲介アドレスへ入金する
ための入金データを生成する入金データ生成部と、を備える、送金元装置が提供される。
【0008】
前記入金データをブロックチェーンネットワークへ送信する通信部をさらに備えてもよい。
【0009】
前記取得部は、ユーザ操作により入力された前記仲介アドレスを取得してもよい。
【0010】
前記取得部は、前記仲介アドレスを生成し、生成した前記仲介アドレスを取得してもよい。
【0011】
前記取得部は、前記仲介アドレスの生成元となる
前記公開鍵とペアとなる秘密鍵も生成してもよい。
【0012】
前記仲介アドレスの生成元となる
前記公開鍵または前記秘密鍵をユーザに提示する第1の提示部をさらに備えてもよい。
【0013】
前記通信部は、前記入金データに対する検証または承認の状況に関する情報を前記ブロックチェーンネットワークから受信してもよい。
【0014】
前記状況をユーザに提示する第2の提示部をさらに備えてもよい。
【0015】
また、上記課題を解決するために、本発明の別の観点によれば、送金元装置から送金先装置への送金
に利用され、公開鍵から生成されるアドレスである仲介アドレスを取得することと、前記送金元装置に投入された現金の額を計数することと、前記額を前記仲介アドレスへ入金する
ための入金データを生成することと、を有する、
前記送金元装置により実行される送金方法が提供される。
【0016】
また、上記課題を解決するために、本発明の別の観点によれば、
コンピュータを、送金元装置から送金先装置への送金
に利用され、公開鍵から生成されるアドレスである仲介アドレスを取得することと、前記送金元装置に投入された現金の額を計数することと、前記額を前記仲介アドレスへ入金する
ための入金データを生成することと、
を実行する前記送金元装置として機能させるためのプログラムが提供される。
【0017】
また、上記課題を解決するために、本発明の別の観点によれば、送金元装置から送金先装置への送金
に利用され、公開鍵から生成されるアドレスである仲介アドレスを取得する取得部と、前記仲介アドレスに基づいて出金データを生成する出金データ生成部と、前記出金データをブロックチェーンネットワークへ送信する通信部と、前記ブロックチェーンネットワークでの前記出金データに対する検証または承認の状況に基づいて、前記出金データに指定される額の現金を払い出す出金部と、を備える、送金先装置が提供される。
【0018】
前記仲介アドレスは
前記公開鍵のハッシュ値であり、前記取得部は、前記公開鍵および当該公開鍵とペアとなる秘密鍵も取得し、前記出金データ生成部は、前記公開鍵および前記秘密鍵に基づいて前記出金データを生成してもよい。
【0019】
前記取得部は、ユーザ操作により入力された前記公開鍵または前記秘密鍵を取得してもよい。
【0020】
前記通信部は、前記出金データに対する検証または承認の状況に関する情報を前記ブロックチェーンネットワークから受信してもよい。
【0021】
前記状況をユーザに提示する提示部をさらに備えてもよい。
【0022】
また、上記課題を解決するために、本発明の別の観点によれば、送金元装置から送金先装置への送金
に利用され、公開鍵から生成されるアドレスである仲介アドレスを取得する取得部と、前記仲介アドレスに基づいて出金データを生成することと、前記出金データをブロックチェーンネットワークへ送信することと、前記ブロックチェーンネットワークでの前記出金データに対する検証または承認の状況に基づいて、前記出金データに指定される額の現金を払い出すことと、を有する、
前記送金先装置により実行される受金方法が提供される。
【0023】
また、上記課題を解決するために、本発明の別の観点によれば、
コンピュータを、送金元装置から送金先装置への送金
に利用され、公開鍵から生成されるアドレスである仲介アドレスを取得する取得部と、前記仲介アドレスに基づいて出金データを生成することと、前記出金データをブロックチェーンネットワークへ送信することと、前記ブロックチェーンネットワークでの前記出金データに対する検証または承認の状況に基づいて、前記出金データに指定される額の現金を払い出すことと、
を実行する前記送金先装置として機能させるためのプログラムが提供される。
【0024】
また、上記課題を解決するために、本発明の別の観点によれば、送金を行う送金元装置と、前記送金を受ける送金先装置と、を備える送金システムであって、前記送金元装置は、前記送金
に利用され、公開鍵から生成されるアドレスである仲介アドレスを取得する第1の取得部と、前記送金元装置に投入された現金の額を計数する入金計数部と、前記額を前記仲介アドレスへ入金する
ための入金データを生成する入金データ生成部と、を備え、前記送金先装置は、前記仲介アドレスを取得する第2の取得部と、前記仲介アドレスに基づいて出金データを生成する出金データ生成部と、前記出金データをブロックチェーンネットワークへ送信する通信部と、前記ブロックチェーンネットワークでの前記出金データに対する検証または承認の状況に基づいて、前記出金データに指定される額の現金を払い出す出金部と、を備える、送金システムが提供される。
【発明の効果】
【0025】
以上説明したように本発明によれば、送金者および受金者が、相互に個人情報を公開することなく、かつ、第三者機関に対しても個人情報を公開することなく現金の授受を行うことが可能となる。
【発明を実施するための形態】
【0027】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0028】
<1.背景>
近年、インターネット上でのサービスの発展に伴い、偽名または匿名のまま個人情報を明かすことなく金銭の授受を行いたいというニーズが存在する。例えば、何らかの取引において対価として金銭の授受を行う場合等が挙げられる。
【0029】
既存技術としては、例えば、現金自動預け払い機(以降、便宜的にATM(Automated/Automatic Teller Machine)と呼称する場合がある)による現金振り込みサービスが挙げられる。本サービスにおいては、送金者情報として仮名が使用され得るが、受金者情報として、銀行名、支店名、口座種別、口座番号、受金者名等の情報が求められる。
【0030】
また、インターネット上で匿名のまま決済することができるサービスとして、PayPal(ペイパル。登録商標)が挙げられる。PayPalは、取引を行いたい2者が、事前にクレジットカード情報等を登録しアカウントを作成しておくことで、互いの口座番号や名前等を公開することなく金銭を授受することができるサービスである。本サービスの利用者は、金銭を授受する相手に対しては匿名性を保つことができるが、取引を仲介する中央管理者としてのPayPalに対しては個人情報(クレジットカード番号や口座情報等)を提供することが求められる。したがって、PayPalが、近年手口が多様化するサイバー攻撃等を行われることによって、利用者の個人情報が漏洩する可能性がある。
【0031】
上記を解決する方法として、特許文献1には、ブロックチェーンを用いた電子暗号通貨の取引に利用される公開アドレスおよび、当該アドレスとペアとなる秘密鍵を用いて、所定の広告の閲覧促進を図る目的で当該広告を閲覧したユーザに特典として送金を行うために、当該秘密鍵が格納された二次元バーコードを当該広告に付する技術が記載されている。特許文献1に記載の技術は、ブロックチェーンを利用することで、中央管理者なしでも取引の正当性を保証することができるため、サービスの利用者は、取引を仲介する機関に個人情報を提供することを求められない。
【0032】
しかしながら、特許文献1に記載の技術では、サービスの利用者は、取引を仲介する中央管理者に対しては個人情報を提供することを求められないが、電子暗号通貨と貨幣との両替取引においては個人情報(口座番号やクレジットカード番号等)を提供することを求められる。
【0033】
本件の発明者は、上記事情に鑑み本発明に想到するに至った。本発明に係る送金システムを利用する送金者および受金者は、相互に個人情報を公開することなく、かつ、第三者機関に対しても個人情報を公開することなく現金の授受を行うことができる。
【0034】
上記では、本発明の背景について説明した。以降では、「2.送金システムの概要」「3.各装置の機能構成」「4.各装置の動作」「5.各装置のハードウェア構成」について順次説明する。
【0035】
<2.送金システムの概要>
まず、本発明に係る送金システムの概要について説明する。
【0036】
本発明に係る送金システムでは、ピアツーピアネットワークに流通している分散型データベースが利用される。本書では、ピアツーピアネットワークの一例としてブロックチェーンネットワークが利用され、分散型データベースの一例としてブロックチェーンネットワークに流通しているブロックチェーンデータが利用される場合について説明する。なお、上記はあくまで一例であるため、利用されるピアツーピアネットワークおよび分散型データベースは適宜変更され得る。
【0037】
(2−1.一般的なブロックチェーンデータの概要)
次に、一般的なブロックチェーンデータの概要について説明する。ブロックチェーンデータとは、複数のブロックがあたかも鎖のように連なっているデータである。それぞれのブロックには、1または2以上のトランザクション(取引)が格納される。
【0038】
ブロックチェーンデータとしては、例えば、ビットコイン(Bitcoin。登録商標)などの電子暗号通貨のデータのやり取りに用いられるブロックチェーンデータが挙げられる。当該ブロックチェーンデータにおける各ブロックには、例えば、「直前のブロックのハッシュ」が含まれる。
【0039】
「直前のブロックのハッシュ」とは、過去のブロックに格納されているトランザクション(取引)の改竄の有無等を判定する処理に用いられる情報である。仮に、過去のブロックに格納されているトランザクション(取引)が改竄された場合、ブロックチェーンデータにおけるいずれかのブロックに含まれる「直前のブロックのハッシュ」に矛盾が生じるため、改竄された事実が明らかとなる。換言すると、「直前のブロックのハッシュ」がブロックチェーンデータにおける各ブロックに含まれることによって、第三者がブロックチェーンデータに含まれるトランザクション(取引)の改竄等を行うことが困難となる。
【0040】
また、新たなトランザクション(取引)が発生した場合、ブロックチェーンネットワークに接続している装置(「ノード」とも呼称される)のうち、所定の処理に成功したノードがブロックチェーンデータへの新たなブロックの追加を行う。所定の処理とは、例えばビットコイン(登録商標)においては、「マイニング(または採掘)」と呼称される処理であり、トランザクション(取引)の検証および承認を行う処理である。所定の処理の内容は任意である。例えば、所定の処理とは、発生したトランザクションデータに何らかのデータを追加し、追加後のデータ全体のハッシュ値が所定の値よりも小さくなるまで、追加するデータを変更していく処理であってもよい。
【0041】
そして、複数のノードのうち最も早くマイニングに成功したノードが、新たなトランザクションデータを含むブロックをブロックチェーンデータに追加し、追加後のブロックチェーンデータをブロックチェーンネットワークに送信することによって各ノードに追加後のブロックチェーンデータを共有する。複数のノードのうち最も早くマイニングに成功したノードによってブロックの追加が行われることによって(換言すると、ブロックの追加を行うノードが予め決定されていないことによって)、ブロックチェーンデータを利用するサービスは、特定のノードによる不正を防ぎ、サービスの公平性を担保することができる。
【0042】
(2−2.本実施形態に係る送金システムの構成)
上記では、一般的なブロックチェーンの概要について説明した。続いて、
図1を参照して、本実施形態に係る送金システムの構成について説明する。
図1は、本実施形態に係る送金システムの構成を示す図である。
【0043】
図1に示すように、本実施形態に係る送金システムは、送金元装置100と、送金先装置200と、を備え、送金元装置100および送金先装置200は、ブロックチェーンネットワーク300に接続している。
【0044】
送金元装置100は、ブロックチェーンネットワーク300を介して送金先装置200に対して送金を行う装置である。より具体的に説明すると、送金を行うユーザ(以降、便宜的に「送金者」と呼称する)が所定の処理(送金元装置100への現金の投入等)を行うことによって、送金元装置100は、送金に用いられるトランザクションデータ(以降、便宜的に「入金トランザクションデータ」と呼称する)を生成し、当該入金トランザクションデータをブロックチェーンネットワーク300に投入する。処理の詳細については後述する。本書では、送金元装置100が、ATMのように、通貨に関する各種処理を行うことが可能な装置であることを想定して説明を行うが、これに限定されない。例えば、送金元装置100は、現金を用いて送金することが可能な装置であれば任意の装置でよい。
【0045】
送金先装置200は、ブロックチェーンネットワーク300を介して送金元装置100からの送金を受ける装置である。より具体的に説明すると、送金されるユーザ(以降、便宜的に「受金者」と呼称する)が送金先装置200に対して所定の入力を行うことで送金先装置200は送金された額の現金を払い出すことができる。本書では、送金先装置200が、ATMのように、通貨に関する各種処理を行うことが可能な装置であることを想定して説明を行うが、これに限定されない。例えば、送金先装置200は、現金を払い出すことが可能な装置であれば任意の装置でよい。
【0046】
ブロックチェーンネットワーク300は、ブロックチェーンデータが流通しているP2Pネットワークである。
図1には、ブロックチェーンネットワーク300に接続する送金元装置100および送金先装置200が1台ずつしか記載されていないが、ブロックチェーンネットワーク300に接続する送金元装置100および送金先装置200の台数は任意である。また、ブロックチェーンネットワーク300への接続方法は任意である。例えば、送金元装置100および送金先装置200は、任意の方式の有線通信または任意の方式の無線通信によってブロックチェーンネットワーク300に接続することができる。
【0047】
<3.各装置の機能構成>
上記では、本実施形態に係る送金システムの構成について説明した。続いて、本実施形態に係る各装置の機能構成について説明する。
【0048】
(3−1.送金元装置100の機能構成)
まず、
図2を参照して、本実施形態に係る送金元装置100の機能構成について説明する。
図2は、本実施形態に係る送金元装置100の機能構成を示すブロック図である。
【0049】
図2に示すように、本実施形態に係る送金元装置100は、入力部110と、入金部120と、生成部130と、確認部140と、を備える。
【0050】
(入力部110)
入力部110は、送金元装置100から送金先装置200への送金を仲介する仲介アドレスを取得する取得部(または第1の取得部)として機能する。本実施形態における仲介アドレスとは、ビットコイン(登録商標)に用いられるビットコインアドレスのように、アドレス毎の公開鍵から生成され公開鍵を特定可能な識別情報であり、例えば、公開鍵を入力として生成されたハッシュ値である(また、仲介アドレスの生成元となる公開鍵とペアとなる秘密鍵も存在する。詳細については後述する)。なお、仲介アドレスは、一回の送金にのみ用いられる情報であってもよい(すなわち、仲介アドレスは使い捨てられてもよい)し、受金者毎に生成された情報であり同一の受金者に対しては何度も用いられる情報であってもよい。
【0051】
また、入力部110が仲介アドレスを取得する方法は任意である。例えば、入力部110は、所定のユーザインターフェースを備え、送金者による操作によって仲介アドレスを取得してもよい。より具体的には、入力部110は、キーボード、キーパッド、タッチパネルまたは操作ボタン等を備え、送金者がこれらのデバイスに対して仲介アドレスを入力する操作を行うことによって入力部110が仲介アドレスを取得してもよい。また、入力部110が、各種コードリーダー(二次元バーコードリーダー、バーコードリーダー)等を備え、送金者がこれらのデバイスに対して、仲介アドレスを表す各種コードを読み込ませる操作を行うことによって入力部110が仲介アドレスを取得してもよい。また、入力部110が近距離無線通信を行う通信機能を有しており、送金者が仲介アドレスを記憶している所定のデバイス(スマートフォン、ICカード等)を入力部110にかざすことによって入力部110が近距離無線通信を行い、所定のデバイスから仲介アドレスを取得してもよい。
【0052】
また、入力部110は、仲介アドレスを生成してもよい。入力部110による仲介アドレスの生成方法も任意である。例えば、入力部110は、上記のようなユーザインターフェースを介して入力された各種情報を所定のプログラムに入力することによって仲介アドレスを生成してもよい。入力部110が仲介アドレスを生成する場合には、入力部110は、仲介アドレスだけでなく、仲介アドレスの生成元となる公開鍵およびペアとなる秘密鍵を生成する必要がある。そして、入力部110は、生成した仲介アドレスの生成元となる公開鍵および秘密鍵を任意の方法で送金者に提示する第1の提示部として機能してもよい。例えば、入力部110は、上記のユーザインターフェースを介して仲介アドレスの生成元となる公開鍵および秘密鍵を送金者に通知してもよい。
【0053】
(入金部120)
入金部120は、送金元装置100に投入された現金を認識して入金額を計数する入金計数部として機能する。入金方法および計数方法は任意である。例えば、入金部120は、ATMにおいて紙幣投入口または硬貨投入口に投入された現金を認識して入金額を計数する構成と同様の構成であり得る。入金部120は、計数した入金額に関する情報を後述する生成部130に提供する。
【0054】
(生成部130)
生成部130は、仲介アドレスへ入金を行うための入金データであるトランザクションデータ(以降、便宜的に「入金トランザクションデータ」と呼称する)を生成する入金データ生成部として機能する。より具体的に説明すると、生成部130は、入金部120から提供された入金額に関する情報および入力部110から提供された仲介アドレスに基づいて入金トランザクションデータを生成する。
【0055】
ここで、
図3および
図4を参照して、入金トランザクションデータの一例について説明する。
図3は、本実施形態に係る入金トランザクションデータの概要を示す図である。また、
図4は、本実施形態に係る入金トランザクションデータのデータフォーマットの一例を示す図である。
【0056】
図3に示すように、入金トランザクションデータには「入力(「インプット」とも呼称する)」「出力(「アウトプット」とも呼称する)」という概念が存在する。本実施形態に係る「入力」は、例えば、ビットコイン(登録商標)のトランザクションデータにおける「入力」に対応する概念であり、送金元装置100に関する情報および入金額に関する情報を含む。例えば
図3に示すように、「入力」は、「送金元装置(送金元装置100に関する情報)に1万円(入金額に関する情報)入金あり」という情報を含む。
【0057】
一方、本実施形態に係る「出力」は、例えば、ビットコイン(登録商標)のトランザクションデータにおける「出力」に対応する概念であり、仲介アドレスに関する情報および送金額に関する情報を含む。例えば
図3に示すように、「出力」は、「仲介アドレス(仲介アドレスに関する情報)に1万円(送金額に関する情報)送金」という情報を含む。
【0058】
また、生成部130は、公開鍵としての、送金元装置100を識別する情報(以降、便宜的に「送金元装置100の公開鍵」と呼称する)、および、当該送金元装置100の公開鍵とペアとなる秘密鍵を管理している。そして、生成部130は、当該秘密鍵を用いて電子署名データを生成し、
図3に示すように、当該電子署名データを入金トランザクションデータに含める。これによって、入金トランザクションデータの検証者(ノード)は、送金元装置100の公開鍵を用いて電子署名データを検証することで、入金トランザクションデータに対する改竄の有無や、いわゆる「なりすまし」の有無を確認することができる。
【0059】
また、
図4に示すように、入金トランザクションデータは、「入力」フィールドおよび「出力」フィールドを含む。「入力」フィールドは、
図3における「入力」に対応するデータ項目であり、
図4に示すように、「入金部処理番号」と、「電子署名」と、「送金元装置の公開鍵」と、を含む。「出力」フィールドは、
図3における「出力」に対応するデータ項目であり、
図4に示すように、「出金額」と、「仲介アドレス」と、を含む。
【0060】
「電子署名」とは、上記のとおり、送金元装置100の公開鍵とペアとなる秘密鍵によって生成された電子署名データである。これによって、上記のとおり、入金トランザクションデータの検証者(ノード)は、入金トランザクションデータに含まれる「送金元装置の公開鍵」を用いて電子署名データを検証することで、入金トランザクションデータに対する改竄の有無や、いわゆる「なりすまし」の有無を確認することができる。
【0061】
「入金部処理番号」とは、送金処理を識別することが可能な任意の情報である。例えば、入金部処理番号は、入金部120において送金処理が発生した際のタイムスタンプ、または、送金処理の度に所定の値だけ増加される通し番号(例えば、送金処理の度に1ずつ増加される通し番号)等であってもよい。入金トランザクションデータに入金部処理番号が含まれ、かつ、電子署名が付されることによって、入金トランザクションデータの検証者(ノード)は、二重送金を検知することができる。二重送金とは、例えば、送金者が、何らかの方法によって複数の送金処理を行うことで、送金元装置100への入金額を超える金額を送金することを指す。
【0062】
「出金額」は、入金部120によって計数された入金額に関する情報である。また、「仲介アドレス」は、後述する受金処理において、受金の元となる入金トランザクションデータが存在するか否か等の確認に用いられる情報である。詳細については後述する。
【0063】
なお、上記では、入金トランザクションデータの「入力」および「出力」が、例えば、ビットコイン(登録商標)のトランザクションデータにおける「入力」および「出力」に対応する概念である旨を説明したが、これに限定されることはない。また、
図3および
図4を参照して説明した「入力」および「出力」の内容は適宜変更され得る。
【0064】
生成部130は、
図3および
図4を参照して説明した入金トランザクションデータを生成した後、当該データを後述する確認部140に提供する。
【0065】
(確認部140)
確認部140は、生成部130から提供された入金トランザクションデータをブロックチェーンネットワーク300に投入する通信部として機能し、かつ、送金取引の成立を確認する。より具体的に説明すると、確認部140は、ブロックチェーンネットワーク300に接続するインターフェースを備えており、当該インターフェースを介して入金トランザクションデータをブロックチェーンネットワーク300に投入する。入金トランザクションデータの投入後、ブロックチェーンネットワーク300に接続している複数の検証者(ノード)が入金トランザクションデータの検証および承認を行う。
【0066】
ここで、入金トランザクションデータの検証および承認とは、例えば、上記で説明したビットコイン(登録商標)における「マイニング(または採掘)」に相当する処理であり得る。すなわち、複数のノードのうち最も早くマイニングに成功したノードが、新たな入金トランザクションデータを含むブロックをブロックチェーンデータに追加し、追加後のブロックチェーンデータをブロックチェーンネットワーク300に送信することによって各ノードに追加後のブロックチェーンデータを共有する。これらの処理によって送金取引が成立する。
【0067】
そして、確認部140は、入金トランザクションデータをブロックチェーンネットワーク300に投入してから送金取引が成立するまでの進捗状況を確認する。ここで、確認部140による進捗状況の確認方法は任意である。例えば、確認部140は、ブロックチェーンネットワーク300から入金トランザクションデータに対する検証処理または承認処理の進捗状況についての情報を含む取引履歴情報を取得し、当該情報に基づいて進捗状況を確認してもよい。また、外部装置(図示なし)がブロックチェーンネットワーク300から取引履歴情報を取得し、当該情報に基づいて確認した進捗状況を所定の方法で確認部140に通知してもよい。
【0068】
また、確認部140は、所定のユーザインターフェース(図示なし)を備えることで、当該ユーザインターフェースを介して送金取引の進捗状況等を送金者に提示する第2の提示部として機能してもよい。ここで、確認部140が送金者に通知する情報は任意である。例えば、確認部140は、送金取引の進捗状況だけでなく、送金取引が成立するまでの予定時間、送金取引の完了またはエラーの発生等を送金者に通知してもよい。
【0069】
また、確認部140が備えるユーザインターフェースは任意である。例えば、確認部140は、ディスプレイを備え、当該ディスプレイに上記の各種情報を表示させることで送金者に各種情報を通知してもよい。また、確認部140は、印刷機能を備え、上記の各種情報を紙媒体等に印刷することで送金者に各種情報を通知してもよい。また、確認部140は、通信部(図示なし)を備え、所定のタイミング(例えば、送金取引が完了したタイミング、受金者による受金取引が完了したタイミングまたは所定の時間間隔等)に上記の各種情報を送金者の端末(図示なし)に送信することで送金者に各種情報を通知してもよい。なお、通信部を介して各種情報が送金者に通知される場合、送金者の端末情報(例えば、メールアドレス等)は入金トランザクションデータに対応付けられて管理されていることとする。
【0070】
(3−2.送金先装置200の機能構成)
上記では、本実施形態に係る送金元装置100の機能構成について説明した。続いて、
図5を参照して、本実施形態に係る送金先装置200の機能構成について説明する。
図5は、本実施形態に係る送金先装置200の機能構成を示すブロック図である。
【0071】
図5に示すように、本実施形態に係る送金先装置200は、入力部210と、生成部220と、確認部230と、出金部240と、を備える。
【0072】
(入力部210)
入力部210は、仲介アドレスの生成元となる公開鍵および、当該仲介アドレスから出金するために用いられるパスワードを取得する取得部(または第2の取得部)として機能する。ここで、仲介アドレスとは、上記で説明した公開鍵から生成されるアドレス情報であり、パスワードとは、仲介アドレスの生成元となる公開鍵とペアの秘密鍵(または秘密鍵に対応する情報)である。受金者は、送金先装置200に対して受金のための各種操作を行うにあたり、予め、送金者から仲介アドレスの生成元となる公開鍵およびパスワードに関する情報を取得していることとする。当該情報の形式は任意である。例えば、仲介アドレスの生成元となる公開鍵およびパスワードは二次元バーコードに変換されていてもよい。受金者がこれらの情報を送金者から取得する方法も任意である。例えば、受金者は、メール等の手段を用いてこれらの情報を送金者から取得してもよい。
【0073】
また、入力部210がこれらの情報を取得する方法も任意である。例えば、入力部210は、所定のユーザインターフェースを備え、受金者の操作によって仲介アドレスの生成元となる公開鍵およびパスワードを取得してもよい。より具体的には、入力部210は、キーボード、キーパッド、タッチパネルまたは操作ボタン等を備え、受金者がこれらのデバイスに対して仲介アドレスの生成元となる公開鍵およびパスワードを入力する操作を行うことによって入力部210がこれらの情報を取得してもよい。また、入力部210が、各種コードリーダー(二次元バーコードリーダー、バーコードリーダー)等を備え、受金者がこれらのデバイスに対して、仲介アドレスの生成元となる公開鍵およびパスワードを表す各種コードを読み込ませる操作を行うことによって入力部210がこれらの情報を取得してもよい。また、入力部210が近距離無線通信を行う通信機能を有しており、受金者が仲介アドレスの生成元となる公開鍵およびパスワードを記憶している所定のデバイス(スマートフォン、ICカード等)を入力部210にかざすことによって入力部210が近距離無線通信を行い、所定のデバイスからこれらの情報を取得してもよい。
【0074】
また、入力部210は、秘密鍵としてのパスワードのみを上記の方法で取得し、当該パスワードとシステム既定のパラメータを用いて仲介アドレスの生成元となる公開鍵を算出することで当該公開鍵を取得してもよい。入力部210は、取得した仲介アドレスの生成元となる公開鍵およびパスワードを後述する生成部220に提供する。
【0075】
(生成部220)
生成部220は、仲介アドレスから出金を行うための出金データであるトランザクションデータ(以降、便宜的に「出金トランザクションデータ」と呼称する)を生成する出金データ生成部として機能する。より具体的に説明すると、生成部220は、入力部210から提供された仲介アドレスの生成元となる公開鍵およびパスワードに基づいて出金トランザクションデータを生成する。
【0076】
ここで、
図6および
図7を参照して、出金トランザクションデータの一例について説明する。
図6は、本実施形態に係る出金トランザクションデータの概要を示す図である。また、
図7は、本実施形態に係る出金トランザクションデータのデータフォーマットの一例を示す図である。
【0077】
図6に示すように、入金トランザクションデータと同様に、出金トランザクションデータには「入力(「インプット」とも呼称する)」「出力(「アウトプット」とも呼称する)」という概念が存在する。本実施形態に係る「入力」は、例えば、ビットコイン(登録商標)のトランザクションデータにおける「入力」に対応する概念であり、仲介アドレスに関する情報および入金額に関する情報を含む。例えば
図6に示すように、「入力」は、「仲介アドレス(仲介アドレスに関する情報)に1万円(入金額に関する情報)入金あり」という情報を含む。
【0078】
一方、本実施形態に係る「出力」は、例えば、ビットコイン(登録商標)のトランザクションデータにおける「出力」に対応する概念であり、送金先装置200に関する情報および送金額に関する情報を含む。例えば
図6に示すように、「出力」は、「送金先装置(送金先装置200に関する情報)に1万円(送金額に関する情報)送金」という情報を含む。
【0079】
また、生成部220は、入力部210から提供された秘密鍵としてのパスワードを用いて電子署名データを生成し、
図6に示すように、当該電子署名データを出金トランザクションデータに含める。これによって、出金トランザクションデータの検証者(ノード)は、仲介アドレスの生成元となる公開鍵を用いて電子署名データを検証することで、出金トランザクションデータに対する改竄の有無や、いわゆる「なりすまし」の有無を確認することができる。
【0080】
また、
図7に示すように、入金トランザクションデータと同様に、出金トランザクションデータは、「入力」フィールドおよび「出力」フィールドを含む。「入力」フィールドは、
図6における「入力」に対応するデータ項目であり、
図7に示すように、「参照元のトランザクション識別情報」と、「電子署名」と、「仲介アドレスの生成元となる公開鍵」と、を含む。「出力」フィールドは、
図6における「出力」に対応するデータ項目であり、
図7に示すように、「出金額」と、「送金先装置のアドレス」と、を含む。
【0081】
「電子署名」とは、上記のとおり、秘密鍵としてのパスワードによって生成された電子署名データである。これによって、上記のとおり、出金トランザクションデータの検証者(ノード)は、出金トランザクションデータに含まれる「仲介アドレスの生成元となる公開鍵」を用いて電子署名データを検証することで、出金トランザクションデータに対する改竄の有無や、いわゆる「なりすまし」の有無を確認することができる。
【0082】
「参照元のトランザクション識別情報」とは、当該受金処理の元となる入金トランザクションデータ(以降、便宜的に「参照元の入金トランザクションデータ」と呼称する)を識別する情報である。換言すると、「参照元のトランザクション識別情報」は、受金者がいずれの入金トランザクションデータに基づいて受金を行おうとしているかを示す情報である。仮に、参照元の入金トランザクションデータがブロックチェーンデータ中に存在しない場合には、出金トランザクションデータは承認されない。
【0083】
「参照元のトランザクション識別情報」は、受金処理の元となる入金トランザクションデータを識別することができれば任意の情報であってよい。例えば、「参照元のトランザクション識別情報」は、参照元の入金トランザクションデータ全体のハッシュ値であってもよい。より具体的には、生成部220は、入力部210から提供された仲介アドレスの生成元となる公開鍵を用いて、仲介アドレス(当該公開鍵のハッシュ値)を算出し、当該ハッシュ値と同一の値が「出力」フィールドに含まれる入金トランザクションデータをブロックチェーンデータ中で探索する。
【0084】
仲介アドレスと同一の値が「出力」フィールドに含まれる入金トランザクションデータがブロックチェーンデータにおいて発見されることに基づいて、送金先装置200は、受金処理の元となる入金トランザクションデータが正しく存在することを確認することができる。そして、生成部220は、ブロックチェーンデータにおいて見つけられた参照元の入金トランザクションデータ全体のハッシュ値を算出し、当該ハッシュ値を「参照元のトランザクション識別情報」に用いる。なお、上記はあくまで一例であるため、「参照元のトランザクション識別情報」に設定される情報は適宜変更され得る。
【0085】
「出金額」は、受金者が受取ろうとする金額に関する情報である。「出金額」には、参照元の入金トランザクションデータに含まれる「出金額」以下の金額が指定される。例えば、出金トランザクションデータの「出金額」には、参照元の入金トランザクションデータに含まれる「出金額」と同一の金額が指定されてもよいし、参照元の入金トランザクションデータに含まれる「出金額」から送金手数料が差し引かれた後の金額が指定されてもよい。ここで、送金手数料は、例えば、各トランザクションに対する検証処理または承認処理を行った検証者(ノード)へ報酬として支払われる手数料を想定するがこれに限定されない。
【0086】
「送金先装置のアドレス」は、受金処理が行われる送金先装置200を識別する情報(以降、便宜的に「送金先装置200のアドレス」と呼称する)である。当該情報は、送金先装置のアドレス毎の公開鍵から生成され公開鍵を特定可能な識別情報であり、例えば、公開鍵を入力として生成されたハッシュ値である。また当該情報は、送金先装置の公開鍵から生成される情報であるため、「送金先装置のアドレス」に設定されている情報に基づいて、特定の送金先装置への受金処理であることが識別され得る。
【0087】
生成部220は、
図6および
図7を参照して説明したような出金トランザクションデータを生成した後、当該データを後述する確認部230に提供する。
【0088】
(確認部230)
確認部230は、生成部220から提供された出金トランザクションデータをブロックチェーンネットワーク300に投入する通信部として機能し、かつ、受金取引の成立を確認する。より具体的に説明すると、確認部230は、ブロックチェーンネットワーク300に接続するインターフェースを備えており、当該インターフェースを介して出金トランザクションデータをブロックチェーンネットワーク300に投入する。出金トランザクションデータの投入後、ブロックチェーンネットワーク300に接続している複数の検証者(ノード)が出金トランザクションデータの検証および承認を行う。
【0089】
ここで、出金トランザクションデータの検証および承認とは、上記で説明した入金トランザクションデータの検証および承認と同様であり得るため、説明を省略する。なお、これはあくまで一例であるため、出金トランザクションデータの検証および承認は、入金トランザクションデータの検証および承認と同様でなくてもよく、適宜変更され得る。
【0090】
そして、確認部230は、出金トランザクションデータをブロックチェーンネットワーク300に投入してから受金取引が成立するまでの進捗状況を確認する。また、確認部230は、当該進捗状況を受金者に提示する提示部として機能してもよい。受金取引が成立するまでの進捗状況の確認方法および受金者への提示方法は、上記で説明した送金元装置100の確認部140による確認方法および送金者への提示方法と同様であり得るため、説明を省略する。
【0091】
受金取引が成立した場合、確認部230は、出金トランザクションデータに含まれる出金額に関する情報を後述する出金部240に提供する。
【0092】
(出金部240)
出金部240は出金処理を行う。より具体的に説明すると、出金部240は、受金取引が成立した場合に確認部230から提供される出金額に関する情報に基づいて、当該出金額と同一額の現金を払い出す。これによって、受金者は送金者からの送金を現金で受け取ることができる。出金部240は、例えば、ATMの紙幣取り出し口または硬貨取り出し口から現金を払い出す構成と同様であり得るが、これに限定されない。
【0093】
<4.各装置の動作>
上記では、本実施形態に係る各装置の機能構成について説明した。続いて、本実施形態に係る各装置の動作について説明する。
【0094】
(4−1.送金元装置100による動作)
まず、
図8を参照して、本実施形態に係る送金元装置100による動作について説明する。
図8は、本実施形態に係る送金元装置100による動作を示すフローチャートである。
【0095】
図8を参照して説明を行う前提として、送金者は、送金に利用する仲介アドレスと、当該仲介アドレスの生成元となる公開鍵とペアとなる秘密鍵を事前に作成し、例えば、二次元バーコードに変換して保持しているとする。なお、当該前提条件はあくまで一例であり、適宜変更され得る。
【0096】
まず、
図8のステップS1000では、送金元装置100の入力部110が仲介アドレスを取得する。より具体的には、送金者が二次元バーコードを入力部110に備えられた二次元バーコードリーダーにかざすことによって、入力部110が仲介アドレスを取得する。ステップS1004では、入金部120が入金額の計数を行う。より具体的には、送金者が入金部120に対して紙幣または硬貨を投入し、入金部120は当該紙幣または硬貨の合計金額を計数する。
【0097】
ステップS1008では、生成部130が入金トランザクションデータを生成する。より具体的には、生成部130が、入金部120から提供された入金額に関する情報および入力部110から提供された仲介アドレスに基づいて入金トランザクションデータを生成する。ステップS1012では、確認部140が、入金トランザクションデータをブロックチェーンネットワーク300に投入する。
【0098】
ステップS1016では、確認部140が送金取引の成立を確認する。送金取引が成立した場合には(ステップS1020/Yes)、処理が終了し(送信取引が成立した旨が送金者に通知されてもよい)、送金取引が成立しなかった場合には(ステップS1020/No)、ステップS1024にて、確認部140が、エラーが発生した旨を送金者に通知して処理が終了する。以上が送金元装置100による動作の一例である。
【0099】
(4−2.送金先装置200による動作)
続いて、
図9を参照して、本実施形態に係る送金先装置200による動作について説明する。
図9は、本実施形態に係る送金先装置200による動作を示すフローチャートである。
【0100】
図9を参照して説明を行う前提として、受金者は、受金に利用する仲介アドレスの生成元となる公開鍵と、当該公開鍵とペアとなる秘密鍵としてのパスワードを、事前に取得する。受金者がこれらの情報を取得する方法は任意である。例えば、受金者は、送金者からこれらの情報が変換された二次元バーコード等をメール等の手段を用いて取得してもよい。
【0101】
まず、
図9のステップS1100では、送金先装置200の入力部210が仲介アドレスの生成元となる公開鍵およびパスワードを取得する。より具体的には、受金者が二次元バーコードを入力部210に備えられた二次元バーコードリーダーにかざすことによって、入力部210が仲介アドレスの生成元となる公開鍵およびパスワードを取得する。ステップS1104では、生成部220が、入力部210から提供された仲介アドレスの生成元となる公開鍵およびパスワードに基づいて出金トランザクションデータを生成する。
【0102】
ステップS1108では、確認部230が、出金トランザクションデータをブロックチェーンネットワーク300に投入する。ステップS1112では、確認部230が受金取引の成立を確認する。受金取引が成立した場合には(ステップS1116/Yes)、ステップS1120にて、出金部240が、出金トランザクションデータに含まれる出金額と同一額の現金を払い出して、処理が終了する。受金取引が成立しない場合には(ステップS1116/No)、ステップS1124にて、確認部230が、エラーが発生した旨を受金者に通知して処理が終了する。以上が送金先装置200による動作の一例である。
【0103】
図8および
図9を参照して説明した動作によって、送金者および受金者が相互に個人情報を公開することなく、かつ、第三者機関に対しても個人情報を公開することなく送金および受金を行うことができる。
【0104】
<5.各装置のハードウェア構成>
図10は、本実施形態に係る送金元装置100および送金先装置200のハードウェア構成を示すブロック図である。本実施形態に係る送金元装置100および送金先装置200は、例えば、
図10に示す現金自動預け払い機900によって具現される。
【0105】
図10に示すように、現金自動預け払い機900は、操作表示部901と、カード読取部902と、紙幣入出金部903と、硬貨入出金部904と、通帳記帳部905と、レシート印字部906と、制御部907と、インターフェース部908と、スピーカ909と、記憶部910と、を備える。
【0106】
操作表示部901は、利用者による操作の誘導画面を表示する表示機能および利用者による操作を検出する操作検出機能を兼ね備える。なお、操作検出機能を実現する方式は、抵抗膜方式または赤外線方式であってもよい。操作表示部901は、例えば、送金元装置100の入力部110もしくは確認部140、または送金先装置200の入力部210もしくは確認部230の一部を具現し得る。
【0107】
スピーカ909は、利用者に操作を案内する音声、およびビープ音などを出力する。例えば、スピーカ909は、磁気カードの挿入を案内する音声、出金された紙幣、排出された磁気カードおよびレシートなどの取り忘れを防ぐためのビープ音などを出力する。スピーカ909は、例えば、送金元装置100の確認部140、または送金先装置200の確認部230の一部を具現し得る。
【0108】
インターフェース部908は、ブロックチェーンネットワーク300と接続され、ブロックチェーンネットワーク300に対して各種情報を通信する。例えば、インターフェース部908は、入金トランザクションデータまたは出金トランザクションデータをブロックチェーンネットワーク300に対して送信する。インターフェース部908は、例えば、送金元装置100の確認部140、または送金先装置200の確認部230の一部を具現し得る。
【0109】
カード読取部902は、カード挿入排出口から挿入された利用者の磁気カードに記録された磁気情報を読み取る。磁気情報は、例えば、口座番号および口座種別などを示す情報を含んでもよい。なお、カード挿入排出口およびカード読取部902は適宜省略され得る。
【0110】
紙幣入出金部903は、紙幣の搬送路、紙幣カセットおよび紙幣の正当性を認識する構成などを有する。入金時に紙幣口に投入された紙幣は、正当性が認識された場合、金種に応じた紙幣カセットに搬送される。また、出金時には、紙幣カセットから紙幣が分離され、分離された紙幣の正当性が認識された場合に紙幣が搬送される。紙幣入出金部903は、例えば、送金元装置100の入金部120、または送金先装置200の出金部240の一部を具現し得る。
【0111】
硬貨入出金部904は、硬貨の搬送路、硬貨カセットおよび硬貨の正当性を認識する構成などを有する。入金時に硬貨口に投入された硬貨は、正当性が認識された場合、金種に応じた硬貨カセットに搬送される。また、出金時には、硬貨カセットから硬貨が繰り出され、繰り出された硬貨の正当性が認識された場合に硬貨口に硬貨が搬送される。硬貨入出金部904は、例えば、送金元装置100の入金部120、または送金先装置200の出金部240の一部を具現し得る。
【0112】
通帳記帳部905は、磁気ヘッド、ページ送り部および印字部などを含み、通帳挿入口から挿入された通帳に記帳を行う。例えば、通帳挿入口から通帳が挿入されると、通帳のカバー紙に形成された磁気ストライプから磁気ヘッドが磁気情報を読み出す。また、ページ送り部が通帳の記入ページを開き、印字部が通帳の記入ページに取引情報を印字する。なお、通帳挿入口および通帳記帳部905は適宜省略され得る。
【0113】
レシート印字部906は、レシートロール、サーマルヘッドおよびカッタなどを含み、取引の明細情報が印字されたレシートを作成する。例えば、利用者の指定した取引が実行されると、レシートロールから分離された連続紙にサーマルヘッドが取引の明細情報を印字し、明細情報が印字された領域をカッタが連続紙から切り離すことにより、レシートが作成される。レシート印字部906は、例えば、送金元装置100の確認部140、または送金先装置200の確認部230の一部を具現し得る。
【0114】
記憶部910は、現金自動預け払い機900の動作のために用いられる各種情報を記憶する記憶媒体であり、ハードディスクまたはメモリにより構成される。例えば、記憶部910は、制御部907が操作表示部901、カード読取部902、紙幣入出金部903、硬貨入出金部904、通帳記帳部905、レシート印字部906、およびインターフェース部908などを制御するためのプログラムを記憶する。
【0115】
制御部907は、現金自動預け払い機900の動作全般を制御する。例えば、制御部907は、操作表示部901、カード読取部902、紙幣入出金部903、硬貨入出金部904、通帳記帳部905、レシート印字部906、スピーカ909、およびインターフェース部908の各々の動作を制御する。制御部907は、例えば、送金元装置100の入力部110、入金部120、生成部130もしくは確認部140、または送金先装置200の入力部210、生成部220、確認部230もしくは出金部240の一部を具現し得る。
【0116】
<6.むすび>
以上で説明してきたように、本実施形態に係る送金元装置100および送金先装置200は共にブロックチェーンネットワーク300に接続する。そして、送金者は、現金を送金元装置100に投入し、送金元装置100は、送金を仲介する仲介アドレスを用いて入金トランザクションデータを生成し、当該データをブロックチェーンネットワーク300に投入することで送金取引を成立させる。一方、送金先装置200は、仲介アドレスの生成元となる公開鍵およびパスワードを用いて出金トランザクションデータを生成し、当該データをブロックチェーンネットワーク300に投入し受金取引を成立させることで、受金者が現金を受け取る。
【0117】
これによって、送金者および受金者が相互に個人情報を公開することなく、かつ、第三者機関に対しても個人情報を公開することなく現金の授受を行うことができる。また、受金者は、送金取引が成立した後であれば、任意のタイミングで受金処理を行うことができる。また、送金処理および受金処理には任意の送金元装置100および任意の送金先装置200が利用され得るため、送金者および受金者は、地理的に離れた場所にいても送金および受金を行うことができる。また、ブロックチェーンネットワーク300が利用されることによって、中央管理者なしでも二重送金等の不正が効果的に防止され得る。
【0118】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0119】
例えば、上記の実施形態では、送金システムが送金元装置100および送金先装置200によって構成されていたが、これに限定されない。より具体的には、上記のような送金処理および受金処理が可能な装置であれば、当該装置が単独で送金システムを構成してもよい。
【0120】
また、上記では、仲介アドレス、仲介アドレスの生成元となる公開鍵、および、ペアとなる秘密鍵としてのパスワードは、送金者(または送金元装置100)によって生成される旨について説明したが、これに限定されない。例えば、仲介アドレス、仲介アドレスの生成元となる公開鍵、および、ペアとなる秘密鍵は、受金者(または送金先装置200)によって生成された後に、送金者に通知されてもよい。
【0121】
また、上記では、入金トランザクションデータおよび出金トランザクションデータにおける「入力」フィールドおよび「出力」フィールドには、それぞれ一つの仲介アドレスまたは一つの装置のアドレス等が含まれていたが、これに限定されない。例えば、入金トランザクションデータの「出力」フィールドに複数の仲介アドレスとそれぞれの仲介アドレスに対する出金額が設定されてもよいし、出金トランザクションデータの「入力」フィールドに参照元である入金トランザクションデータが複数個設定されてもよい。また、各トランザクションの「出力」フィールドに、既定のアドレスが設定されることによって当該既定のアドレスを介して送金手数料が徴収されてもよい。
【0122】
また、本実施形態に係る各装置の動作における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、送金元装置100または送金先装置200の動作における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【0123】
また、送金元装置100の構成の一部は、適宜送金元装置100外に設けられ得る。同様に、送金先装置200の構成の一部は、適宜送金先装置200外に設けられ得る。
【0124】
また、送金元装置100の機能の一部が、送金元装置100に備えられた制御部(図示なし)によって具現されてもよい。例えば、送金元装置100に備えられた制御部が入力部110、入金部120、生成部130または確認部140の機能の一部を具現してもよい。同様に、送金先装置200の機能の一部が、送金先装置200に備えられた制御部(図示なし)によって具現されてもよい。例えば、送金先装置200に備えられた制御部が入力部210、生成部220、確認部230または出金部240の機能の一部を具現してもよい。