JP7498067B2 - 暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム - Google Patents

暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム Download PDF

Info

Publication number
JP7498067B2
JP7498067B2 JP2020145390A JP2020145390A JP7498067B2 JP 7498067 B2 JP7498067 B2 JP 7498067B2 JP 2020145390 A JP2020145390 A JP 2020145390A JP 2020145390 A JP2020145390 A JP 2020145390A JP 7498067 B2 JP7498067 B2 JP 7498067B2
Authority
JP
Japan
Prior art keywords
data
transaction
blockchain
crypto asset
transaction data
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
Application number
JP2020145390A
Other languages
English (en)
Other versions
JP2022040601A (ja
Inventor
資倫 関
純也 近藤
壮史 杉原
千明 上條
利之 阿部
敏彦 村田
雅丈 豊田
ジテンドラ クマール ガンビール
ゴータム タンガラジ
アスタ ハレスバイ ジャダ
ノーラ カジ
伸吾 戸田
タルン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KPMG AZSA LLC
Original Assignee
KPMG AZSA LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KPMG AZSA LLC filed Critical KPMG AZSA LLC
Priority to JP2020145390A priority Critical patent/JP7498067B2/ja
Priority to AU2021331139A priority patent/AU2021331139A1/en
Priority to PCT/JP2021/031092 priority patent/WO2022045168A1/ja
Priority to EP21861592.0A priority patent/EP4207028A4/en
Priority to US18/041,981 priority patent/US20230318856A1/en
Publication of JP2022040601A publication Critical patent/JP2022040601A/ja
Application granted granted Critical
Publication of JP7498067B2 publication Critical patent/JP7498067B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Nonmetallic Welding Materials (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrotherapy Devices (AREA)

Description

本発明は、監査法人等で用いるための暗号資産ブロックチェーンデータを収集し、分析するためのシステムに関する。具体的には、暗号資産ブロックチェーンデータに含まれるブロック、トランザクション等に関する各種データを分析して、ビットコイン、イーサリアム等の各種仮想通貨(ここでは、「暗号資産」という)の取引情報(残高等)の監査を支援するためのシステムに関する。
不特定多数の個人または法人がインターネットを通じて商取引を実施する際の記録を共有し管理するための技術として、ブロックチェーンを用いた分散台帳技術がある。ブロックチェーンを用いた分散台帳技術は、その用途や目的等によって複数の実装方式が考案されており、それぞれの実装方式に応じたデータ記録の形式や方法が定義されている。
一般的に、ビットコイン等の暗号資産の取引情報は、BLOCKCHAIR等のブロックエクスプローラ(非特許文献1)を用いて、インターネットを介して取得可能である。従来のブロックエクスプローラは、特定のアドレスまたはブロックを1つずつ指定して、所望の取引情報を得ることができる。また、各種暗号資産の取引情報が記録されたブロックチェーンにアクセスして、取引情報を取得することで、取引情報に基づいて取引内容の監査等も行うことができる(特許文献1)。
特表2018-525729号公報
BLOCKCHAIR, URL https://blockchair.com/ (2020年 8月27日検索)
インターネット上で、従来のブロックエクスプローラのAPI(Application Programming Interface)を用いてブロックチェーンを検索するクエリを送信、取引情報を受信することは第三者にウォッチ(傍受)されるおそれがある。例えば、監査のために、インターネット上で、一定の期間に、あるコンピュータからブロックエクスプローラを用いてブロックチェーンを検索する複数のクエリを送信した場合には、そのコンピュータのIPアドレスとアドレス(暗号資産口座)の所有者との関係性や、同一の所有者に帰属する複数のアドレス等が特定され、互いに関連付けられた(クラスタ化された)複数のアドレス、クエリの内容、及び、検索結果として得られた取引情報などを容易に紐づけること可能であり、悪用されるおそれがある。
そこで、所定の期間を指定して、インターネット上に公開されているブロックチェーンを検索してデータ(ブロック、トランザクション等)を、プライベートネットワークにおけるサーバ等の計算機の記憶装置(データベース等)に、暗号資産の種別毎に蓄積することで、第三者に特定の取引に対するクエリや取引情報を傍受されることがないプライベートな環境下で、蓄積されたブロックチェーンデータを分析して、取引情報の監査等を行うことができる。
しかしながら、ある暗号資産のブロックチェーンにおけるデータ(ブロック、トランザクション等)の記録を解釈するにあたり、通常はその実装方式を考案したソフトウェアの開発者が提供するソフトウェア(例えば、ノードソフトウェアのAPI)を用いて行う必要があるが、当該ソフトウェアの入出力方式も実装方式により異なるため、複数の異なる実装方式に応じたブロックチェーンデータを収集・分析するのは困難である。
また、実装方式によっては、取引が実施された際の取引数量と取引に用いた単価に関する情報がそれぞれ別のデータレコードに記録されており、ある取引についてどれだけの金額の暗号資産が移動したかを知るためには、単価データと取引数量データをそれぞれ取得した上で、組み合わせて算出する(取引金額=取引が実施された時間の単価×取引数量)必要があった。
さらに、実装方式によっては、取引の参加者の暗号資産の持分残高は最新時点の情報しか記憶されておらず、過去に訴求した特定時点における残高情報を取得することができなかった。
そのため、本発明では、複数の異なる実装方式で生成されたブロックチェーンデータを収集して、当該データを分析可能なデータに変換し、取引暗号資産の数量や単価、相手先等といった取引内容を標準化された形式に加工することで、会計監査等大量データの分析の利便性を向上させた暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム(以下、暗号資産ブロックチェーン処理装置等という)を提供する。
本発明に係る暗号資産ブロックチェーン処理装置の1つの実施形態として、前記暗号資産ブロックチェーン処理装置は、少なくとも
データ収集部と、
データ変換部と、
を含み、
前記データ収集部は、ユーザにより指定された暗号資産ブロックチェーンにアクセスして、所定の要求範囲に基づいて、前記暗号資産ブロックチェーンからブロックチェーンデータを収集し、
前記データ変換部は、前記ブロックチェーンデータを分析可能な取引データに変換し、
前記ブロックチェーンデータ及び前記分析可能な取引データは、前記暗号資産ブロックチェーン処理装置に接続されたデータ記憶装置に保存されることを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記データ記憶装置は、前記暗号資産ブロックチェーン処理装置がネットワークを介してアクセス可能なクラウドストレージであることを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記データ収集部は、スタティックモードで動作し、
前記スタティックモードで動作する前記データ収集部は、データバッチ毎の取引データ数を指定して前記要求範囲の終点を設定し、
前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記データ収集部は、ダイナミックモードで動作し、
前記ダイナミックモードで動作する前記データ収集部は、データバッチ毎のデータサイズを指定して前記要求範囲の終点を設定し、
前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記データ収集部は、自動収集モードで動作し、
前記自動収集モードで動作する前記データ収集部は、前記暗号資産ブロックチェーン上の最新データの識別情報を取得して、前記要求範囲の終点に設定し、
前記データ収集部により前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記データ収集部は、前回の収集モードが、データバッチ毎の取引データ数を指定したスタティックモード、又はデータバッチ毎のデータサイズを指定したダイナミックモードである場合に、前回収集したデータの最後の取引データの識別情報を、前記前回の収集モードの取引データ数又はデータサイズに基づいて再計算して、前記要求範囲の始点に設定することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記ブロックチェーンデータは、識別可能なブロック番号が付与された、トランザクションデータを含み、
前記トランザクションデータは、1以上の単価設定用の単価トランザクションデータと、1以上の数量指定用の数量トランザクションデータとを少なくとも含み、
前記データ変換部は、前記1以上の数量トランザクションデータの各々について、該数量トランザクションデータに対して付与されたブロック番号に最も近いブロック番号が付与された単価トランザクションデータを検索し、検索した前記単価トランザクションデータの単価の値に、該数量トランザクションデータの数量を掛け合わせることで、取引に係る金額を算出することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記データ記憶装置は、ブロックチェーンデータ記憶装置と取引データ記憶装置とを含み、
前記データ収集部によって収集された前記ブロックチェーンデータは、前記ブロックチェーンデータ記憶装置に保存され、
前記データ変換部によって算出された前記金額を含む取引データは前記取引データ記憶装置に保存されることを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記暗号資産ブロックチェーン処理装置は、データ分析部を更に含み、
前記データ分析部は、最初のブロック番号から特定時点のブロック番号までに合致する前記取引データを前記取引データ記憶装置から取得し、
取得した前記取引データの金額を、前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に合算して残高を算出することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記ブロックチェーンデータは、少なくともブロックデータとトランザクションデータとを含み、
前記データ変換部は、前記ブロックデータ及び前記トランザクションデータの各々に取引日時に関連する年月日の属性を付加して、年月日で区別可能な取引データに変換し、
前記取引データは年月日毎に分類されて前記データ記憶装置に保存されることを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記データ記憶装置は、ブロックチェーンデータ記憶装置と取引データ記憶装置とを含み、
前記データ収集部によって収集された前記ブロックチェーンデータは、前記ブロックチェーンデータ記憶装置に保存され、
前記データ変換部によって前記年月日の属性が付加され、年月日で区別可能な前記取引データは、前記取引データ記憶装置に保存されることを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記暗号資産ブロックチェーン処理装置は、データ分析部を更に含み、
前記データ変換部は、前記トランザクションデータを、トランザクション入力データとトランザクション出力データとに分け、
前記データ分析部は、前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に、前記トランザクション入力データ及び前記トランザクション出力データに基づいて、特定のブロック番号の範囲で全収入及び全支出を計算することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記暗号資産ブロックチェーン処理装置は、データ分析部を更に含み、
前記データ分析部は、前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に、前記トランザクションデータ及びスマートコントラクトの結果に基づいて、前記アドレス毎の残高を算出することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記暗号資産ブロックチェーン処理装置は、整合性検証部を更に含み、
前記取引データは、生成順にシーケンス番号が付与されたブロックデータを含み、
前記整合性検証部は、前記ブロックデータの前記シーケンス番号を順に照合することで、前記シーケンス番号の重複及び欠落のチェックを行い、
前記シーケンス番号に重複又は欠落があった場合には、前記シーケンス番号に対応する前記ブロックデータの不整合を通知することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記整合性検証部は、所属するブロックのシーケンス番号を有するトランザクションデータについて、シーケンス番号ごとに前記トランザクションデータの数をカウントし、カウントした前記トランザクションデータの数と該シーケンス番号が付与されたブロックデータに記録されたトランザクション数とを比較し、
差分があった場合に、前記ブロックデータの不整合を通知することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記暗号資産ブロックチェーン処理装置は、整合性検証部を更に含み、
前記整合性検証部は、第三者が管理するブロックエクスプローラを用いて、ユーザにより指定されたアドレスの検証用残高を算出し、
前記データ分析部によって前記アドレス毎に算出された残高から、前記指定されたアドレスの残高を取得し、前記データ分析部により算出された前記残高と、前記検証用残高とを比較し、
差分があった場合に、前記指定されたアドレスのデータに不整合があることを通知することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置の好ましい実施形態として、前記整合性検証部は、暗号資産のノードソフトウェアのバージョンを管理するサイトにアクセスし、所望の暗号資産のノードソフトウェアの最新バージョンを確認し、前記データ記憶装置に保存された前記暗号資産のノードソフトウェアのバージョンと比較し、バージョンに差異がある場合に、前記暗号資産のノードソフトウェアのバージョンに不整合があることを通知することを特徴とする。
本発明に係る暗号資産ブロックチェーン処理方法の1つの実施形態として、前記方法は、ユーザにより指定された暗号資産ブロックチェーンにアクセスする段階と、
所定の要求範囲に基づいて、前記暗号資産ブロックチェーンからブロックチェーンデータを収集する段階と、
前記ブロックチェーンデータを分析可能な取引データに変換する段階と、
を含み、
前記ブロックチェーンデータ及び前記分析可能な取引データは、前記暗号資産ブロックチェーン処理装置に接続されたデータ記憶装置に保存される、を含むことを特徴とする。
本発明に係る暗号資産ブロックチェーン処理システムの1つの実施形態として、前記システムは、
情報処理端末と、
クラウドストレージと、
を含み、
前記暗号資産ブロックチェーン処理装置、前記情報処理装置及び前記クラウドストレージは、それぞれネットワークを介して接続されたことを特徴とする。
本発明に係る暗号資産ブロックチェーン処理プログラムの1つの実施形態として、前記プログラムがコンピュータによって実行されることで、前記コンピュータを前記暗号資産ブロックチェーン処理装置の各部として機能させることを特徴とする。
本発明に係る暗号資産ブロックチェーン処理プログラムの別の実施形態として、前記プログラムがコンピュータによって実行されることで、前記コンピュータに前記暗号資産ブロックチェーン処理方法の各段階を実行させることを特徴とする。
本発明に係る暗号資産ブロックチェーン処理装置等は、インターネット上の暗号資産のブロックチェーンデータ(ブロック、トランザクション等)を収集して、第三者に特定の取引に対するクエリや取引情報を傍受されることがないプライベートな環境下にあるサーバ等の計算機の記憶装置(データベース等)に、暗号資産の種別毎に蓄積し、分析に適したデータ形式に変換することで、安全にブロックチェーンデータを分析して、監査のためにアドレス毎の残高等の算出を可能にするだけでなく、複数の異なる暗号資産の実装方式に応じたブロックチェーンデータを収集・分析を実現することができる。
また、暗号資産ブロックチェーン処理装置等は、暗号資産の実装方式によっては、取引が実施された際の取引数量と取引に用いた単価に関する情報がそれぞれ別のデータレコードに記録されているような場合に、単価データと取引数量データとから算出される取引金額(=取引が実施された時間の単価×取引数量)が記録された仮想的なトランザクションデータ(取引データ)を生成することで、暗号資産の実装方式に影響されることなく、ある時点までの取引データを網羅的に集計することで、過去に訴求した特定時点における、取引の参加者の暗号資産の持分残高を容易に算出することができる。
さらに、収集したブロックチェーンデータの重複や欠落、暗号資産のノードソフトウェアのバージョンの違い等を検証することで、分析の対象となる取引データの整合性を担保することができる。
本発明の一実施形態に係る暗号資産ブロックチェーン処理システムの構成を示す図である。 本発明の一実施形態に係る暗号資産ブロックチェーン処理装置のハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係る暗号資産ブロックチェーン処理装置の構成を示すブロック図である。 ブロックチェーンデータを収集する処理の流れを示すフローチャートである。 収集したブロックチェーンデータ(レベル1データ)を、分析可能な取引データ(レベル2データ)に変換する処理の流れを示すフローチャートである。 ビットコインのブロックチェーンのデータを収集して分析する処理フローの概要を示す図である。 ブロックチェーン中の1つのブロック情報を表示するブロックエクスプローラの表示画面の一例を示す図である。 収集したブロック情報の一例を示す図である。 ブロックチェーン中の1つのトランザクション情報を表示するブロックエクスプローラの表示画面の一例を示す図である。 収集したトランザクション情報の一例を示す図である。 図8及び図10に示すブロック情報及びトランザクション情報(レベル1データ)を年月日で区別可能な情報(レベル2データ)にしてフォルダに格納した一例を示す図である。 図11に示す1つのフォルダに格納されたブロック情報の一例を示す図である。 ビットコインのレベル1データの構成と対応するレベル2データの構成の一例を示す図である。 ビットコインのレベル1データの構成と対応するレベル2データの構成の一例を示す図である。 イーサリアムのブロックチェーンのデータを収集して分析する処理フローの概要を示す図である。 イーサリアムのレベル1データの構成と対応するレベル2データの構成の一例を示す図である。 イーサリアムのレベル1データの構成と対応するレベル2データの構成の一例を示す図である。 イーサリアムのレベル1データの構成と対応するレベル2データの構成の一例を示す図である。 イーサリアムのレベル1データの構成と対応するレベル2データの構成の一例を示す図である。 イーサリアムのレベル1データの構成の一例を示す図である。 トランザクションにおいて単価と金額が分離して記録されたデータを対象とした金額算出方法の処理の流れを示すフローチャートである。 ノードソフトウェアのAPIで取得できるトランザクションデータの一例を示す図である。 図22に示すトランザクションデータに対して、図22に示す処理を行うことにより得られる仮想的なトランザクションデータの一例を示す図である。 変換したデータ(取引データ)の重複・欠落を検出する処理の流れを示すフローチャートである。 ブロックデータの欠落の一例を示す図である。 トランザクションデータの重複の一例を示す図である。 本発明の一実施形態に係る暗号資産ブロックチェーン処理装置により実現される残高確認の仕組みを説明する模式図である。 暗号資産のブロックチェーン上でのバージョンアップデートを随時比較して自動的に生成したレポートの一例を示す図である。
以下に図面を参照して、本発明の実施形態についてそれぞれ説明する。なお、実施形態を説明するための全ての図において、同じものには原則として同一の符号を付し、その繰り返しの説明は省略する。本発明の個々の実施形態は、独立したものではなく、それぞれ組み合わせて適宜実施することができる。
図1は、本発明の一実施形態に係る暗号資産ブロックチェーン処理システムの構成を示す。暗号資産ブロックチェーン処理システムは、例示的に、暗号資産ブロックチェーン処理装置10と、情報処理端末20と、クラウドストレージ(オンラインストレージ)30とを含む。暗号資産ブロックチェーン処理装置10は、例えば、サーバ等のネットワークNに接続可能なコンピュータである。また、情報処理端末20は、例えば、パーソナルコンピュータ、ノートパソコン、スマートフォン、携帯電話等、ネットワークNに接続可能な端末である。
ネットワークNは、例えば、インターネット等のオープンなネットワークであっても良いし、専用回線で接続されたイントラネットであり、クローズドネットワークであっても良い。ネットワークNは、これに限定されるものではなく、要求されるセキュリティのレベル等に応じて、適宜、クローズドネットワークとオープンネットワークを組み合わせて利用することもできる。
暗号資産ブロックチェーン処理システムは、1つの実施形態として、少なくとも暗号資産ブロックチェーン処理装置10と、暗号資産ブロックチェーン処理装置10とネットワークNを介して接続された情報処理端末20とを備える。ユーザは、暗号資産ブロックチェーン処理装置10を直接操作すること又は、情報処理端末20を介して操作することで、インターネット上に公開された暗号資産に関するブロックチェーン(以下、暗号資産ブロックチェーンという)にアクセスして、ブロックチェーンに記録されたデータ(以下、ブロックチェーンデータという)を、暗号資産ブロックチェーン処理装置10の記憶装置に蓄積することができる。別の実施形態として、暗号資産ブロックチェーン処理システムは、暗号資産ブロックチェーン処理装置10の記憶装置に代えて、暗号資産ブロックチェーンから収集したブロックチェーンデータをクラウドストレージ30に蓄積することができる。
暗号資産ブロックチェーン処理装置10の記憶装置、クラウドストレージ30を、外部からのアクセスを遮断したクローズドな環境(プライベートな環境)下で運用することで、第三者に特定の取引に対するクエリや取引情報を傍受されることを防止することができる。
図2は、本発明の一実施形態に係る暗号資産ブロックチェーン処理装置のハードウェア構成の一例を示すブロック図である。なお、図中では、暗号資産ブロックチェーン処理装置10のハードウェアに対応する符号には括弧を付すことなく記載し、情報処理端末20のハードウェアに対応する符号には括弧を付して記載する。
暗号資産ブロックチェーン処理装置10は、例えばサーバ(コンピュータ)であり、例示的には、CPU(Central Processing Unit)11と、ROM(Read Only Memory)及びRAM(Random Access Memory)等からなるメモリ12と、バス13と、入出力インターフェース14と、入力部15と、出力部16と、記憶部17と、通信部18と、を備えている。
CPU11は、メモリ12に記録されているプログラム、又は、記憶部17からメモリ12にロードされたプログラムにしたがって各種の処理を実行する。CPU11は、例えば、サーバ(コンピュータ)を本発明の暗号資産ブロックチェーン処理装置として機能させるためのプログラムを実行することができる。また、暗号資産ブロックチェーン処理装置の少なくとも一部の機能を、特定用途向け集積回路(ASIC)等でハードウェア的に実装することも可能である。
メモリ12には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。CPU11及びメモリ12は、バス13を介して相互に接続されている。このバス13には、入出力インターフェース14も接続されている。入出力インターフェース14には、入力部15と、出力部16と、記憶部17と、通信部18と、が接続されている。
入力部15は、各種ボタン、タッチパネルあるいはマイク等で構成され、暗号資産ブロックチェーン処理装置10のユーザ等の指示操作に応じて各種情報を入力する。なお、入力部15は、暗号資産ブロックチェーン処理装置10の他の各部を収容する本体とは独立した、キーボードやマウス等の入力装置により実現されてもよい。
出力部16は、ディスプレイやスピーカ等で構成されており、静止画又は動画などの画像データや音声データを出力する。出力部16が出力した画像データや音楽データは、ディスプレイやスピーカ等から、画像や音楽としてユーザが認識可能に出力される。
記憶部17は、DRAM(Dynamic Random Access Memory)等の半導体メモリ、ソリッドステートドライブ(SSD)、ハードディスク等の記憶装置で構成され、各種データを記憶することができる。
通信部18は、他の装置との間で行う通信を実現する。例えば、通信部18は、ネットワークNを介して、情報処理端末20、クラウドストレージ30との間で相互に通信を行うことができる。
なお、暗号資産ブロックチェーン処理装置10には、不図示であるがドライブを必要に応じて適宜設けられる。ドライブには、例えば、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等から構成されるリムーバブルメディアが適宜装着される。リムーバブルメディアには、暗号資産ブロックチェーンにアクセスして、ブロックチェーンデータの収集を実行するためのプログラムや、テキストデータ、画像データ等の各種データが格納される。ドライブによってリムーバブルメディアから読み出されたプログラムや、各種のデータは、必要に応じて記憶部17にインストールされる。
次に、情報処理端末20のハードウェアの構成について説明する。情報処理端末20は、図2に示すように、例示的に、CPU21と、メモリ22と、バス23と、入出力インターフェース24と、入力部25と、出力部26と、記憶部27と、通信部28と、を備えている。これら各部は、上述の暗号資産ブロックチェーン処理装置10が備える、符号のみが異なる同名の各部と同等の機能を有している。従って、重複する説明を省略する。なお、情報処理端末20を、携帯型の装置として構成する場合には、情報処理端末20が備える各ハードウェアと、ディスプレイやスピーカとを一体の装置として実現するようにしてもよい。
図3を参照して、暗号資産ブロックチェーン処理システムに含まれる暗号資産ブロックチェーン処理装置10の機能的構成について説明する。図3は、本発明の一実施形態に係る暗号資産ブロックチェーン処理装置の構成を示すブロック図である。例えば、サーバ(コンピュータ)によって、ブロックチェーンデータの収集、変換、分析、整合性検証等の処理を行うためのプログラムが実行された場合に、当該サーバは、例示的に、暗号資産ブロックチェーン処理装置10として機能し、CPU11に加えてメモリ12等のハードウェア資源において、データ収集部111、データ変換部112、データ分析部113、整合性検証部114が機能する。
また、記憶部17の一部の記憶領域を用いて、記憶部17をブロックチェーンデータ記憶装置171及び取引データ記憶装置172として機能させることができる。別の実施形態として、ブロックチェーンデータ記憶装置171及び取引データ記憶装置172を、暗号資産ブロックチェーン処理装置10とは、別体の外部記憶装置で構成することもでき、外部記憶装置として例えばクラウドストレージ30を用いることもできる。これらの実施形態では、ブロックチェーンデータ記憶装置171と取引データ記憶装置172とに分けているが、分けずに1つのデータ記憶装置としてもよい。ブロックチェーンデータ記憶装置171及び取引データ記憶装置172に記憶される情報の詳細は後述する。
暗号資産ブロックチェーン処理装置10は、従来のノードソフトウェアが提供するAPIを用いて、インターネット上に公開された暗号資産に関するブロックチェーンに記録されたデータを要求し、ダウンロードしたブロックチェーンデータ(ここでは、レベル1データとも称する)をデータ記憶装置であるブロックチェーンデータ記憶装置171に保存する。この処理をバッチ処理で行うことができる。暗号資産ブロックチェーンからブロックチェーンデータ(レベル1データ)をダウンロードするためには、暗号資産の異なる実装方式に対応したノードを展開する必要があり、暗号資産ブロックチェーン処理装置10を複数設けて、それぞれ暗号資産の異なる実装方式に対応したノードとして機能させることができる。ブロックチェーンデータ(レベル1データ)は、暗号資産ブロックチェーン処理装置10(ノード)において取引データ(レベル2データ)に変換され、当該ノード介してクラウドストレージ30に転送して保存することもできる。
暗号資産ブロックチェーン処理システムでは、例えば、ビットコイン(Bitcoin)や、そこから派生したビットコインキャッシュ(Bitcoin Cash)等のUTXO型の暗号資産、イーサリアム(Ethereum)や、ネム(Nem)等のアカウント型の暗号資産などといった種類の暗号資産を取り扱うことができる。
暗号資産ブロックチェーン処理装置10は、ネットワーク上に公開された暗号資産ブロックチェーンからブロックチェーンデータを収集するために、要求するデータの範囲を指定する。暗号資産ブロックチェーン処理装置10は、データの範囲指定のために3種類のモードを備え、いずれかのモードに設定することで、ブロックチェーンデータの収集を実行することができる。
3種類のモードには、スタティックモード、ダイナミックモード、自動収集モードがある。スタティックモード及びダイナミックモードでは、ブロックチェーンデータの収集はバッチ処理で行われる。
スタティックモードでは、バッチ毎のデータ数(取引を記録したデータの数)が指定され、暗号資産ブロックチェーン処理装置10は、指定されたデータ数に応じて、ブロックチェーンデータを収集することができる。例えば、バッチ毎のデータ数が1000と指定されていた場合には、1000個のブロックチェーンデータ(すなわち、取引を記録したデータ)を収集し、ブロックチェーンデータ記憶装置171にフォルダ毎に分けて当該データを保存することができる。
ダイナミックモードでは、バッチ毎のデータサイズを指定され、暗号資産ブロックチェーン処理装置10は、指定されたデータサイズに応じて、ブロックチェーンデータを収集することができる。例えば、バッチ毎のデータサイズが250MBと指定されていた場合には、250MBのブロックチェーンデータ(取引を記録したデータ)を収集することができる。なお、暗号資産ブロックチェーンにおけるブロック毎に、取引を記録したデータの数は一定ではないため、データサイズを指定した場合には、同じデータサイズのブロックチェーンデータでも、ブロックの数は異なることもある。
自動収集モードでは、暗号資産ブロックチェーン処理装置10において、ブロックチェーンの要求範囲等が自動で設定される。自動収集モードの処理の流れは、図4に示す。図4は、ブロックチェーンデータを収集する処理の流れを示すフローチャートである。ユーザは情報処理端末20等を用いて、指定された暗号資産ブロックチェーンに対応した暗号資産ブロックチェーン処理装置10(ノード)を起動する(ステップS101)。暗号資産ブロックチェーン処理装置10は、ユーザにより指定された暗号資産ブロックチェーンにアクセスする。
暗号資産ブロックチェーン処理装置10は、ユーザにより指定された暗号資産ブロックチェーンと同期する(ステップS102)。例えば、暗号資産ブロックチェーン処理装置10が保持する記録台帳は、同一のブロックチェーンネットワーク上で、他のノードが保持する記録台帳と同期される。同期することにより、暗号資産プロックチェーンにおいて、未収集のブロックチェーンデータを特定することができる。
暗号資産ブロックチェーン処理装置10は、暗号資産ブロックチェーンにおいて最新取引を記録したデータを計算する。例えば、ブロックチェーンデータに含まれるブロックヘッダから、個々のブロックに付与された識別番号(識別情報)を取得して、最新取引を記録したデータを特定する(ステップS103)。そして、暗号資産ブロックチェーン処理装置10は、当該データのブロックヘッダに基づいて、データの要求範囲の終点を設定する(ステップS104)。
暗号資産ブロックチェーン処理装置10は、前回のデータ収集の実行で収集したデータにおいて、最後の取引が記録されたデータのブロックヘッダを、データ記憶装置(例えば、取引データ記憶装置172)に保存されたデータに基づいて計算する。例えば、ブロックチェーンデータに含まれるブロックヘッダから、個々のブロックに付与された識別番号(識別情報)を取得して、最後取引を記録したデータを特定する(ステップS105)。また、暗号資産ブロックチェーン処理装置10は、必要に応じて前回のデータ収集の実行で収集したデータにおいて、最後の取引が記録されたデータのブロックヘッダを、モード(スタティックかダイナミックか)に基づいて再計算する(ステップS106)。これは、前回実行したデータ収集を、スタティックモードで指定されたデータの数に応じて要求範囲を設定したのか、ダイナミックモードで指定されたデータサイズに応じて要求範囲を設定したのかを特定することで、今回のデータ収集で、始点となる最後の取引が記録されたデータのブロックヘッダを正確に特定することができる。
暗号資産ブロックチェーン処理装置10は、前回のデータ収集の実行で収集したデータにおいて、最後の取引が記録されたデータのブロックヘッダに基づいて、データの要求範囲の始点を設定する(ステップS107)。なお、初めてデータ収集を実行する場合には、暗号資産ブロックチェーン処理装置10は、ブロックチェーンの最初のブロック(ジェネシスブロック)をデータの要求範囲の始点として設定し、ステップS105及びS106のような処理を省略することができる。
ブロックチェーンデータの要求範囲を設定すると、暗号資産ブロックチェーン処理装置10は、暗号資産ブロックチェーンが当該要求範囲の終点に同期するまで待ち(ステップS108)、同期した後、ブロックチェーンデータの要求範囲に基づいてデータ収集を開始する(ステップS109)。暗号資産ブロックチェーン処理装置10は、収集したブロックチェーンデータ(レベル1データ)をブロックチェーンデータ記憶装置に保存する。
図5は、収集したブロックチェーンデータ(レベル1データ)を、分析可能な取引データ(レベル2データ)に変換する処理の流れを示すフローチャートである。暗号資産ブロックチェーン処理装置10は、ブロックチェーンデータ記憶装置171に蓄積されたブロックチェーンデータ(レベル1データ)を読み込み(ステップS121)、分析可能なデータ形式、すなわち、アドレス(口座)毎に暗号資産の残高等を計算することが可能なデータ形式の取引データ(レベル2データ)に変換し(ステップS122)、変換後のデータを取引データ記憶装置172に保存する(ステップS123)。そして、必要に応じて、暗号資産ブロックチェーン処理装置10は、暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレスを、無作為に抽出して、変換したデータの整合性を検証する(ステップS124)。整合性の検証の詳細は、後述する(図21から図26、及びそれらの説明を参照)。暗号資産のレベル1データをレベル2データに変換する処理フローとして、ビットコインの例を図6、イーサリアムの例を図15に示す。
図6は、ビットコインのブロックチェーンのデータを収集して分析する処理フローの概要を示す。ユーザは、情報処理端末20を用いて、ビットコイン(bitcoin)の実装方式に対応した暗号資産ブロックチェーン処理装置(図6におけるノード10a)を起動して、他のノードと同期する(図4中のステップS101からS102に対応)。同期後、ノード10aは、ブロックチェーンデータ(レベル1データ)を収集する(図4中のステップS103からS110に対応)。
レベル1データは、ノード10aを介して、ブロックチェーンから直接収集したブロックチェーンデータである。レベル1データはブロックデータ(図6中のblocks)とトランザクションデータ(図6中のtransactions)とに分けられる。ブロックチェーンにおけるブロックとは、数十から数百のトランザクション(決済)を収納する箱のようなもので、一般的なブロックチェーンの構造として、ブロックチェーン上にある取引記録(トランザクション)の承認作業はブロックのレベルで行われる。
ノード10aにより収集されたブロックデータは、一番初めに記録されたブロック(ジェネシスブロック)を起源とし、最新取引のブロック又は指定された過去のブロックまでの全ブロックと、それぞれのブロック情報(ブロックの内容を一方向性関数によりハッシュ化して算出されたハッシュ値(Hash)、ブロックID、ビット数(Bit)、ブロックが記録されたタイムスタンプ(Timestamp)等)とを含む。
ビットコインのブロックチェーンデータの各ブロック情報の一例を図7に示す。図7は、ブロックチェーン中の1つのブロック情報を表示するブロックエクスプローラ(例えば、BLOCKCHAIR)の表示画面の一例である。図7にあるブロック“80234”は前に承認された“80233”と後に承認された“80235”の間にある。この80234のブロック情報(ハッシュ値、タイムスタンプ(Mined on))のデータは、図8のフォーマットでノード10aから収集される。図8は、ノード10aにより収集したブロック情報の一例を示す。例えば、ブロック“80234”のブロック情報は、JSON形式のフォーマットで下記のとおり記述される。
{"hash": "00000000002862a0885ec35cd86b8d95b1e1c0ba182845198b2a5b904d1dfb3e", "size": 473, "stripped_size": 473, "weight": 1864, "number": 80234, "version": 1, "merkle_root": 729dff922569517e33b6f0e72ea567e53155df30736ef8625e25cf5123c0af68", "timestamp": 1284707604, "nonce": "122e0a2", "bits": "1b5bede6", "coinbase_param": "04e6ed5b1b021c01", "transaction_count": 2}
また、ブロック“80234”のブロック情報に含まれるトランザクションの一例は、図9に示すとおりである。図9は、ブロックチェーン中の1つのトランザクション情報を表示するブロックエクスプローラ(BLOCKCHAIR)の表示画面の一例を示す。図9に示す例では、トランザクションは、ビットコインの送り主(Senders)と受け取り主(Recipients)などが表記される。これらのデータは収集される際には図10に示すフォーマット(JSON)で収集される。
図10は、ノード10aにより、収集したトランザクション情報の一例を示し、図11は、図8及び図10に示すブロック情報及びトランザクション情報(レベル1データ)を年、月、日で区別可能な情報(レベル2データ)にしてフォルダに格納した一例を示す。レベル2データは、タイムスタンプ等の情報をもとに、全レベル1データに年月日の属性を付加して、年月日で検索可能なデータに変換される。レベル2データは、年月日毎にフォルダに保存される。
図12は、図11に示す1つのフォルダに格納されたブロック情報の一例を示す。図12に示す例では、ブロック情報の2009年12月18日のフォルダにはその日に記録されたブロックの情報が含まれる。同じようにトランザクションデータも年、月、日ごとに分けられる。またトランザクションデータはトランザクション入力(Transaction Input)とトランザクション出力(Transaction Output)とにも分けられる。なお、これはビットコイン特有のUTXO(Unspent Transaction Output)方式により、口座ごとの残高はある特定のブロック範囲で口座ごとの全支出と全収入を計算しなければならない。
図13及び図14は、ビットコインのレベル1データの構成と対応するレベル2データの構成の一例を示す。基本的には、ビットコインのブロックデータ(block)のレベル2データの項目は、レベル1データの項目に年月日(year, month, day)の項目が付加されている。従来のブロックエクスプローラのAPIを用いて取得できるビットコインのブロックに関する項目(hash, size, stripped_size等)は、図13に示すブロックのテーブルの 中央の欄に記載され、テーブルの右の欄には各項目のデータ型(string, bigint等)が記載されている。図14に示すトランザクション(transactions, transaction_input, transaction_output)のテーブルについても、同様の表記である。
ビットコインのトランザクションデータ(transactions)は、レベル2データとして、トランザクション入力データとトランザクション出力データに分けられ、それぞれに年月日(year, month, day)の項目が付加されている。
暗号資産の別の例として、イーサリアムのノードからブロックチェーンデータを収集する場合についても以下に説明する。図15は、イーサリアムのブロックチェーンのデータを収集して分析する処理フローの概要を示す。ユーザは、情報処理端末20を用いて、イーサリアム(ethereum)の実装方式に対応した暗号資産ブロックチェーン処理装置(図15におけるノード10b)を起動して、他のノードと同期する(図4中のステップS101からS102に対応)。同期後、ノード10bは、ブロックチェーンデータ(レベル1データ)を収集する(図4中のステップS103からS110に対応)。イーサリアムを対象とした暗号資産ブロックチェーン処理装置による同期、収集、分析処理は、基本的には、ビットコインを対象とした場合の処理と実質的には同じ流れとなる。
イーサリアムのレベル1データは、ビットコインのレベル1データとは異なるため、変換処理については、イーサリアム向けの変換が必要となる。例えば、イーサリアムは、ビットコインのUTXO方式ではないため、イーサリアムの方式に基づいたトランザクション及びスマートコントラクトの処理結果を計算に利用できるように変換する必要がある。図15に示されるように、イーサリアムのレベル1データは、CSV形式のブロックデータ(blocks)の他に、同じくCSV形式で、トークントランスファ(token_transfers)、コントラクト(contracts)、トークン(tokens)トレース(traces)、レシート(receipts)、ログ(logs)、トランザクション(transactions)といったデータを含む。
図16から図19は、イーサリアムのレベル1データの構成と対応するレベル2データの構成の一例を示し、図20は、イーサリアムのレベル1データの構成の一例を示す。図13及び14で示したビットコインのデータの構成と同様に、各テーブルは、中央の欄にデータの項目、及び右の欄にデータの型が記載されている。基本的には、イーサリアムのブロックデータ(blocks)のレベル2データの項目は、レベル1データの項目に年月日(year, month, day)の項目が付加されている(図16参照)。
イーサリアムのレベル2データのトークントランスファ(token_transfers)では、レベル1データに含まれるトークントランスファ(token_transfers)とトークン(token)とがマージされ、マージの際にそれぞれ不要な項目が削除され、年月日(year, month, day)の項目が付加されている(図17参照)。また、イーサリアムのレベル2データのインターナルトランザクション(internal_transactions)では、レベル1データに含まれるトレース(traces)に、ステータス(status)、タイムスタンプ(timestamp)、年月日(year, month, day)の項目が付加されている(図18参照)。
さらに、イーサリアムのレベル2データのトランザクション(transactions)では、レベル1データに含まれるトランザクション(transactions)とレシート(receipts)とがマージされ、マージの際にそれぞれ不要な項目が削除され、タイムスタンプ(timestamp)、年月日(year, month, day)の項目が付加されている(図19参照)。図20に示すレベル1データに含まれるコントラクト(contracts)とログ(logs)については、特にレベル2データに変換されない。
本発明の暗号資産ブロックチェーン処理システムでは、ビットコインの例(図6から図14)、イーサリアムの例(図15から図20)のように、他の暗号資産についても、実装方式に対応した暗号資産ブロックチェーン処理装置(ノード)を設けて、ユーザが指定する暗号資産に対応したノードにアクセスすることで、所望の暗号資産のブロックチェーンデータを収集することができる。
各種暗号資産の実装方式に対応した暗号資産ブロックチェーン処理装置10(10a、10b等)は、それぞれ、ブロックチェーンのP2Pネットワーク上の他のノードと同期して、ブロックチェーンデータ(レベル1データ)を収集して、残高等の計算である分析可能な取引データ(レベル2データ)に変換して、取引データの分析を行うといった処理の命令を定期的に実行する(バッチ処理を行う)。例えば、暗号資産ブロックチェーン処理装置10は、定期的にそれらの命令を実行することで、取引対象の単価設定に関するデータを取得し、特定時点の単価に関するデータとその単価が設定された時点に関するデータと組み合わせて、任意時点における単価を参照することを可能とするデータテーブルを作成し、データ記憶装置(例えば、ブロックチェーンデータ記憶装置171)に記憶することができる。また、暗号資産ブロックチェーン処理装置10は、取引の時点及び数量に関するデータを取得し、ブロックチェーンデータ記憶装置171に記憶することもできる。
図21は、トランザクションにおいて単価と金額が分離して記録されたデータを対象とした金額算出方法の処理の流れを示すフローチャートである。また、図22は、ノードソフトウェアのAPIで取得できるトランザクションデータの一例を示し、図23は、図22に示すトランザクションデータに対して、図21に示す処理を行うことにより得られる仮想的なトランザクションデータの一例を示す。
暗号資産ブロックチェーン処理装置10は、単価と金額が分離して記録されたデータを分析対象とした場合に、例えば、図21に示すような処理の流れで、データから金額の算出が行われ、単価と数量と金額を記録した仮想的なトランザクションを生成して元のデータに記録された内容を更新したものを取引データ記憶装置172に保存する。このように、ブロックチェーンデータ記憶装置171に保存されたブロックチェーンデータを、分析可能なデータ形式、すなわち、アドレス毎の残高等を計算可能なデータ形式の取引データに変換して、取引データを取引データ記憶装置172に保存することができる。
図22及び図23に示すトランザクションデータの一例を参照しながら、図21に示す処理の流れについて説明する。まず、暗号資産ブロックチェーン処理装置10は、単価設定用のトランザクションデータ(単価トランザクションデータという)をブロックチェーンデータ記憶装置171から取得し(ステップS131)、数量指定用のトランザクションデータ(数量トランザクションデータという)をブロックチェーンデータ記憶装置171から取得する(ステップS132)。図22に示す例では、例えば、単価トランザクションデータは、ブロックの識別番号であるブロック高(block height)が500、520、540、541のトランザクションであり、数量トランザクションデータは、ブロック高が510、530、550のトランザクションである。
各データを取得した後、暗号資産ブロックチェーン処理装置10は、個々の数量トランザクションデータについて、ブロック番号が最も直近となる単価トランザクションデータを検索し(ステップS133)、検索した単価トランザクションデータの単価の値を、数量トランザクションデータに追加する(ステップS134)。例えば、ブロック高が510のトランザクションについて、ブロック高(番号)が最も直近となる単価トランザクションデータを検索すると、ブロック高が500のトランザクションが見つかり(図22参照)、当該トランザクションの単価(50)が、ブロック高が510のトランザクションに追加される(図23参照)。同様に、ブロック高が530のトランザクションには、ブロック高が520のトランザクションの単価(100)が追加され、ブロック高が550のトランザクションには、ブロック高が541のトランザクションの単価(110)が追加される。
数量トランザクションデータに、単価トランザクションデータに記録された単価を追加した後、暗号資産ブロックチェーン処理装置10は、単価が追加された数量トランザクションデータ(図23中のブロック高が510、530、550のトランザクション)毎に、単価の値に、数量の値を掛け合わせることで、取引に係る金額を算出し、当該金額をそのトランザクションに追加し、取引データ記憶装置に保存する(ステップS135)。同様に、単価トランザクション(図23中のブロック高が500、520、540、541のトランザクション)も、取引データ記憶装置に保存する(ステップS136)。
本発明に係る暗号資産ブロックチェーン処理システムのユーザは、任意のタイミングで、暗号資産ブロックチェーン処理装置10によってデータ収集、データ変換(データ加工)等の命令を実行することで、暗号資産ブロックチェーン処理装置10は、ある時点までの取引データを網羅的に集計し、そのタイミングにおける取引の参加者の暗号資産の持分残高を算出し、アドレス(ブロックチェーンにおける銀行口座番号に該当する記録単位)毎の残高データ(TSV形式、CSV形式等)を作成した上で取引データ記憶装置172に保存することができる。
暗号資産ブロックチェーン処理装置10は、特定時点のアドレス毎の残高の算出方法として、例えば、ジェネシスブロックから特定のブロック高までに合致するすべてのトランザクションデータを取引データ記憶装置172から取得し、取得したトランザクションデータの金額をアドレス毎に合算して、取引データ記憶装置172に保存することができる。取引データ記憶装置172に保存された取引データを用いることで、暗号資産ブロックチェーン処理装置10は、例えば、監査のために、アドレス毎の暗号資産の残高等を分析することができる。暗号資産ブロックチェーン処理システムのユーザは、作成された取引データや残高データを、任意に抽出することができ、情報処理端末20のモニター等に表示させ、内容を確認することができる。また、作成された取引データや残高データを、さらに別のデータ記憶装置等に記憶させ、ブロックチェーン以外から入手した帳簿記録等との比較を行うこともできる。
暗号資産ブロックチェーン処理装置10は、定期的に取引データ記憶装置172に保存した取引データの管理情報を用いて、インターネット上のブロックチェーンデータが重複、欠落なく記録されていることを検証し、不整合が発生した場合は、アラートを発生して、暗号資産ブロックチェーン処理システムのユーザに通知することができる。例えば、暗号資産ブロックチェーン処理装置10は、不整合を検出した場合に、ネットワークNを介して接続された情報処理端末20にアラートを通知して、ユーザに知らせることができる。
図24は、変換したデータ(つまり、暗号資産の残高等を計算することが可能なデータ形式の取引データ)の重複・欠落を検出する処理の流れを示すフローチャートである。図25はブロックデータの欠落の一例を示し、図26はトランザクションデータの重複の一例を示す。暗号資産ブロックチェーン処理装置10は、ブロックデータ、及びトランザクションデータ等を含む取引データをデータ記憶装置(例えば、取引データ記憶装置172)から読み込む(ステップS141)。取引データに含まれるブロックデータは、生成順に0又は1(ジェネシスブロック番号)から始まる連続番号(シーケンス番号)が付与されている。暗号資産ブロックチェーン処理装置10は、ブロックデータのブロック番号(シーケンス番号)に重複がないか、欠落がないかを順に検証し(ステップS142)、重複又は欠落がある場合(ステップS142のいいえ)には、取引データに含まれるブロックに不整合がある旨を知らせる整合性エラーを(例えば、情報処理端末20を介して)ユーザに通知する(ステップS145)。
例えば、ブロックデータの欠損は、図25に示されるように、ブロックAからブロックCのブロック番号(ブロック高、height)1から順にみていくと、ブロック番号が3のブロックデータが、データ記憶装置(例えば、取引データ記憶装置172)には記憶されていないような状態である。
暗号資産ブロックチェーン処理装置10は、ブロック番号に基づいて順にブロックAからブロックCを確認すると、ブロック番号が3のブロックデータが欠落していることを検出することができる。
ブロックデータに重複及び欠損がない場合(ステップS142のはい)には、暗号資産ブロックチェーン処理装置10は、トランザクションデータの各々にある所属ブロックのシーケンス番号を用いて、シーケンス番号毎にブロックデータに関連するトランザクションの数をカウントし(ステップS143)、カウントした結果(トランザクションの数)と、ブロックデータに記録されたトランザクション数(図26中の“tra_cnt”)とを比較し(ステップS144)、差分があった場合(一致しない場合)(ステップS144のいいえ)には、取引データに含まれるトランザクションに不整合がある旨を知らせる整合性エラーを(例えば、情報処理端末20を介して)ユーザに通知する(ステップS145)。
例えば、トランザクション数の不一致は、図26に示されるように、ブロック番号(ブロック高)が2(height:2)であるブロックデータに含まれるトランザクション数が2である(tra_cnt:2)のに対して、ブロック番号2のブロックデータに関連するトランザクションA,B,Cの数(トランザクションのハッシュの数(tra_hash))をカウントした結果が3であるような状態である。
暗号資産ブロックチェーン処理装置10は、ブロック番号毎にブロックデータ(height:2)に関連するトランザクションA,B,Cをカウントし、カウントした結果(図26の例では、3)と、ブロックデータに記録されたトランザクション数(tra_cnt)(図26の例では、2)とを比較して、図26に示されるように「ブロック中のトランザクション数(tra_cnt) 2 < トランザクションのハッシュの数 3」であるから、暗号資産ブロックチェーン処理装置10は、ブロックデータに記録されたトランザクション数(tra_cnt)と、実際のカウント結果とが不一致であること、つまり、トランザクションデータの重複があることを検出することができる。
カウントしたトランザクションの数が、ブロックデータに記録されたトランザクション数(tra_cnt)と一致する場合(ステップS144のはい)、取引データの整合性検証の処理が正常に終了される。
図24に示した不整合検証の処理の他に、暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレスの残高に基づいて、不整合を検出することができる。例えば、暗号資産ブロックチェーン処理装置10は、信頼性の高い第三者が管理、運営するブロックエクスプローラを用いて、指定するアドレス(例えば、自動収集モードで無作為に抽出されたアドレス(図5中のステップS124))の残高を計算する。
次に、第三者のブロックエクスプローラから得られた残高と、暗号資産ブロックチェーン処理装置10により計算された同じアドレスの残高とを比較し、残高が一致しない場合には、ユーザに不整合である旨の通知を行うとともに、特定のフォルダにどのアドレスが不整合であったかを示すメッセージ等を記憶することができる。フォルダに記憶されるメッセージは、例えば、下記のようなものである。
address, data_bricks balance, external_explorer balance, difference
1DFuBFLwJjXQapEBE36h3MmuHXMvjBUneA,701,600,101
1DPkMBvGTjUFJ621z1RkXjDBg1oJykniYL,117125,117124,1
当該メッセージは、指定されたアドレス(address)について、暗号資産ブロックチェーン処理装置10により計算された残高(data_bricks balance)と、第三者のブロックエクスプローラを利用して計算された残高(external_explorer)とが一致しない(difference)旨を示す。
この第三者のブロックエクスプローラを介した残高確認の仕組みにより、暗号資産ブロックチェーン処理装置10により提供される計算結果の信頼性および客観性をさらに高めることができる。図27は、本発明の一実施形態に係る暗号資産ブロックチェーン処理装置により実現される残高確認の仕組みを説明する模式図である。
暗号資産ブロックチェーン処理装置10はブロックチェーンのノードとして機能することでブロックチェーンデータそのものを取得し、上述のとおりにブロックチェーンデータを処理することで、アドレスごとの残高(Balance)を算出する。また、一方で暗号資産ブロックチェーン処理装置10は信頼できる第三者が管理、運営するブロックエクスプローラのホスト40と通信する。暗号資産ブロックチェーン処理装置10は、無作為に選択したアドレスの残高をブロックエクスプローラ(ホスト40)に要求する。ブロックエクスプローラは、要求された残高を暗号資産ブロックチェーン処理装置10に送信する。暗号資産ブロックチェーン処理装置10は、第三者のブロックエクスプローラから得られた残高と、暗号資産ブロックチェーン処理装置10により計算された同じアドレスの残高とを比較し、両者の整合性をチェックする。このチェックは、周期的に行われてもよいし、ユーザの要求に応じて行われてもよい。
暗号資産ブロックチェーン処理装置10と取引データ記憶装置172は、例えば、ある監査法人のクローズドな環境で作動するクラウド(例えば、社内のクラウド)で運用することができる。そのようなクラウドで運用することによって、取引データの検証とアドレス残高が公のインターネットとは隔離された環境で処理され、クライアントの秘匿情報の保護が確実に確保することができる(一方で、ブロックエクスプローラのAPI等を使うと、アドレスや取引情報をインターネット上でクエリをかけなければならなく、そのクエリ情報が保護されない)。
また、クラウド技術を使うことによって、例えば、監査法人グループのクローズドネットワークを介して、同じグループの国内または国外のファーム(その他の監査法人等)から、暗号資産ブロックチェーン処理装置10にアクセスすることができる。暗号資産の取引は国境に左右されないため、取引の不正検知などは、同じグループに属する各国のファーム(監査法人等)で同じデータにアクセスできることが不可欠である。
一般的に、各種暗号資産の実装方式は、異なる上に、頻繁に実装バージョンが更新されている。例えば、暗号資産の実装が更新された場合には、その暗号資産の実装方式に対応する暗号資産ブロックチェーン処理装置(ノード)について、当該暗号通貨の実装方式の更新内容に合わせてデータ収集等の処理内容を変更する必要があり、ブロックチェーンデータの整合性を確保するためには、常にノードを最新のバージョンに対応できるものにしなければならない。
しかしながら、暗号資産のノードソフトウェアのバージョンの更新について、必ずしもユーザに通知されるとは限らない。これは、P2Pでブロックチェーンデータを分散して各ノードで管理される分散式ブロックチェーンの特徴であるが、ビットコイン等の暗号資産を管理やメンテナンスをする管理会社が全く存在しないからである。その代わりに、実際には、暗号資産のノードソフトウェアのバージョンは、当該暗号資産を使用するプログラマー同士が共同で管理やメンテナンスを行っている(例えば、ビットコインコアのグループなど)。
一般に、いつ、どのような理由で、暗号資産のノードソフトウェアのバージョンを更新するかは、チャットやニュースから知る場合が多い。個別に、チャットやニュースから所望の暗号資産のノードソフトウェアのバージョンの更新情報を取得することは、情報が不完全であったり、更新自体を見逃してしまったりするというリスクがあるため、本発明に係る暗号資産ブロックチェーン処理システムでは、暗号資産フォークチェッカーを提供する。
本発明の暗号資産フォークチェッカーは、暗号資産ブロックチェーン処理装置10にインストールされているノードソフトウェアのバージョンと、ノードソフトウェアのバージョンを管理するサイト(Git Hub, Docker Hub等)で管理されている、同ノードソフトウェアの最新バージョンを比較してレポートを自動的に作成し、差異があればアラートを出す仕組みである。なお、フォークとはブロックチェーン上でのバージョンアップデートのことを指す。
本発明に係る暗号資産ブロックチェーン処理システムにおける暗号資産フォークチェッカーは、図28に示すようなレポートを自動的に生成することができる。図28は、暗号資産ブロックチェーン処理装置10にインストールされているノードソフトウェアのバージョンと、第三者の管理サイト(Git Hub, Docker Hub等)で管理されている、同ノードソフトウェアの最新バージョンを比較して自動的に生成したレポートの一例を示す。暗号資産フォークチェッカーは、各暗号資産について、暗号資産ブロックチェーン処理システムにおける暗号資産のノードソフトウェアのバージョンと、第三者の管理サイト(例えば、GitHub, Docker Hub等)に記録された同ノードソフトウェアの最新バージョンを比較して、比較結果を記載したレポートを自動的に生成することができる。なお、GitHub, Docker Hub等に記録された暗号資産のノードソフトウェアのバージョンは常に最新である。
比較の結果、暗号資産ブロックチェーン処理システムにおける暗号資産のノードソフトウェアのバージョンと、管理サイト(GitHub, Docker Hub等)に記録された暗号資産のノードソフトウェアのバージョンとの間に差異がある場合には、例えば、暗号資産ブロックチェーン処理装置10が、情報処理端末20にアラート(不整合であること)を通知してユーザに知らせることができる。
図28に示すレポートの項目は次のとおりである。
Figure 0007498067000001
図28に示すレポートの例では、ビットコイン(Bitcoin)、ビットコインキャッシュ(Bitcoin Cash)及びイーサリアム/イーサリアムクラシック(Ethereum/Ethereum Classic)のノードソフトウェアは、“Need to Update?”の欄が“True”なので、アップデートが必要であることを、情報処理端末20等を介してユーザに知らせることができる。
以上のように、本発明に係る暗号資産ブロックチェーン処理装置等は、インターネット等のオープンネットワーク上の暗号資産のブロックチェーンデータ(ブロック、トランザクション等を含む)を収集して、第三者に特定の取引に対するクエリや取引情報を傍受されることがないプライベートなネットワーク環境下にあるサーバ等の計算機(ノード)及びデータ記憶装置に、暗号資産の種別毎に蓄積し、分析に適したデータ形式に変換することで、安全にブロックチェーンデータを分析して、監査のためにアドレス毎の残高等の算出を可能にするだけでなく、複数の異なる暗号資産の実装方式に応じたブロックチェーンデータを収集・分析を実現することができる。
また、本発明に係る暗号資産ブロックチェーン処理装置等は、暗号資産の実装方式によっては、取引が実施された際の取引数量と取引に用いた単価に関する情報がそれぞれ別のデータレコードに記録されているような場合に、単価データと取引数量データとから算出される取引金額(=取引が実施された時間の単価×取引数量)が記録された仮想的なトランザクションデータ(取引データ)を生成することで、暗号資産の実装方式に影響されることなく、ある時点までの取引データを網羅的に集計することで、過去に訴求した特定時点における、取引の参加者の暗号資産の持分残高を容易に算出することができる。
さらに、本発明に係る暗号資産ブロックチェーン処理装置等は、収集したブロックチェーンデータの重複や欠落、暗号資産のノードソフトウェアのバージョンの違い等を検証することで、分析の対象となる取引データの整合性を担保することができる。
本発明に係る暗号資産ブロックチェーン処理装置等は、例えば、監査法人において、監査対象のアドレス毎に、暗号資産の持分残高を算出して、監査を支援すること等に利用可能である。
10 :暗号資産ブロックチェーン処理装置(ノード)
10a :ノード
10b :ノード
11 :CPU
12 :メモリ
13 :バス
14 :入出力インターフェース
15 :入力部
16 :出力部
17 :記憶部
18 :通信部
20 :情報処理端末
21 :CPU
22 :メモリ
23 :バス
24 :入出力インターフェース
25 :入力部
26 :出力部
27 :記憶部
28 :通信部
30 :クラウドストレージ
40 :ホスト
111 :データ収集部
112 :データ変換部
113 :データ分析部
114 :整合性検証部
171 :ブロックチェーンデータ記憶装置
172 :取引データ記憶装置
N :ネットワーク

Claims (31)

  1. 暗号資産ブロックチェーン処理装置であって、少なくとも
    データ収集部と、
    データ変換部と、
    を含み、
    前記データ収集部は、ユーザにより指定された暗号資産ブロックチェーンにアクセスして、所定の要求範囲に基づいて、前記暗号資産ブロックチェーンからブロックチェーンデータを収集し、
    前記データ変換部は、前記ブロックチェーンデータを分析可能な取引データに変換し、
    前記ブロックチェーンデータ及び前記分析可能な取引データは、前記暗号資産ブロックチェーン処理装置に接続されたデータ記憶装置に保存され
    前記ブロックチェーンデータは、識別可能なブロック番号が付与された、トランザクションデータを含み、
    前記トランザクションデータは、1以上の単価設定用の単価トランザクションデータと、1以上の数量指定用の数量トランザクションデータとを少なくとも含み、
    前記データ変換部は、前記1以上の数量トランザクションデータの各々について、該数量トランザクションデータに対して付与されたブロック番号に最も近いブロック番号が付与された単価トランザクションデータを検索し、検索した前記単価トランザクションデータの単価の値に、該数量トランザクションデータの数量を掛け合わせることで、取引に係る金額を算出し、
    前記データ記憶装置は、ブロックチェーンデータ記憶装置と取引データ記憶装置とを含み、
    前記データ収集部によって収集された前記ブロックチェーンデータは、前記ブロックチェーンデータ記憶装置に保存され、
    前記データ変換部によって算出された前記金額を含む取引データは前記取引データ記憶装置に保存され、
    前記暗号資産ブロックチェーン処理装置は、データ分析部を更に含み、
    前記データ分析部は、最初のブロック番号から特定時点のブロック番号までに合致する前記取引データを前記取引データ記憶装置から取得し、
    取得した前記取引データの金額を、前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に合算して残高を算出する、
    暗号資産ブロックチェーン処理装置。
  2. 前記データ記憶装置は、前記暗号資産ブロックチェーン処理装置がネットワークを介してアクセス可能なクラウドストレージである、
    請求項1に記載の暗号資産ブロックチェーン処理装置。
  3. 前記データ収集部は、スタティックモードで動作し、
    前記スタティックモードで動作する前記データ収集部は、データバッチ毎の取引データ数を指定して前記要求範囲の終点を設定し、
    前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定する、
    請求項1又は2に記載の暗号資産ブロックチェーン処理装置。
  4. 前記データ収集部は、ダイナミックモードで動作し、
    前記ダイナミックモードで動作する前記データ収集部は、データバッチ毎のデータサイズを指定して前記要求範囲の終点を設定し、
    前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定する、
    請求項1又は2に記載の暗号資産ブロックチェーン処理装置。
  5. 前記データ収集部は、自動収集モードで動作し、
    前記自動収集モードで動作する前記データ収集部は、前記暗号資産ブロックチェーン上の最新データの識別情報を取得して、前記要求範囲の終点に設定し、
    前記データ収集部により前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定する、
    請求項1又は2に記載の暗号資産ブロックチェーン処理装置。
  6. 前記データ収集部は、前回の収集モードが、データバッチ毎の取引データ数を指定したスタティックモード、又はデータバッチ毎のデータサイズを指定したダイナミックモードである場合に、前回収集したデータの最後の取引データの識別情報を、前記前回の収集モードの取引データ数又はデータサイズに基づいて再計算して、前記要求範囲の始点に設定する、
    請求項5に記載の暗号資産ブロックチェーン処理装置。
  7. 前記ブロックチェーンデータは、少なくともブロックデータとトランザクションデータとを含み、
    前記データ変換部は、前記ブロックデータ及び前記トランザクションデータの各々に取引日時に関連する年月日の属性を付加して、年月日で区別可能な取引データに変換し、
    前記取引データは年月日毎に分類されて前記データ記憶装置に保存される、
    請求項1から6のいずれか1項に記載の暗号資産ブロックチェーン処理装置。
  8. 前記データ記憶装置は、ブロックチェーンデータ記憶装置と取引データ記憶装置とを含み、
    前記データ収集部によって収集された前記ブロックチェーンデータは、前記ブロックチェーンデータ記憶装置に保存され、
    前記データ変換部によって前記年月日の属性が付加され、年月日で区別可能な前記取引データは、前記取引データ記憶装置に保存される、
    請求項に記載の暗号資産ブロックチェーン処理装置。
  9. 前記暗号資産ブロックチェーン処理装置は、データ分析部を更に含み、
    前記データ変換部は、前記トランザクションデータを、トランザクション入力データとトランザクション出力データとに分け、
    前記データ分析部は、前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に、前記トランザクション入力データ及び前記トランザクション出力データに基づいて、特定のブロック番号の範囲で全収入及び全支出を計算する、
    請求項からのいずれか1項に記載の暗号資産ブロックチェーン処理装置。
  10. 前記暗号資産ブロックチェーン処理装置は、データ分析部を更に含み、
    前記データ分析部は、前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に、前記トランザクションデータ及びスマートコントラクトの結果に基づいて、前記アドレス毎の残高を算出する、
    請求項からのいずれか1項に記載の暗号資産ブロックチェーン処理装置。
  11. 前記暗号資産ブロックチェーン処理装置は、整合性検証部を更に含み、
    前記取引データは、生成順にシーケンス番号が付与されたブロックデータを含み、
    前記整合性検証部は、前記ブロックデータの前記シーケンス番号を順に照合することで、前記シーケンス番号の重複及び欠落のチェックを行い、
    前記シーケンス番号に重複又は欠落があった場合には、前記シーケンス番号に対応する前記ブロックデータの不整合を通知する、
    請求項1から6のいずれか1項に記載の暗号資産ブロックチェーン処理装置。
  12. 前記整合性検証部は、所属するブロックのシーケンス番号を有するトランザクションデータについて、シーケンス番号ごとに前記トランザクションデータの数をカウントし、カウントした前記トランザクションデータの数と該シーケンス番号が付与されたブロックデータに記録されたトランザクション数とを比較し、
    差分があった場合に、前記ブロックデータの不整合を通知する、
    請求項11に記載の暗号資産ブロックチェーン処理装置。
  13. 前記暗号資産ブロックチェーン処理装置は、整合性検証部を更に含み、
    前記整合性検証部は、第三者が管理するブロックエクスプローラを用いて、ユーザにより指定されたアドレスの検証用残高を算出し、
    前記データ分析部によって前記アドレス毎に算出された残高から、前記指定されたアドレスの残高を取得し、前記データ分析部により算出された前記残高と、前記検証用残高とを比較し、
    差分があった場合に、前記指定されたアドレスのデータに不整合があることを通知する、
    請求項又は10に記載の暗号資産ブロックチェーン処理装置。
  14. 前記整合性検証部は、暗号資産のノードソフトウェアのバージョンを管理するサイトにアクセスし、所望の暗号資産のノードソフトウェアの最新バージョンを確認し、前記データ記憶装置に保存された前記暗号資産のノードソフトウェアのバージョンと比較し、バージョンに差異がある場合に、前記暗号資産のノードソフトウェアのバージョンに不整合があることを通知する、
    請求項11から13のいずれか1項に記載の暗号資産ブロックチェーン処理装置。
  15. コンピュータによって実行される暗号資産ブロックチェーン処理方法であって、
    ユーザにより指定された暗号資産ブロックチェーンにアクセスする段階と、
    所定の要求範囲に基づいて、前記暗号資産ブロックチェーンからブロックチェーンデータを収集する段階と、
    前記ブロックチェーンデータを分析可能な取引データに変換する段階と、
    を含み、
    前記ブロックチェーンデータ及び前記分析可能な取引データは、暗号資産ブロックチェーン処理装置に接続されたデータ記憶装置に保存され
    前記ブロックチェーンデータは、識別可能なブロック番号が付与された、トランザクションデータを含み、
    前記トランザクションデータは、1以上の単価設定用の単価トランザクションデータと、1以上の数量指定用の数量トランザクションデータとを少なくとも含み、
    前記暗号資産ブロックチェーン処理方法は、
    前記1以上の数量トランザクションデータの各々について、該数量トランザクションデータに対して付与されたブロック番号に最も近いブロック番号が付与された単価設定のトランザクションデータを検索する段階と、
    検索した前記単価トランザクションデータの単価の値に、該数量トランザクションデータの数量を掛け合わせることで、取引に係る金額を算出する段階と、
    を含み、
    前記データ記憶装置は、ブロックチェーンデータ記憶装置と取引データ記憶装置とを含み、
    前記ブロックチェーンデータを収集する段階は、収集した前記ブロックチェーンデータを前記ブロックチェーンデータ記憶装置に保存することを含み、
    前記暗号資産ブロックチェーン処理方法は、
    算出した前記金額を含む取引データを前記取引データ記憶装置に保存する段階を含み、
    前記トランザクションデータを、トランザクション入力データとトランザクション出力データとに分ける段階と、
    前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に、前記トランザクション入力データ及び前記トランザクション出力データに基づいて、特定のブロック番号の範囲で全収入及び全支出を計算する段階と、
    を含む、暗号資産ブロックチェーン処理方法。
  16. 前記データ記憶装置は、前記暗号資産ブロックチェーン処理装置がネットワークを介してアクセス可能なクラウドストレージである、請求項15に記載の暗号資産ブロックチェーン処理方法。
  17. ユーザにより指定されたスタティックモードに応じて、データバッチ毎の取引データ数を指定して前記要求範囲の終点を設定し、前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定する段階を含む、請求項15又は16に記載の暗号資産ブロックチェーン処理方法。
  18. ユーザにより指定されたスタティックモードに応じて、データバッチ毎のデータサイズを指定して前記要求範囲の終点を設定し、前回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定する段階を含む、請求項15又は16に記載の暗号資産ブロックチェーン処理方法。
  19. ユーザにより指定された自動収集モードに応じて、前記暗号資産ブロックチェーン上の最新データの識別情報を取得して、前記要求範囲の終点に設定する段階と、
    回収集したデータの最後の取引データの識別情報を、前記要求範囲の始点に設定する段階と、
    を含む、請求項15又は16に記載の暗号資産ブロックチェーン処理方法。
  20. 前回の収集モードが、データバッチ毎の取引データ数を指定したスタティックモード、又はデータバッチ毎のデータサイズを指定したダイナミックモードである場合に、前回収集したデータの最後の取引データの識別情報を、前記前回の収集モードの取引データ数又はデータサイズに基づいて再計算して、前記要求範囲の始点に設定する段階を含む、請求項19に記載の暗号資産ブロックチェーン処理方法。
  21. 前記ブロックチェーンデータは、少なくともブロックデータとトランザクションデータとを含み、
    前記暗号資産ブロックチェーン処理方法は、
    前記ブロックデータ及び前記トランザクションデータの各々に取引日時に関連する年月日の属性を付加して、年月日で区別可能な取引データに変換する段階と、
    前記取引データを年月日毎に分類して前記データ記憶装置に保存する段階と、
    を含む請求項15から20いずれか1項に記載の暗号資産ブロックチェーン処理方法。
  22. 前記データ記憶装置は、ブロックチェーンデータ記憶装置と取引データ記憶装置とを含み、
    前記ブロックチェーンデータを収集する段階は、収集した前記ブロックチェーンデータを、前記ブロックチェーンデータ記憶装置に保存することを含み、
    前記暗号資産ブロックチェーン処理方法は、
    記年月日の属性が付加され、年月日で区別可能な前記取引データを、前記取引データ記憶装置に保存する段階を含む、請求項21に記載の暗号資産ブロックチェーン処理方法。
  23. 前記トランザクションデータを、トランザクション入力データとトランザクション出力データとに分ける段階と、
    前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に、前記トランザクション入力データ及び前記トランザクション出力データに基づいて、特定のブロック番号の範囲で全収入及び全支出を計算する段階と、
    を含む請求項15から22のいずれか1項に記載の暗号資産ブロックチェーン処理方法。
  24. 前記暗号資産ブロックチェーンにおける銀行口座番号に該当する記録単位であるアドレス毎に、前記トランザクションデータ及びスマートコントラクトの結果に基づいて、前記アドレス毎の残高を算出する段階を含む請求項15から22のいずれか1項に記載の暗号資産ブロックチェーン処理方法。
  25. 前記取引データは、生成順にシーケンス番号が付与されたブロックデータを含み、
    前記暗号資産ブロックチェーン処理方法は、
    前記ブロックデータの前記シーケンス番号を順に照合することで、前記シーケンス番号の重複及び欠落のチェックを行う段階と、
    前記シーケンス番号に重複又は欠落があった場合には、前記シーケンス番号に対応する前記ブロックデータの不整合を通知する段階と、
    を含む請求項15から20のいずれか1項に記載の暗号資産ブロックチェーン処理方法。
  26. 所属するブロックのシーケンス番号を有するトランザクションデータについて、シーケンス番号ごとに前記トランザクションデータの数をカウントし、カウントした前記トランザクションデータの数と該シーケンス番号が付与されたブロックデータに記録されたトランザクション数とを比較する段階と、
    差分があった場合に、前記ブロックデータの不整合を通知する段階と、
    を含む請求項25に記載の暗号資産ブロックチェーン処理方法。
  27. 第三者が管理するブロックエクスプローラを用いて、ユーザにより指定されたアドレスの検証用残高を算出する段階と、
    前記アドレス毎に算出された残高から、前記指定されたアドレスの残高を取得し、算出された前記残高と、前記検証用残高とを比較する段階と、
    差分があった場合に、前記指定されたアドレスのデータに不整合があることを通知する段階と、
    を含む請求項15又は24に記載の暗号資産ブロックチェーン処理方法。
  28. 暗号資産のノードソフトウェアのバージョンを管理するサイトにアクセスする段階と、
    所望の暗号資産のノードソフトウェアの最新バージョンを確認する段階と、
    前記データ記憶装置に保存された前記暗号資産のノードソフトウェアのバージョンと比較する段階と、
    バージョンに差異がある場合に、前記暗号資産のノードソフトウェアのバージョンに不整合があることを通知する段階と、
    を含む請求項25から27のいずれか1項に記載の暗号資産ブロックチェーン処理方法。
  29. 請求項1から14のいずれか1項に記載の暗号資産ブロックチェーン処理装置と、
    情報処理端末と、
    クラウドストレージと、
    を含み、
    前記暗号資産ブロックチェーン処理装置、前記情報処理端末及び前記クラウドストレージは、それぞれネットワークを介して接続された暗号資産ブロックチェーン処理システム。
  30. コンピュータによって実行されることで、前記コンピュータを請求項1から14のいずれか1項に記載の暗号資産ブロックチェーン処理装置の各部として機能させるための暗号資産ブロックチェーン処理プログラム。
  31. コンピュータによって実行されることで、前記コンピュータに請求項15から28のいずれか1項に記載の暗号資産ブロックチェーン処理方法の各段階を実行させるための暗号資産ブロックチェーン処理プログラム。
JP2020145390A 2020-08-31 2020-08-31 暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム Active JP7498067B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020145390A JP7498067B2 (ja) 2020-08-31 2020-08-31 暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム
AU2021331139A AU2021331139A1 (en) 2020-08-31 2021-08-25 Crypto-asset blockchain processing device, processing method, processing system, and processing program
PCT/JP2021/031092 WO2022045168A1 (ja) 2020-08-31 2021-08-25 暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム
EP21861592.0A EP4207028A4 (en) 2020-08-31 2021-08-25 CRYPTOASSET BLOCKCHAIN PROCESSING DEVICE, PROCESSING METHOD, PROCESSING SYSTEM, AND PROCESSING PROGRAM
US18/041,981 US20230318856A1 (en) 2020-08-31 2021-08-25 Cryptographic asset blockchain processing apparatus, processing method, processing system, and processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020145390A JP7498067B2 (ja) 2020-08-31 2020-08-31 暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム

Publications (2)

Publication Number Publication Date
JP2022040601A JP2022040601A (ja) 2022-03-11
JP7498067B2 true JP7498067B2 (ja) 2024-06-11

Family

ID=80355278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020145390A Active JP7498067B2 (ja) 2020-08-31 2020-08-31 暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム

Country Status (5)

Country Link
US (1) US20230318856A1 (ja)
EP (1) EP4207028A4 (ja)
JP (1) JP7498067B2 (ja)
AU (1) AU2021331139A1 (ja)
WO (1) WO2022045168A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3770779A1 (en) * 2019-07-24 2021-01-27 Christian Hieronimi Computer-implemented methods for handling requests by using a distributed ledger database
CN117910025B (zh) * 2024-03-20 2024-05-24 神州数码融信云技术服务有限公司 一种金融服务数据安全存储保护方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2992458A1 (en) 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Anastasios Balaskas, Virginia N. L. Franqueira,Analytical Tools for Blockchain: Review, Taxonomy and Open Challenges,2018 International Conference on Cyber Security and Protection of Digital Services,[online],2018年,[検索日2024.2.14],インターネット<URL: https://ieeexplore.ieee.org/document/8560672>,Electronic ISBN:978-1-5386-4683-0, Print on Demand(PoD) ISBN:978-1-5386-4684-7
Ethereum Blockchain Parser,[online],2020年07月20日,第1-9ページ,[検索日2024.2.14],インターネット<URL: https://web.archive.org/web/20200720110342/https://github.com/alex-miller-0/Ethereum_Blockchain_Parser#4-aggregate-data-and-analyze>

Also Published As

Publication number Publication date
EP4207028A4 (en) 2024-01-10
AU2021331139A1 (en) 2023-03-09
EP4207028A1 (en) 2023-07-05
WO2022045168A1 (ja) 2022-03-03
JP2022040601A (ja) 2022-03-11
US20230318856A1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
CN110495132B (zh) 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法
US11483622B2 (en) Hybrid blockchains and streamchains using non-crypto hashes for securing audio-, video-, image-, and speech-based transactions and contracts
US9256657B1 (en) Tracking data communicated between services
WO2022045168A1 (ja) 暗号資産ブロックチェーン処理装置、処理方法、処理システム及び処理プログラム
US20240086414A1 (en) Efficient access of chainable records
US9053112B2 (en) Automated data validation
US11580097B2 (en) Blockchain-based systems and methods for communicating, storing and processing data over a blockchain network
CA3077824A1 (en) Systems and methods for data distillation
JP2020013175A (ja) データ管理プログラム、データ管理方法及びデータ管理装置
US12051063B2 (en) Systems and methods for blockchain-based transaction break prevention
WO2022057525A1 (zh) 一种数据找回方法、装置、电子设备及存储介质
JP6364557B1 (ja) IoTデータ仲介システム
JP6573187B1 (ja) データ処理プログラム、データ出力装置、データ統合方法、出力プログラム、データ出力方法及びデータ処理システム
US20230421570A1 (en) Accessing data on a blockchain with proof of data verification
JP2022104888A (ja) テスト情報を提供する方法、仮想連携デバイス及びシステム
CN111488345A (zh) 业务数据区块链的存储优化方法及装置
JP2007193574A (ja) ダウンロードファイルの履歴管理・検索方法
JP7399838B2 (ja) 情報処理方法、情報処理システム及びコンピュータプログラム
US12020241B1 (en) Systems and methods for multi-entity blockchain-based event break prevention
WO2023184562A1 (en) System and methods for auditable data management
CN115657901A (zh) 一种基于统一参数的业务变更方法及装置
CN111488351A (zh) 业务数据区块链的数据操作方法及装置
CN111695144A (zh) 基于业务数据区块链的生活服务数据存储方法及系统
CN118410036A (zh) 一种基于集群的安全审计管理方法、设备、介质及产品
JP6025574B2 (ja) モニタリングシステム、及び計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240417

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: 20240430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240530

R150 Certificate of patent or registration of utility model

Ref document number: 7498067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150