(57)【要約】【課題】仮想通貨を使用した取引の待ち時間を低減可能な取引システムを提供すること。【解決手段】取引システム１０は、利用者システム６０と通信可能に接続されている。取引システム１０は、記憶装置５０を備えている。記憶装置５０には、利用者システム６０の取引口座５３が記憶されている。取引システム１０は、利用者システム６０から、取引口座５３からの１回目の送金依頼を受信すると、送金依頼に応じて、送金を記憶した１回目のトランザクション８８を仮想通貨ネットワーク８０にブロードキャストする。取引システム１０は、１回目のトランザクション８８をブロードキャストした後に、利用者システム６０から、取引口座５３からの２回目の送金依頼を受信すると、１回目の送金依頼による送金が確定しているか否かに拘わらず、２回目の送金依頼に応じて、送金を記憶した２回目のトランザクション８８を仮想通貨ネットワーク８０にブロードキャストする。【選択図】図２
2020177377.tif 000002
【特許請求の範囲】
【請求項１】
仮想通貨の送金を含む取引のための取引システムであって、
前記仮想通貨の前記送金は、前記送金を記憶したトランザクションが仮想通貨ネットワークにブロードキャストされて前記仮想通貨ネットワークのブロックに取り込まれ、前記ブロックが前記仮想通貨ネットワークのブロックチェーンに接続された後に確定し、
前記取引システムは、１以上の利用者システムと通信可能に接続されており、前記利用者システムから、前記仮想通貨の口座からの前記送金の依頼である送金依頼を受信可能であり、
前記取引システムは、前記利用者システムから、前記口座である所定口座からの前記送金依頼である所定送金依頼を受信すると、前記所定送金依頼に応じて、前記送金を記憶した前記トランザクションである所定トランザクションを前記仮想通貨ネットワークにブロードキャストし、
前記取引システムは、前記所定トランザクションに多重署名を施してブロードキャストした場合、その後に、前記利用者システムから、前記所定口座からの前記送金依頼である後続送金依頼を受信すると、前記所定送金依頼による前記送金が確定しているか否かに拘わらず、前記後続送金依頼に応じて、前記送金を記憶した前記トランザクションを前記仮想通貨ネットワークにブロードキャストする
取引システム。
【請求項２】
請求項１記載の取引システムであって、
前記取引システムは、前記利用者システムに最低手数料を送信し、
前記最低手数料は、前記トランザクションが前記ブロックに取り込まれる際の手数料の基準を示すものである
取引システム。
【請求項３】
請求項２記載の取引システムと通信可能に接続された利用者システムであって、
前記利用者システムは、前記送金依頼において、前記報奨金額として前記最低手数料が指定された前記トランザクションを前記取引システムに送信する
利用者システム。
【請求項４】
コンピュータを、請求項３記載の利用者システムとして機能させるためのプログラム。
【請求項５】
請求項２記載の取引システムであって、
前記利用者システムは、前記送金依頼において前記手数料を指定でき、
前記取引システムは、指定された前記手数料が手数料条件を満たす場合、前記送金依頼に応じて前記トランザクションをブロードキャストする
取引システム。
【請求項６】
請求項１、請求項２又は請求項５記載の取引システムであって、
前記取引システムは、前記ブロックチェーンに接続された前記ブロックが失われた場合、失われた前記ブロックに記憶されていた前記トランザクションを再度ブロードキャストする
取引システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散型仮想通貨を取引するための取引システムに関する。
【背景技術】
【０００２】
例えば、非特許文献１には、ブロックチェーン技術に基づく仮想通貨（即ち、分散型仮想通貨：以下、単に「仮想通貨」という。）の取引に関する技術が開示されている。
【０００３】
非特許文献１に記載されているように、仮想通貨の取引は、仮想通貨ネットワークのブロックチェーンに記憶される。詳しくは、仮想通貨を取引する際、取引を記憶したトランザクションが仮想通貨ネットワークにブロードキャストされる。１以上の取引によって１以上のトランザクションがブロードキャストされる。この１以上のトランザクションは、１つのブロックに纏められてブロックチェーンに接続される。トランザクションに記憶された取引は、ブロックチェーンへのブロックの接続が承認されることで確定する。非特許文献１によれば、トランザクションのブロードキャストから取引の確定までには、３０分〜１時間程度の時間を要する。
【０００４】
例えば、利用者Ａが仮想通貨の口座αから利用者Ｂの口座βに仮想通貨を送金するという取引を想定すると、取引（送金）を記憶したトランザクションのブロードキャストから送金の確定までの間、口座αの残金が確定しない。このため、利用者Ａが口座αから次の送金を行うためには、３０分〜１時間程度待たなければならない。即ち、仮想通貨の２回の送金の間には、３０分〜１時間程度の待ち時間が生じる。
【０００５】
特許文献１には、このような待ち時間を低減するための技術が開示されている。特許文献１に開示された技術によれば、仮想通貨の口座である外部口座と対応する内部口座を設け、内部口座によってブロックチェーンを使用しないリアルタイムな取引を行う。また、内部口座による取引とは非同期な所定のタイミングで、外部口座の残金を内部口座の残金に一致させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１８−０８８０７６号公報
【非特許文献】
【０００７】
【非特許文献１】岡田仁志，外２名「仮想通貨  技術・法律・制度」、東洋経済新報社、２０１５年６月１１日
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の技術によれば、リアルタイムな取引において使用されるのは、仮想通貨によって担保された価値であり仮想通貨ではない。即ち、特許文献１に開示された技術は、仮想通貨を使用した取引の待ち時間を低減するための技術ではない。
【０００９】
そこで、本発明は、仮想通貨を使用した取引の待ち時間を低減可能な取引システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、第１の取引システムとして、
仮想通貨の送金を含む取引のための取引システムであって、
前記仮想通貨の前記送金は、前記送金を記憶したトランザクションが仮想通貨ネットワークにブロードキャストされて前記仮想通貨ネットワークのブロックに取り込まれ、前記ブロックが前記仮想通貨ネットワークのブロックチェーンに接続された後に確定し、
前記取引システムは、１以上の利用者システムと通信可能に接続されており、前記利用者システムから、前記仮想通貨の口座からの前記送金の依頼である送金依頼を受信可能であり、
前記取引システムは、前記利用者システムから、前記口座である所定口座からの前記送金依頼である所定送金依頼を受信すると、前記所定送金依頼に応じて、前記送金を記憶した前記トランザクションである所定トランザクションを前記仮想通貨ネットワークにブロードキャストし、
前記取引システムは、前記所定トランザクションに多重署名を施してブロードキャストした場合、その後に、前記利用者システムから、前記所定口座からの前記送金依頼である後続送金依頼を受信すると、前記所定送金依頼による前記送金が確定しているか否かに拘わらず、前記後続送金依頼に応じて、前記送金を記憶した前記トランザクションを前記仮想通貨ネットワークにブロードキャストする
取引システムを提供する。
【００１１】
また、本発明は、第２の取引システムとして、第１の取引システムであって、
前記取引システムは、前記利用者システムに最低手数料を送信し、
前記最低手数料は、前記トランザクションが前記ブロックに取り込まれる際の手数料の基準を示すものである
取引システムを提供する。
【００１２】
また、本発明は、第１の利用者システムとして、第２の取引システムと通信可能に接続された利用者システムであって、
前記利用者システムは、前記送金依頼において、前記報奨金額として前記最低手数料が指定された前記トランザクションを前記取引システムに送信する
利用者システムを提供する。
【００１３】
また、本発明は、第１のプログラムとして、
コンピュータを、第１の利用者システムとして機能させるための
プログラムを提供する。
【００１４】
また、本発明は、第３の取引システムとして、第２の取引システムであって、
前記利用者システムは、前記送金依頼において前記手数料を指定でき、
前記取引システムは、指定された前記手数料が手数料条件を満たす場合、前記送金依頼に応じて前記トランザクションをブロードキャストする
取引システムを提供する。
【００１５】
また、本発明は、第４の取引システムとして、第１から第３までのいずれかの取引システムであって、
前記取引システムは、前記ブロックチェーンに接続された前記ブロックが失われた場合、失われた前記ブロックに記憶されていた前記トランザクションを再度ブロードキャストする
取引システムを提供する。
【発明の効果】
【００１６】
本発明によれば、取引システムは、所定送金依頼に応じてトランザクションをブロードキャストした後に、後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼を受け付ける。従って、利用者は、先立つ送金の確定を待つことなく、引き続き送金できる。本発明によれば、仮想通貨を使用した取引の待ち時間を低減可能な取引システムを提供できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態による取引システム及び利用者システムのネットワークを示す図である。
【図２】図１の取引システムの一例を、利用者システムの一例及び仮想通貨ネットワークの模式的な構造と共に示す図である。
【図３】図２の利用者システムが有する利用者鍵のデータ構造の一例を示す図である。
【図４】図２の取引システムが有する利用者情報のデータ構造の一例を示す図である。利用者システムとの関係を破線で示している。
【図５】図２の取引システムが有する取引口座のデータ構造の一例を示す図である。利用者システムの口座アドレスとの関係及び利用者情報の利用者特定データとの関係を破線で示している。
【図６】図２の取引システムが有する預かり鍵のデータ構造の一例を示す図である。利用者システムの口座アドレス及び第１秘密鍵との関係を破線で示している。
【図７】図２の仮想通貨ネットワークにブロードキャストされるトランザクションのデータ構造を部分的且つ模式的に示す図である。
【図８】図７のトランザクションの具体的な一例を示す図である。
【図９】図２の仮想通貨ネットワークにおけるブロックのデータ構造を部分的且つ模式的に示す図である。
【図１０】図２の取引システムが有する手数料情報のデータ構造の一例を示す図である。
【図１１】図２の仮想通貨ネットワークにおけるブロックチェーンの分岐を示す図である。
【図１２】図２の取引システム、利用者システム及び仮想通貨ネットワークの間で行われる処理を示す図である。
【図１３】図１２の取引システムの手数料管理サーバの処理を示すフローチャートである。
【図１４】図１２の取引システムの取引サーバの処理を示すフローチャートである。
【図１５】図１２の取引システムのリトライサーバの処理を示すフローチャートである。
【図１６】図１２の利用者システムの処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
図１及び図２を参照すると、本発明の実施の形態における取引システム１０は、ブロックチェーン技術に基づく仮想通貨（即ち、分散型仮想通貨：以下、単に「仮想通貨」という。）を取引するためのシステムである。取引システム１０における仮想通貨の取引は、少なくとも仮想通貨の送金を含んでいる。即ち、取引システム１０は、仮想通貨の送金を含む取引のための取引システムである。
【００１９】
図１を参照すると、取引システム１０は、様々な通信手段を介して、１以上の利用者システム６０と通信可能に接続されている。取引システム１０と利用者システム６０とを互いに接続する通信手段は、特に限定されない。例えば、利用者システム６０は、光ファイバー（図示せず）やメタルファイバー（図示せず）等の通信線を組み合わせた有線通信網９２によって取引システム１０と通信可能に接続されていてもよいし、基地局（図示せず）によって制御される無線通信網９４を介して取引システム１０と通信可能に接続されていてもよい。有線通信網９２及び無線通信網９４は、インターネットの一部であってもよい。また、取引システム１０及び利用者システム６０は、同一組織内のシステムであってもよい。この場合、利用者システム６０は、ＬＡＮ（Local Area Network）９６によって取引システム１０と通信可能に接続されていてもよい。
【００２０】
図２を参照すると、本実施の形態の利用者システム６０は、取引端末６０Ｔを備えている。取引端末６０Ｔは、利用者によって操作されるコンピュータである。取引端末６０Ｔを操作する利用者は、個人であってもよいし、会社等の組織であってもよい。利用者が個人である場合、取引端末６０Ｔは、例えば、デスクトップＰＣ（Personal Computer）やスマートフォンであってもよい。利用者が組織である場合、利用者システム６０は、複数の様々なサーバコンピュータ（以下、単に「サーバ」という。）から構成されていてもよい。この場合、取引端末６０Ｔは、サーバの操作端末であってもよい。
【００２１】
本実施の形態の取引端末６０Ｔは、取引アプリ６２と、利用者鍵６４と、入力装置６６と、表示装置６８とを備えている。取引アプリ６２は、コンピュータを、利用者システム６０として機能させるためのコンピュータプログラム（以下、単に「プログラム」という。）である。取引アプリ６２は、取引端末６０Ｔの記憶装置（図示せず）に記憶されている。取引アプリ６２は、取引端末６０ＴのＣＰＵ（Central Processing Unit）によって主記憶装置（図示せず）にローディングされた後に実行され、これにより、取引端末６０Ｔは、利用者システム６０として機能する。本実施の形態の取引アプリ６２は、１台の取引端末６０Ｔにインストールされている。但し、本発明は、これに限られない。例えば、取引アプリ６２の様々な機能は、複数のコンピュータに分散してインストールされていてもよい。この場合、取引アプリ６２は、複数のコンピュータを利用者システム６０として機能させてもよい。
【００２２】
利用者鍵６４は、取引端末６０Ｔの記憶装置（図示せず）に記憶されたデータである。取引端末６０Ｔは、利用者鍵６４を１つのみ備えていてもよいし、２以上の利用者鍵６４を備えていてもよい。入力装置６６は、例えば、キーボードやタッチパネルである。表示装置６８は、例えば、液晶画面である。利用者システム６０の利用者は、入力装置６６を使用して取引アプリ６２を操作し、これにより、１以上の利用者鍵６４を使用して仮想通貨の取引を行う。仮想通貨の取引に関する情報は、表示装置６８に適時表示される。
【００２３】
図３を図２と併せて参照すると、本実施の形態において、利用者鍵６４は、第１秘密鍵６４２と、第１公開鍵６４４と、口座アドレス６４６とを含むデータ構造体である。第１秘密鍵６４２及び第１公開鍵６４４は、公開鍵暗号方式における２つの鍵のペアである。第１秘密鍵６４２は、仮想通貨の取引に署名を施すために使用され、第１公開鍵６４４は、署名を検証するために使用される。口座アドレス６４６は、取引対象の仮想通貨の口座を特定するデータであり、一般公開されたアルゴリズムを使用して第１公開鍵６４４から生成されている。例えば、利用者システム６０の利用者が仮想通貨を送金する際、口座アドレス６４６によって、仮想通貨の送金元口座を特定できる。
【００２４】
本実施の形態の利用者鍵６４は、利用者システム６０の内部に記憶されており、上述のデータ構造を有している。但し、本発明は、これに限られない。例えば、利用者鍵６４は、利用者システム６０の外部に記憶されていてもよい。より具体的には、利用者鍵６４は、利用者が所有するＵＳＢ（Universal Serial Bus）メモリに記憶されていてもよい。この場合、利用者システム６０は、公共施設に設置された端末であってもよい。また、口座アドレス６４６は、利用者鍵６４に含まれていなくてもよい。この場合、取引アプリ６２は、必要な都度、第１公開鍵６４４から口座アドレス６４６を生成してもよい。更に、第１秘密鍵６４２及び第１公開鍵６４４は、電子的なデータとして記憶されておらず、第１秘密鍵６４２及び第１公開鍵６４４を記載した紙の書類のみが存在していてもよい。
【００２５】
図２を参照すると、本実施の形態の取引システム１０は、例えば企業等の組織によって運用されるシステムである。取引システム１０は、取引サーバ２０と、手数料管理サーバ３０と、リトライサーバ４０と、記憶装置５０とを備えている。取引サーバ２０、手数料管理サーバ３０及びリトライサーバ４０の夫々は、取引システム１０の運用者によって操作されるコンピュータである。記憶装置５０は、例えば磁気ディスクである。取引サーバ２０、手数料管理サーバ３０及びリトライサーバ４０の夫々は、記憶装置５０と通信可能に接続されている。即ち、取引サーバ２０、手数料管理サーバ３０及びリトライサーバ４０の夫々は、記憶装置５０にデータを書込可能（記憶可能）であり、且つ、記憶装置５０に記憶されたデータを読込可能（取得可能）である。
【００２６】
取引システム１０における取引サーバ２０、手数料管理サーバ３０、リトライサーバ４０及び記憶装置５０の物理的な構造は、特に限定されない。例えば、取引サーバ２０、手数料管理サーバ３０及びリトライサーバ４０の夫々は、１台のコンピュータであってもよいし、２台以上のコンピュータから構成されていてもよい。また、１台のコンピュータが、取引サーバ２０、手数料管理サーバ３０及びリトライサーバ４０の全ての機能を有していてもよい。記憶装置５０は、１台の磁気ディスクであってもよいし、２台以上の磁気ディスクから構成されていてもよい。
【００２７】
記憶装置５０には、取引システム１０が参照する様々なデータ構造体が記憶されている。本実施の形態において、記憶装置５０には、データ構造体として、利用者システム６０と夫々対応する１以上の利用者情報５２と、仮想通貨の取引に使用される１以上の取引口座５３と、利用者システム６０の利用者鍵６４と夫々対応する１以上の預かり鍵５４と、手数料情報５６と、トランザクション保存空間５８とが記憶されている。但し、本発明は、これに限られない。例えば、記憶装置５０には、上述したデータ構造体に加えて、更に別のデータ構造体が記憶されていてもよい。一方、上述したデータ構造体の夫々は、必要に応じて記憶装置５０に記憶すればよい。また、上述したデータ構造体のデータ構造は、以下に説明するデータ構造に限定されず、様々に変形可能である。
【００２８】
図４を図２と併せて参照すると、利用者情報５２には、利用者システム６０と夫々対応する１以上の利用者特定データ５２２と、利用者特定データ５２２と夫々対応する１以上の利用者認証データ５２４とが含まれている。利用者特定データ５２２の夫々は、対応する利用者システム６０を一意に特定可能なデータである。例えば、利用者特定データ５２２の夫々は、対応する利用者システム６０が取引システム１０のアカウントを作成した際の利用者ＩＤ（identifier）やメールアドレスである。利用者認証データ５２４の夫々は、対応する利用者システム６０を認証するためのデータである。利用者認証データ５２４の夫々は、例えば、パスワードであってもよいし、指紋情報等の生体情報であってもよい。
【００２９】
図５を図２と併せて参照すると、取引口座５３には、利用者システム６０の口座アドレス６４６と夫々対応する１以上の口座アドレス５３２と、口座アドレス５３２と夫々対応する１以上の利用者特定データ５３４とが含まれている。口座アドレス５３２の夫々には、対応する口座アドレス６４６と同じデータが記憶されている。利用者特定データ５３４の夫々には、対応する口座アドレス５３２（口座アドレス６４６）を有する利用者システム６０を特定する利用者特定データ５２２と同じデータが記憶されている。
【００３０】
本実施の形態における取引口座５３は、仮想通貨の取引に使用される口座が仮想通貨の取引を行う利用者の正当な口座であるか否かを検証するために使用される。例えば、所定の利用者システム６０（所定利用者システム６０）の利用者が所定の口座アドレス６４６（所定口座アドレス６４６）から仮想通貨を送金しようとした場合、所定口座アドレス６４６が取引口座５３のいずれかの口座アドレス５３２と一致し、且つ、一致した口座アドレス５３２と対応する利用者特定データ５３４が、所定利用者システム６０と対応する利用者特定データ５２２と一致するとき、取引システム１０は、所定口座アドレス６４６が利用者の正当な口座であると判断する。
【００３１】
図６を図２と併せて参照すると、預かり鍵５４には、利用者システム６０の口座アドレス６４６と夫々対応する１以上の口座アドレス５４２と、口座アドレス５４２と夫々対応する１以上の第２秘密鍵５４４とが含まれている。口座アドレス５３２の夫々には、対応する口座アドレス６４６と同じデータが記憶されている。第２秘密鍵５４４は、仮想通貨の取引に多重署名（マルチシグニチャ）を施すための秘密鍵である。例えば、利用者システム６０の利用者が所定の口座アドレス６４６（所定口座アドレス６４６）から仮想通貨を送金しようとした場合、利用者システム６０は、所定口座アドレス６４６と対応した第１秘密鍵６４２を使用して仮想通貨の送金に署名を施し、取引システム１０は、所定口座アドレス６４６と一致する口座アドレス５４２に対応する第２秘密鍵５４４を使用して仮想通貨の送金に更に署名を施す。
【００３２】
上述のように、本実施の形態によれば、仮想通貨の取引に対して、互いと対応する２つの秘密鍵（第１秘密鍵６４２及び第２秘密鍵５４４）を使用したマルチシグニチャが施される。但し、マルチシグニチャを施す方法は、本実施の形態に限られず、様々に変形可能である。また、マルチシグニチャを採用せず、仮想通貨の取引に対して第１秘密鍵６４２による署名のみを施してもよい。この場合、取引システム１０は、署名に使用された第１秘密鍵６４２に対応する第２秘密鍵５４４を備えていなくてもよい。
【００３３】
利用者システム６０及び取引システム１０は、上述したデータ構造体を参照しつつ、仮想通貨の取引を行う。特に、取引システム１０は、利用者システム６０から、仮想通貨の口座からの送金の依頼である送金依頼を受信可能である。
【００３４】
以下、利用者システム６０が取引システム１０を介して他の利用者システム６０に仮想通貨を送金するという取引の発生から確定までの基本的な流れを説明する。
【００３５】
図２を参照すると、まず、利用者システム６０の取引アプリ６２は、利用者の操作に応じて、取引システム１０に対して送金依頼を送信する（図２の（１））。より具体的には、取引アプリ６２は、送金を記憶したトランザクション８８を作成し、第１秘密鍵６４２（図３参照）による署名を施して、取引システム１０の取引サーバ２０に送信する。
【００３６】
一般的に、トランザクション８８の夫々には、送金等の取引が記憶されている。後述するように、取引システム１０は、正当性を確認したトランザクション８８を、仮想通貨ネットワーク８０にブロードキャストする。取引システム１０がブロードキャストしたトランザクション８８は、仮想通貨ネットワーク８０に含まれる多数のノードに伝播され、各ノードによって記憶される。また、取引システム１０は、ブロードキャストしたトランザクション８８を、トランザクション保存空間５８に記憶する。取引システム１０を含む多数のノードは、トランザクション８８を互いに伝播することで、夫々が記憶しているトランザクション８８を整合させている。即ち、トランザクション８８は、仮想通貨ネットワーク８０によって分散的に管理されており、全てのトランザクション８８を集中的に管理する特定のノードは存在しない。但し、本発明は、このような特定のノードが存在している場合にも適用可能である。
【００３７】
図７は、トランザクション８８に含まれるデータのうち、以下の説明において必要なデータのみを模式的に示している。トランザクション８８の夫々は、ｎ個（ｎは、１以上の整数）の入力部８８Ｉと、ｍ個（ｍは、１以上の整数）の出力部８８Ｏと、手数料８８９とを含んでいる。入力部８８Ｉの夫々には、仮想通貨の送金元口座を特定するデータと、送金元口座の正当性を保証するためのデータとが記憶されている。出力部８８Ｏの夫々には、仮想通貨の送金先口座を特定するデータと、送金先口座に対する仮想通貨の送金額を示すデータとが記憶されている。
【００３８】
より具体的には、出力部８８Ｏの夫々は、送金先アドレス８８６と、仮想通貨送金額８８８とを含んでいる。送金先アドレス８８６は、仮想通貨の送金先口座を特定するデータである。図７を図２及び図３と併せて参照すると、送金先アドレス８８６には、送金先の利用者システム６０の利用者鍵６４の口座アドレス６４６（送金先口座アドレス６４６）が記憶されている。仮想通貨送金額８８８には、送金先口座アドレス６４６に対する送金額（ゼロよりも大きな数値）が記憶されている。
【００３９】
入力部８８Ｉの夫々は、送金元アドレス８８２と、署名データ８８４とを含んでいる。送金元アドレス８８２は、仮想通貨の送金元口座を特定するデータである。詳しくは、送金元アドレス８８２には、このトランザクション８８（後続トランザクション８８）に先立ってブロードキャストされたトランザクション８８（先行トランザクション８８）の出力部８８Ｏ（先行出力部８８Ｏ）を特定可能なデータが記憶されている。先行トランザクション８８の先行出力部８８Ｏの送金先アドレス８８６には、後続トランザクション８８の入力部８８Ｉの送金元口座（送金元口座アドレス６４６）が記憶されている。署名データ８８４は、送金元口座アドレス６４６の正当性を保証するためのデータであり、送金元口座アドレス６４６と対応する第１秘密鍵６４２による署名が施されている。
【００４０】
後述するように、手数料８８９には、トランザクション８８をマイニングしたマイナーが受け取る仮想通貨の報奨金額（ゼロ以上の数値）が記憶されている。トランザクション８８の夫々において、手数料８８９と、ｎ個の入力部８８Ｉの送金元アドレス８８２によって特定されるｎ個の先行出力部８８Ｏの仮想通貨送金額８８８を合計した合計入金額と、ｍ個の出力部８８Ｏの仮想通貨送金額８８８を合計した合計送金額とは、手数料８８９＝合計入金額−合計送金額との関係式を満たしている。この関係式から理解されるように、トランザクション８８に手数料８８９のデータが含まれていなくても、合計入金額及び合計送金額から報奨金額を算出可能である。従って、トランザクション８８には、手数料８８９のデータ項目が含まれていなくてもよい。
【００４１】
図２及び図８を参照すると、例えば、利用者システム６０の利用者が、先行トランザクション８８を伴う取引の後に、口座Ａの残金（２００単位の仮想通貨）の一部（１５０単位の仮想通貨）を口座Ｂに送金する場合、取引サーバ２０にトランザクション８８（後続トランザクション８８）が送信される。
【００４２】
後続トランザクション８８は、１つの入力部８８Ｉと、２つの出力部８８Ｏとを含んでいる。入力部８８Ｉの送金元アドレス８８２には、先行トランザクション８８の出力部８８Ｏを特定するデータである「アドレスＡ」が記憶されている。後続トランザクション８８の出力部８８Ｏのうちの１つにおいて、送金先アドレス８８６には、「口座Ｂ」が記憶されており、仮想通貨送金額８８８には、「１５０」が記憶されている。後続トランザクション８８の出力部８８Ｏのうちの他の１つにおいて、送金先アドレス８８６には、「口座Ａ」が記憶されており、仮想通貨送金額８８８には、「４９」が記憶されている。
【００４３】
以上に説明したトランザクション８８の構造から理解されるように、トランザクション８８の入力部８８Ｉの夫々は、他のトランザクション８８の出力部８８ＯであるＵＴＸＯ（Unspent Transaction Output）にリンクされている。即ち、トランザクション８８は、ＵＴＸＯを介してチェーン状に繋がっており、これにより取引台帳を形成している。
【００４４】
図２を参照すると、取引システム１０は、利用者システム６０からトランザクション８８を受信すると（図２の（１））、後述するように、トランザクション８８に記憶されたデータの妥当性をチェックし、これによりトランザクション８８の正当性を確認する。取引システム１０は、トランザクション８８に記憶されたデータが妥当であると判断すると、トランザクション８８の署名データ８８４（図７参照）に送金元アドレス８８２（図７参照）と対応する第２秘密鍵５４４（図６参照）による署名を施して、トランザクション８８を発行する（図２の（２））。このとき、取引システム１０は、トランザクション８８を、仮想通貨ネットワーク８０にブロードキャストする。取引システム１０がブロードキャストしたトランザクション８８は、取引システム１０のトランザクション保存空間５８に記憶される（図２の（３））。
【００４５】
以上の説明から理解されるように、仮想通貨の１回の送金に応じて、１つのトランザクション８８が仮想通貨ネットワーク８０にブロードキャストされる。即ち、送金が１回以上行われることで、送金と夫々対応した１以上のトランザクション８８がブロードキャストされる。仮想通貨ネットワーク８０にブロードキャストされた１以上のトランザクション８８は、仮想通貨ネットワーク８０のノードの１つであるマイニングシステム７０によってブロック８４に取り込まれ、ブロックチェーン８２に接続される。換言すれば、マイニングシステム７０は、未だブロック８４に取り込まれていない１以上のトランザクション８８を纏めて１つのブロック８４を作成し、作成したブロック８４をブロックチェーン８２に接続する。また、マイニングシステム７０は、作成したブロック８４を、仮想通貨ネットワーク８０にブロードキャストする。
【００４６】
ブロックチェーン８２は、１以上のブロック８４からなるチェーンである。ブロックチェーン８２が正常な状態にあるとき、全てのブロック８４は、連続した１本のチェーンを形成しており、マイニングシステム７０が新たに作成したブロック８４は、ブロックチェーン８２の末尾に接続される。例えば、ブロックチェーン８２が１番目のブロック８４（図示せず）からＫ番目のブロック８４まで繋がっているとき、新たに作成されたブロック８４は、Ｋ＋１番目のブロック８４として、ブロックチェーン８２のＫ番目のブロック８４に接続される。この結果、Ｋ＋１番目のブロック８４のブロック８４に含まれている１以上のトランザクション８８が、ブロックチェーン８２に取り込まれる。
【００４７】
図９は、ブロック８４に含まれるデータのうち、以下の説明において必要なデータのみを模式的に示している。ブロック８４の夫々は、ブロックヘッダー８４Ｈと、トランザクション領域８４８とを含んでいる。トランザクション領域８４８には、１つのコインベーストランザクション８８Ｃ（後述）と、このブロック８４に取り込まれた１以上のトランザクション８８とが記憶されている。ブロックヘッダー８４Ｈは、ブロックハッシュ８４２と、ナンス８４６とを含んでいる。
【００４８】
図９を図２と併せて参照すると、ブロックハッシュ８４２には、新たに作成されたブロック８４（図２におけるＫ＋１番目のブロック８４）が接続されるブロック８４（図２においてＫ番目のブロック８４）のブロックヘッダー８４Ｈのハッシュ値が記憶されている。このハッシュ値は、ブロックヘッダー８４Ｈを、一般公開されたハッシュアルゴリズム（以下、「所定ハッシュアルゴリズム」という。）によってハッシュすることで得られる。
【００４９】
マイニングシステム７０は、ブロック８４を新たに作成する際、このブロック８４のナンス８４６の設定値を変更しつつ、所定ハッシュアルゴリズムを使用して、ブロックヘッダー８４Ｈのハッシュ値を繰り返し算出する。マイニングシステム７０は、予め定められた条件を満たす所定ハッシュ値が得られるまで、ハッシュ値の算出を繰り返す。マイニングシステム７０は、所定ハッシュ値が得られたときのナンス８４６の設定値を、このブロック８４のナンス８４６に設定する。即ち、ナンス８４６には、このブロックヘッダー８４Ｈをハッシュしたときに所定ハッシュ値が得られるような値が記憶されている。
【００５０】
図２を参照すると、上述の新たなブロック８４の作成は、複数のマイニングシステム７０によって、同時並行的に行われる。マイニングシステム７０の夫々は、トランザクション保存空間７８を備えている。トランザクション保存空間７８の夫々は、ブロックチェーン８２と、ブロックチェーン８２に取り込まれていないトランザクション８８とを含んでいる。マイニングシステム７０のうちの１つが新たなブロック８４を作成してブロードキャストすると、他のマイニングシステム７０は、ブロードキャストされたブロック８４を受信し、受信したブロック８４の正当性を検証した後、正当性を認めたブロック８４を、自らのトランザクション保存空間７８のブロックチェーン８２に接続する。
【００５１】
取引システム１０は、マイニングシステム７０と同様に、マイニングシステム７０がブロードキャストしたブロック８４を受信し、受信したブロック８４の正当性を検証した後、正当性を認めたブロック８４を、自らのトランザクション保存空間５８のブロックチェーン８２に接続する。仮想通貨ネットワーク８０の他のノードも同様な処理を行う。
【００５２】
新たなブロック８４は、仮想通貨ネットワーク８０の多数のノードによって正当性を認められることで承認される。このとき、ブロック８４は、ブロックチェーン８２に確定的に接続される。承認されたブロック８４を作成したマイニングシステム７０は、仮想通貨による報奨金を得ることができる。詳しくは、マイニングシステム７０は、ブロック８４を作成する際に、得るべき報奨金額を記憶したコインベーストランザクション８８Ｃを作成して、仮想通貨の取引に応じて作成されたトランザクション８８と共に、トランザクション領域８４８（図９参照）に取り込む。コインベーストランザクション８８Ｃに記憶される報奨金額は、ブロック８４に取り込まれたトランザクション８８の手数料８８９（図７参照）を合計した合計報奨金額に、予め定められた所定報奨金額を加算した金額である。
【００５３】
上述したように、仮想通貨の送金取引は、利用者システム６０が取引システム１０に送金依頼したときに発生する。また、仮想通貨の送金取引は、取引システム１０が発行したトランザクション８８がブロック８４に取り込まれ、ブロック８４が多数のノードにおいてブロックチェーン８２に接続されたときに確定する。換言すれば、利用者システム６０から他の利用者システム６０への仮想通貨の送金は、送金を記憶したトランザクション８８が仮想通貨ネットワーク８０にブロードキャストされて仮想通貨ネットワーク８０のブロック８４に取り込まれ、ブロック８４が仮想通貨ネットワーク８０のブロックチェーン８２に接続された後に確定する。
【００５４】
以上の説明から理解されるように、利用者システム６０による送金依頼（図２の（１））から送金の確定までには、比較的長い待ち時間（例えば、３０分〜１時間程度の時間）を要する。待ち時間が経過するまで、利用者システム６０が送金に使用した口座アドレス６４６（図３参照）の残金が確定しない。従って、利用者システム６０がこの口座アドレス６４６から次の送金を行うためには、３０分〜１時間程度待たなければならない。即ち、仮想通貨の一般的な送金取引は、３０分〜１時間程度の待ち時間で確定する。一方、仮想通貨の送金取引は、マイニングシステム７０が送金取引によるトランザクション８８を新たなブロック８４に取り込まない限り、どれだけ待っても確定しない。
【００５５】
マイニングシステム７０の夫々は、企業等であるマイナーによって運用されている。一般的に、マイナーは、できるだけ高額な報奨金を得ることを目的として新たなブロック８４を作成する。従って、トランザクション８８の手数料８８９（図７参照）に設定された報奨金額が低い場合、このトランザクション８８は、ブロック８４に取り込まれ難い。換言すれば、手数料８８９に高い報奨金額を設定することで、待ち時間を比較的短くできる。一方、報奨金の支払いによる利用者の損失を小さくするという観点からは、手数料８８９にできるだけ低い報奨金額を設定することが好ましい。従って、手数料８８９には、低すぎず且つ高すぎない適切な報奨金額を設定することが好ましい。
【００５６】
本実施の形態の取引システム１０の記憶装置５０には、利用者情報５２、取引口座５３、預かり鍵５４及びトランザクション保存空間５８に加えて、手数料情報５６が記憶されている。本実施の形態によれば、利用者システム６０は、以下に説明するように、トランザクション８８の手数料８８９（図７参照）に適切な報奨金額を設定できる。
【００５７】
図１０を図２と併せて参照すると、手数料情報５６には、最低手数料５６２が記憶されている。最低手数料５６２は、トランザクション８８がマイニングシステム７０によってブロック８４に取り込まれる際のマイナーに対する報奨金額、即ち手数料８８９（図７参照）、の基準を示すものである。例えば、最低手数料５６２は、マイナーに支払うべき報奨金の絶対値であってもよいし、トランザクション８８のバイト数に応じた報奨金の比率であってもよい。本実施の形態において、最低手数料５６２は、取引システム１０の手数料管理サーバ３０によって設定される。
【００５８】
図１２及び図１３を参照すると、手数料管理サーバ３０は、仮想通貨ネットワーク８０を定期的に監視し、これにより、ブロック８４に取り込まれた複数のトランザクション８８の手数料８８９（図７参照）を定期的に取得する（図１２の１−（１）及び図１３のＳ１３０２）。例えば、手数料管理サーバ３０は、ブロックチェーン８２の末尾に位置するブロック８４（図１２においてＫ番目のブロック８４）を参照して、ブロック８４に記憶されたトランザクション８８の手数料８８９を取得する。
【００５９】
次に、手数料管理サーバ３０は、取得した１以上の手数料８８９（図４参照）から、利用者システム６０がトランザクション８８を作成する際に手数料８８９に設定すべき報奨の最小金額又は最小比率（最低報奨）を算出する（図１２の１−（２）及び図１３のＳ１３０４）。次に、手数料管理サーバ３０は、算出した最低報奨を、手数料情報５６の最低手数料５６２（図１０参照）に設定する（図１２の１−（３）及び図１３のＳ１３０６）。次に、手数料管理サーバ３０は、仮想通貨ネットワーク８０の定期的な監視を続ける（図１２の１−（１）及び図１３のＳ１３０２）。
【００６０】
手数料管理サーバ３０が最低報奨を求める方法は、特に限定されない。例えば、手数料管理サーバ３０は、取得した手数料８８９（図４参照）のうちの最低値を最低報奨としてもよい。一方、手数料管理サーバ３０は、取得した手数料８８９からマイナーに支払われる報奨の傾向を分析し、これにより最低報奨を求めてもよい。また、手数料管理サーバ３０は、ブロックチェーン８２の末尾に位置する２以上のブロック８４から手数料８８９を取得してもよい。
【００６１】
図１２及び図１４を参照すると、利用者システム６０の利用者が取引アプリ６２を起動すると（図１２の２−（１））、取引アプリ６２は、取引サーバ２０に対して、利用者ＩＤやパスワード等のログインデータを含むログイン要求を送信する（図１２の２−（２））。取引サーバ２０は、利用者システム６０（取引アプリ６２）からログインデータを受信すると（図１４のＳ１４０２）、受信したログインデータを使用して、利用者システム６０を認証する（図１２の２−（３）及び図１４のＳ１４０４）。例えば、取引サーバ２０は、利用者ＩＤ及びパスワードを、利用者情報５２の利用者特定データ５２２（図４参照）及び利用者認証データ５２４（図４参照）と照合することで利用者システム６０を認証する。
【００６２】
取引サーバ２０は、利用者システム６０の正当性を認証できなかった場合（図１４のＳ１４０４のＮＧ）、利用者システム６０のログインを拒否する（図１４のＳ１４０６）。一方、取引サーバ２０は、利用者システム６０の正当性を認証できた場合（図１４のＳ１４０４のＯＫ）、利用者システム６０の口座の残金と、手数料情報５６に記憶された最低手数料５６２（図１０参照）とを取得する（図１２の２−（４）及び図１４のＳ１４０８）。
【００６３】
例えば、取引サーバ２０は、利用者システム６０から受信した利用者ＩＤを、取引口座５３の利用者特定データ５３４（図５参照）と照合することで、利用者システム６０の１以上の口座アドレス５３２（図５参照）を取得する。取引サーバ２０は、取得した口座アドレス５３２を、トランザクション保存空間５８に保存されているトランザクション８８の送金先アドレス８８６（図７参照）と照合し、口座アドレス５３２への仮想通貨送金額８８８（図７参照）を得ることで、取得した１以上の口座アドレス５３２と夫々対応する残金を得る。
【００６４】
取引サーバ２０は、上述のように取得した口座の残金及び最低手数料５６２（図１０参照）を利用者システム６０（取引アプリ６２）に送信する（図１２の２−（５）及び図１４のＳ１４１０）。取引アプリ６２は、受信した口座の残金及び最低手数料５６２（即ち、適切な報奨金額）を表示装置６８に表示する（図１２の２−（６））。利用者システム６０の利用者は、表示された口座の残金及び適切な報奨金額を参考にしつつ送金操作を行うことができる（図１２の２−（７））。
【００６５】
利用者システム６０の利用者は、送金操作において、入力装置６６を使用して、送金元口座、送金先口座、送金額及び報奨金額等のデータを入力する（図１２の２−（７））。取引アプリ６２は、入力された送金額及び報奨金額等のデータの妥当性をチェックする（図１２の２−（８））。例えば、取引アプリ６２は、入力された送金額が送金元口座の合計残金を越えているか、又は、入力された報奨金額が適切な報奨金額未満である場合、表示装置６８にエラーメッセージを表示し、妥当なデータの入力を待つ（図示せず）。一方、取引アプリ６２は、入力されたデータが妥当であると判断した場合、入力されたデータ及び利用者鍵６４に基づいてトランザクション８８を作成し、取引サーバ２０に送信し、これにより送金依頼する（図１２の２−（９））。
【００６６】
取引サーバ２０は、利用者システム６０（取引アプリ６２）から送金依頼に伴うトランザクション８８を受信すると（図１４のＳ１４２０）、受信したトランザクション８８の仮想通貨送金額８８８（図７参照）及び手数料８８９（図７参照）等のデータの妥当性をチェックする（図１２の２−（１０）及び図１４のＳ１４２２）。例えば、取引サーバ２０は、入力された仮想通貨送金額８８８が送金元口座の合計残金を越えているか、又は、手数料８８９が最低手数料５６２（図１０参照）未満である場合（図１４のＳ１４２２のＮＧ）、送金できないことを利用者システム６０（取引アプリ６２）に通知する（図１４のＳ１４２４）。
【００６７】
一方、取引サーバ２０は、受信したトランザクション８８のデータが妥当であると判断した場合（図１４のＳ１４２２のＯＫ）、受信したトランザクション８８に第２秘密鍵５４４（図６参照）による署名を施して、トランザクション８８を発行する（図１２の２−（１１）及び図１４のＳ１４２６）。このとき、取引サーバ２０は、トランザクション８８を仮想通貨ネットワーク８０にブロードキャストする。また、取引サーバ２０は、発行したトランザクション８８を、トランザクション保存空間５８に記憶する（図１２の２−（１２））。次に、取引サーバ２０は、送金が確定しているか否かに拘わらず、利用者システム６０（取引アプリ６２）に送金完了を通知する（図１２の２−（１３）及び図１４のＳ１４２８）。
【００６８】
取引アプリ６２は、取引サーバ２０から送金完了の通知を受信すると、表示装置６８に送金完了を表示する（図１２の２−（１４））。この結果、利用者システム６０の利用者は、送金が確定したことを知ることができ、次の送金を直ちに行うことができる。
【００６９】
図１２を参照すると、上述したように、本実施の形態によれば、利用者システム６０は、送金依頼においてトランザクション８８の手数料８８９（図７参照）を指定できる。取引システム１０は、指定された手数料８８９が手数料条件を満たす場合、送金依頼に応じてトランザクション８８をブロードキャストする。一方、取引システム１０は、指定された手数料８８９が手数料条件を満たさない場合、送金依頼に応じたトランザクション８８をブロードキャストしない。本実施の形態における手数料条件は、手数料８８９≧手数料情報５６に記憶された最低手数料５６２（図１０参照）との条件である。但し、手数料条件は、これに限られない。例えば、手数料条件は、手数料８８９≧トランザクション８８のサイズ（バイト数）×手数料情報５６に記憶された最低手数料５６２であってもよい。
【００７０】
本実施の形態によれば、利用者システム６０の利用者は、送金依頼する際（図１２の（２−９））、トランザクション８８の手数料８８９（図７参照）に設定すべき報奨金額として、表示装置６８に表示された適切な報奨金額以上の報奨金額を入力できる。加えて、取引アプリ６２は、入力された報奨金額が適切な報奨金額未満である場合、取引サーバ２０に送金依頼しない。更に、取引サーバ２０は、手数料８８９が最低手数料５６２（図１０参照）未満である場合、トランザクション８８を発行しない。
【００７１】
上述した利用者による妥当な入力、取引アプリ６２による妥当性の検証及び取引サーバ２０による妥当性の検証により、マイニングシステム７０によってブロック８４に取り込まれやすいトランザクション８８が仮想通貨ネットワーク８０に送信される。但し、本発明は、これに限られない。例えば、取引アプリ６２による妥当性の検証及び取引サーバ２０による妥当性の検証は、いずれか一方のみを行ってもよい。更に、取引アプリ６２による妥当性の検証及び取引サーバ２０による妥当性の検証を行わなくてもよい。
【００７２】
図１２及び図１６を参照すると、取引アプリ６２（利用者システム６０）の機能は、更に変形可能である。例えば、変形例による取引アプリ６２は、上述した実施の形態と同様に、取引システム１０から口座の残金及び最低手数料５６２（図１０参照）を受信する（図１２の２−（５）及び図１６のＳ１６０２）と、受信した口座の残金及び最低手数料５６２を表示装置６８に表示する（図１２の２−（６））。次に、本変形例による取引アプリ６２は、上述した実施の形態と同様に、利用者システム６０の利用者による送金操作を検知するまで待つ（図１６のＳ１６０４のＮＯ）。
【００７３】
本変形例によれば、利用者システム６０の利用者は、送金操作（図１２の２−（７））において、送金元口座、送金先口座、送金額等のデータを入力する一方、報奨金額を入力しない。本変形例による取引アプリ６２は、利用者による送金操作を検知すると（図１６のＳ１６０４のＹＥＳ）、入力された送金額等のデータの妥当性をチェックする一方、報奨金額の妥当性をチェックしない（図１６のＳ１６０６）。
【００７４】
本変形例による取引アプリ６２は、入力されたデータが妥当であると判断した場合、入力されたデータ及び利用者鍵６４に基づいてトランザクション８８を作成し、取引サーバ２０に送信し、これにより送金依頼する（図１２の２−（９））。このとき、本変形例による取引アプリ６２は、最低手数料５６２（図１０参照）を指定したトランザクション８８を作成して送信する（図１６のＳ１６０８）。例えば、最低手数料５６２は、トランザクション８８の手数料８８９（図７参照）に設定して指定してもよい。一方、トランザクション８８に手数料８８９のデータ項目が含まれていない場合、合計送金額が合計入金額から最低手数料５６２を引いた金額になるように調整することで最低手数料５６２を指定してもよい。
【００７５】
上述したように、本変形例による利用者システム６０は、送金依頼において、報奨金額として最低手数料５６２（図１０参照）が指定されたトランザクション８８を取引システム１０に送信する。本変形例によっても、マイニングシステム７０によってブロック８４に取り込まれやすいトランザクション８８を仮想通貨ネットワーク８０に送信できる。
【００７６】
図１２を参照すると、以上に説明したように、取引システム１０は、利用者システム６０から、利用者システム６０の口座である所定口座からの送金依頼である所定送金依頼を受信すると、所定送金依頼に応じて、送金を記憶したトランザクション８８である所定トランザクション８８を仮想通貨ネットワーク８０にブロードキャストする。取引システム１０は、所定トランザクション８８をブロードキャストした後に、利用者システム６０から、所定口座からの送金依頼である後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼に応じて、送金を記憶したトランザクション８８を仮想通貨ネットワーク８０にブロードキャストする。
【００７７】
本発明によれば、取引システム１０は、所定送金依頼に応じてトランザクション８８をブロードキャストした後に、後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼を受け付ける。従って、利用者は、先立つ送金の確定を待つことなく、引き続き送金できる。本発明によれば、仮想通貨を使用した取引の待ち時間を低減可能な取引システム１０を提供できる。
【００７８】
特に、本実施の形態の取引システム１０は、所定トランザクション８８に多重署名を施してブロードキャストした場合、その後に、利用者システム６０から、所定口座からの送金依頼である後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼に応じて、送金を記憶したトランザクション８８を仮想通貨ネットワーク８０にブロードキャストする。
【００７９】
本実施の形態によれば、利用者システム６０の所定口座からの送金依頼は、必ず取引システム１０を介して行われる。この前提により、取引システム１０は、所定口座の残金を信用でき、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼を受け付けることができる。加えて、本実施の形態によれば、取引システム１０は、利用者システム６０の所定口座の仮想通貨を預かっておらず、利用者システム６０の所定口座の第２秘密鍵５４４（図６参照）のみを預かっている。即ち、取引システム１０は、所定口座からの送金に必要な鍵の一方のみを有している。この構成により、取引システム１０の運用者による不正な送金を防止できると共に、取引システム１０の外部からの仮想通貨の窃盗を防止できる。但し、本発明は、これに限られず、多重署名を用いない送金依頼にも適用可能である。
【００８０】
取引システム１０は、既に説明した機能に加えて、更に様々な機能を備えていてもよい。
【００８１】
例えば、図１１を参照すると、２つのマイニングシステム７０（図２参照）が、ブロックチェーン８２の末尾のブロック８４（図１１におけるＫ番目のブロック８４）に２つのブロック８４（図１１におけるＫ＋１番目の２つのブロック８４）を夫々接続することがある。この結果、ブロックチェーン８２は２つのチェーン（図１１における破線のチェーン及び実線のチェーン）に分岐する。ブロックチェーン８２が分岐した場合、チェーンの夫々に新たなブロック８４が更に接続され、これによりチェーンの夫々が延びる。いずれか一方のチェーン（図１１における実線のチェーン）が所定の長さまで延びたときに、ブロックチェーン８２がロールバックされ、他方のチェーン（図１１における破線のチェーン）のブロック８４（図１１の破線のチェーンにおけるＫ＋１番目のブロック８４及びＫ＋２番目のブロック８４）が失われる場合がある。
【００８２】
ブロック８４が失われると、失われたブロック８４に取り込まれたトランザクション８８も失われ、これにより、仮想通貨の取引は、なかったことになる。以下に説明するように、本実施の形態の取引システム１０は、仮想通貨を使用した取引が記憶されたトランザクション８８がブロックチェーン８２に取り込まれた後に消失した場合にも、記憶された取引を確定できる。
【００８３】
図１２及び図１５を参照すると、取引システム１０のリトライサーバ４０は、ブロックチェーン８２に接続されたブロック８４の消失有無を定期的に監視している（図１２の３−（１）及び図１５のＳ１５０２）。例えば、リトライサーバ４０は、ブロックチェーン８２に接続されたブロック８４のブロックハッシュ８４２（図９参照）が変化したとき、元のブロック８４の消失を検知する。リトライサーバ４０は、ブロックチェーン８２に接続されたブロック８４の消失を検知すると（図１２の３−（２）及び図１５のＳ１５０４）、失われたブロック８４に記憶されていたトランザクション８８を再発行（ブロードキャスト）する（図１２の３−（３）及び図１５のＳ１５０６）。
【００８４】
上述したように、本実施の形態の取引システム１０は、ブロックチェーン８２に接続されたブロック８４が失われた場合、失われたブロック８４に記憶されていたトランザクション８８を再度ブロードキャストする。取引システム１０は、このように機能するため、取引システム１０がブロードキャストしたトランザクション８８に記憶された取引は、時間の経過に伴って必ず確定する。従って、取引の実際の確定を待つことなく、利用者システム６０に対して取引の確定を通知できる。
【００８５】
以上に説明したように、本実施の形態の取引システム１０によれば、利用者システム６０に対して、送金取引が確定することを保証できる。例えば、ブロックチェーン８２にロールバックが発生した場合でも、利用者システム６０は、送金をやり直す必要がない。また、利用者システム６０の所定口座から他の利用者システム６０の所定口座に送金する場合、取引システム１０は、他の利用者システム６０に対しても、送金取引が確定することを保証できる。例えば、他の利用者システム６０の利用者が小売店であり、利用者システム６０の利用者が消費者である場合、小売店は、消費者からの仮想通貨の送金と同時に、消費者に商品を安心して提供できる。
【符号の説明】
【００８６】
１０        取引システム
２０        取引サーバ
３０        手数料管理サーバ
４０        リトライサーバ
５０        記憶装置
５２        利用者情報
５２２      利用者特定データ
５２４      利用者認証データ
５３        取引口座
５３２      口座アドレス
５３４      利用者特定データ
５４        預かり鍵
５４２      口座アドレス
５４４      第２秘密鍵
５６        手数料情報
５６２      最低手数料
５８        トランザクション保存空間
６０        利用者システム
６０Ｔ      取引端末
６２        取引アプリ
６４        利用者鍵
６４２      第１秘密鍵
６４４      第１公開鍵
６４６      口座アドレス
６６        入力装置
６８        表示装置
７０        マイニングシステム
７８        トランザクション保存空間
８０        仮想通貨ネットワーク
８２        ブロックチェーン
８４        ブロック
８４Ｈ      ブロックヘッダー
８４２      ブロックハッシュ
８４６      ナンス
８４８      トランザクション領域
８８        トランザクション
８８Ｃ      コインベーストランザクション
８８Ｉ      入力部
８８２      送金元アドレス
８８４      署名データ
８８Ｏ      出力部
８８６      送金先アドレス
８８８      仮想通貨送金額
８８９      手数料
９２        有線通信網
９４        無線通信網
９６        ＬＡＮ
【図１】
2020177377.tif 000003
【図２】
2020177377.tif 000004
【図３】
2020177377.tif 000005
【図４】
2020177377.tif 000006
【図５】
2020177377.tif 000007
【図６】
2020177377.tif 000008
【図７】
2020177377.tif 000009
【図８】
2020177377.tif 000010
【図９】
2020177377.tif 000011
【図１０】
2020177377.tif 000012
【図１１】
2020177377.tif 000013
【図１２】
2020177377.tif 000014
【図１３】
2020177377.tif 000015
【図１４】
2020177377.tif 000016
【図１５】
2020177377.tif 000017
【図１６】
2020177377.tif 000018
【手続補正書】
【提出日】令和2年7月30日(2020.7.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想通貨の送金を含む取引のための取引システムであって、
前記仮想通貨の前記送金は、前記送金を記憶したトランザクションが仮想通貨ネットワークにブロードキャストされて前記仮想通貨ネットワークのブロックに取り込まれ、前記ブロックが前記仮想通貨ネットワークのブロックチェーンに接続された後に確定し、
前記取引システムは、１以上の利用者システムと通信可能に接続されており、前記利用者システムから、前記仮想通貨の口座からの前記送金の依頼である送金依頼を受信可能であり、
前記取引システムは、前記利用者システムから、前記口座である所定口座からの前記送金依頼である所定送金依頼を受信すると、前記所定送金依頼に応じて、前記送金を記憶した前記トランザクションである所定トランザクションを前記仮想通貨ネットワークにブロードキャストし、
前記取引システムは、前記所定トランザクションに多重署名を施してブロードキャストした場合、その後に、前記利用者システムから、前記所定口座からの前記送金依頼である後続送金依頼を受信すると、前記所定送金依頼による前記送金が確定しているか否かに拘わらず、前記後続送金依頼に応じて、前記送金を記憶した前記トランザクションを前記仮想通貨ネットワークにブロードキャストし、
前記取引システムは、前記ブロックチェーンに接続された前記ブロックが失われた場合、失われた前記ブロックに記憶されていた前記トランザクションを再度ブロードキャストする
取引システム。
【請求項２】
請求項１記載の取引システムであって、
前記取引システムは、前記利用者システムに最低手数料を送信し、
前記最低手数料は、前記トランザクションが前記ブロックに取り込まれる際の手数料の基準を示すものである
取引システム。
【請求項３】
請求項２記載の取引システムであって、
前記利用者システムは、前記送金依頼において前記手数料を指定でき、
前記取引システムは、指定された前記手数料が手数料条件を満たす場合、前記送金依頼に応じて前記トランザクションをブロードキャストする
取引システム。