JP6776396B2 - Trading system - Google Patents
Trading system Download PDFInfo
- Publication number
- JP6776396B2 JP6776396B2 JP2019078276A JP2019078276A JP6776396B2 JP 6776396 B2 JP6776396 B2 JP 6776396B2 JP 2019078276 A JP2019078276 A JP 2019078276A JP 2019078276 A JP2019078276 A JP 2019078276A JP 6776396 B2 JP6776396 B2 JP 6776396B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- remittance
- user
- virtual currency
- account
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、分散型仮想通貨を取引するための取引システムに関する。 The present invention relates to a trading system for trading decentralized virtual currencies.
例えば、非特許文献1には、ブロックチェーン技術に基づく仮想通貨(即ち、分散型仮想通貨:以下、単に「仮想通貨」という。)の取引に関する技術が開示されている。
For example, Non-Patent
非特許文献1に記載されているように、仮想通貨の取引は、仮想通貨ネットワークのブロックチェーンに記憶される。詳しくは、仮想通貨を取引する際、取引を記憶したトランザクションが仮想通貨ネットワークにブロードキャストされる。1以上の取引によって1以上のトランザクションがブロードキャストされる。この1以上のトランザクションは、1つのブロックに纏められてブロックチェーンに接続される。トランザクションに記憶された取引は、ブロックチェーンへのブロックの接続が承認されることで確定する。非特許文献1によれば、トランザクションのブロードキャストから取引の確定までには、30分〜1時間程度の時間を要する。
As described in Non-Patent
例えば、利用者Aが仮想通貨の口座αから利用者Bの口座βに仮想通貨を送金するという取引を想定すると、取引(送金)を記憶したトランザクションのブロードキャストから送金の確定までの間、口座αの残金が確定しない。このため、利用者Aが口座αから次の送金を行うためには、30分〜1時間程度待たなければならない。即ち、仮想通貨の2回の送金の間には、30分〜1時間程度の待ち時間が生じる。 For example, assuming a transaction in which user A transfers virtual currency from the virtual currency account α to user B's account β, the account α is from the broadcast of the transaction that stores the transaction (remittance) to the confirmation of the remittance. The balance is not fixed. Therefore, in order for the user A to make the next remittance from the account α, he / she must wait for about 30 minutes to 1 hour. That is, there is a waiting time of about 30 minutes to 1 hour between the two remittances of the virtual currency.
特許文献1には、このような待ち時間を低減するための技術が開示されている。特許文献1に開示された技術によれば、仮想通貨の口座である外部口座と対応する内部口座を設け、内部口座によってブロックチェーンを使用しないリアルタイムな取引を行う。また、内部口座による取引とは非同期な所定のタイミングで、外部口座の残金を内部口座の残金に一致させる。
特許文献1の技術によれば、リアルタイムな取引において使用されるのは、仮想通貨によって担保された価値であり仮想通貨ではない。即ち、特許文献1に開示された技術は、仮想通貨を使用した取引の待ち時間を低減するための技術ではない。
According to the technique of
そこで、本発明は、仮想通貨を使用した取引の待ち時間を低減可能な取引システムを提供することを目的とする。 Therefore, an object of the present invention is to provide a trading system capable of reducing the waiting time for trading using virtual currency.
本発明は、第1の取引システムとして、
仮想通貨の送金を含む取引のための取引システムであって、
前記仮想通貨の前記送金は、前記送金を記憶したトランザクションが仮想通貨ネットワークにブロードキャストされて前記仮想通貨ネットワークのブロックに取り込まれ、前記ブロックが前記仮想通貨ネットワークのブロックチェーンに接続された後に確定し、
前記取引システムは、1以上の利用者システムと通信可能に接続されており、前記利用者システムから、前記仮想通貨の口座からの前記送金の依頼である送金依頼を受信可能であり、
前記取引システムは、前記利用者システムから、前記口座である所定口座からの前記送金依頼である所定送金依頼を受信すると、前記所定送金依頼に応じて、前記送金を記憶した前記トランザクションである所定トランザクションを前記仮想通貨ネットワークにブロードキャストし、
前記取引システムは、前記所定トランザクションに多重署名を施してブロードキャストした場合、その後に、前記利用者システムから、前記所定口座からの前記送金依頼である後続送金依頼を受信すると、前記所定送金依頼による前記送金が確定しているか否かに拘わらず、前記後続送金依頼に応じて、前記送金を記憶した前記トランザクションを前記仮想通貨ネットワークにブロードキャストする
取引システムを提供する。
The present invention is a first trading system.
A trading system for transactions including remittance of virtual currency
The remittance of the virtual currency is confirmed after the transaction storing the remittance is broadcast to the virtual currency network and incorporated into a block of the virtual currency network, and the block is connected to the blockchain of the virtual currency network.
The trading system is communicably connected to one or more user systems, and can receive a remittance request, which is a remittance request from the virtual currency account, from the user system.
When the transaction system receives the predetermined remittance request, which is the remittance request, from the predetermined account, which is the account, the transaction system is the transaction that stores the remittance in response to the predetermined remittance request. To the virtual currency network
When the transaction system receives the subsequent remittance request, which is the remittance request from the predetermined account, from the user system when the predetermined transaction is broadcast with multiple signatures, the remittance request is made by the predetermined remittance request. Provided is a trading system that broadcasts the transaction storing the remittance to the virtual currency network in response to the subsequent remittance request regardless of whether the remittance is confirmed.
また、本発明は、第2の取引システムとして、第1の取引システムであって、
前記取引システムは、前記利用者システムに最低手数料を送信し、
前記最低手数料は、前記トランザクションが前記ブロックに取り込まれる際の手数料の基準を示すものである
取引システムを提供する。
Further, the present invention is a first trading system as a second trading system.
The trading system sends a minimum fee to the user system and
The minimum fee provides a trading system that indicates the basis of the fee when the transaction is incorporated into the block.
また、本発明は、第1の利用者システムとして、第2の取引システムと通信可能に接続された利用者システムであって、
前記利用者システムは、前記送金依頼において、前記報奨金額として前記最低手数料が指定された前記トランザクションを前記取引システムに送信する
利用者システムを提供する。
Further, the present invention is a user system that is communicably connected to a second trading system as a first user system.
The user system provides a user system that transmits the transaction for which the minimum fee is specified as the reward amount in the remittance request to the transaction system.
また、本発明は、第1のプログラムとして、
コンピュータを、第1の利用者システムとして機能させるための
プログラムを提供する。
Further, the present invention, as a first program,
A program for making a computer function as a first user system is provided.
また、本発明は、第3の取引システムとして、第2の取引システムであって、
前記利用者システムは、前記送金依頼において前記手数料を指定でき、
前記取引システムは、指定された前記手数料が手数料条件を満たす場合、前記送金依頼に応じて前記トランザクションをブロードキャストする
取引システムを提供する。
Further, the present invention is a second trading system as a third trading system.
The user system can specify the fee in the remittance request.
The trading system provides a trading system that broadcasts the transaction in response to the remittance request when the designated fee satisfies the fee condition.
また、本発明は、第4の取引システムとして、第1から第3までのいずれかの取引システムであって、
前記取引システムは、前記ブロックチェーンに接続された前記ブロックが失われた場合、失われた前記ブロックに記憶されていた前記トランザクションを再度ブロードキャストする
取引システムを提供する。
Further, the present invention is any of the first to third trading systems as the fourth trading system.
The trading system provides a trading system that, when the block connected to the blockchain is lost, rebroadcasts the transaction stored in the lost block.
本発明によれば、取引システムは、所定送金依頼に応じてトランザクションをブロードキャストした後に、後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼を受け付ける。従って、利用者は、先立つ送金の確定を待つことなく、引き続き送金できる。本発明によれば、仮想通貨を使用した取引の待ち時間を低減可能な取引システムを提供できる。 According to the present invention, when the transaction system receives a subsequent remittance request after broadcasting a transaction in response to a predetermined remittance request, the transaction system accepts the subsequent remittance request regardless of whether or not the remittance by the predetermined remittance request is confirmed. .. Therefore, the user can continue to remit without waiting for the confirmation of the remittance in advance. According to the present invention, it is possible to provide a trading system capable of reducing the waiting time for trading using virtual currency.
図1及び図2を参照すると、本発明の実施の形態における取引システム10は、ブロックチェーン技術に基づく仮想通貨(即ち、分散型仮想通貨:以下、単に「仮想通貨」という。)を取引するためのシステムである。取引システム10における仮想通貨の取引は、少なくとも仮想通貨の送金を含んでいる。即ち、取引システム10は、仮想通貨の送金を含む取引のための取引システムである。
Referring to FIGS. 1 and 2, the
図1を参照すると、取引システム10は、様々な通信手段を介して、1以上の利用者システム60と通信可能に接続されている。取引システム10と利用者システム60とを互いに接続する通信手段は、特に限定されない。例えば、利用者システム60は、光ファイバー(図示せず)やメタルファイバー(図示せず)等の通信線を組み合わせた有線通信網92によって取引システム10と通信可能に接続されていてもよいし、基地局(図示せず)によって制御される無線通信網94を介して取引システム10と通信可能に接続されていてもよい。有線通信網92及び無線通信網94は、インターネットの一部であってもよい。また、取引システム10及び利用者システム60は、同一組織内のシステムであってもよい。この場合、利用者システム60は、LAN(Local Area Network)96によって取引システム10と通信可能に接続されていてもよい。
Referring to FIG. 1, the
図2を参照すると、本実施の形態の利用者システム60は、取引端末60Tを備えている。取引端末60Tは、利用者によって操作されるコンピュータである。取引端末60Tを操作する利用者は、個人であってもよいし、会社等の組織であってもよい。利用者が個人である場合、取引端末60Tは、例えば、デスクトップPC(Personal Computer)やスマートフォンであってもよい。利用者が組織である場合、利用者システム60は、複数の様々なサーバコンピュータ(以下、単に「サーバ」という。)から構成されていてもよい。この場合、取引端末60Tは、サーバの操作端末であってもよい。
Referring to FIG. 2, the
本実施の形態の取引端末60Tは、取引アプリ62と、利用者鍵64と、入力装置66と、表示装置68とを備えている。取引アプリ62は、コンピュータを、利用者システム60として機能させるためのコンピュータプログラム(以下、単に「プログラム」という。)である。取引アプリ62は、取引端末60Tの記憶装置(図示せず)に記憶されている。取引アプリ62は、取引端末60TのCPU(Central Processing Unit)によって主記憶装置(図示せず)にローディングされた後に実行され、これにより、取引端末60Tは、利用者システム60として機能する。本実施の形態の取引アプリ62は、1台の取引端末60Tにインストールされている。但し、本発明は、これに限られない。例えば、取引アプリ62の様々な機能は、複数のコンピュータに分散してインストールされていてもよい。この場合、取引アプリ62は、複数のコンピュータを利用者システム60として機能させてもよい。
The trading terminal 60T of the present embodiment includes a
利用者鍵64は、取引端末60Tの記憶装置(図示せず)に記憶されたデータである。取引端末60Tは、利用者鍵64を1つのみ備えていてもよいし、2以上の利用者鍵64を備えていてもよい。入力装置66は、例えば、キーボードやタッチパネルである。表示装置68は、例えば、液晶画面である。利用者システム60の利用者は、入力装置66を使用して取引アプリ62を操作し、これにより、1以上の利用者鍵64を使用して仮想通貨の取引を行う。仮想通貨の取引に関する情報は、表示装置68に適時表示される。
The
図3を図2と併せて参照すると、本実施の形態において、利用者鍵64は、第1秘密鍵642と、第1公開鍵644と、口座アドレス646とを含むデータ構造体である。第1秘密鍵642及び第1公開鍵644は、公開鍵暗号方式における2つの鍵のペアである。第1秘密鍵642は、仮想通貨の取引に署名を施すために使用され、第1公開鍵644は、署名を検証するために使用される。口座アドレス646は、取引対象の仮想通貨の口座を特定するデータであり、一般公開されたアルゴリズムを使用して第1公開鍵644から生成されている。例えば、利用者システム60の利用者が仮想通貨を送金する際、口座アドレス646によって、仮想通貨の送金元口座を特定できる。
Referring to FIG. 3 together with FIG. 2, in the present embodiment, the
本実施の形態の利用者鍵64は、利用者システム60の内部に記憶されており、上述のデータ構造を有している。但し、本発明は、これに限られない。例えば、利用者鍵64は、利用者システム60の外部に記憶されていてもよい。より具体的には、利用者鍵64は、利用者が所有するUSB(Universal Serial Bus)メモリに記憶されていてもよい。この場合、利用者システム60は、公共施設に設置された端末であってもよい。また、口座アドレス646は、利用者鍵64に含まれていなくてもよい。この場合、取引アプリ62は、必要な都度、第1公開鍵644から口座アドレス646を生成してもよい。更に、第1秘密鍵642及び第1公開鍵644は、電子的なデータとして記憶されておらず、第1秘密鍵642及び第1公開鍵644を記載した紙の書類のみが存在していてもよい。
The
図2を参照すると、本実施の形態の取引システム10は、例えば企業等の組織によって運用されるシステムである。取引システム10は、取引サーバ20と、手数料管理サーバ30と、リトライサーバ40と、記憶装置50とを備えている。取引サーバ20、手数料管理サーバ30及びリトライサーバ40の夫々は、取引システム10の運用者によって操作されるコンピュータである。記憶装置50は、例えば磁気ディスクである。取引サーバ20、手数料管理サーバ30及びリトライサーバ40の夫々は、記憶装置50と通信可能に接続されている。即ち、取引サーバ20、手数料管理サーバ30及びリトライサーバ40の夫々は、記憶装置50にデータを書込可能(記憶可能)であり、且つ、記憶装置50に記憶されたデータを読込可能(取得可能)である。
Referring to FIG. 2, the
取引システム10における取引サーバ20、手数料管理サーバ30、リトライサーバ40及び記憶装置50の物理的な構造は、特に限定されない。例えば、取引サーバ20、手数料管理サーバ30及びリトライサーバ40の夫々は、1台のコンピュータであってもよいし、2台以上のコンピュータから構成されていてもよい。また、1台のコンピュータが、取引サーバ20、手数料管理サーバ30及びリトライサーバ40の全ての機能を有していてもよい。記憶装置50は、1台の磁気ディスクであってもよいし、2台以上の磁気ディスクから構成されていてもよい。
The physical structure of the transaction server 20, the
記憶装置50には、取引システム10が参照する様々なデータ構造体が記憶されている。本実施の形態において、記憶装置50には、データ構造体として、利用者システム60と夫々対応する1以上の利用者情報52と、仮想通貨の取引に使用される1以上の取引口座53と、利用者システム60の利用者鍵64と夫々対応する1以上の預かり鍵54と、手数料情報56と、トランザクション保存空間58とが記憶されている。但し、本発明は、これに限られない。例えば、記憶装置50には、上述したデータ構造体に加えて、更に別のデータ構造体が記憶されていてもよい。一方、上述したデータ構造体の夫々は、必要に応じて記憶装置50に記憶すればよい。また、上述したデータ構造体のデータ構造は、以下に説明するデータ構造に限定されず、様々に変形可能である。
The
図4を図2と併せて参照すると、利用者情報52には、利用者システム60と夫々対応する1以上の利用者特定データ522と、利用者特定データ522と夫々対応する1以上の利用者認証データ524とが含まれている。利用者特定データ522の夫々は、対応する利用者システム60を一意に特定可能なデータである。例えば、利用者特定データ522の夫々は、対応する利用者システム60が取引システム10のアカウントを作成した際の利用者ID(identifier)やメールアドレスである。利用者認証データ524の夫々は、対応する利用者システム60を認証するためのデータである。利用者認証データ524の夫々は、例えば、パスワードであってもよいし、指紋情報等の生体情報であってもよい。
Referring to FIG. 4 together with FIG. 2, the
図5を図2と併せて参照すると、取引口座53には、利用者システム60の口座アドレス646と夫々対応する1以上の口座アドレス532と、口座アドレス532と夫々対応する1以上の利用者特定データ534とが含まれている。口座アドレス532の夫々には、対応する口座アドレス646と同じデータが記憶されている。利用者特定データ534の夫々には、対応する口座アドレス532(口座アドレス646)を有する利用者システム60を特定する利用者特定データ522と同じデータが記憶されている。
Referring to FIG. 5 together with FIG. 2, the
本実施の形態における取引口座53は、仮想通貨の取引に使用される口座が仮想通貨の取引を行う利用者の正当な口座であるか否かを検証するために使用される。例えば、所定の利用者システム60(所定利用者システム60)の利用者が所定の口座アドレス646(所定口座アドレス646)から仮想通貨を送金しようとした場合、所定口座アドレス646が取引口座53のいずれかの口座アドレス532と一致し、且つ、一致した口座アドレス532と対応する利用者特定データ534が、所定利用者システム60と対応する利用者特定データ522と一致するとき、取引システム10は、所定口座アドレス646が利用者の正当な口座であると判断する。
The
図6を図2と併せて参照すると、預かり鍵54には、利用者システム60の口座アドレス646と夫々対応する1以上の口座アドレス542と、口座アドレス542と夫々対応する1以上の第2秘密鍵544とが含まれている。口座アドレス532の夫々には、対応する口座アドレス646と同じデータが記憶されている。第2秘密鍵544は、仮想通貨の取引に多重署名(マルチシグニチャ)を施すための秘密鍵である。例えば、利用者システム60の利用者が所定の口座アドレス646(所定口座アドレス646)から仮想通貨を送金しようとした場合、利用者システム60は、所定口座アドレス646と対応した第1秘密鍵642を使用して仮想通貨の送金に署名を施し、取引システム10は、所定口座アドレス646と一致する口座アドレス542に対応する第2秘密鍵544を使用して仮想通貨の送金に更に署名を施す。
Referring to FIG. 6 together with FIG. 2, the
上述のように、本実施の形態によれば、仮想通貨の取引に対して、互いと対応する2つの秘密鍵(第1秘密鍵642及び第2秘密鍵544)を使用したマルチシグニチャが施される。但し、マルチシグニチャを施す方法は、本実施の形態に限られず、様々に変形可能である。また、マルチシグニチャを採用せず、仮想通貨の取引に対して第1秘密鍵642による署名のみを施してもよい。この場合、取引システム10は、署名に使用された第1秘密鍵642に対応する第2秘密鍵544を備えていなくてもよい。
As described above, according to the present embodiment, a multi-signature using two private keys (first
利用者システム60及び取引システム10は、上述したデータ構造体を参照しつつ、仮想通貨の取引を行う。特に、取引システム10は、利用者システム60から、仮想通貨の口座からの送金の依頼である送金依頼を受信可能である。
The
以下、利用者システム60が取引システム10を介して他の利用者システム60に仮想通貨を送金するという取引の発生から確定までの基本的な流れを説明する。
Hereinafter, the basic flow from the occurrence to the confirmation of a transaction in which the
図2を参照すると、まず、利用者システム60の取引アプリ62は、利用者の操作に応じて、取引システム10に対して送金依頼を送信する(図2の(1))。より具体的には、取引アプリ62は、送金を記憶したトランザクション88を作成し、第1秘密鍵642(図3参照)による署名を施して、取引システム10の取引サーバ20に送信する。
Referring to FIG. 2, first, the
一般的に、トランザクション88の夫々には、送金等の取引が記憶されている。後述するように、取引システム10は、正当性を確認したトランザクション88を、仮想通貨ネットワーク80にブロードキャストする。取引システム10がブロードキャストしたトランザクション88は、仮想通貨ネットワーク80に含まれる多数のノードに伝播され、各ノードによって記憶される。また、取引システム10は、ブロードキャストしたトランザクション88を、トランザクション保存空間58に記憶する。取引システム10を含む多数のノードは、トランザクション88を互いに伝播することで、夫々が記憶しているトランザクション88を整合させている。即ち、トランザクション88は、仮想通貨ネットワーク80によって分散的に管理されており、全てのトランザクション88を集中的に管理する特定のノードは存在しない。但し、本発明は、このような特定のノードが存在している場合にも適用可能である。
Generally, transactions such as remittance are stored in each
図7は、トランザクション88に含まれるデータのうち、以下の説明において必要なデータのみを模式的に示している。トランザクション88の夫々は、n個(nは、1以上の整数)の入力部88Iと、m個(mは、1以上の整数)の出力部88Oと、手数料889とを含んでいる。入力部88Iの夫々には、仮想通貨の送金元口座を特定するデータと、送金元口座の正当性を保証するためのデータとが記憶されている。出力部88Oの夫々には、仮想通貨の送金先口座を特定するデータと、送金先口座に対する仮想通貨の送金額を示すデータとが記憶されている。
FIG. 7 schematically shows only the data required in the following description among the data included in the
より具体的には、出力部88Oの夫々は、送金先アドレス886と、仮想通貨送金額888とを含んでいる。送金先アドレス886は、仮想通貨の送金先口座を特定するデータである。図7を図2及び図3と併せて参照すると、送金先アドレス886には、送金先の利用者システム60の利用者鍵64の口座アドレス646(送金先口座アドレス646)が記憶されている。仮想通貨送金額888には、送金先口座アドレス646に対する送金額(ゼロよりも大きな数値)が記憶されている。
More specifically, each of the output units 88O includes a
入力部88Iの夫々は、送金元アドレス882と、署名データ884とを含んでいる。送金元アドレス882は、仮想通貨の送金元口座を特定するデータである。詳しくは、送金元アドレス882には、このトランザクション88(後続トランザクション88)に先立ってブロードキャストされたトランザクション88(先行トランザクション88)の出力部88O(先行出力部88O)を特定可能なデータが記憶されている。先行トランザクション88の先行出力部88Oの送金先アドレス886には、後続トランザクション88の入力部88Iの送金元口座(送金元口座アドレス646)が記憶されている。署名データ884は、送金元口座アドレス646の正当性を保証するためのデータであり、送金元口座アドレス646と対応する第1秘密鍵642による署名が施されている。
Each of the input units 88I includes a
後述するように、手数料889には、トランザクション88をマイニングしたマイナーが受け取る仮想通貨の報奨金額(ゼロ以上の数値)が記憶されている。トランザクション88の夫々において、手数料889と、n個の入力部88Iの送金元アドレス882によって特定されるn個の先行出力部88Oの仮想通貨送金額888を合計した合計入金額と、m個の出力部88Oの仮想通貨送金額888を合計した合計送金額とは、手数料889=合計入金額−合計送金額との関係式を満たしている。この関係式から理解されるように、トランザクション88に手数料889のデータが含まれていなくても、合計入金額及び合計送金額から報奨金額を算出可能である。従って、トランザクション88には、手数料889のデータ項目が含まれていなくてもよい。
As will be described later, the
図2及び図8を参照すると、例えば、利用者システム60の利用者が、先行トランザクション88を伴う取引の後に、口座Aの残金(200単位の仮想通貨)の一部(150単位の仮想通貨)を口座Bに送金する場合、取引サーバ20にトランザクション88(後続トランザクション88)が送信される。
Referring to FIGS. 2 and 8, for example, a user of the
後続トランザクション88は、1つの入力部88Iと、2つの出力部88Oとを含んでいる。入力部88Iの送金元アドレス882には、先行トランザクション88の出力部88Oを特定するデータである「アドレスA」が記憶されている。後続トランザクション88の出力部88Oのうちの1つにおいて、送金先アドレス886には、「口座B」が記憶されており、仮想通貨送金額888には、「150」が記憶されている。後続トランザクション88の出力部88Oのうちの他の1つにおいて、送金先アドレス886には、「口座A」が記憶されており、仮想通貨送金額888には、「49」が記憶されている。
以上に説明したトランザクション88の構造から理解されるように、トランザクション88の入力部88Iの夫々は、他のトランザクション88の出力部88OであるUTXO(Unspent Transaction Output)にリンクされている。即ち、トランザクション88は、UTXOを介してチェーン状に繋がっており、これにより取引台帳を形成している。
As can be understood from the structure of
図2を参照すると、取引システム10は、利用者システム60からトランザクション88を受信すると(図2の(1))、後述するように、トランザクション88に記憶されたデータの妥当性をチェックし、これによりトランザクション88の正当性を確認する。取引システム10は、トランザクション88に記憶されたデータが妥当であると判断すると、トランザクション88の署名データ884(図7参照)に送金元アドレス882(図7参照)と対応する第2秘密鍵544(図6参照)による署名を施して、トランザクション88を発行する(図2の(2))。このとき、取引システム10は、トランザクション88を、仮想通貨ネットワーク80にブロードキャストする。取引システム10がブロードキャストしたトランザクション88は、取引システム10のトランザクション保存空間58に記憶される(図2の(3))。
With reference to FIG. 2, when the
以上の説明から理解されるように、仮想通貨の1回の送金に応じて、1つのトランザクション88が仮想通貨ネットワーク80にブロードキャストされる。即ち、送金が1回以上行われることで、送金と夫々対応した1以上のトランザクション88がブロードキャストされる。仮想通貨ネットワーク80にブロードキャストされた1以上のトランザクション88は、仮想通貨ネットワーク80のノードの1つであるマイニングシステム70によってブロック84に取り込まれ、ブロックチェーン82に接続される。換言すれば、マイニングシステム70は、未だブロック84に取り込まれていない1以上のトランザクション88を纏めて1つのブロック84を作成し、作成したブロック84をブロックチェーン82に接続する。また、マイニングシステム70は、作成したブロック84を、仮想通貨ネットワーク80にブロードキャストする。
As can be understood from the above description, one
ブロックチェーン82は、1以上のブロック84からなるチェーンである。ブロックチェーン82が正常な状態にあるとき、全てのブロック84は、連続した1本のチェーンを形成しており、マイニングシステム70が新たに作成したブロック84は、ブロックチェーン82の末尾に接続される。例えば、ブロックチェーン82が1番目のブロック84(図示せず)からK番目のブロック84まで繋がっているとき、新たに作成されたブロック84は、K+1番目のブロック84として、ブロックチェーン82のK番目のブロック84に接続される。この結果、K+1番目のブロック84のブロック84に含まれている1以上のトランザクション88が、ブロックチェーン82に取り込まれる。
The
図9は、ブロック84に含まれるデータのうち、以下の説明において必要なデータのみを模式的に示している。ブロック84の夫々は、ブロックヘッダー84Hと、トランザクション領域848とを含んでいる。トランザクション領域848には、1つのコインベーストランザクション88C(後述)と、このブロック84に取り込まれた1以上のトランザクション88とが記憶されている。ブロックヘッダー84Hは、ブロックハッシュ842と、ナンス846とを含んでいる。
FIG. 9 schematically shows only the data required in the following description among the data contained in the
図9を図2と併せて参照すると、ブロックハッシュ842には、新たに作成されたブロック84(図2におけるK+1番目のブロック84)が接続されるブロック84(図2においてK番目のブロック84)のブロックヘッダー84Hのハッシュ値が記憶されている。このハッシュ値は、ブロックヘッダー84Hを、一般公開されたハッシュアルゴリズム(以下、「所定ハッシュアルゴリズム」という。)によってハッシュすることで得られる。
Referring to FIG. 9 together with FIG. 2, a newly created block 84 (K +
マイニングシステム70は、ブロック84を新たに作成する際、このブロック84のナンス846の設定値を変更しつつ、所定ハッシュアルゴリズムを使用して、ブロックヘッダー84Hのハッシュ値を繰り返し算出する。マイニングシステム70は、予め定められた条件を満たす所定ハッシュ値が得られるまで、ハッシュ値の算出を繰り返す。マイニングシステム70は、所定ハッシュ値が得られたときのナンス846の設定値を、このブロック84のナンス846に設定する。即ち、ナンス846には、このブロックヘッダー84Hをハッシュしたときに所定ハッシュ値が得られるような値が記憶されている。
When the
図2を参照すると、上述の新たなブロック84の作成は、複数のマイニングシステム70によって、同時並行的に行われる。マイニングシステム70の夫々は、トランザクション保存空間78を備えている。トランザクション保存空間78の夫々は、ブロックチェーン82と、ブロックチェーン82に取り込まれていないトランザクション88とを含んでいる。マイニングシステム70のうちの1つが新たなブロック84を作成してブロードキャストすると、他のマイニングシステム70は、ブロードキャストされたブロック84を受信し、受信したブロック84の正当性を検証した後、正当性を認めたブロック84を、自らのトランザクション保存空間78のブロックチェーン82に接続する。
Referring to FIG. 2, the above-mentioned
取引システム10は、マイニングシステム70と同様に、マイニングシステム70がブロードキャストしたブロック84を受信し、受信したブロック84の正当性を検証した後、正当性を認めたブロック84を、自らのトランザクション保存空間58のブロックチェーン82に接続する。仮想通貨ネットワーク80の他のノードも同様な処理を行う。
Similar to the
新たなブロック84は、仮想通貨ネットワーク80の多数のノードによって正当性を認められることで承認される。このとき、ブロック84は、ブロックチェーン82に確定的に接続される。承認されたブロック84を作成したマイニングシステム70は、仮想通貨による報奨金を得ることができる。詳しくは、マイニングシステム70は、ブロック84を作成する際に、得るべき報奨金額を記憶したコインベーストランザクション88Cを作成して、仮想通貨の取引に応じて作成されたトランザクション88と共に、トランザクション領域848(図9参照)に取り込む。コインベーストランザクション88Cに記憶される報奨金額は、ブロック84に取り込まれたトランザクション88の手数料889(図7参照)を合計した合計報奨金額に、予め定められた所定報奨金額を加算した金額である。
The
上述したように、仮想通貨の送金取引は、利用者システム60が取引システム10に送金依頼したときに発生する。また、仮想通貨の送金取引は、取引システム10が発行したトランザクション88がブロック84に取り込まれ、ブロック84が多数のノードにおいてブロックチェーン82に接続されたときに確定する。換言すれば、利用者システム60から他の利用者システム60への仮想通貨の送金は、送金を記憶したトランザクション88が仮想通貨ネットワーク80にブロードキャストされて仮想通貨ネットワーク80のブロック84に取り込まれ、ブロック84が仮想通貨ネットワーク80のブロックチェーン82に接続された後に確定する。
As described above, the virtual currency remittance transaction occurs when the
以上の説明から理解されるように、利用者システム60による送金依頼(図2の(1))から送金の確定までには、比較的長い待ち時間(例えば、30分〜1時間程度の時間)を要する。待ち時間が経過するまで、利用者システム60が送金に使用した口座アドレス646(図3参照)の残金が確定しない。従って、利用者システム60がこの口座アドレス646から次の送金を行うためには、30分〜1時間程度待たなければならない。即ち、仮想通貨の一般的な送金取引は、30分〜1時間程度の待ち時間で確定する。一方、仮想通貨の送金取引は、マイニングシステム70が送金取引によるトランザクション88を新たなブロック84に取り込まない限り、どれだけ待っても確定しない。
As can be understood from the above explanation, it takes a relatively long waiting time (for example, about 30 minutes to 1 hour) from the remittance request by the user system 60 ((1) in FIG. 2) to the confirmation of the remittance. Needs. Until the waiting time elapses, the balance of the account address 646 (see FIG. 3) used by the
マイニングシステム70の夫々は、企業等であるマイナーによって運用されている。一般的に、マイナーは、できるだけ高額な報奨金を得ることを目的として新たなブロック84を作成する。従って、トランザクション88の手数料889(図7参照)に設定された報奨金額が低い場合、このトランザクション88は、ブロック84に取り込まれ難い。換言すれば、手数料889に高い報奨金額を設定することで、待ち時間を比較的短くできる。一方、報奨金の支払いによる利用者の損失を小さくするという観点からは、手数料889にできるだけ低い報奨金額を設定することが好ましい。従って、手数料889には、低すぎず且つ高すぎない適切な報奨金額を設定することが好ましい。
Each of the
本実施の形態の取引システム10の記憶装置50には、利用者情報52、取引口座53、預かり鍵54及びトランザクション保存空間58に加えて、手数料情報56が記憶されている。本実施の形態によれば、利用者システム60は、以下に説明するように、トランザクション88の手数料889(図7参照)に適切な報奨金額を設定できる。
The
図10を図2と併せて参照すると、手数料情報56には、最低手数料562が記憶されている。最低手数料562は、トランザクション88がマイニングシステム70によってブロック84に取り込まれる際のマイナーに対する報奨金額、即ち手数料889(図7参照)、の基準を示すものである。例えば、最低手数料562は、マイナーに支払うべき報奨金の絶対値であってもよいし、トランザクション88のバイト数に応じた報奨金の比率であってもよい。本実施の形態において、最低手数料562は、取引システム10の手数料管理サーバ30によって設定される。
Referring to FIG. 10 together with FIG. 2, the
図12及び図13を参照すると、手数料管理サーバ30は、仮想通貨ネットワーク80を定期的に監視し、これにより、ブロック84に取り込まれた複数のトランザクション88の手数料889(図7参照)を定期的に取得する(図12の1−(1)及び図13のS1302)。例えば、手数料管理サーバ30は、ブロックチェーン82の末尾に位置するブロック84(図12においてK番目のブロック84)を参照して、ブロック84に記憶されたトランザクション88の手数料889を取得する。
Referring to FIGS. 12 and 13, the
次に、手数料管理サーバ30は、取得した1以上の手数料889(図4参照)から、利用者システム60がトランザクション88を作成する際に手数料889に設定すべき報奨の最小金額又は最小比率(最低報奨)を算出する(図12の1−(2)及び図13のS1304)。次に、手数料管理サーバ30は、算出した最低報奨を、手数料情報56の最低手数料562(図10参照)に設定する(図12の1−(3)及び図13のS1306)。次に、手数料管理サーバ30は、仮想通貨ネットワーク80の定期的な監視を続ける(図12の1−(1)及び図13のS1302)。
Next, the
手数料管理サーバ30が最低報奨を求める方法は、特に限定されない。例えば、手数料管理サーバ30は、取得した手数料889(図4参照)のうちの最低値を最低報奨としてもよい。一方、手数料管理サーバ30は、取得した手数料889からマイナーに支払われる報奨の傾向を分析し、これにより最低報奨を求めてもよい。また、手数料管理サーバ30は、ブロックチェーン82の末尾に位置する2以上のブロック84から手数料889を取得してもよい。
The method by which the
図12及び図14を参照すると、利用者システム60の利用者が取引アプリ62を起動すると(図12の2−(1))、取引アプリ62は、取引サーバ20に対して、利用者IDやパスワード等のログインデータを含むログイン要求を送信する(図12の2−(2))。取引サーバ20は、利用者システム60(取引アプリ62)からログインデータを受信すると(図14のS1402)、受信したログインデータを使用して、利用者システム60を認証する(図12の2−(3)及び図14のS1404)。例えば、取引サーバ20は、利用者ID及びパスワードを、利用者情報52の利用者特定データ522(図4参照)及び利用者認証データ524(図4参照)と照合することで利用者システム60を認証する。
With reference to FIGS. 12 and 14, when the user of the
取引サーバ20は、利用者システム60の正当性を認証できなかった場合(図14のS1404のNG)、利用者システム60のログインを拒否する(図14のS1406)。一方、取引サーバ20は、利用者システム60の正当性を認証できた場合(図14のS1404のOK)、利用者システム60の口座の残金と、手数料情報56に記憶された最低手数料562(図10参照)とを取得する(図12の2−(4)及び図14のS1408)。
If the transaction server 20 cannot authenticate the validity of the user system 60 (NG in S1404 of FIG. 14), the transaction server 20 refuses to log in to the user system 60 (S1406 in FIG. 14). On the other hand, when the transaction server 20 can authenticate the validity of the user system 60 (OK in S1404 of FIG. 14), the balance of the account of the
例えば、取引サーバ20は、利用者システム60から受信した利用者IDを、取引口座53の利用者特定データ534(図5参照)と照合することで、利用者システム60の1以上の口座アドレス532(図5参照)を取得する。取引サーバ20は、取得した口座アドレス532を、トランザクション保存空間58に保存されているトランザクション88の送金先アドレス886(図7参照)と照合し、口座アドレス532への仮想通貨送金額888(図7参照)を得ることで、取得した1以上の口座アドレス532と夫々対応する残金を得る。
For example, the transaction server 20 collates the user ID received from the
取引サーバ20は、上述のように取得した口座の残金及び最低手数料562(図10参照)を利用者システム60(取引アプリ62)に送信する(図12の2−(5)及び図14のS1410)。取引アプリ62は、受信した口座の残金及び最低手数料562(即ち、適切な報奨金額)を表示装置68に表示する(図12の2−(6))。利用者システム60の利用者は、表示された口座の残金及び適切な報奨金額を参考にしつつ送金操作を行うことができる(図12の2−(7))。
The transaction server 20 transmits the balance of the account acquired as described above and the minimum fee 562 (see FIG. 10) to the user system 60 (transaction application 62) (2- (5) in FIG. 12 and S1410 in FIG. 14). ). The
利用者システム60の利用者は、送金操作において、入力装置66を使用して、送金元口座、送金先口座、送金額及び報奨金額等のデータを入力する(図12の2−(7))。取引アプリ62は、入力された送金額及び報奨金額等のデータの妥当性をチェックする(図12の2−(8))。例えば、取引アプリ62は、入力された送金額が送金元口座の合計残金を越えているか、又は、入力された報奨金額が適切な報奨金額未満である場合、表示装置68にエラーメッセージを表示し、妥当なデータの入力を待つ(図示せず)。一方、取引アプリ62は、入力されたデータが妥当であると判断した場合、入力されたデータ及び利用者鍵64に基づいてトランザクション88を作成し、取引サーバ20に送信し、これにより送金依頼する(図12の2−(9))。
In the remittance operation, the user of the
取引サーバ20は、利用者システム60(取引アプリ62)から送金依頼に伴うトランザクション88を受信すると(図14のS1420)、受信したトランザクション88の仮想通貨送金額888(図7参照)及び手数料889(図7参照)等のデータの妥当性をチェックする(図12の2−(10)及び図14のS1422)。例えば、取引サーバ20は、入力された仮想通貨送金額888が送金元口座の合計残金を越えているか、又は、手数料889が最低手数料562(図10参照)未満である場合(図14のS1422のNG)、送金できないことを利用者システム60(取引アプリ62)に通知する(図14のS1424)。
When the transaction server 20 receives the
一方、取引サーバ20は、受信したトランザクション88のデータが妥当であると判断した場合(図14のS1422のOK)、受信したトランザクション88に第2秘密鍵544(図6参照)による署名を施して、トランザクション88を発行する(図12の2−(11)及び図14のS1426)。このとき、取引サーバ20は、トランザクション88を仮想通貨ネットワーク80にブロードキャストする。また、取引サーバ20は、発行したトランザクション88を、トランザクション保存空間58に記憶する(図12の2−(12))。次に、取引サーバ20は、送金が確定しているか否かに拘わらず、利用者システム60(取引アプリ62)に送金完了を通知する(図12の2−(13)及び図14のS1428)。
On the other hand, when the transaction server 20 determines that the received
取引アプリ62は、取引サーバ20から送金完了の通知を受信すると、表示装置68に送金完了を表示する(図12の2−(14))。この結果、利用者システム60の利用者は、送金が確定したことを知ることができ、次の送金を直ちに行うことができる。
Upon receiving the remittance completion notification from the transaction server 20, the
図12を参照すると、上述したように、本実施の形態によれば、利用者システム60は、送金依頼においてトランザクション88の手数料889(図7参照)を指定できる。取引システム10は、指定された手数料889が手数料条件を満たす場合、送金依頼に応じてトランザクション88をブロードキャストする。一方、取引システム10は、指定された手数料889が手数料条件を満たさない場合、送金依頼に応じたトランザクション88をブロードキャストしない。本実施の形態における手数料条件は、手数料889≧手数料情報56に記憶された最低手数料562(図10参照)との条件である。但し、手数料条件は、これに限られない。例えば、手数料条件は、手数料889≧トランザクション88のサイズ(バイト数)×手数料情報56に記憶された最低手数料562であってもよい。
Referring to FIG. 12, as described above, according to the present embodiment, the
本実施の形態によれば、利用者システム60の利用者は、送金依頼する際(図12の(2−9))、トランザクション88の手数料889(図7参照)に設定すべき報奨金額として、表示装置68に表示された適切な報奨金額以上の報奨金額を入力できる。加えて、取引アプリ62は、入力された報奨金額が適切な報奨金額未満である場合、取引サーバ20に送金依頼しない。更に、取引サーバ20は、手数料889が最低手数料562(図10参照)未満である場合、トランザクション88を発行しない。
According to the present embodiment, when the user of the
上述した利用者による妥当な入力、取引アプリ62による妥当性の検証及び取引サーバ20による妥当性の検証により、マイニングシステム70によってブロック84に取り込まれやすいトランザクション88が仮想通貨ネットワーク80に送信される。但し、本発明は、これに限られない。例えば、取引アプリ62による妥当性の検証及び取引サーバ20による妥当性の検証は、いずれか一方のみを行ってもよい。更に、取引アプリ62による妥当性の検証及び取引サーバ20による妥当性の検証を行わなくてもよい。
Due to the above-mentioned valid input by the user, validation by the
図12及び図16を参照すると、取引アプリ62(利用者システム60)の機能は、更に変形可能である。例えば、変形例による取引アプリ62は、上述した実施の形態と同様に、取引システム10から口座の残金及び最低手数料562(図10参照)を受信する(図12の2−(5)及び図16のS1602)と、受信した口座の残金及び最低手数料562を表示装置68に表示する(図12の2−(6))。次に、本変形例による取引アプリ62は、上述した実施の形態と同様に、利用者システム60の利用者による送金操作を検知するまで待つ(図16のS1604のNO)。
With reference to FIGS. 12 and 16, the functions of the trading application 62 (user system 60) can be further modified. For example, the
本変形例によれば、利用者システム60の利用者は、送金操作(図12の2−(7))において、送金元口座、送金先口座、送金額等のデータを入力する一方、報奨金額を入力しない。本変形例による取引アプリ62は、利用者による送金操作を検知すると(図16のS1604のYES)、入力された送金額等のデータの妥当性をチェックする一方、報奨金額の妥当性をチェックしない(図16のS1606)。
According to this modification, the user of the
本変形例による取引アプリ62は、入力されたデータが妥当であると判断した場合、入力されたデータ及び利用者鍵64に基づいてトランザクション88を作成し、取引サーバ20に送信し、これにより送金依頼する(図12の2−(9))。このとき、本変形例による取引アプリ62は、最低手数料562(図10参照)を指定したトランザクション88を作成して送信する(図16のS1608)。例えば、最低手数料562は、トランザクション88の手数料889(図7参照)に設定して指定してもよい。一方、トランザクション88に手数料889のデータ項目が含まれていない場合、合計送金額が合計入金額から最低手数料562を引いた金額になるように調整することで最低手数料562を指定してもよい。
When the
上述したように、本変形例による利用者システム60は、送金依頼において、報奨金額として最低手数料562(図10参照)が指定されたトランザクション88を取引システム10に送信する。本変形例によっても、マイニングシステム70によってブロック84に取り込まれやすいトランザクション88を仮想通貨ネットワーク80に送信できる。
As described above, the
図12を参照すると、以上に説明したように、取引システム10は、利用者システム60から、利用者システム60の口座である所定口座からの送金依頼である所定送金依頼を受信すると、所定送金依頼に応じて、送金を記憶したトランザクション88である所定トランザクション88を仮想通貨ネットワーク80にブロードキャストする。取引システム10は、所定トランザクション88をブロードキャストした後に、利用者システム60から、所定口座からの送金依頼である後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼に応じて、送金を記憶したトランザクション88を仮想通貨ネットワーク80にブロードキャストする。
With reference to FIG. 12, as described above, when the
本発明によれば、取引システム10は、所定送金依頼に応じてトランザクション88をブロードキャストした後に、後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼を受け付ける。従って、利用者は、先立つ送金の確定を待つことなく、引き続き送金できる。本発明によれば、仮想通貨を使用した取引の待ち時間を低減可能な取引システム10を提供できる。
According to the present invention, when the
特に、本実施の形態の取引システム10は、所定トランザクション88に多重署名を施してブロードキャストした場合、その後に、利用者システム60から、所定口座からの送金依頼である後続送金依頼を受信すると、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼に応じて、送金を記憶したトランザクション88を仮想通貨ネットワーク80にブロードキャストする。
In particular, when the
本実施の形態によれば、利用者システム60の所定口座からの送金依頼は、必ず取引システム10を介して行われる。この前提により、取引システム10は、所定口座の残金を信用でき、所定送金依頼による送金が確定しているか否かに拘わらず、後続送金依頼を受け付けることができる。加えて、本実施の形態によれば、取引システム10は、利用者システム60の所定口座の仮想通貨を預かっておらず、利用者システム60の所定口座の第2秘密鍵544(図6参照)のみを預かっている。即ち、取引システム10は、所定口座からの送金に必要な鍵の一方のみを有している。この構成により、取引システム10の運用者による不正な送金を防止できると共に、取引システム10の外部からの仮想通貨の窃盗を防止できる。但し、本発明は、これに限られず、多重署名を用いない送金依頼にも適用可能である。
According to this embodiment, the remittance request from the predetermined account of the
取引システム10は、既に説明した機能に加えて、更に様々な機能を備えていてもよい。
The
例えば、図11を参照すると、2つのマイニングシステム70(図2参照)が、ブロックチェーン82の末尾のブロック84(図11におけるK番目のブロック84)に2つのブロック84(図11におけるK+1番目の2つのブロック84)を夫々接続することがある。この結果、ブロックチェーン82は2つのチェーン(図11における破線のチェーン及び実線のチェーン)に分岐する。ブロックチェーン82が分岐した場合、チェーンの夫々に新たなブロック84が更に接続され、これによりチェーンの夫々が延びる。いずれか一方のチェーン(図11における実線のチェーン)が所定の長さまで延びたときに、ブロックチェーン82がロールバックされ、他方のチェーン(図11における破線のチェーン)のブロック84(図11の破線のチェーンにおけるK+1番目のブロック84及びK+2番目のブロック84)が失われる場合がある。
For example, referring to FIG. 11, two mining systems 70 (see FIG. 2) have two blocks 84 (K + 1th in FIG. 11) in block 84 (
ブロック84が失われると、失われたブロック84に取り込まれたトランザクション88も失われ、これにより、仮想通貨の取引は、なかったことになる。以下に説明するように、本実施の形態の取引システム10は、仮想通貨を使用した取引が記憶されたトランザクション88がブロックチェーン82に取り込まれた後に消失した場合にも、記憶された取引を確定できる。
When the
図12及び図15を参照すると、取引システム10のリトライサーバ40は、ブロックチェーン82に接続されたブロック84の消失有無を定期的に監視している(図12の3−(1)及び図15のS1502)。例えば、リトライサーバ40は、ブロックチェーン82に接続されたブロック84のブロックハッシュ842(図9参照)が変化したとき、元のブロック84の消失を検知する。リトライサーバ40は、ブロックチェーン82に接続されたブロック84の消失を検知すると(図12の3−(2)及び図15のS1504)、失われたブロック84に記憶されていたトランザクション88を再発行(ブロードキャスト)する(図12の3−(3)及び図15のS1506)。
With reference to FIGS. 12 and 15, the retry server 40 of the
上述したように、本実施の形態の取引システム10は、ブロックチェーン82に接続されたブロック84が失われた場合、失われたブロック84に記憶されていたトランザクション88を再度ブロードキャストする。取引システム10は、このように機能するため、取引システム10がブロードキャストしたトランザクション88に記憶された取引は、時間の経過に伴って必ず確定する。従って、取引の実際の確定を待つことなく、利用者システム60に対して取引の確定を通知できる。
As described above, when the
以上に説明したように、本実施の形態の取引システム10によれば、利用者システム60に対して、送金取引が確定することを保証できる。例えば、ブロックチェーン82にロールバックが発生した場合でも、利用者システム60は、送金をやり直す必要がない。また、利用者システム60の所定口座から他の利用者システム60の所定口座に送金する場合、取引システム10は、他の利用者システム60に対しても、送金取引が確定することを保証できる。例えば、他の利用者システム60の利用者が小売店であり、利用者システム60の利用者が消費者である場合、小売店は、消費者からの仮想通貨の送金と同時に、消費者に商品を安心して提供できる。
As described above, according to the
10 取引システム
20 取引サーバ
30 手数料管理サーバ
40 リトライサーバ
50 記憶装置
52 利用者情報
522 利用者特定データ
524 利用者認証データ
53 取引口座
532 口座アドレス
534 利用者特定データ
54 預かり鍵
542 口座アドレス
544 第2秘密鍵
56 手数料情報
562 最低手数料
58 トランザクション保存空間
60 利用者システム
60T 取引端末
62 取引アプリ
64 利用者鍵
642 第1秘密鍵
644 第1公開鍵
646 口座アドレス
66 入力装置
68 表示装置
70 マイニングシステム
78 トランザクション保存空間
80 仮想通貨ネットワーク
82 ブロックチェーン
84 ブロック
84H ブロックヘッダー
842 ブロックハッシュ
846 ナンス
848 トランザクション領域
88 トランザクション
88C コインベーストランザクション
88I 入力部
882 送金元アドレス
884 署名データ
88O 出力部
886 送金先アドレス
888 仮想通貨送金額
889 手数料
92 有線通信網
94 無線通信網
96 LAN
10 Trading system 20
Claims (3)
前記仮想通貨の前記送金は、前記送金を記憶したトランザクションが仮想通貨ネットワークにブロードキャストされて前記仮想通貨ネットワークのブロックに取り込まれ、前記ブロックが前記仮想通貨ネットワークのブロックチェーンに接続された後に確定し、
前記取引システムは、1以上の利用者システムと通信可能に接続されており、前記利用者システムから、前記仮想通貨の口座からの前記送金の依頼である送金依頼を受信可能であり、
前記取引システムは、前記利用者システムから、前記口座である所定口座からの前記送金依頼である所定送金依頼を受信すると、前記所定送金依頼に応じて、前記送金を記憶した前記トランザクションである所定トランザクションを前記仮想通貨ネットワークにブロードキャストし、
前記取引システムは、前記所定トランザクションに多重署名を施してブロードキャストした場合、その後に、前記利用者システムから、前記所定口座からの前記送金依頼である後続送金依頼を受信すると、前記所定送金依頼による前記送金が確定しているか否かに拘わらず、前記後続送金依頼に応じて、前記送金を記憶した前記トランザクションを前記仮想通貨ネットワークにブロードキャストし、
前記取引システムは、前記ブロックチェーンに接続された前記ブロックが失われた場合、失われた前記ブロックに記憶されていた前記トランザクションを再度ブロードキャストする
取引システム。 A trading system for transactions including remittance of virtual currency
The remittance of the virtual currency is confirmed after the transaction storing the remittance is broadcast to the virtual currency network and incorporated into a block of the virtual currency network, and the block is connected to the blockchain of the virtual currency network.
The trading system is communicably connected to one or more user systems, and can receive a remittance request, which is a remittance request from the virtual currency account, from the user system.
When the transaction system receives the predetermined remittance request, which is the remittance request, from the predetermined account, which is the account, the transaction system is the transaction that stores the remittance in response to the predetermined remittance request. To the virtual currency network
When the transaction system broadcasts the predetermined transaction with multiple signatures, and then receives a subsequent remittance request, which is the remittance request from the predetermined account, from the user system, the said remittance request is made. Regardless of whether the remittance is confirmed or not, in response to the subsequent remittance request, the transaction that stores the remittance is broadcast to the virtual currency network .
The trading system re-broadcasts the transaction stored in the lost block when the block connected to the blockchain is lost .
前記取引システムは、前記利用者システムに最低手数料を送信し、
前記最低手数料は、前記トランザクションが前記ブロックに取り込まれる際の手数料の基準を示すものである
取引システム。 The trading system according to claim 1.
The trading system sends a minimum fee to the user system and
The minimum fee is a trading system that indicates a standard of fees when the transaction is incorporated into the block.
前記利用者システムは、前記送金依頼において前記手数料を指定でき、
前記取引システムは、指定された前記手数料が手数料条件を満たす場合、前記送金依頼に応じて前記トランザクションをブロードキャストする
取引システム。 The trading system according to claim 2.
The user system can specify the fee in the remittance request.
The transaction system is a transaction system that broadcasts the transaction in response to the remittance request when the designated fee satisfies the fee condition.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019078276A JP6776396B2 (en) | 2019-04-17 | 2019-04-17 | Trading system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019078276A JP6776396B2 (en) | 2019-04-17 | 2019-04-17 | Trading system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6776396B2 true JP6776396B2 (en) | 2020-10-28 |
JP2020177377A JP2020177377A (en) | 2020-10-29 |
Family
ID=72935619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019078276A Active JP6776396B2 (en) | 2019-04-17 | 2019-04-17 | Trading system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6776396B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6571375B2 (en) * | 2015-04-24 | 2019-09-04 | 国立大学法人 筑波大学 | Copyright protection support device |
WO2017170997A1 (en) * | 2016-03-31 | 2017-10-05 | 株式会社bitFlyer | Hierarchical network system, and node and program used in same |
JP6511017B2 (en) * | 2016-06-03 | 2019-05-08 | 日本電信電話株式会社 | Contract agreement method, agreement verification method, contract agreement device and agreement verification device |
JP6885457B2 (en) * | 2017-03-29 | 2021-06-16 | 日本電気株式会社 | Virtual currency payment agency, virtual currency payment agency method and program |
US10762479B2 (en) * | 2017-04-05 | 2020-09-01 | Samsung Sds Co., Ltd. | Method and system for processing blockchain-based real-time transaction |
US11049104B2 (en) * | 2017-04-05 | 2021-06-29 | Samsung Sds Co., Ltd. | Method of processing payment based on blockchain and apparatus thereof |
-
2019
- 2019-04-17 JP JP2019078276A patent/JP6776396B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020177377A (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687924B2 (en) | Cryptocurrency infrastructure system | |
US11764973B2 (en) | Systems and methods for creating a universal record | |
US10558820B2 (en) | System and method for maintaining a segregated database in a multiple distributed ledger system | |
US11665005B2 (en) | Event communication and verification through a blockchain network | |
EP3414720B1 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
US10592985B2 (en) | Systems and methods for a commodity contracts market using a secure distributed transaction ledger | |
EP3439231A1 (en) | Private node, processing method for private node, and program for same | |
KR20190099076A (en) | Electronic bill management methods, devices and recording media | |
US10693646B2 (en) | Event execution using a blockchain approach | |
KR20180014534A (en) | Verification system and method for transaction based block chain | |
WO2018013144A1 (en) | Digital asset distribution by transaction device | |
WO2018087836A1 (en) | Blockchain transaction system and blockchain transaction method | |
KR102407187B1 (en) | Method for charging electronic money automatically based on blockchain and system thereof | |
US11038685B1 (en) | Correcting blockchain transactions with cryptocurrency type mistakes | |
US20200013045A1 (en) | Stake pool for a secure and trusted data communication system | |
JP7447127B2 (en) | Preventing the sending of accidental copies of data records to a distributed ledger system | |
CN111476670A (en) | Block chain rollback insurance method, equipment and storage medium | |
JP6776396B2 (en) | Trading system | |
KR20200119671A (en) | method of distributing digital content by the amount of issuance, server performing the method, and computer program | |
KR20170099152A (en) | Method and server for registering stockholder's list and recording transfer of stock ownership | |
CN109816525A (en) | A kind of data processing method and its device, medium, terminal | |
TWM605762U (en) | Transaction risk estimation system | |
Yu et al. | Collusion attacks and fair time-locked deposits for fast-payment transactions in Bitcoin | |
JP2021036357A (en) | Transaction execution method and system | |
WO2023123153A1 (en) | Systems and methods for miner fee settlement between wallets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200730 |
|
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: 20200909 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6776396 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |