IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社インタートレードの特許一覧

特開2022-191974デジタル資産を用いた取引注文処理システム
<>
  • 特開-デジタル資産を用いた取引注文処理システム 図1
  • 特開-デジタル資産を用いた取引注文処理システム 図2
  • 特開-デジタル資産を用いた取引注文処理システム 図3
  • 特開-デジタル資産を用いた取引注文処理システム 図4
  • 特開-デジタル資産を用いた取引注文処理システム 図5
  • 特開-デジタル資産を用いた取引注文処理システム 図6
  • 特開-デジタル資産を用いた取引注文処理システム 図7
  • 特開-デジタル資産を用いた取引注文処理システム 図8
  • 特開-デジタル資産を用いた取引注文処理システム 図9
  • 特開-デジタル資産を用いた取引注文処理システム 図10
  • 特開-デジタル資産を用いた取引注文処理システム 図11
  • 特開-デジタル資産を用いた取引注文処理システム 図12
  • 特開-デジタル資産を用いた取引注文処理システム 図13
  • 特開-デジタル資産を用いた取引注文処理システム 図14
  • 特開-デジタル資産を用いた取引注文処理システム 図15
  • 特開-デジタル資産を用いた取引注文処理システム 図16
  • 特開-デジタル資産を用いた取引注文処理システム 図17
  • 特開-デジタル資産を用いた取引注文処理システム 図18
  • 特開-デジタル資産を用いた取引注文処理システム 図19
  • 特開-デジタル資産を用いた取引注文処理システム 図20
  • 特開-デジタル資産を用いた取引注文処理システム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022191974
(43)【公開日】2022-12-28
(54)【発明の名称】デジタル資産を用いた取引注文処理システム
(51)【国際特許分類】
   G06Q 40/04 20120101AFI20221221BHJP
   G06Q 20/38 20120101ALI20221221BHJP
【FI】
G06Q40/04
G06Q20/38 310
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2021100537
(22)【出願日】2021-06-16
(11)【特許番号】
(45)【特許公報発行日】2022-02-03
(71)【出願人】
【識別番号】500566567
【氏名又は名称】株式会社インタートレード
(74)【代理人】
【識別番号】110001405
【氏名又は名称】特許業務法人篠原国際特許事務所
(74)【代理人】
【識別番号】100065824
【弁理士】
【氏名又は名称】篠原 泰司
(74)【代理人】
【識別番号】100104983
【弁理士】
【氏名又は名称】藤中 雅之
(74)【代理人】
【識別番号】100166394
【弁理士】
【氏名又は名称】鈴木 和弘
(72)【発明者】
【氏名】西本 一也
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055AA71
5L055BB51
(57)【要約】
【課題】注文から決済まで極めて迅速かつ効率的に処理でき、エラーや障害が発生しても処理を継続可能なデジタル資産を用いた取引注文処理システムの提供。
【解決手段】銘柄単位でノードごとに作動するスマコン2、3、4を有する。スマコン3は当該銘柄の基準値をスマコン4に提供し、スマコン4は、スマコン2により分散型台帳に記録された状態値が“未処理”で注文価格が最新基準値から当該基準値よりも不利な所定範囲内の全注文データの状態値を“処理中”に書き換えてロックし、売り側と買い側に分類し、対当・約定処理の基準側を選定し、基準側の注文の注文価格が所定の基準値から当該基準値よりも不利な所定価格までの範囲内の注文に対する反対側の注文の対当・約定処理を行い、約定させた注文データの状態値を“約定処理済”、約定しなかった注文データの状態値を“未処理”に書き換えてロックを解除する。
【選択図】図1
【特許請求の範囲】
【請求項1】
トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えて構築される、デジタル資産を用いた取引注文処理システムであって、
注文入力手段と、注文者により前記注文入力手段を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト、基準値提供用スマートコントラクト、および取引用スマートコントラクトを有し、
前記注文管理用スマートコントラクトは、
注文者により注文入力手段を介して入力された銘柄単位の注文について、当該注文にかかる所定形態のデジタル資産を担保として、当該注文についての注文データ(売り注文、買い注文のデータ)を、当該注文データの処理状況が“未処理”を示す値のステイタスとともに、前記分散型台帳に記録・保存する機能を有し、
前記基準値提供用スマートコントラクトは、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づいて算出した、売買の基準となる値段)を、当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能を有し、
前記取引用スマートコントラクトは、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている当該銘柄の注文データのうち、前記ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、前記ステイタスが“未処理”を示す値となっている全ての注文データの前記ステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、前記ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データの前記ステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有することを特徴とするデジタル資産を用いた取引注文処理システム。
【請求項2】
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを前記対当・約定処理の基準となる側の注文データとして選定する機能を有することを特徴とする請求項1に記載のデジタル資産を用いた取引注文処理システム。
【請求項3】
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する機能を有することを特徴とする請求項1に記載のデジタル資産を用いた取引注文処理システム。
【請求項4】
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄における、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対してのみ、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、当該対当・約定処理の基準となる側の注文の注文価格が、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲外の価格に該当する注文データの注文に対しては、基準となる側とは反対側の注文データの注文との対当・約定処理を行わないように構成されていることを特徴とする請求項1~3のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項5】
前記基準値提供用スマートコントラクトは、当該銘柄についての最新の約定値情報と、当該銘柄の最新の売りと買い夫々の最良気配値情報を、当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有することを特徴とする請求項1~4のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項6】
前記基準値提供用スマートコントラクトは、当該銘柄についてのチャートなどの価格推移を示すデータ、前記価格推移を示すデータを用いたテクニカル分析、チャート分析結果を示すデータを当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有することを特徴とする請求項1~5のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項7】
前記基準値提供用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる前記価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離することにより、当該銘柄の売り側の注文データと買い側の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除し)た状態のまま、前記取引用スマートコントラクトによる当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間を経過したとき、当該銘柄の売り又は買い夫々の前記基準値を、所定の修正率を用いて修正し、修正した基準値を当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能をさらに有することを特徴とする請求項1~6のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項8】
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させたとき、当該買い注文と売り注文夫々の注文データの前記ステイタスを“約定処理済”を示す値に書き換える機能を有することを特徴とする請求項1~7のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項9】
前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている注文データのうち、前記ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動し、前記ステイタスが“約定処理済”を示す値となっている注文データの前記ステイタスを“清算処理中”を示す値に書き換え、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能を有する清算用スマートコントラクトをさらに有することを特徴とする請求項1~8のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項10】
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能をさらに有することを特徴とする請求項1~8のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項11】
銘柄単位でノードごとに作動する夫々の前記基準値提供用スマートコントラクトは、
当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトを監視し、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトが算出した基準値や取得した情報が、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトの作動を停止させ、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトのうちのいずれか一つの前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供するようにするとともに、
当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能をさらに有することを特徴とする請求項1~10のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項12】
前記取引用スマートコントラクトによる注文データの注文に対する処理を監視する注文処理監視用スマートコントラクトをさらに有し、
前記注文処理監視用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間を経過する第2のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、
当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有することを特徴とする請求項1~11のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項13】
前記清算用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、
前記清算処理監視用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文との約定により、前記ステイタスが“約定処理済”を示す値に書き換えられた後の前記清算用スマートコントラクトによる清算処理を完了させない時間が、所定の第3の待機時間を経過する第3のエラーが生じたとき、当該清算用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、
当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有することを特徴とする請求項9に記載のデジタル資産を用いた取引注文処理システム。
【請求項14】
前記取引用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、
前記清算処理監視用スマートコントラクトは、
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文とを約定させて前記ステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間を経過する第4のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、
当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有することを特徴とする請求項10に記載のデジタル資産を用いた取引注文処理システム。
【請求項15】
前記運用監視用スマートコントラクトは、エラー及び作動を停止したスマートコントラクトのノードの通知を受けて、スマートコントラクトを作動させるノードを自動的に調整する機能を有することを特徴とする請求項11~14のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【請求項16】
銘柄単位でノードごとに作動するスマートコントラクトの作動を管理する負荷監視用スマートコントラクトをさらに有し、
前記負荷監視用スマートコントラクトは、前記銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの前記銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する機能を有することを特徴とする請求項1~15のいずれかに記載のデジタル資産を用いた取引注文処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経済的な価値をデジタルで表現可能な、トークンやデジタル通貨等のデジタル資産を用いて、商品等の取引を行う、デジタル資産取引システムに関する。
なお、本願明細書における「システム」とは、コンピュータや他の電子機器、ソフトウェア、通信ネットワーク、データなどの要素を組み合わせて構成された、ソフトウェアによる情報処理を、ハードウェア資源を用いて具体的に実現するコンピュータシステムを意味する。
【背景技術】
【0002】
世界の主要な商品取引所では、商品等の経済的価値を各国の発行する通貨で表示した取引が行われている。
【0003】
従来、通貨を用いた商品取引を行う商品取引所へ注文を発注するシステムとしては、例えば、本件発明者の提案による取引市場発注管理システム(特許文献1参照)がある。
【0004】
特許文献1に記載の取引市場発注管理システムは、注文入力画面と、データベース部と、オーダー管理機能部と、取引市場毎に接続されているライン制御機能部を備えて構築され、データベース部が、操作者により注文入力画面を介して注文入力された注文データを、該注文データの処理状況を示すためのステイタス領域を備えて記録・保存し、オーダー管理機能部が、データベース部に記録された注文データを常時参照し、注文データにおける複数要素から構成されるトリガーの条件の指定の有無をチェックし、チェック結果に応じて注文データにおけるステイタス領域を所定の値に書き換え、夫々のライン制御部が、データベース部に記録された注文データにおけるステイタス領域の内容を常時参照し、ステイタス領域の内容が所定の値になった場合に、データベース部からデータを取り込み、取り込んだ注文データのデータ形式を、当該注文データの対象とする取引市場に応じたデータ形式に変換して取引市場に転送する構成となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4330719号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、デジタル化技術により、資産の経済的価値がデジタルで表現された、トークン等のデジタル資産が取引され易くなっている。
特に定型化された経済的価値を有する資産、例えば、コモディティ(商品取引所で取引されている商品等)類は、デジタル資産として取引することのできる特性が強い。
【0007】
しかし、従来の商品取引所には、トークン等のデジタル資産の取引注文を処理するシステムは構築されていない。
【0008】
本件発明者は、デジタル資産を用いた取引注文の処理するシステムの構築のために、特許文献1の取引市場発注管理システムにおける注文を処理するための構成の適用の可否について、検討・考察を重ねた。
【0009】
検討・考察の結果、特許文献1に記載の取引市場発注管理システムには、注文を処理するための構成について、処理の効率性や迅速性、エラーや不具合が生じたときの処理の継続性に課題があり、ブロックチェーンなどの分散型台帳を用いて管理されるデジタル資産を用いた取引注文の処理には適さないことが認められた。
【0010】
本発明は、上記従来の課題を鑑みてなされたものであり、トークン等のデジタル資産を用いた取引における、注文から決済までを極めて迅速かつ効率的に処理することができ、しかも、エラーや障害が発生しても処理を中断することなく継続可能な、デジタル資産を用いた取引注文処理システムを提供することを目的としている。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明によるデジタル資産を用いた取引注文処理システムは、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えて構築される、デジタル資産を用いた取引注文処理システムであって、注文入力手段と、注文者により前記注文入力手段を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト、基準値提供用スマートコントラクト、および取引用スマートコントラクトを有し、前記注文管理用スマートコントラクトは、注文者により注文入力手段を介して入力された銘柄単位の注文について、当該注文にかかる所定形態のデジタル資産を担保として、当該注文についての注文データ(売り注文、買い注文のデータ)を、当該注文データの処理状況が“未処理”を示す値のステイタスとともに、前記分散型台帳に記録・保存する機能を有し、前記基準値提供用スマートコントラクトは、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づいて算出した、売買の基準となる値段)を、当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能を有し、前記取引用スマートコントラクトは、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている当該銘柄の注文データのうち、前記ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の最新の売り又は買いの基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、前記ステイタスが“未処理”を示す値となっている全ての注文データの前記ステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、前記ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データの前記ステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有することを特徴とする。
なお、本願明細書における「スマートコントラクト」とは、ブロックチェーン上で稼働するプログラムであって、ブロックチェーンにおけるトランザクションのデータ処理を、ブロックチェーンの外部から取り込まれた情報をトリガーとして自動的に執行するプログラムを意味し、ノードという分散された環境で、並列的に処理できるものである。
【0012】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを前記対当・約定処理の基準となる側の注文データとして選定する機能を有するのが好ましい。
【0013】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する機能を有するのが好ましい。
【0014】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄における、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対してのみ、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、当該対当・約定処理の基準となる側の注文の注文価格が、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲外の価格に該当する注文データの注文に対しては、基準となる側とは反対側の注文データの注文との対当・約定処理を行わないように構成されているのが好ましい。
【0015】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記基準値提供用スマートコントラクトは、当該銘柄についての最新の約定値情報と、当該銘柄の最新の売りと買い夫々の最良気配値情報を、当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有するのが好ましい。
【0016】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記基準値提供用スマートコントラクトは、当該銘柄についてのチャートなどの価格推移を示すデータ、前記価格推移を示すデータを用いたテクニカル分析、チャート分析結果を示すデータを当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有するのが好ましい。
【0017】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記基準値提供用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる前記価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離することにより、当該銘柄の売り側の注文データと買い側の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除し)た状態のまま、前記取引用スマートコントラクトによる当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間を経過したとき、当該銘柄の売り又は買い夫々の前記基準値を、所定の修正率を用いて修正し、修正した基準値を当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能をさらに有するのが好ましい。
【0018】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させたとき、当該買い注文と売り注文夫々の注文データの前記ステイタスを“約定処理済”を示す値に書き換える機能を有するのが好ましい。
【0019】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている注文データのうち、前記ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動し、前記ステイタスが“約定処理済”を示す値となっている注文データの前記ステイタスを“清算処理中”を示す値に書き換え、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能を有する清算用スマートコントラクトをさらに有するのが好ましい。
【0020】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能をさらに有するのが好ましい。
【0021】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、銘柄単位でノードごとに作動する夫々の前記基準値提供用スマートコントラクトは、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトを監視し、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトが算出した基準値や取得した情報が、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトの作動を停止させ、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトのうちのいずれか一つの前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供するようにするとともに、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能をさらに有するのが好ましい。
【0022】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記取引用スマートコントラクトによる注文データの注文に対する処理を監視する注文処理監視用スマートコントラクトをさらに有し、前記注文処理監視用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間を経過する第2のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有するのが好ましい。
【0023】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記清算用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、前記清算処理監視用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文との約定により、前記ステイタスが“約定処理済”を示す値に書き換えられた後の前記清算用スマートコントラクトによる清算処理を完了させない時間が、所定の第3の待機時間を経過する第3のエラーが生じたとき、当該清算用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有するのが好ましい。
【0024】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記取引用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、前記清算処理監視用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文とを約定させて前記ステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間を経過する第4のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有するのが好ましい。
【0025】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、前記運用監視用スマートコントラクトは、エラー及び作動を停止したスマートコントラクトのノードの通知を受けて、スマートコントラクトを作動させるノードを自動的に調整する機能を有するのが好ましい。
【0026】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、銘柄単位でノードごとに作動するスマートコントラクトの作動を管理する負荷監視用スマートコントラクトをさらに有し、前記負荷監視用スマートコントラクトは、前記銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの前記銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する機能を有するのが好ましい。
【発明の効果】
【0027】
本発明によれば、トークン等のデジタル資産を用いた取引における注文から決済まで極めて迅速かつ効率的に処理することができ、しかも、エラーや障害が発生しても処理を中断することなく継続可能な、デジタル資産を用いた取引注文処理システムが得られる。
【図面の簡単な説明】
【0028】
図1】本発明の第1実施形態に係るデジタル資産を用いた取引注文処理システムの全体構成を概略的に示す説明図である。
図2図1のデジタル資産を用いた取引注文処理システムにおける注文管理用スマートコントラクトに備わる機能の概要を示す説明図である。
図3図1のデジタル資産を用いた取引注文処理システムにおける基準値提供用スマートコントラクトに備わる機能の概要を示す説明図である。
図4図1のデジタル資産を用いた取引注文処理システムにおける銘柄単位でノードごとに作動する夫々の基準値提供用スマートコントラクトに備わる機能の概要を示す説明図である。
図5図1のデジタル資産を用いた取引注文処理システムにおける取引用スマートコントラクトに備わる機能の概要を示す説明図である。
図6図1のデジタル資産を用いた取引注文処理システムにおける取引用スマートコントラクトによる対当・約定処理の基準となる側の注文データの選定方法を示す説明図である。
図7図1のデジタル資産を用いた取引注文処理システムにおける清算用スマートコントラクトに備わる機能の概要を示す説明図である。
図8図1のデジタル資産を用いた取引注文処理システムにおける注文処理監視用スマートコントラクトに備わる機能の概要を示す説明図である。
図9図1のデジタル資産を用いた取引注文処理システムにおける清算処理監視用スマートコントラクトに備わる機能の概要を示す説明図である。
図10図1のデジタル資産を用いた取引注文処理システムにおける運用監視用スマートコントラクトに備わる機能の概要を示す説明図である。
図11図1のデジタル資産を用いた取引注文処理システムにおける負荷監視用スマートコントラクトに備わる機能の概要を示す説明図である。
図12】本発明の第2実施形態に係るデジタル資産を用いた取引注文処理システムの全体構成を概略的に示す説明図である。
図13図12のデジタル資産を用いた取引注文処理システムにおける取引用スマートコントラクトに備わる機能の概要を示す説明図である。
図14図12のデジタル資産を用いた取引注文処理システムにおける清算処理監視用スマートコントラクトに備わる機能の概要を示す説明図である。
図15図12のデジタル資産を用いた取引注文処理システムにおける運用監視用スマートコントラクトに備わる機能の概要を示す説明図である。
図16図1のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例の一部分を示す説明図である。
図17図1のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例の図16の続き部分を示す説明図である。
図18図1のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例の図17の続き部分を示す説明図である。
図19図1のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例の図16図18の続き部分を示す説明図である。
図20図12のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例を示す説明図である。
図21】特許文献1に記載の取引市場発注管理システムの一例の全体構成を概略的に示す説明図である。
【発明を実施するための形態】
【0029】
実施形態の説明に先立ち、本発明を導出するに至った経緯、及び本発明の作用効果について説明する。
【0030】
上述のとおり、近年、デジタル化技術により、資産の経済的価値をデジタルで表現した、デジタル資産が取引され易くなっている。
特に定型化された経済的価値を有する資産、例えば、コモディティ(商品取引所で取引されている商品等)類は、経済的価値がデジタルで表現された、デジタル資産として取引することのできる特性が強い。
【0031】
しかし、上述したように、従来の商品取引所には、トークン等のデジタル資産の取引注文を処理するシステムは構築されていない。
【0032】
ここで、本件発明者は、デジタル資産を用いた取引注文の処理するシステムの構築のために、特許文献1の取引市場発注管理システムにおける注文を処理するための構成の適用の可否について、検討・考察を重ねた。
【0033】
本発明を導出する前段階で適用の可否について検討・考察した、従来の取引市場発注管理システム
図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が、データ形式(プロトコル)を変換した注文データを当該取引市場に転送する注文データ転送手段。
【0034】
そして、図21の取引市場発注管理システムでは、オーダー管理機能部55が、データベース部53を参照し、トリガーの条件を満たす注文データのステイタスを所定の値に書き換え、取引市場毎に接続されているライン制御機能部60t、60o、60jが、データベース部53に記録された各注文データにおけるステイタス領域の内容を参照し、ステイタス領域が所定の値に書き換えられた注文データを取り込み、夫々の取引市場で用いられているデータ形式に変換し、夫々の取引市場に転送する構成となっている。
【0035】
このように、図21の取引市場発注管理システムでは、オーダー管理機能部55や、取引市場毎に接続されているライン制御機能部60t、60o、60jが、データベース部53を参照する構成となっている。
また、図21の取引市場発注管理システムでは、オーダー管理機能部55が、データベース部53に記録された注文データのステイタスに対する書き換え処理を行うのに対し、取引市場毎に接続されているライン制御機能部60t、60o、60jが、データベース部53に記録された注文データを取り込んで、データ形式変換、転送等の処理を行っており、オーダー管理機能部55と、ライン制御機能部60t、60o、60jとで、夫々異なる領域のデータに対する処理を行う構成となっている。
【0036】
従来の取引市場発注管理システムにおいて懸念される問題
しかし、図21の取引市場発注管理システムのような構成とした場合、次のような問題が懸念される。
【0037】
(1)処理の迅速性、効率性に関する問題
図21の取引市場発注管理システムは、注文を取引所に発注するために、オーダー管理機能部や、夫々のライン制御機能部における処理がデータベース部に依存したものとなっている。また、オーダー管理機能部がチェックする注文データと、夫々のライン制御機能部が取引所へ発注する注文データとは、別領域のデータであって同一領域のデータではない。
しかし、夫々の処理がデータベース部に依存する構成の場合、多数の注文データを処理するためにデータベース部にかかる負荷が増大し、処理速度が遅くなる。
また、夫々の処理が別領域のデータに対して処理を行う構成では、効率が悪く、処理に時間を要する上、作業領域が増大して負荷が大きくなる。
【0038】
(2)エラーや不具合に対する処理の継続性に関する問題
図21の取引市場発注管理システムのように、夫々の処理がデータベース部に依存する構成の場合、一部の処理にエラーが生じた場合や、データベース部に不具合が生じた場合、処理を中断し、データベース部を復旧等させる必要が生じ、処理を継続させることができない。
【0039】
デジタル資産を用いた処理の特性
デジタル資産は、ブロックチェーンなどの分散型台帳を用いて管理されるデータであり、分散した状態で共有できるものであるとともにデータ自体に価値を有するものであって、その価値を有するデータそのものを処理できるという特性を有する。
【0040】
デジタル資産を用いた取引処理において想定される問題
トークン等のデジタル資産を用いた取引の場合、注文が小口化して、注文数が膨大化し易く、膨大なシステムトランザクションが発生する。このため、それに対応する規模のシステム構築のための投資が必要となり、コスト負担が膨大化することに加えて、処理の負荷がかかり過ぎて却って処理速度の低下を招く虞がある。
【0041】
本件発明者はこのような問題等を鑑み、さらに、検討・考察した結果、本発明のデジタル資産を用いた取引注文処理システムを導出するに至った。
【0042】
本発明のデジタル資産を用いた取引注文処理システムは、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えて構築される、デジタル資産を用いた取引注文処理システムであって、注文入力手段と、注文者により前記注文入力手段を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト、基準値提供用スマートコントラクト、および取引用スマートコントラクトを有し、前記注文管理用スマートコントラクトは、注文者により注文入力手段を介して入力された銘柄単位の注文について、当該注文にかかる所定形態のデジタル資産を担保として、当該注文についての注文データ(売り注文、買い注文のデータ)を、当該注文データの処理状況が“未処理”を示す値のステイタスとともに、前記分散型台帳に記録・保存する機能を有し、前記基準値提供用スマートコントラクトは、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づいて算出した、売買の基準となる値段)を、当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能を有し、前記取引用スマートコントラクトは、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている当該銘柄の注文データのうち、前記ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、前記ステイタスが“未処理”を示す値となっている全ての注文データの前記ステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、前記ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データの前記ステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有する。
【0043】
本発明のデジタル資産を用いた取引注文処理システムのように、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えた構成とすれば、分散型台帳に記録された価値を有するトークン等のデジタル資産を、スマートコントラクトを介して処理できるため、注文処理の発注管理をデータベースに記録されたステイタスに依存して行っていた従来の取引市場発注管理システムとは異なり、注文処理から決済(清算)処理までを即時に行うことができ、処理時間が飛躍的に向上する。
そして、本発明のデジタル資産を用いた取引注文処理システムのように、注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト、基準値提供用スマートコントラクト、および取引用スマートコントラクトを有し、前記注文管理用スマートコントラクトが、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている当該銘柄の注文データのうち、前記ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、前記ステイタスが“未処理”を示す値となっている全ての注文データの前記ステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、前記ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データの前記ステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有するようにすれば、複数のノードで作動する同一銘柄の夫々の取引用スマートコントラクトが、前記ステイタスが“未処理”となっている当該銘柄の注文データに対する対当・約定処理の奪い合いをし、複数の取引用スマートコントラクトのうち、当該銘柄の注文データの前記ステイタスを“処理中”に書き換えた所定のノードの取引用スマートコントラクトのみが、当該注文データに対する対当・約定処理を行うことになるので、当該銘柄の注文データに対する対当・約定処理を最速で開始することができるようになる。また、他のノードの取引用スマートコントラクトは、前記ステイタスが“未処理”となっている注文データに対してのみ、対当・約定処理の奪い合いをし、前記ステイタスが“処理中”となっている注文データに対しては処理を行わないため、同じ注文データに対し、二重で対当・約定処理が行われることを防止できる。
【0044】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを前記対当・約定処理の基準となる側の注文データとして選定する機能を有する。
このようにすれば、基準値に最も近い価格に該当する注文に対する対当・約定処理を確実に行うことができる。
【0045】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する機能を有する。
このようにすれば、基準値から所定価格までの範囲内においてより多くの注文に対する対当・約定処理を行うことができる。
【0046】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、選定した前記対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された、当該銘柄における、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対してのみ、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、当該対当・約定処理の基準となる側の注文の注文価格が、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲外の価格に該当する注文データの注文に対しては、基準となる側とは反対側の注文データの注文との対当・約定処理を行わないように構成されている。
このようにすれば、当該時点において注文者にとって基準値から不利となり過ぎる程に価格が乖離した注文に対する対当・約定処理は行われずに済む。
【0047】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記基準値提供用スマートコントラクトは、当該銘柄についての最新の約定値情報と、当該銘柄の最新の売りと買い夫々の最良気配値情報を、当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有する。
このようにすれば、当該銘柄の取引についての注文を発注することを欲する者が、事前に当該銘柄の売買における注文値段の相場を把握することができる。
【0048】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記基準値提供用スマートコントラクトは、当該銘柄についてのチャートなどの価格推移を示すデータ、前記価格推移を示すデータを用いたテクニカル分析、チャート分析結果を示すデータを当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有する。
このようにすれば、当該銘柄の取引についての注文を発注することを欲する者が、当該銘柄の売買において有利となる注文のタイミングを把握することができる。
【0049】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記基準値提供用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる前記価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、前記基準値提供用スマートコントラクトにより提供された当該銘柄の売りと買い夫々の基準値から乖離することにより、当該銘柄の売り側の注文データと買い側の注文データの前記ステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除し)た状態のまま、前記取引用スマートコントラクトによる当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間を経過したとき、当該銘柄の売り又は買い夫々の前記基準値を、所定の修正率を用いて修正し、修正した基準値を当該銘柄に対応する夫々の前記取引用スマートコントラクトに提供する機能をさらに有する。
このようにすれば、売り注文と買い注文の注文価格が、基準値提供用スマートコントラクトにより提供された直前の基準値から乖離し、その後に、注文者からの当該直前の基準値近傍の価格を注文価格とする注文の入力がなくても、停滞を生じることなく、対当・約定処理をすることが可能となる。
【0050】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させたとき、当該買い注文と売り注文夫々の注文データの前記ステイタスを“約定処理済”を示す値に書き換える機能を有する。
このようにすれば、後述する清算用スマートコントラクトによる作動を制御することができる。
【0051】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記注文管理用スマートコントラクトにより前記分散型台帳に記録・保存されている注文データのうち、前記ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動し、前記ステイタスが“約定処理済”を示す値となっている注文データの前記ステイタスを“清算処理中”を示す値に書き換え、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能を有する清算用スマートコントラクトをさらに有する。
このようにすれば、多数のノードに備わる清算用スマートコントラクトによる清算処理の奪い合いを行わせることができ、約定した注文についての清算処理を迅速かつ途切れることなく行うことができる。
【0052】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトは、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能をさらに有する。
このようにすれば、多数のノードに備わる取引用スマートコントラクトによる清算処理の奪い合いを行わせることができ、約定した注文についての清算処理を迅速かつ途切れることなく行うことができる。
【0053】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、銘柄単位でノードごとに作動する夫々の前記基準値提供用スマートコントラクトは、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトを監視し、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトが算出した基準値や取得した情報が、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供している前記基準値提供用スマートコントラクトの作動を停止させ、前記取引用スマートコントラクトに対して情報を提供していない複数の他の前記基準値提供用スマートコントラクトのうちのいずれか一つの前記基準値提供用スマートコントラクトが、前記取引用スマートコントラクトに対して情報を提供するようにするとともに、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能をさらに有する。
このようにすれば、所定ノードの基準値提供用スマートコントラクトが算出する基準値に不具合を生じても、当該基準値提供用スマートコントラクトに替えて、他のノードの正常な基準値を算出する基準値提供用スマートコントラクトに基準値の提供をさせることができ、基準値提供用スマートコントラクトが提供する基準値の信頼性を高めることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
なお、基準値提供用スマートコントラクトが提供する基準値は、例えば、取引開始直前における最良気配値や、取引開始後における直前の基準値を所定の修正率を用いて修正した値となり得る。
【0054】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記取引用スマートコントラクトによる注文データの注文に対する処理を監視する注文処理監視用スマートコントラクトをさらに有し、前記注文処理監視用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間を経過する第2のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有する。
このようにすれば、注文データをロックした所定ノードの取引用スマートコントラクトによる対当・約定処理に不具合を生じても、処理を停滞させることなく、他のノードの取引用スマートコントラクトに当該注文データの対当・約定処理を行わせることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
【0055】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記清算用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、前記清算処理監視用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文との約定により、前記ステイタスが“約定処理済”を示す値に書き換えられた後の前記清算用スマートコントラクトによる清算処理を完了させない時間が、所定の第3の待機時間を経過する第3のエラーが生じたとき、当該清算用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有する。
このようにすれば、所定のノードの清算用スマートコントラクトによる清算処理に不具合を生じても、処理を停滞させることなく、他のノードの清算用スマートコントラクトに当該注文データの清算処理を行わせることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
【0056】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記取引用スマートコントラクトによる、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクトをさらに有し、前記清算処理監視用スマートコントラクトは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た前記取引用スマートコントラクトによる当該銘柄の買い注文と売り注文とを約定させて前記ステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間を経過する第4のエラーが生じたとき、当該取引用スマートコントラクトの作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクトのノードを、システムの運用を監視する運用監視用スマートコントラクトに通知する機能を有する。
このようにすれば、所定のノードの取引用スマートコントラクトによる清算処理に不具合を生じても、処理を停滞させることなく、他のノードの取引用スマートコントラクトに当該注文データの清算処理を行わせることができるとともに、運用監視用スマートコントラクトを介した、障害状況の把握やノードの調整を行い易くなる。
【0057】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、前記運用監視用スマートコントラクトは、エラー及び作動を停止したスマートコントラクトのノードの通知を受けて、スマートコントラクトを作動させるノードを自動的に調整する機能を有する。
このようにすれば、スマートコントラクトの処理に不具合を生じたノードを把握することができ、把握後に当該ノードのスマートコントラクトを作動させることによる処理の不具合を未然に防止するとともに、当該不具合を生じるスマートコントラクトの作動による無駄な負荷を減らすことができる。
【0058】
また、本発明のデジタル資産を用いた取引注文処理システムにおいては、好ましくは、銘柄単位でノードごとに作動するスマートコントラクトの作動を管理する負荷監視用スマートコントラクトをさらに有し、前記負荷監視用スマートコントラクトは、前記銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの前記銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する機能を有する。
このようにすれば、多数のノードで作動するスマートコントラクトのうち、注文データの処理に関与していないスマートコントラクトの作動を停止することで、システム全体にかかる負荷を減らして、注文データの処理に関与しているスマートコントラクトによる処理を迅速化することができる。
【0059】
このため、本発明によれば、従来、世界の主要取引所で行われていなかった、トークン等のデジタル資産を用いた取引における注文から決済まで迅速かつ効率的に処理することができ、しかも、エラーや障害が発生しても処理を中断することなく継続可能な、デジタル資産を用いた取引注文処理システムが得られる。
以下、図面を参照して、本発明を実施するための形態の説明を行うこととする。
【0060】
第1実施形態
図1は本発明の第1実施形態に係るデジタル資産を用いた取引注文処理システムの全体構成を概略的に示す説明図である。
第1実施形態のデジタル資産を用いた取引注文処理システムは、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えて構築され、注文入力手段1と、注文管理用スマートコントラクト2と、基準値提供用スマートコントラクト3と、取引用スマートコントラクト4と、清算用スマートコントラクト5と、注文処理監視用スマートコントラクト6と、清算処理監視用スマートコントラクト7と、運用監視用スマートコントラクト8と、負荷監視用スマートコントラクト9と、を有している。
【0061】
注文入力手段
注文入力手段1は、例えば、コンピュータの端末や、携帯情報端末等の他の電子機器の画面表示部と入力部を介して、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引についての注文(例えば、トークンによる売り注文、デジタル通貨による買い注文)を入力することができるように構成されている。注文の入力項目は、例えば、銘柄、注文数、売買の注文価格、売買の別、売り注文におけるトークンの種類、買い注文におけるデジタル通貨の種類等が挙げられる。
【0062】
注文管理用スマートコントラクト
注文管理用スマートコントラクト2は、注文者により注文入力手段1を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動し、図2に示すように、注文者により注文入力手段1を介して入力された銘柄単位の注文について、当該注文にかかる所定形態のデジタル資産(例えば、トークン又はデジタル通貨)を担保として、当該注文についての注文データ(例えば、トークンによる売り注文、デジタル通貨による買い注文のデータ)を、当該注文データの処理状況が“未処理”を示す値のステイタスとともに、分散型台帳に記録・保存する機能を有するように構成されている。
【0063】
基準値提供用スマートコントラクト
基準値提供用スマートコントラクト3は、注文者により注文入力手段1を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動し、図3に示すように、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づいて算出した、売買の基準となる値段)を、当該銘柄に対応する夫々の取引用スマートコントラクト4に提供する機能を有するように構成されている。
なお、本実施形態では、基準値提供用スマートコントラクト3は、最新の約定値や最良気配値に、所定の手数料等を加算することによって、当該銘柄の売りと買い夫々の基準値を算出するように構成されている。
【0064】
また、基準値提供用スマートコントラクト3は、当該銘柄についての最新の約定値情報と、当該銘柄の最新の売りと買い夫々の最良気配値情報を、当該銘柄に対応する夫々の画面表示手段(例えば、注文者が注文を入力した、コンピュータの端末や、携帯情報端末等の他の電子機器の画面表示部等)に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有するように構成されている。
なお、最良気配値とは、売り注文における最も安い値段、買い注文における最も高い値段である。
【0065】
また、基準値提供用スマートコントラクト3は、当該銘柄についてのチャートなどの価格推移を示すデータ、価格推移を示すデータを用いたテクニカル分析、チャート分析結果を示すデータを当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有するように構成されている。
【0066】
また、基準値提供用スマートコントラクト3は、後述する当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買いの注文の価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離することにより、当該銘柄の売り側の注文データと買い側の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除し)た状態のまま、取引用スマートコントラクト4による当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間(例えば、1分など)を経過したとき、当該銘柄の売り又は買い夫々の基準値を、所定の修正率(例えば、当該基準値の10%)を用いて修正(例えば、売り注文の場合は基準値を10%上げ、買い注文の場合は基準値を10%下げる等)し、修正した基準値を当該銘柄に対応する夫々の取引用スマートコントラクト4に提供する機能をさらに有するように構成されている。
【0067】
また、銘柄単位でノードごとに作動する夫々の基準値提供用スマートコントラクト3は、図4に示すように、さらに、次の機能を有するように構成されている。
即ち、銘柄単位でノードごとに作動する夫々の基準値提供用スマートコントラクト3は、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3を監視する。
そして、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させ、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3のうちのいずれか一つの基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供するようにするとともに、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する。
【0068】
取引用スマートコントラクト
取引用スマートコントラクト4は、注文者により注文入力手段1を介して注文が入力されたときに当該注文の銘柄単位でノードごとに作動し、図5に示すように、次の処理を行う機能を有するように構成されている。
【0069】
まず、取引用スマートコントラクト4は、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている当該銘柄の注文データのうち、ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データの有無をチェックする。
【0070】
ここで、「売り注文又は買い注文の注文価格が、当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データの有無をチェックする」例を、次の表1を用いて説明する。
例えば、ステイタスが“未処理”を示す値となっている注文データが表1に示すとおり存在するとする。また、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値が、売り注文80円、買い注文81円であるとする。なお、表1では、分散型台帳に記録されている注文データのうち所定の同一銘柄の注文であってステイタスが“未処理”を示す値となっているものについて注文入力順に示してあるものとする。
【0071】
【表1】
【0072】
表1の例において、売り注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は80円~72円、買い注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は81円~89円である。
表1の例では、売り注文の注文価格が、当該銘柄の最新の売りの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する売り注文は80円、79円、78円、77円、76円で存在する。また、当該銘柄の最新の買いの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する買い注文は、81円、82円、83円、88円で存在する。
【0073】
次に、取引用スマートコントラクト4は、売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データが有るときに、ステイタスが“未処理”を示す値となっている全ての注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックす)る。
【0074】
上記表1の例では、売り注文の注文価格が80円、79円、78円、77円、76円、買い注文の注文価格が81円、82円、83円、88円に夫々該当する注文データが存在するため、取引用スマートコントラクト4は、表2に示すように、これらの注文データを含むステイタスが“未処理”を示す値となっている全ての注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックす)る。
【0075】
【表2】
【0076】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートする。
【0077】
表2の例の注文データをソートした注文データの価格及び数量を表3に示す。
【表3】
【0078】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
【0079】
対当・約定処理の基準となる側の注文データの選定方法
ここで、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による対当・約定処理の基準となる側の注文データの選定方法についてより詳しく説明する。
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、図6に示すように、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
また、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
【0080】
表3の例の注文データの場合、最良となる売り注文の価格は76円であり、売りの基準値80円からは4円乖離するのに対し、最良となる買い注文の価格は90円であり、買いの基準値81円とは9円乖離しており、最良となる売り注文又は買い注文の注文価格が、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データは、売り注文側の注文データである。
従って、当該取引用スマートコントラクト4は、表2の例の場合、売り注文側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
【0081】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、選定した対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行う。
なお、取引用スマートコントラクト4は、約定に際し、約定した相手のアドレス等の情報や、約定日次を注文データに記載する。
【0082】
表3の例の場合、当該対当・約定処理の基準となる側の注文データの注文の注文価格が、基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)の価格に該当する注文は、80円~72円の範囲の価格に該当する80円、79円、78円、77円、76円の売り注文である。
従って、当該取引用スマートコントラクト4は、表2の例の場合、76円、77円、78円、79円、80円の売り注文に対して、90円、88円、83円、82円の買い注文との対当・約定処理を行う。
【0083】
なお、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、選定した対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が、基準値提供用スマートコントラクトにより提供された、当該銘柄における、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データの注文に対してのみ、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、当該対当・約定処理の基準となる側の注文の注文価格が、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)外の価格に該当する注文データの注文に対しては、基準となる側とは反対側の注文データの注文との対当・約定処理を行わないように構成されている。
【0084】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、約定させた売り注文と買い注文の夫々の当該注文データのステイタスを所定の“処理済”(ここでは、“約定処理済”)を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る。
【0085】
表3の例では、当該取引用スマートコントラクト4は、表4に示すように、76円、77円、78円、79円、80円の売り注文の注文データ、90円、88円、83円、82円の買い注文の注文データのステイタスを“約定処理済”を示す値に書き換え、その他の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る。
【0086】
【表4】
【0087】
ステイタスが“未処理”を示す値となった注文データに対しては、複数のノードの取引用スマートコントラクト4が、上述と同様、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックす)る処理を奪い合い、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4のみが、上述と同様、対当・約定処理を行う。
【0088】
なお、表4の例において、ステイタスが“未処理”を示す値となった注文データは、売り注文の注文価格が81円、82円、83円、84円、85円、90円、買い注文の注文価格が76円、79円、80円、81円に夫々該当する注文データである。
ここで、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値が、売り注文80円、買い注文81円であり、売り注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は80円~72円、買い注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は81円~89円である。
しかし、表4の例では、当該銘柄の最新の買いの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する買い注文は、81円で存在する。一方、売り注文の注文価格が、当該銘柄の最新の売りの基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格に該当する売り注文は存在しない。
このため、表4の例の注文データに対し取引用スマートコントラクト4が、買い注文の注文価格が81円の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)ても、対当・約定処理は行わず、ステイタスを“未処理”を示す値に書き換(て当該注文データのロックを解除す)ることになる。
【0089】
取引用スマートコントラクト4による当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間(例えば、1分など)を経過したとき、上述のとおり、基準値提供用スマートコントラクト3が、当該銘柄の売り又は買い夫々の基準値を、所定の修正率(例えば、当該基準値の10%)を用いて修正(例えば、売り注文の場合は基準値を10%上げ、買い注文の場合は基準値を10%下げる等)し、修正した基準値を当該銘柄に対応する夫々の取引用スマートコントラクト4に提供する。
修正率を10%とした場合、基準値提供用スマートコントラクト3が修正した基準値は、売り注文88円、買い注文73円となる。
そうすると、売り注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は88円~80円、買い注文における基準値から当該基準値よりも不利となる所定価格までの範囲(ここでは当該基準値の10%の範囲)内の価格は73円~80円となり、表4の例において、売り注文の注文価格が81円、82円、83円、84円、85円、買い注文の注文価格が76円、79円、80円に夫々該当する注文データが存在し、売りと買いの双方の側で対当・約定処理の対象となり得る注文が存在することになるため、取引用スマートコントラクト4による当該銘柄の注文データの注文についての対当・約定処理を行うことができるようになる。
【0090】
清算用スマートコントラクト
清算用スマートコントラクト5は、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている注文データのうち、ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動し、図7に示すように、ステイタスが“約定処理済”を示す値となっている注文データのステイタスを“清算処理中”を示す値に書き換え、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能を有するように構成されている。
なお、各ノードで作動する夫々の清算用スマートコントラクト5は、ステイタスが“約定処理済”を示す値となっている注文データに対する清算処理を奪い合う。そして、複数の清算用スマートコントラクト5により、別々の注文データに対する清算処理を同時期に行うことが生じ得る。
【0091】
表4の例において、ステイタスが“約定処理済”を示す値となっている注文データを表5に示す。
【表5】
【0092】
表5の例において、当該清算用スマートコントラクト5が、清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換えた後の注文データを表6に示す。
【表6】
【0093】
注文処理監視用スマートコントラクト
注文処理監視用スマートコントラクト6は、取引用スマートコントラクト4による注文データの注文に対する処理を監視するスマートコントラクトである。
注文処理監視用スマートコントラクト6は、図8に示すように、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間(例えば、2秒など)を経過する第2のエラーが生じたとき、当該取引用スマートコントラクト4の作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する機能を有するように構成されている。
【0094】
清算処理監視用スマートコントラクト
清算処理監視用スマートコントラクト7は、清算用スマートコントラクト5による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視するスマートコントラクトである。
清算処理監視用スマートコントラクト7は、図9に示すように、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該銘柄の買い注文と売り注文との約定により、ステイタスが“約定処理済”を示す値に書き換えられた後の清算用スマートコントラクト5による清算処理を完了させない時間が、所定の第3の待機時間(例えば、2秒など)を経過する第3のエラーが生じたとき、当該清算用スマートコントラクト5の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクト5のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する機能を有するように構成されている。
【0095】
運用監視用スマートコントラクト
運用監視用スマートコントラクト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は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
当該ノードの負荷状況は、例えば、当該ノードで作動するスマートコントラクトの作動数に応じて規定することができる。
【0096】
負荷監視用スマートコントラクト
負荷監視用スマートコントラクト9は、銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する機能を有する。
例えば、負荷監視用スマートコントラクト9は、一つのノードにおいて、銘柄単位で作動しているスマートコントラクトの数が、所定数を超えていた場合、当該ノードにおける全てのスマートコントラクトの作動を停止させる。
【0097】
第2実施形態
図12は本発明の第2実施形態に係るデジタル資産を用いた取引注文処理システムの全体構成を概略的に示す説明図である。
本実施形態のデジタル資産を用いた取引処理システムは、注文入力手段1と、注文管理用スマートコントラクト2と、基準値提供用スマートコントラクト3と、取引用スマートコントラクト4’と、注文処理監視用スマートコントラクト6と、清算処理監視用スマートコントラクト7’と、運用監視用スマートコントラクト8’と、負荷監視用スマートコントラクト9と、を有している。
取引用スマートコントラクト4’、清算処理監視用スマートコントラクト7’、運用監視用スマートコントラクト8’以外のスマートコントラクトの構成は、第1実施形態のデジタル資産を用いた取引処理システムと略同じであるので、説明を省略し、取引用スマートコントラクト4’、清算処理監視用スマートコントラクト7’、運用監視用スマートコントラクト8’のみについて説明することとする。
【0098】
取引用スマートコントラクト
取引用スマートコントラクト4’は、図4に示した処理を行う機能に加えて、図13に示す次の処理を行う機能をさらに有するように構成されている。
詳しくは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’は、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データのステイタスを“清算処理済”を示す値に書き換える。
【0099】
清算処理監視用スマートコントラクト7’
清算処理監視用スマートコントラクト7’は、取引用スマートコントラクト4’による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視するスマートコントラクトである。
清算処理監視用スマートコントラクト7’は、図14に示すように、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該銘柄の買い注文と売り注文とを約定させてステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間(例えば、2秒など)を経過する第4のエラーが生じたとき、当該取引用スマートコントラクト4’の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノードを、システムの運用を監視する運用監視用スマートコントラクト8’に通知する機能を有するように構成されている。
【0100】
運用監視用スマートコントラクト
運用監視用スマートコントラクト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’は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
【0101】
このように構成された各実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れを、図面を用いて説明する。
第1実施形態のデジタル資産を用いた取引注文処理システムを用いた処理の流れ
図16図19は第1実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例を示す説明図である。
第1実施形態のデジタル資産を用いた取引注文処理システムでは、注文者により注文入力手段1を介して注文(トークンによる売り注文、デジタル通貨による買い注文)を入力されると、注文管理用スマートコントラクト2、基準値提供用スマートコントラクト3、および取引用スマートコントラクト4が、当該注文の銘柄単位でノードごとに作動する。
【0102】
まず、当該注文の銘柄単位でノードごとに作動する注文管理用スマートコントラクト2は、注文者により注文入力手段1を介して入力された銘柄単位の注文について、当該注文にかかるトークン又はデジタル通貨を担保として、当該注文についての注文データ(トークンによる売り注文、デジタル通貨による買い注文のデータ)を、当該注文データの処理状況が“未処理”を示す値のステイタスとともに、分散型台帳に記録・保存する。
【0103】
また、当該注文の銘柄単位でノードごとに作動する基準値提供用スマートコントラクト3は、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づいて算出した、売買の基準となる値段)を、当該銘柄に対応する夫々の取引用スマートコントラクト4に提供する。
【0104】
なお、銘柄単位でノードごとに作動する夫々の基準値提供用スマートコントラクト3は、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3を監視する。
そして、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3は、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させ、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3のうちのいずれか一つの基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供するようにするとともに、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する。
【0105】
また、当該注文の銘柄単位でノードごとに作動する夫々の取引用スマートコントラクト4は、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている当該銘柄の注文データのうち、ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データの有無をチェックする。
次に、取引用スマートコントラクト4は、売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データが有るときに、ステイタスが“未処理”を示す値となっている全ての注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックす)る。
これにより、同一銘柄の注文に対して夫々のノードで作動する複数の取引用スマートコントラクト4のうち、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換えた取引用スマートコントラクト4のみが、当該銘柄の注文データに対する対当・約定処理を行うことができるようになる一方、他のスマートコントラクトは、ステイタスが“処理中”を示す値に書き換えられた当該銘柄の注文データに対しては、対当・約定処理を行わないようになる。
このように、当該注文の銘柄単位でノードごとに作動する夫々の取引用スマートコントラクト4は、分散型台帳に記録・保存されている、ステイタスが“未処理”を示す値となっている当該銘柄の注文データに対する処理を奪い合う。
【0106】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートする。
【0107】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
【0108】
当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による対当・約定処理の基準となる側の注文データの選定は、次のようにして行う。
価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
また、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格(例えば、基準価格の10%)までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する。
【0109】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、選定した対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行う。
【0110】
なお、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、選定した対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が、基準値提供用スマートコントラクト3により提供された、当該銘柄における、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)内の価格に該当する注文データの注文に対してのみ、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、当該対当・約定処理の基準となる側の注文の注文価格が、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲(例えば、基準値の10%の範囲)外の価格に該当する注文データの注文に対しては、基準となる側とは反対側の注文データの注文との対当・約定処理を行わない。
【0111】
次に、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4は、約定させた売り注文と買い注文の夫々の当該注文データのステイタスを所定の“処理済”(ここでは、“約定処理済”)を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る。
【0112】
なお、基準値提供用スマートコントラクト3は、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離することにより、当該銘柄の売り側の注文データと買い側の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除し)た状態のまま、取引用スマートコントラクト4による当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間(例えば、1分など)を経過したとき、当該銘柄の売り又は買い夫々の基準値を、所定の修正率を用いて修正し、修正した基準値を当該銘柄に対応する夫々の取引用スマートコントラクト4に提供する。
その後、当該注文の銘柄単位でノードごとに作動する夫々の取引用スマートコントラクト4が、上述と同様に、分散型台帳に記録・保存されている、ステイタスが“未処理”を示す値となっている当該銘柄の注文データに対する処理の奪い合いを行い、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4が、上述したのと同様に、売り側の注文データと買い側の注文データとの分類、ソート、対当・約定処理の基準となる側の注文データの選定、対当・約定処理を行う。
【0113】
次に、清算用スマートコントラクト5が、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている注文データのうち、ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動する。
当該注文の銘柄単位でノードごとに作動する夫々の清算用スマートコントラクト5は、ステイタスが“約定処理済”を示す値となっている注文データのステイタスを“清算処理中”を示す値に書き換える。
当該銘柄の注文データのステイタスを“清算処理中”を示す値に書き換えた清算用スマートコントラクト5は、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える。
これにより、当該買い注文と売り注文についての処理が終了する。
【0114】
なお、注文処理監視用スマートコントラクト6が、取引用スマートコントラクト4による注文データの注文に対する処理を監視し、また、清算処理監視用スマートコントラクト7が、清算用スマートコントラクト5による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する。
【0115】
注文処理監視用スマートコントラクト6は、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間(例えば、2秒など)を経過する第2のエラーが生じたとき、当該取引用スマートコントラクト4の作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する。
【0116】
清算処理監視用スマートコントラクト7は、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該銘柄の買い注文と売り注文との約定により、ステイタスが“約定処理済”を示す値に書き換えられた後の清算用スマートコントラクト5による清算処理を完了させない時間が、所定の第3の待機時間(例えば、2秒など)を経過する第3のエラーが生じたとき、当該清算用スマートコントラクト5の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクト5のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する。
【0117】
また、運用監視用スマートコントラクト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による当該銘柄の買い注文と売り注文との約定により、ステイタスが“約定処理済”を示す値に書き換えられた後の清算用スマートコントラクト5による清算処理を完了させない時間が、所定の第3の待機時間(例えば、2秒など)を経過する第3のエラーが生じたことにより、清算処理監視用スマートコントラクト7が、当該取引用スマートコントラクト4の作動を停止させたときにおける、当該第3のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノード。
そして、運用監視用スマートコントラクト8は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
【0118】
また、負荷監視用スマートコントラクト9は、銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する。
例えば、負荷監視用スマートコントラクト9は、一つのノードにおいて、銘柄単位で作動しているスマートコントラクトの数が、所定数を超えていた場合、当該ノードにおける全てのスマートコントラクトの作動を停止させる。
【0119】
第2実施形態のデジタル資産を用いた取引注文処理システムを用いた処理の流れ
図20は第2実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れの一例を示す説明図である。なお、第1実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れと略同じ部分についての図示及び説明は省略する。
第2実施形態のデジタル資産を用いた取引注文処理システムでは、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’は、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データのステイタスを“清算処理済”を示す値に書き換える。
【0120】
また、清算処理監視用スマートコントラクト7’が、取引用スマートコントラクト4’による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する。
そして、清算処理監視用スマートコントラクト7’は、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該銘柄の買い注文と売り注文とを約定させてステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間(例えば、2秒など)を経過する第4のエラーが生じたとき、当該取引用スマートコントラクト4’の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノードを、システムの運用を監視する運用監視用スマートコントラクト8’に通知する。
【0121】
また、運用監視用スマートコントラクト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’は、エラーの通知を受けたノードそのものの使用の可・不可を、所定の条件(例えば、当該ノードでのエラー通知の頻度、当該ノードの負荷状況等)に基づいて判定し、使用不可と判定したノードに対しては、当該ノードにおける全てのスマートコントラクトの作動を停止させるとともに、停止したスマートコントラクトが再作動しないように制御する。
【0122】
その他の処理の流れは、第1実施形態のデジタル資産を用いた取引注文処理システムにおける処理の流れと略同じである。
【0123】
第1実施形態のデジタル資産を用いた取引注文処理システムの効果
第1実施形態のデジタル資産を用いた取引注文処理システムによれば、トークン(ブロックチェーン等の分散技術においてデジタルで定義される価値などの総称であって、暗号資産を含む)、デジタル通貨、トークンとデジタル通貨、もしくはトークン同士、デジタル通貨同士など、あらゆる形態のデジタル資産間による取引を管理するための、少なくとも1種類のブロックチェーン等の分散技術における分散型台帳と、該分散型台帳に管理されるデジタル資産を用いた所定の処理を行うためのスマートコントラクトを備えた構成としたので、分散型台帳に記録された価値を有するトークン等のデジタル資産を、スマートコントラクトを介して処理できるため、注文処理の発注管理をデータベースに記録されたステイタスに依存して行っていた従来の取引市場発注管理システムとは異なり、注文処理から決済(清算)処理までを即時に行うことができ、処理時間が飛躍的に向上する。
そして、本実施形態のデジタル資産を用いた取引注文処理システムによれば、注文が入力されたときに当該注文の銘柄単位でノードごとに作動する、注文管理用スマートコントラクト2、基準値提供用スマートコントラクト3、および取引用スマートコントラクト4を有し、注文管理用スマートコントラクト2が、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている当該銘柄の注文データのうち、ステイタスが“未処理”を示す値となっている全ての注文データを対象として、売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの有無をチェックし、該当する注文データが有るときに、ステイタスが“未処理”を示す値となっている全ての注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)、ステイタスを“処理中”を示す値に書き換えた全ての注文データを、売り側の注文データと買い側の注文データとに分類し、分類した売り側の注文データ、買い側の注文データの夫々を、価格優先、注文時間優先、数量優先の順でソートし、ソートした当該銘柄の売り側、買い側のうちのいずれかの側の注文データを対当・約定処理の基準となる側の注文データとして選定し、選定した対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が所定の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対して、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、約定させた売り注文と買い注文の夫々の当該注文データのステイタスを所定の“処理済”を示す値に書き換えるとともに、約定しなかった当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)る機能を有するようにしたので、複数のノードで作動する同一銘柄の夫々の取引用スマートコントラクトが、ステイタスが“未処理”となっている当該銘柄の注文データに対する対当・約定処理の奪い合いをし、複数の取引用スマートコントラクトのうち、当該銘柄の注文データのステイタスを“処理中”に書き換えた所定のノードの取引用スマートコントラクトのみが、当該注文データに対する対当・約定処理を行うことになるので、当該銘柄の注文データに対する対当・約定処理を最速で開始することができるようになる。また、他のノードの取引用スマートコントラクトは、ステイタスが“未処理”となっている注文データに対してのみ、対当・約定処理の奪い合いをし、ステイタスが“処理中”となっている注文データに対しては処理を行わないため、同じ注文データに対し、二重で対当・約定処理が行われることを防止できる。
【0124】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4が、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データのうち、最良となる売り注文又は買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された、当該銘柄の売り又は買いの基準値に対して最も近い価格に該当する注文を有する側の注文データを対当・約定処理の基準となる側の注文データとして選定する機能を有するようにしたので、基準値に最も近い価格に該当する注文に対する対当・約定処理を確実に行うことができる。
【0125】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4が、価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離する額が同じである場合、当該ソートした当該銘柄の売り側の注文データと買い側の注文データのうち、当該基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文の合計数が多い側の注文データを対当・約定処理の基準となる側の注文データとして選定する機能を有するようにしたので、基準値から所定価格までの範囲内においてより多くの注文に対する対当・約定処理を行うことができる。
【0126】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4が、選定した対当・約定処理の基準となる側の注文データのうち、当該対当・約定処理の基準となる側の注文の注文価格が、基準値提供用スマートコントラクト3により提供された、当該銘柄における、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲内の価格に該当する注文データの注文に対してのみ、当該対当・約定処理の基準となる側とは反対側の注文データの注文との対当・約定処理を行い、当該対当・約定処理の基準となる側の注文の注文価格が、当該対当・約定処理の基準となる側と同じ側の基準値から当該基準値よりも不利となる所定価格までの範囲外の価格に該当する注文データの注文に対しては、基準となる側とは反対側の注文データの注文との対当・約定処理を行わないように構成したので、当該時点において注文者にとって基準値から不利となり過ぎる程に価格が乖離した注文に対する対当・約定処理は行われずに済む。
【0127】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、基準値提供用スマートコントラクト3が、当該銘柄についての最新の約定値情報と、当該銘柄の最新の売りと買い夫々の最良気配値情報を、当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有するようにしたので、当該銘柄の取引についての注文を発注することを欲する者が、事前に当該銘柄の売買における注文値段の相場を把握することができる。
【0128】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、基準値提供用スマートコントラクト3が、当該銘柄についてのチャートなどの価格推移を示すデータ、価格推移を示すデータを用いたテクニカル分析、チャート分析結果を示すデータを当該銘柄に対応する夫々の画面表示手段に表示させる機能を有する所定のスマートコントラクトに提供する機能をさらに有するようにしたので、当該銘柄の取引についての注文を発注することを欲する者が、当該銘柄の売買において有利となる注文のタイミングを把握することができる。
【0129】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、基準値提供用スマートコントラクト3が、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による価格優先、注文時間優先、数量優先の順でソートした当該銘柄の売り側の注文データと買い側の注文データにおける、最良となる売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された当該銘柄の売りと買い夫々の基準値から乖離することにより、当該銘柄の売り側の注文データと買い側の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除し)た状態のまま、取引用スマートコントラクト4による当該銘柄の注文データの注文についての対当・約定処理を行わない時間が、所定の第1の待機時間を経過したとき、当該銘柄の売り又は買い夫々の基準値を、所定の修正率を用いて修正し、修正した基準値を当該銘柄に対応する夫々の取引用スマートコントラクト4に提供する機能をさらに有するようにしたので、売り注文と買い注文の注文価格が、基準値提供用スマートコントラクト3により提供された直前の基準値から乖離し、その後に、注文者からの当該基準値近傍の価格を注文価格とする注文の入力がなくても、停滞を生じることなく、対当・約定処理をすることが可能となる。
【0130】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4が、当該銘柄の買い注文と売り注文とを約定させたとき、当該買い注文と売り注文夫々の注文データのステイタスを“約定処理済”を示す値に書き換える機能を有するようにしたので、清算用スマートコントラクト5による作動を制御することができる。
【0131】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、注文管理用スマートコントラクト2により分散型台帳に記録・保存されている注文データのうち、ステイタスが“約定処理済”を示す値となっている注文データが存在するときに当該注文の銘柄単位でノードごとに作動し、ステイタスが“約定処理済”を示す値となっている注文データのステイタスを“清算処理中”を示す値に書き換え、約定した当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データのステイタスを“清算処理済”を示す値に書き換える機能を有する清算用スマートコントラクト5をさらに有するようにしたので、多数のノードに備わる清算用スマートコントラクト5による清算処理の奪い合いを行わせることができ、約定した注文についての清算処理を迅速かつ途切れることなく行うことができる。
【0132】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、銘柄単位でノードごとに作動する夫々の基準値提供用スマートコントラクト3が、当該銘柄の売りと買い夫々の基準値(最新の約定値や最良気配値に基づく、売買の基準となる値段)の算出と、当該銘柄についての最新の約定値情報および当該銘柄の最新の売りと買い夫々の最良気配値情報の取得を行うとともに、互いに、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3を監視し、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3が算出した基準値や取得した情報が、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が算出した基準値や取得した情報に対して所定量以上相違する第1のエラーが生じたとき、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供している基準値提供用スマートコントラクト3の作動を停止させ、取引用スマートコントラクト4に対して情報を提供していない複数の他の基準値提供用スマートコントラクト3のうちのいずれか一つの基準値提供用スマートコントラクト3が、取引用スマートコントラクト4に対して情報を提供するようにするとともに、当該第1のエラーの内容及び作動を停止した当該基準値提供用スマートコントラクト3のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する機能をさらに有するようにしたので、所定ノードの基準値提供用スマートコントラクト3が算出する基準値に不具合を生じても、当該基準値提供用スマートコントラクト3に替えて、他のノードの正常な基準値を算出する基準値提供用スマートコントラクト3に基準値の提供をさせることができ、基準値提供用スマートコントラクト3が提供する基準値の信頼性を高めることができるとともに、運用監視用スマートコントラクト8を介した、障害状況の把握やノードの調整を行い易くなる。
【0133】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、取引用スマートコントラクト4による注文データの注文に対する処理を監視する注文処理監視用スマートコントラクト6をさらに有し、注文処理監視用スマートコントラクト6が、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該注文データの注文についての対当・約定処理を行わない時間が所定の第2の待機時間を経過する第2のエラーが生じたとき、当該取引用スマートコントラクト4の作動を停止させ、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第2のエラーの内容及び作動を停止した当該取引用スマートコントラクト4のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する機能を有するようにしたので、注文データをロックした所定ノードの取引用スマートコントラクト4による対当・約定処理に不具合を生じても、処理を停滞させることなく、他のノードの取引用スマートコントラクト4に当該注文データの対当・約定処理を行わせることができるとともに、運用監視用スマートコントラクト8を介した、障害状況の把握やノードの調整を行い易くなる。
【0134】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、清算用スマートコントラクト5による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクト7をさらに有し、清算処理監視用スマートコントラクト7が、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4による当該銘柄の買い注文と売り注文との約定により、ステイタスが“約定処理済”を示す値に書き換えられた後の清算用スマートコントラクト5による清算処理を完了させない時間が、所定の第3の待機時間を経過する第3のエラーが生じたとき、当該清算用スマートコントラクト5の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“約定処理済”を示す値に書き換えるとともに、当該第3のエラーの内容及び作動を停止した当該清算用スマートコントラクト5のノードを、システムの運用を監視する運用監視用スマートコントラクト8に通知する機能を有するようにしたので、所定のノードの清算用スマートコントラクト5による清算処理に不具合を生じても、処理を停滞させることなく、他のノードの清算用スマートコントラクト5に当該注文データの清算処理を行わせることができるとともに、運用監視用スマートコントラクト8を介した、障害状況の把握やノードの調整を行い易くなる。
【0135】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、運用監視用スマートコントラクト8が、エラー及び作動を停止したスマートコントラクトのノードの通知を受けて、スマートコントラクトを作動させるノードを自動的に調整する機能を有するようにしたので、スマートコントラクトの処理に不具合を生じたノードを把握することができ、把握後に当該ノードのスマートコントラクトを作動させることによる処理の不具合を未然に防止するとともに、当該不具合を生じるスマートコントラクトの作動による無駄な負荷を減らすことができる。
【0136】
また、第1実施形態のデジタル資産を用いた取引注文処理システムによれば、銘柄単位でノードごとに作動するスマートコントラクトの作動を管理する負荷監視用スマートコントラクト9をさらに有し、負荷監視用スマートコントラクト9が、銘柄単位でノードごとに作動するスマートコントラクトの作動数に応じて、所定ノードの銘柄単位でノードごとに作動するスマートコントラクトの作動、作動停止を制御する機能を有するようにしたので、多数のノードで作動するスマートコントラクトのうち、注文データの処理に関与していないスマートコントラクトの作動を停止することで、システム全体にかかる負荷を減らして、注文データの処理に関与しているスマートコントラクトによる処理を迅速化することができる。
【0137】
第2実施形態のデジタル資産を用いた取引注文処理システムの効果
第2実施形態のデジタル資産を用いた取引注文処理システムによれば、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’が、当該銘柄の買い注文と売り注文とを約定させた後、当該買い注文と売り注文とにかかるデジタル資産を約定相手のアドレスに夫々移動(交換)させる清算処理を行い、清算させた当該買い注文と売り注文夫々の注文データの前記ステイタスを“清算処理済”を示す値に書き換える機能をさらに有するようにしたので、多数のノードに備わる取引用スマートコントラクトによる清算処理の奪い合いを行わせることができ、約定した注文についての清算処理を迅速かつ途切れることなく行うことができる。
【0138】
また、第2実施形態のデジタル資産を用いた取引注文処理システムによれば、取引用スマートコントラクト4’による、約定した当該買い注文と売り注文とにかかるデジタル資産の清算処理を監視する清算処理監視用スマートコントラクト7’をさらに有し、清算処理監視用スマートコントラクト7’が、当該銘柄の注文データのステイタスを“処理中”を示す値に書き換え(て当該注文データをロックし)た取引用スマートコントラクト4’による当該銘柄の買い注文と売り注文とを約定させてステイタスを“約定処理済”を示す値に書き換えた後の清算処理を完了させない時間が、所定の第4の待機時間を経過する第4のエラーが生じたとき、当該取引用スマートコントラクト4’の作動を停止させ、当該買い注文と売り注文とにかかるデジタル資産を清算処理前のアドレスに戻し、当該銘柄の注文データのステイタスを“未処理”を示す値に書き換え(て当該注文データのロックを解除す)るとともに、当該第4のエラーの内容及び作動を停止した当該取引用スマートコントラクト4’のノードを、システムの運用を監視する運用監視用スマートコントラクト8’に通知する機能を有するようにしたので、所定のノードの取引用スマートコントラクト4’による清算処理に不具合を生じても、処理を停滞させることなく、他のノードの取引用スマートコントラクト4’に当該注文データの清算処理を行わせることができるとともに、運用監視用スマートコントラクト8’を介した、障害状況の把握やノードの調整を行い易くなる。
その他の作用効果は、第1実施形態のデジタル資産を用いた取引注文処理システムにおける作用効果と略同じである。
【0139】
このため、上記各実施形態によれば、従来、世界の主要取引所で行われていなかった、トークン等のデジタル資産を用いた取引における注文から決済まで極めて迅速かつ効率的に処理することができ、しかも、エラーや障害が発生しても処理を中断することなく継続可能な、デジタル資産を用いた取引注文処理システムが得られる。
【0140】
以上、本発明の好ましい実施形態について詳説したが、本発明は、上述した実施形態に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施形態に種々の変形及び置換を加えることができる。
【0141】
例えば、本発明のデジタル資産を用いた取引注文処理システムにおける「第1の待機時間」、「第2の待機時間」、「第3の待機時間」、「第4の待機時間」、「基準値の修正率」、「当該銘柄の最新の売り又は買いの基準値から当該基準値よりも不利となる所定価格までの範囲」等は、実施形態で示した値に限定されるものではなく、必要に応じて好適な値にすることができる。
また、例えば、本発明のデジタル資産を用いた取引注文処理システムにおける「注文処理監視用スマートコントラクト」、「運用監視用スマートコントラクト」、「負荷監視用スマートコントラクト」等のスマートコントラクトは、図1図12に示すような、注文用ノードとは別個の監視専用ノードのみで作動する構成に限定されるものではなく、「注文管理用スマートコントラクト」、「基準値提供用スマートコントラクト」、「取引用スマートコントラクト」、「清算用スマートコントラクト」等のスマートコントラクトが作動する夫々の注文用ノードで作動する構成であってもよい。
また、例えば、本発明のデジタル資産を用いた取引注文処理システムを、本件発明者が提案した特開2021-022013号公報に記載の決済処理システムに組み込んで構築し、主要取引所で取引されている商品等と同じ商品等の最小単位量あたりの価格での該商品等の売買注文と、通貨の1単位量あたりの、商品等の最小単位量未満の数をなす商品等トークンの量での該商品等トークンの売買注文とに関し、取引所(又は取引機能)が自己売買し得る注文について本発明のデジタル資産を用いた取引注文処理システムで処理するようにしてもよい。
【0142】
さらには、本発明のデジタル資産を用いた取引注文処理システムにおいて、取引用スマートコントラクトが、同一銘柄のデジタル資産の注文における、取引のベースとなる通貨単位や数量単位の異なる複数の注文の通貨単位、数量単位を、統一した通貨単位、数量単位に変換する機能や、異なる銘柄のデジタル資産の注文における、注文数量、注文価格を、相手側の銘柄のデジタル資産の注文における、注文数量、注文価格を規準とした注文数量、注文価格に変換する機能を有するように構成するのが好ましい。
このようにすれば、通貨単位や数量単位の異なる注文同士の取引や、銘柄の異なる注文同士の取引を行うことが可能になる。
【0143】
さらには、本発明のデジタル資産を用いた取引注文処理システムにおいて、取引用スマートコントラクトは、売り注文と買い注文の一方に対当しない端数数量の注文が生じる場合において、当該端数分の注文を自己が介在することによって調整する(例えば、予め自己保有しておいたデジタル資産を用いて、自己のデジタル資産の保有量が所定量となる範囲内で、反対売買を行うことで当該残余分の注文を約定させる)機能を有するように構成するのが好ましい。
このようにすれば、所定の注文数量、注文価格に変換することにより、注文数量に端数が生じた場合であっても、約定が可能となるため、通貨単位や数量単位の異なる注文同士の取引や、銘柄の異なる注文同士等の取引についての流動性を向上させることが可能になる。
【0144】
さらには、本発明のデジタル資産を用いた取引注文処理システムにおいて、注文データがデータ項目として処理稼働条件を備えるようにするとともに、注文データの処理稼働条件を満たすか否かを監視する処理稼働条件監視用スマートコントラクトを有し、処理稼働条件監視用スマートコントラクトが、注文データの処理稼働条件を満たしたときに、当該注文データの取引処理を行う取引用スマートコントラクトを作動させるトリガー機能を有するように構成するのが好ましい。
また、処理稼働条件は、複数の条件をANDやORで組み合わせるようにするとより好ましい。
このようにすれば、例えば、所定銘柄のデジタルデータの売り注文において異なる銘柄のデジタルデータとの交換を所望する場合に、処理稼働条件として夫々の銘柄についてのトリガー条件項目を設定しておくことで、処理稼働条件監視用スマートコントラクトが、銘柄単位で作動する異なる銘柄用の取引用スマートコントラクトの夫々を同時に作動させて、異なる銘柄同士の取引を行うことが実現できる。
【産業上の利用可能性】
【0145】
本発明のデジタル資産を用いた取引注文処理システムは、貴金属、非鉄金属、石油・ガス・電力などのエネルギー類、コメ・砂糖などの保存可能な農作物、美術品、飲料水など、広範囲に販売されているものや、その他の経済的価値をデジタルで表現された、デジタル資産を用いて取引を扱う分野に有用である。
【符号の説明】
【0146】
1 注文入力手段
2 注文管理用スマートコントラクト
3 基準値提供用スマートコントラクト
4、4’ 取引用スマートコントラクト
5 清算用スマートコントラクト
6 注文処理監視用スマートコントラクト
7、7’ 清算処理監視用スマートコントラクト
8、8’ 運用監視用スマートコントラクト
9 負荷監視用スマートコントラクト
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21