JP7015491B1 - デジタル資産を用いた取引注文処理システム - Google Patents
デジタル資産を用いた取引注文処理システム Download PDFInfo
- Publication number
- JP7015491B1 JP7015491B1 JP2021100537A JP2021100537A JP7015491B1 JP 7015491 B1 JP7015491 B1 JP 7015491B1 JP 2021100537 A JP2021100537 A JP 2021100537A JP 2021100537 A JP2021100537 A JP 2021100537A JP 7015491 B1 JP7015491 B1 JP 7015491B1
- Authority
- JP
- Japan
- Prior art keywords
- order
- smart contract
- order data
- processing
- contract
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 500
- 238000000034 method Methods 0.000 claims abstract description 106
- 230000008569 process Effects 0.000 claims abstract description 102
- 238000012544 monitoring process Methods 0.000 claims description 144
- 238000005516 engineering process Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000007704 transition Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000009849 deactivation Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 abstract description 11
- 238000012937 correction Methods 0.000 description 9
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000003651 drinking water Substances 0.000 description 1
- 235000020188 drinking water Nutrition 0.000 description 1
- -1 ferrous metals Chemical class 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000010970 precious metal Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
なお、本願明細書における「システム」とは、コンピュータや他の電子機器、ソフトウェア、通信ネットワーク、データなどの要素を組み合わせて構成された、ソフトウェアによる情報処理を、ハードウェア資源を用いて具体的に実現するコンピュータシステムを意味する。
特に定型化された経済的価値を有する資産、例えば、コモディティ(商品取引所で取引されている商品等)類は、デジタル資産として取引することのできる特性が強い。
なお、本願明細書における「スマートコントラクト」とは、ブロックチェーン上で稼働するプログラムであって、ブロックチェーンにおけるトランザクションのデータ処理を、ブロックチェーンの外部から取り込まれた情報をトリガーとして自動的に執行するプログラムを意味し、ノードという分散された環境で、並列的に処理できるものである。
特に定型化された経済的価値を有する資産、例えば、コモディティ(商品取引所で取引されている商品等)類は、経済的価値がデジタルで表現された、デジタル資産として取引することのできる特性が強い。
図21は本件発明者が本発明を導出する前段階で適用の可否について検討・考察した、特許文献1に記載の取引市場発注管理システムの一例の全体構成を概略的に示す説明図である。
図21の取引市場発注管理システムは、注文入力画面51と、データベース部53と、オーダー管理機能部55と、取引市場毎に接続されているライン制御機能部60t、60o、60jとを備えたコンピュータと、コンピュータを次に掲げる手段として機能させるプログラムを有して構築されている。
・注文入力画面51が、有価証券、商品先物等の取引注文を入力するための注文入力手段。
・データベース部53が、操作者により注文入力画面51を介して注文入力された注文データを、注文データの処理状況を示すためのステイタス領域を備えて、データベース部53に記録・保存する注文データ記録・保存手段。
・オーダー管理機能部55が、データベース部53に記録された各注文データを常時参照し、読み取った注文データにおける注文項目の不備の有無、複数の要素(時間、取引市場からの制御通知、時価をはじめとする市況情報等)から構成されるトリガーの条件の指定の有無をチェックし、チェックした注文データにおけるステイタス領域の内容を、チェックした結果に応じて所定の値に書き換えるステイタス書き換え手段。
・取引市場毎に接続されているライン制御機能部60t、60o、60jが、データベース部53に記録された各注文データにおけるステイタス領域の内容を常時参照するステイタス参照手段。
・取引市場毎に接続されているライン制御機能部60t、60o、60jが、参照するステイタス領域の内容が所定の値になった場合に、データベース部53から当該注文データを取り込む注文データ取り込み手段。
・取引市場毎に接続されているライン制御機能部60t、60o、60jが、取り込んだ当該注文データのデータ形式(プロトコル)を、当該注文データの対象とする取引市場で用いられているデータ形式に変換するデータ形式変換手段。
・取引市場毎に接続されているライン制御機能部60t、60o、60jが、データ形式(プロトコル)を変換した注文データを当該取引市場に転送する注文データ転送手段。
また、図21の取引市場発注管理システムでは、オーダー管理機能部55が、データベース部53に記録された注文データのステイタスに対する書き換え処理を行うのに対し、取引市場毎に接続されているライン制御機能部60t、60o、60jが、データベース部53に記録された注文データを取り込んで、データ形式変換、転送等の処理を行っており、オーダー管理機能部55と、ライン制御機能部60t、60o、60jとで、夫々異なる領域のデータに対する処理を行う構成となっている。
しかし、図21の取引市場発注管理システムのような構成とした場合、次のような問題が懸念される。
図21の取引市場発注管理システムは、注文を取引所に発注するために、オーダー管理機能部や、夫々のライン制御機能部における処理がデータベース部に依存したものとなっている。また、オーダー管理機能部がチェックする注文データと、夫々のライン制御機能部が取引所へ発注する注文データとは、別領域のデータであって同一領域のデータではない。
しかし、夫々の処理がデータベース部に依存する構成の場合、多数の注文データを処理するためにデータベース部にかかる負荷が増大し、処理速度が遅くなる。
また、夫々の処理が別領域のデータに対して処理を行う構成では、効率が悪く、処理に時間を要する上、作業領域が増大して負荷が大きくなる。
図21の取引市場発注管理システムのように、夫々の処理がデータベース部に依存する構成の場合、一部の処理にエラーが生じた場合や、データベース部に不具合が生じた場合、処理を中断し、データベース部を復旧等させる必要が生じ、処理を継続させることができない。
デジタル資産は、ブロックチェーンなどの分散型台帳を用いて管理されるデータであり、分散した状態で共有できるものであるとともにデータ自体に価値を有するものであって、その価値を有するデータそのものを処理できるという特性を有する。
トークン等のデジタル資産を用いた取引の場合、注文が小口化して、注文数が膨大化し易く、膨大なシステムトランザクションが発生する。このため、それに対応する規模のシステム構築のための投資が必要となり、コスト負担が膨大化することに加えて、処理の負荷がかかり過ぎて却って処理速度の低下を招く虞がある。
そして、本発明のデジタル資産を用いた取引注文処理システムのように、注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト、基準値提供用スマートコントラクト、および取引用スマートコントラクトを有し、前記注文管理用スマートコントラクトが、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている当該銘柄の注文データのうち、前記ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、前記ステイタスが“未処理”を示す値となっている全ての注文データの前記ステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、前記ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データの前記ステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有するようにすれば、複数のノードで作動する同一銘柄の夫々の取引用スマートコントラクトが、前記ステイタスが“未処理”となっている当該銘柄の注文データに対する対当・約定処理の奪い合いをし、複数の取引用スマートコントラクトのうち、当該銘柄の注文データの前記ステイタスを“処理中”に書き換えた所定のノードの取引用スマートコントラクトのみが、当該注文データに対する対当・約定処理を行うことになるので、当該銘柄の注文データに対する対当・約定処理を最速で開始することができるようになる。また、他のノードの取引用スマートコントラクトは、前記ステイタスが“未処理”となっている注文データに対してのみ、対当・約定処理の奪い合いをし、前記ステイタスが“処理中”となっている注文データに対しては処理を行わないため、同じ注文データに対し、二重で対当・約定処理が行われることを防止できる。
このようにすれば、基準値に最も近い価格に該当する注文に対する対当・約定処理を確実に行うことができる。
このようにすれば、基準値から所定価格までの範囲内においてより多くの注文に対する対当・約定処理を行うことができる。
このようにすれば、当該時点において注文者にとって基準値から不利となり過ぎる程に価格が乖離した注文に対する対当・約定処理は行われずに済む。
このようにすれば、当該銘柄の取引についての注文を発注することを欲する者が、事前に当該銘柄の売買における注文値段の相場を把握することができる。
このようにすれば、当該銘柄の取引についての注文を発注することを欲する者が、当該銘柄の売買において有利となる注文のタイミングを把握することができる。
このようにすれば、売り注文と買い注文の注文価格が、基準値提供用スマートコントラクトにより提供された直前の基準値から乖離し、その後に、注文者からの当該直前の基準値近傍の価格を注文価格とする注文の入力がなくても、停滞を生じることなく、対当・約定処理をすることが可能となる。
このようにすれば、後述する清算用スマートコントラクトによる作動を制御することができる。
このようにすれば、多数のノードに備わる清算用スマートコントラクトによる清算処理の奪い合いを行わせることができ、約定した注文についての清算処理を迅速かつ途切れることなく行うことができる。
このようにすれば、多数のノードに備わる取引用スマートコントラクトによる清算処理の奪い合いを行わせることができ、約定した注文についての清算処理を迅速かつ途切れることなく行うことができる。
このようにすれば、所定ノードの基準値提供用スマートコントラクトが算出する基準値に不具合を生じても、当該基準値提供用スマートコントラクトに替えて、他のノードの正常な基準値を算出する基準値提供用スマートコントラクトに基準値の提供をさせることができ、基準値提供用スマートコントラクトが提供する基準値の信頼性を高めることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
なお、基準値提供用スマートコントラクトが提供する基準値は、例えば、取引開始直前における最良気配値や、取引開始後における直前の基準値を所定の修正率を用いて修正した値となり得る。
このようにすれば、注文データをロックした所定ノードの取引用スマートコントラクトによる対当・約定処理に不具合を生じても、処理を停滞させることなく、他のノードの取引用スマートコントラクトに当該注文データの対当・約定処理を行わせることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
このようにすれば、所定のノードの清算用スマートコントラクトによる清算処理に不具合を生じても、処理を停滞させることなく、他のノードの清算用スマートコントラクトに当該注文データの清算処理を行わせることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
このようにすれば、所定のノードの取引用スマートコントラクトによる清算処理に不具合を生じても、処理を停滞させることなく、他のノードの取引用スマートコントラクトに当該注文データの清算処理を行わせることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
このようにすれば、スマートコントラクトの処理に不具合を生じたノードを把握することができ、把握後に当該ノードのスマートコントラクトを作動させることによる処理の不具合を未然に防止するとともに、当該不具合を生じるスマートコントラクトの作動による無駄な負荷を減らすことができる。
このようにすれば、多数のノードで作動するスマートコントラクトのうち、注文データの処理に関与していないスマートコントラクトの作動を停止することで、システム全体にかかる負荷を減らして、注文データの処理に関与しているスマートコントラクトによる処理を迅速化することができる。
以下、図面を参照して、本発明を実施するための形態の説明を行うこととする。
図1は本発明の第1実施形態に係るデジタル資産を用いた取引注文処理システムの全体構成を概略的に示す説明図である。
第1実施形態のデジタル資産を用いた取引注文処理システムは、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えて構築され、注文入力手段1と、注文管理用スマートコントラクト2と、基準値提供用スマートコントラクト3と、取引用スマートコントラクト4と、清算用スマートコントラクト5と、注文処理監視用スマートコントラクト6と、清算処理監視用スマートコントラクト7と、運用監視用スマートコントラクト8と、負荷監視用スマートコントラクト9と、を有している。
注文入力手段1は、例えば、コンピュータの端末や、携帯情報端末等の他の電子機器の画面表示部と入力部を介して、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引についての注文(例えば、トークンによる売り注文、デジタル通貨による買い注文)を入力することができるように構成されている。注文の入力項目は、例えば、銘柄、注文数、売買の注文価格、売買の別、売り注文におけるトークンの種類、買い注文におけるデジタル通貨の種類等が挙げられる。
注文管理用スマートコントラクト2は、注文者により注文入力手段1を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動し、図2に示すように、注文者により注文入力手段1を介して入力された銘柄単位の注文について、当該注文にかかる所定形態のデジタル資産(例えば、トークン又はデジタル通貨)を担保として、当該注文についての注文データ(例えば、トークンによる売り注文、デジタル通貨による買い注文のデータ)を、当該注文データの処理状況が“未処理”を示す値のステイタスとともに、分散型台帳に記録・保存する機能を有するように構成されている。
基準値提供用スマートコントラクト3は、注文者により注文入力手段1を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動し、図3に示すように、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づいて算出した、売買の基準となる値段)を、当該銘柄に対応する夫々の取引用スマートコントラクト4に提供する機能を有するように構成されている。
なお、本実施形態では、基準値提供用スマートコントラクト3は、最新の約定値や最良気配値に、所定の手数料等を加算することによって、当該銘柄の売りと買い夫々の基準値を算出するように構成されている。
なお、最良気配値とは、売り注文における最も安い値段、買い注文における最も高い値段である。
即ち、銘柄単位でノードごとに作動する夫々の基準値提供用スマートコントラクト3は、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3を監視する。
そして、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させ、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3のうちのいずれか一つの基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供するようにするとともに、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する。
取引用スマートコントラクト4は、注文者により注文入力手段1を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動し、図5に示すように、次の処理を行う機能を有するように構成されている。
例えば、ステイタスが“未処理”を示す値となっている注文データが表1に示すとおり存在するとする。また、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値が、売り注文80円、買い注文81円であるとする。なお、表1では、分散型台帳に記録されている注文データのうち所定の同一銘柄の注文であってステイタスが“未処理”を示す値となっているものについて注文入力順に示してあるものとする。
表1の例では、売り注文の注文価格が、当該銘柄の最新の売りの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する売り注文は80円、79円、78円、77円、76円で存在する。また、当該銘柄の最新の買いの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する買い注文は、81円、82円、83円、88円で存在する。
ここで、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による対当・約定処理の基準となる側の注文データの選定方法についてより詳しく説明する。
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、図6に示すように、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
また、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
従って、当該取引用スマートコントラクト4は、表2の例の場合、売り注文側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
なお、取引用スマートコントラクト4は、約定に際し、約定した相手のアドレス等の情報や、約定日次を注文データに記載する。
従って、当該取引用スマートコントラクト4は、表2の例の場合、76円、77円、78円、79円、80円の売り注文に対して、90円、88円、83円、82円の買い注文との対当・約定処理を行う。
ここで、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値が、売り注文80円、買い注文81円であり、売り注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は80円~72円、買い注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は81円~89円である。
しかし、表4の例では、当該銘柄の最新の買いの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する買い注文は、81円で存在する。一方、売り注文の注文価格が、当該銘柄の最新の売りの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する売り注文は存在しない。
このため、表4の例の注文データに対し取引用スマートコントラクト4が、買い注文の注文価格が81円の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)ても、対当・約定処理は行わず、ステイタスを“未処理”を示す値に書き換(て当該注文データのロックを解除す)ることになる。
修正率を10%とした場合、基準値提供用スマートコントラクト3が修正した基準値は、売り注文88円、買い注文73円となる。
そうすると、売り注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は88円~80円、買い注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は73円~80円となり、表4の例において、売り注文の注文価格が81円、82円、83円、84円、85円、買い注文の注文価格が76円、79円、80円に夫々該当する注文データが存在し、売りと買いの双方の側で対当・約定処理の対象となり得る注文が存在することになるため、取引用スマートコントラクト4による当該銘柄の注文データの注文についての対当・約定処理を行うことができるようになる。
清算用スマートコントラクト5は、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている注文データのうち、ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動し、図7に示すように、ステイタスが“約定処理済”を示す値となっている注文データのステイタスを“清算処理中”を示す値に書き換え、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能を有するように構成されている。
なお、各ノードで作動する夫々の清算用スマートコントラクト5は、ステイタスが“約定処理済”を示す値となっている注文データに対する清算処理を奪い合う。そして、複数の清算用スマートコントラクト5により、別々の注文データに対する清算処理を同時期に行うことが生じ得る。
注文処理監視用スマートコントラクト6は、取引用スマートコントラクト4による注文データの注文に対する処理を監視するスマートコントラクトである。
注文処理監視用スマートコントラクト6は、図8に示すように、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間(例えば、2秒など)を経過する第2のエラーが生じたとき、当該取引用スマートコントラクト4の作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する機能を有するように構成されている。
清算処理監視用スマートコントラクト7は、清算用スマートコントラクト5による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視するスマートコントラクトである。
清算処理監視用スマートコントラクト7は、図9に示すように、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該銘柄の買い注文と売り注文との約定により、ステイタスが“約定処理済”を示す値に書き換えられた後の清算用スマートコントラクト5による清算処理を完了させない時間が、所定の第3の待機時間(例えば、2秒など)を経過する第3のエラーが生じたとき、当該清算用スマートコントラクト5の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクト5のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する機能を有するように構成されている。
運用監視用スマートコントラクト8は、エラー及び作動を停止したスマートコントラクトのノードの通知を受けて、スマートコントラクトを作動させるノードを自動的に調整する機能を有するように構成されている。
詳しくは、本実施形態では、運用監視用スマートコントラクト8は、図10に示すように、次の(1)~(3)の場合、エラー及び作動を停止したスマートコントラクトのノードの通知を受ける。
(1)取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたことにより、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させたときにおける、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノード。
(2)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間(例えば、2秒など)を経過する第2のエラーが生じたことにより、注文処理監視用スマートコントラクト6が、当該取引用スマートコントラクト4の作動を停止させたときにおける、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノード。
(3)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該銘柄の買い注文と売り注文との約定により、ステイタスが“約定処理済”を示す値に書き換えられた後の清算用スマートコントラクト5による清算処理を完了させない時間が、所定の第3の待機時間(例えば、2秒など)を経過する第3のエラーが生じたことにより、清算処理監視用スマートコントラクト7が、当該取引用スマートコントラクト4の作動を停止させたときにおける、当該第3のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノード。
そして、運用監視用スマートコントラクト8は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
当該ノードの負荷状況は、例えば、当該ノードで作動するスマートコントラクトの作動数に応じて規定することができる。
負荷監視用スマートコントラクト9は、銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する機能を有する。
例えば、負荷監視用スマートコントラクト9は、一つのノードにおいて、銘柄単位で作動しているスマートコントラクトの数が、所定数を超えていた場合、当該ノードにおける全てのスマートコントラクトの作動を停止させる。
図12は本発明の第2実施形態に係るデジタル資産を用いた取引注文処理システムの全体構成を概略的に示す説明図である。
本実施形態のデジタル資産を用いた取引処理システムは、注文入力手段1と、注文管理用スマートコントラクト2と、基準値提供用スマートコントラクト3と、取引用スマートコントラクト4’と、注文処理監視用スマートコントラクト6と、清算処理監視用スマートコントラクト7’と、運用監視用スマートコントラクト8’と、負荷監視用スマートコントラクト9と、を有している。
取引用スマートコントラクト4’、清算処理監視用スマートコントラクト7’、運用監視用スマートコントラクト8’以外のスマートコントラクトの構成は、第1実施形態のデジタル資産を用いた取引処理システムと略同じであるので、説明を省略し、取引用スマートコントラクト4’、清算処理監視用スマートコントラクト7’、運用監視用スマートコントラクト8’のみについて説明することとする。
取引用スマートコントラクト4’は、図4に示した処理を行う機能に加えて、図13に示す次の処理を行う機能をさらに有するように構成されている。
詳しくは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’は、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データのステイタスを“清算処理済”を示す値に書き換える。
清算処理監視用スマートコントラクト7’は、取引用スマートコントラクト4’による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視するスマートコントラクトである。
清算処理監視用スマートコントラクト7’は、図14に示すように、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該銘柄の買い注文と売り注文とを約定させてステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間(例えば、2秒など)を経過する第4のエラーが生じたとき、当該取引用スマートコントラクト4’の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノードを、システムの運用を監視する運用監視用スマートコントラクト8’に通知する機能を有するように構成されている。
運用監視用スマートコントラクト8’は、エラー及び作動を停止したスマートコントラクトのノードの通知を受けて、スマートコントラクトを作動させるノードを自動的に調整する機能を有するように構成されている。
詳しくは、本実施形態では、運用監視用スマートコントラクト8’は、図15に示すように、次の(1)~(3)の場合、エラー及び作動を停止したスマートコントラクトのノードの通知を受ける。
(1)取引用スマートコントラクト4’に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4’に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたことにより、取引用スマートコントラクト4’に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が、取引用スマートコントラクト4’に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させたときにおける、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノード。
(2)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間(例えば、2秒など)を経過する第2のエラーが生じたことにより、注文処理監視用スマートコントラクト6が、当該取引用スマートコントラクト4’の作動を停止させたときにおける、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノード。
(3)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該銘柄の買い注文と売り注文とを約定させてステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間(例えば、2秒など)を経過する第4のエラーが生じたことにより、清算処理監視用スマートコントラクト7’が、当該取引用スマートコントラクト4’の作動を停止させたときにおける、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノード。
そして、運用監視用スマートコントラクト8’は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
第1実施形態のデジタル資産を用いた取引注文処理システムを用いた処理の流れ
図16~図19は第1実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例を示す説明図である。
第1実施形態のデジタル資産を用いた取引注文処理システムでは、注文者により注文入力手段1を介して注文(トークンによる売り注文、デジタル通貨による買い注文)を入力されると、注文管理用スマートコントラクト2、基準値提供用スマートコントラクト3、および取引用スマートコントラクト4が、当該注文の銘柄単位でノードごとに作動する。
そして、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3は、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させ、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3のうちのいずれか一つの基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供するようにするとともに、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する。
次に、取引用スマートコントラクト4は、売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データが有るときに、ステイタスが“未処理”を示す値となっている全ての注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックす)る。
これにより、同一銘柄の注文に対して夫々のノードで作動する複数の取引用スマートコントラクト4のうち、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換えた取引用スマートコントラクト4のみが、当該銘柄の注文データに対する対当・約定処理を行うことができるようになる一方、他のスマートコントラクトは、ステイタスが“処理中”を示す値に書き換えられた当該銘柄の注文データに対しては、対当・約定処理を行わないようになる。
このように、当該注文の銘柄単位でノードごとに作動する夫々の取引用スマートコントラクト4は、分散型台帳に記録・保存されている、ステイタスが“未処理”を示す値となっている当該銘柄の注文データに対する処理を奪い合う。
価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
また、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格(例えば、基準価格の10%)までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
その後、当該注文の銘柄単位でノードごとに作動する夫々の取引用スマートコントラクト4が、上述と同様に、分散型台帳に記録・保存されている、ステイタスが“未処理”を示す値となっている当該銘柄の注文データに対する処理の奪い合いを行い、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4が、上述したのと同様に、売り側の注文データと買い側の注文データとの分類、ソート、対当・約定処理の基準となる側の注文データの選定、対当・約定処理を行う。
当該注文の銘柄単位でノードごとに作動する夫々の清算用スマートコントラクト5は、ステイタスが“約定処理済”を示す値となっている注文データのステイタスを“清算処理中”を示す値に書き換える。
当該銘柄の注文データのステイタスを“清算処理中”を示す値に書き換えた清算用スマートコントラクト5は、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える。
これにより、当該買い注文と売り注文についての処理が終了する。
詳しくは、本実施形態では、運用監視用スマートコントラクト8は、次の(1)~(3)の場合、エラー及び作動を停止したスマートコントラクトのノードの通知を受ける。
(1)取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたことにより、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させたときにおける、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノード。
(2)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間(例えば、2秒など)を経過する第2のエラーが生じたことにより、注文処理監視用スマートコントラクト6が、当該取引用スマートコントラクト4の作動を停止させたときにおける、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノード。
(3)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該銘柄の買い注文と売り注文との約定により、ステイタスが“約定処理済”を示す値に書き換えられた後の清算用スマートコントラクト5による清算処理を完了させない時間が、所定の第3の待機時間(例えば、2秒など)を経過する第3のエラーが生じたことにより、清算処理監視用スマートコントラクト7が、当該取引用スマートコントラクト4の作動を停止させたときにおける、当該第3のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノード。
そして、運用監視用スマートコントラクト8は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
例えば、負荷監視用スマートコントラクト9は、一つのノードにおいて、銘柄単位で作動しているスマートコントラクトの数が、所定数を超えていた場合、当該ノードにおける全てのスマートコントラクトの作動を停止させる。
図20は第2実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例を示す説明図である。なお、第1実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れと略同じ部分についての図示及び説明は省略する。
第2実施形態のデジタル資産を用いた取引注文処理システムでは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’は、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データのステイタスを“清算処理済”を示す値に書き換える。
そして、清算処理監視用スマートコントラクト7’は、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該銘柄の買い注文と売り注文とを約定させてステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間(例えば、2秒など)を経過する第4のエラーが生じたとき、当該取引用スマートコントラクト4’の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノードを、システムの運用を監視する運用監視用スマートコントラクト8’に通知する。
詳しくは、本実施形態では、運用監視用スマートコントラクト8’は、次の(1)~(3)の場合、エラー及び作動を停止したスマートコントラクトのノードの通知を受ける。
(1)取引用スマートコントラクト4’に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4’に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたことにより、取引用スマートコントラクト4’に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が、取引用スマートコントラクト4’に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させたときにおける、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノード。
(2)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間(例えば、2秒など)を経過する第2のエラーが生じたことにより、注文処理監視用スマートコントラクト6が、当該取引用スマートコントラクト4’の作動を停止させたときにおける、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノード。
(3)当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該銘柄の買い注文と売り注文とを約定させてステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間(例えば、2秒など)を経過する第4のエラーが生じたことにより、清算処理監視用スマートコントラクト7’が、当該取引用スマートコントラクト4’の作動を停止させたときにおける、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノード。
そして、運用監視用スマートコントラクト8’は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
第1実施形態のデジタル資産を用いた取引注文処理システムによれば、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えた構成としたので、分散型台帳に記録された価値を有するトークン等のデジタル資産を、スマートコントラクトを介して処理できるため、注文処理の発注管理をデータベースに記録されたステイタスに依存して行っていた従来の取引市場発注管理システムとは異なり、注文処理から決済(清算)処理までを即時に行うことができ、処理時間が飛躍的に向上する。
そして、本実施形態のデジタル資産を用いた取引注文処理システムによれば、注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト2、基準値提供用スマートコントラクト3、および取引用スマートコントラクト4を有し、注文管理用スマートコントラクト2が、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている当該銘柄の注文データのうち、ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、ステイタスが“未処理”を示す値となっている全ての注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データのステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有するようにしたので、複数のノードで作動する同一銘柄の夫々の取引用スマートコントラクトが、ステイタスが“未処理”となっている当該銘柄の注文データに対する対当・約定処理の奪い合いをし、複数の取引用スマートコントラクトのうち、当該銘柄の注文データのステイタスを“処理中”に書き換えた所定のノードの取引用スマートコントラクトのみが、当該注文データに対する対当・約定処理を行うことになるので、当該銘柄の注文データに対する対当・約定処理を最速で開始することができるようになる。また、他のノードの取引用スマートコントラクトは、ステイタスが“未処理”となっている注文データに対してのみ、対当・約定処理の奪い合いをし、ステイタスが“処理中”となっている注文データに対しては処理を行わないため、同じ注文データに対し、二重で対当・約定処理が行われることを防止できる。
第2実施形態のデジタル資産を用いた取引注文処理システムによれば、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’が、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能をさらに有するようにしたので、多数のノードに備わる取引用スマートコントラクトによる清算処理の奪い合いを行わせることができ、約定した注文についての清算処理を迅速かつ途切れることなく行うことができる。
その他の作用効果は、第1実施形態のデジタル資産を用いた取引注文処理システムにおける作用効果と略同じである。
また、例えば、本発明のデジタル資産を用いた取引注文処理システムにおける「注文処理監視用スマートコントラクト」、「運用監視用スマートコントラクト」、「負荷監視用スマートコントラクト」等のスマートコントラクトは、図1や図12に示すような、注文用ノードとは別個の監視専用ノードのみで作動する構成に限定されるものではなく、「注文管理用スマートコントラクト」、「基準値提供用スマートコントラクト」、「取引用スマートコントラクト」、「清算用スマートコントラクト」等のスマートコントラクトが作動する夫々の注文用ノードで作動する構成であってもよい。
また、例えば、本発明のデジタル資産を用いた取引注文処理システムを、本件発明者が提案した特開2021-022013号公報に記載の決済処理システムに組み込んで構築し、主要取引所で取引されている商品等と同じ商品等の最小単位量あたりの価格での該商品等の売買注文と、通貨の1単位量あたりの、商品等の最小単位量未満の数をなす商品等トークンの量での該商品等トークンの売買注文とに関し、取引所(又は取引機能)が自己売買し得る注文について本発明のデジタル資産を用いた取引注文処理システムで処理するようにしてもよい。
このようにすれば、通貨単位や数量単位の異なる注文同士の取引や、銘柄の異なる注文同士の取引を行うことが可能になる。
このようにすれば、所定の注文数量、注文価格に変換することにより、注文数量に端数が生じた場合であっても、約定が可能となるため、通貨単位や数量単位の異なる注文同士の取引や、銘柄の異なる注文同士等の取引についての流動性を向上させることが可能になる。
また、処理稼働条件は、複数の条件をANDやORで組み合わせるようにするとより好ましい。
このようにすれば、例えば、所定銘柄のデジタルデータの売り注文において異なる銘柄のデジタルデータとの交換を所望する場合に、処理稼働条件として夫々の銘柄についてのトリガー条件項目を設定しておくことで、処理稼働条件監視用スマートコントラクトが、銘柄単位で作動する異なる銘柄用の取引用スマートコントラクトの夫々を同時に作動させて、異なる銘柄同士の取引を行うことが実現できる。
2 注文管理用スマートコントラクト
3 基準値提供用スマートコントラクト
4、4’ 取引用スマートコントラクト
5 清算用スマートコントラクト
6 注文処理監視用スマートコントラクト
7、7’ 清算処理監視用スマートコントラクト
8、8’ 運用監視用スマートコントラクト
9 負荷監視用スマートコントラクト
Claims (16)
- トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えて構築される、デジタル資産を用いた取引注文処理システムであって、
注文入力手段と、注文者により前記注文入力手段を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト、基準値提供用スマートコントラクト、および取引用スマートコントラクトを有し、
前記注文管理用スマートコントラクトは、
注文者により注文入力手段を介して入力された銘柄単位の注文について、当該注文にかかる所定形態のデジタル資産を担保として、当該注文についての注文データ(売り注文、買い注文のデータ)を、当該注文データの処理状況が“未処理”を示す値のステイタスとともに、前記分散型台帳に記録・保存する機能を有し、
前記基準値提供用スマートコントラクトは、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づいて算出した、売買の基準となる値段)を、当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能を有し、
前記取引用スマートコントラクトは、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている当該銘柄の注文データのうち、前記ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、前記ステイタスが“未処理”を示す値となっている全ての注文データの前記ステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、前記ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データの前記ステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有することを特徴とするデジタル資産を用いた取引注文処理システム。 - 当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを前記対当・約定処理の基準となる側の注文データとして選定する機能を有することを特徴とする請求項1に記載のデジタル資産を用いた取引注文処理システム。
- 当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する機能を有することを特徴とする請求項1に記載のデジタル資産を用いた取引注文処理システム。
- 当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄における、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対してのみ、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、当該対当・約定処理の基準となる側の注文の注文価格が、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲外の価格に該当する注文データの注文に対しては、基準となる側とは反対側の注文データの注文との対当・約定処理を行わないように構成されていることを特徴とする請求項1~3のいずれかに記載のデジタル資産を用いた取引注文処理システム。
- 前記基準値提供用スマートコントラクトは、当該銘柄についての最新の約定値情報と、当該銘柄の最新の売りと買い夫々の最良気配値情報を、当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有することを特徴とする請求項1~4のいずれかに記載のデジタル資産を用いた取引注文処理システム。
- 前記基準値提供用スマートコントラクトは、当該銘柄についてのチャートなどの価格推移を示すデータ、前記価格推移を示すデータを用いたテクニカル分析、チャート分析結果を示すデータを当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有することを特徴とする請求項1~5のいずれかに記載のデジタル資産を用いた取引注文処理システム。
- 前記基準値提供用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる前記価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離することにより、当該銘柄の売り側の注文データと買い側の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除し)た状態のまま、前記取引用スマートコントラクトによる当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間を経過したとき、当該銘柄の売り又は買い夫々の前記基準値を、所定の修正率を用いて修正し、修正した基準値を当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能をさらに有することを特徴とする請求項1~6のいずれかに記載のデジタル資産を用いた取引注文処理システム。 - 当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させたとき、当該買い注文と売り注文夫々の注文データの前記ステイタスを“約定処理済”を示す値に書き換える機能を有することを特徴とする請求項1~7のいずれかに記載のデジタル資産を用いた取引注文処理システム。
- 前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている注文データのうち、前記ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動し、前記ステイタスが“約定処理済”を示す値となっている注文データの前記ステイタスを“清算処理中”を示す値に書き換え、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能を有する清算用スマートコントラクトをさらに有することを特徴とする請求項1~8のいずれかに記載のデジタル資産を用いた取引注文処理システム。
- 当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能をさらに有することを特徴とする請求項1~8のいずれかに記載のデジタル資産を用いた取引注文処理システム。
- 銘柄単位でノードごとに作動する夫々の前記基準値提供用スマートコントラクトは、
当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトを監視し、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトが算出した基準値や取得した情報が、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトの作動を停止させ、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトのうちのいずれか一つの前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供するようにするとともに、
当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能をさらに有することを特徴とする請求項1~10のいずれかに記載のデジタル資産を用いた取引注文処理システム。 - 前記取引用スマートコントラクトによる注文データの注文に対する処理を監視する注文処理監視用スマートコントラクトをさらに有し、
前記注文処理監視用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間を経過する第2のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、
当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有することを特徴とする請求項1~11のいずれかに記載のデジタル資産を用いた取引注文処理システム。 - 前記清算用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、
前記清算処理監視用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文との約定により、前記ステイタスが“約定処理済”を示す値に書き換えられた後の前記清算用スマートコントラクトによる清算処理を完了させない時間が、所定の第3の待機時間を経過する第3のエラーが生じたとき、当該清算用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、
当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有することを特徴とする請求項9に記載のデジタル資産を用いた取引注文処理システム。 - 前記取引用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、
前記清算処理監視用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文とを約定させて前記ステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間を経過する第4のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、
当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有することを特徴とする請求項10に記載のデジタル資産を用いた取引注文処理システム。 - 前記運用監視用スマートコントラクトは、エラー及び作動を停止したスマートコントラクトのノードの通知を受けて、スマートコントラクトを作動させるノードを自動的に調整する機能を有することを特徴とする請求項11~14のいずれかに記載のデジタル資産を用いた取引注文処理システム。
- 銘柄単位でノードごとに作動するスマートコントラクトの作動を管理する負荷監視用スマートコントラクトをさらに有し、
前記負荷監視用スマートコントラクトは、前記銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの前記銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する機能を有することを特徴とする請求項1~15のいずれかに記載のデジタル資産を用いた取引注文処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021100537A JP7015491B1 (ja) | 2021-06-16 | 2021-06-16 | デジタル資産を用いた取引注文処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021100537A JP7015491B1 (ja) | 2021-06-16 | 2021-06-16 | デジタル資産を用いた取引注文処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7015491B1 true JP7015491B1 (ja) | 2022-02-03 |
JP2022191974A JP2022191974A (ja) | 2022-12-28 |
Family
ID=80808957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021100537A Active JP7015491B1 (ja) | 2021-06-16 | 2021-06-16 | デジタル資産を用いた取引注文処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7015491B1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008021141A (ja) | 2006-07-13 | 2008-01-31 | Kabu.Com Securities Co Ltd | 売買注文受付システム及び売買注文受付方法 |
WO2008087834A1 (ja) | 2007-01-19 | 2008-07-24 | Matsui Securities Co., Ltd. | 売買価格決定方法及び売買価格決定装置 |
JP2011108206A (ja) | 2009-11-20 | 2011-06-02 | Daiwa Institute Of Research Business Innovation Ltd | 注文処理システムおよびその方法、並びにプログラム |
JP2018521437A (ja) | 2015-07-09 | 2018-08-02 | リキッド マーケッツ グループ インコーポレイテッド | ブロックチェーン技術を用いて証券取引を売買、決済、および清算するためのシステムおよび方法 |
JP2020067806A (ja) | 2018-10-24 | 2020-04-30 | 株式会社 みずほ銀行 | 決済システム及び決済方法 |
-
2021
- 2021-06-16 JP JP2021100537A patent/JP7015491B1/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008021141A (ja) | 2006-07-13 | 2008-01-31 | Kabu.Com Securities Co Ltd | 売買注文受付システム及び売買注文受付方法 |
WO2008087834A1 (ja) | 2007-01-19 | 2008-07-24 | Matsui Securities Co., Ltd. | 売買価格決定方法及び売買価格決定装置 |
JP2011108206A (ja) | 2009-11-20 | 2011-06-02 | Daiwa Institute Of Research Business Innovation Ltd | 注文処理システムおよびその方法、並びにプログラム |
JP2018521437A (ja) | 2015-07-09 | 2018-08-02 | リキッド マーケッツ グループ インコーポレイテッド | ブロックチェーン技術を用いて証券取引を売買、決済、および清算するためのシステムおよび方法 |
US20190139136A1 (en) | 2015-07-09 | 2019-05-09 | Templum, Inc. | Systems and methods for trading, clearing and settling securities transactions using blockchain technology |
JP2020067806A (ja) | 2018-10-24 | 2020-04-30 | 株式会社 みずほ銀行 | 決済システム及び決済方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2022191974A (ja) | 2022-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190156418A1 (en) | System and method for processing composite trading orders at a client | |
US8494952B2 (en) | System and method for processing composite trading orders | |
JP2011070418A (ja) | 金融商品の投資助言システム、コンピュータ用プログラムおよびその記憶媒体 | |
US11842402B2 (en) | Fee/rebate contingent order matching system and method | |
JP3754009B2 (ja) | 訂正条件を自動設定する売買注文処理システム及び売買注文の処理方法 | |
US20150106250A1 (en) | Computing systems and computer-implemented methods for use with interest rate swap future instruments | |
JP7015491B1 (ja) | デジタル資産を用いた取引注文処理システム | |
JP7015492B1 (ja) | デジタル資産を用いた取引注文処理システム | |
US20150149340A1 (en) | Tandem Options Contracts Providing Fixed Binary Payout | |
KR20230025305A (ko) | 장외주식 담보 대출을 위한 장치 및 방법 | |
US20240233022A1 (en) | Fee/rebate contingent order matching system and method | |
JP2003091656A (ja) | 商取引を支援する装置、方法、システムおよび取引支援機能をコンピュータに実現させるプログラム | |
JP2009277237A (ja) | ストップロス注文発注決済装置 | |
WO2022004268A1 (ja) | 裁定取引支援装置、裁定取引支援方法、及び裁定取引支援システム | |
AU2016203336A1 (en) | System and method for processing composite trading orders at a client | |
TWM643474U (zh) | 投資交易系統 | |
JP2002358419A (ja) | 金融商品取引リスク管理システム、金融商品取引リスク管理方法及び金融商品取引リスク管理プログラム | |
JP2004213546A (ja) | 複数の売買注文を同時発注する売買注文処理システム及び売買注文処理の方法 | |
JP2004171334A (ja) | 仕訳システムと仕訳のためのコンピュータプログラム | |
KR20210098404A (ko) | 기업의 운용자금 조달방법 및 이를 위한 자금조달시스템 | |
WO2001033485A9 (en) | System and method of managing collateral |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210716 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210716 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211118 |
|
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: 20220104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7015491 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |