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

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

▶ エスツーダブリュー インコーポレイテッドの特許一覧

<>
  • 特許-暗号通貨取引の分析方法及びシステム 図1
  • 特許-暗号通貨取引の分析方法及びシステム 図2
  • 特許-暗号通貨取引の分析方法及びシステム 図3
  • 特許-暗号通貨取引の分析方法及びシステム 図4
  • 特許-暗号通貨取引の分析方法及びシステム 図5
  • 特許-暗号通貨取引の分析方法及びシステム 図6
  • 特許-暗号通貨取引の分析方法及びシステム 図7
  • 特許-暗号通貨取引の分析方法及びシステム 図8
  • 特許-暗号通貨取引の分析方法及びシステム 図9
  • 特許-暗号通貨取引の分析方法及びシステム 図10
  • 特許-暗号通貨取引の分析方法及びシステム 図11
  • 特許-暗号通貨取引の分析方法及びシステム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-14
(45)【発行日】2023-07-25
(54)【発明の名称】暗号通貨取引の分析方法及びシステム
(51)【国際特許分類】
   G06Q 20/38 20120101AFI20230718BHJP
   G06Q 30/018 20230101ALI20230718BHJP
【FI】
G06Q20/38 310
G06Q30/018
【請求項の数】 16
(21)【出願番号】P 2021539150
(86)(22)【出願日】2020-01-20
(65)【公表番号】
(43)【公表日】2022-03-15
(86)【国際出願番号】 KR2020000951
(87)【国際公開番号】W WO2020153688
(87)【国際公開日】2020-07-30
【審査請求日】2021-08-31
(31)【優先権主張番号】10-2019-0007814
(32)【優先日】2019-01-22
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521293202
【氏名又は名称】エスツーダブリュー インコーポレイテッド
(74)【代理人】
【識別番号】100149870
【弁理士】
【氏名又は名称】芦北 智晴
(72)【発明者】
【氏名】ソ サンドク
(72)【発明者】
【氏名】ユン チャンフン
(72)【発明者】
【氏名】リ スンヒョン
【審査官】久宗 義明
(56)【参考文献】
【文献】米国特許出願公開第2017/0366516(US,A1)
【文献】米国特許出願公開第2005/0182708(US,A1)
【文献】米国特許出願公開第2015/0347480(US,A1)
【文献】米国特許出願公開第2018/0316665(US,A1)
【文献】特表2020-503784(JP,A)
【文献】金融庁, 株式会社三菱総合研究所,ブロックチェーンを用いた金融取引のプライバシー保護と追跡可能性に関する調査研究報告書(参考資料),[online],日本,金融庁,2019年03月20日,表紙, 1~8, 194~210ページ,[令和4年10月27日 検索], インターネット<https://www.fsa.go.jp/policy/bigin/ResearchPaper_Reference_MRI_jp.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
電子装置が暗号通貨取引を分析する方法であって、
特定の暗号通貨に対応するブロックチェーンの分散元帳情報を収集し、前記分散元帳情報から抽出したブロックチェーンデータを定型化するブロックチェーン管理ステップと、
ウェブ上で前記暗号通貨取引に関連する多機種データを収集して定型化する多機種データ管理ステップと、
前記定型化されたブロックチェーンデータを用いて暗号通貨ネットワークグラフを構築し、前記定型化された多機種データを用いて知識グラフを構築し、前記暗号通貨ネットワークグラフと前記知識グラフを異なる層で構成し、それぞれの層において共通するノードを接続することによって、マッピングして多層ベースの取引分析知識グラフを生成するグラフ生成ステップと、
前記取引分析知識グラフにおいて、資金フローを追跡しようとする暗号通貨アドレスを入力アドレスとする取引情報を探索し、入力アドレスと出力アドレスをノードとする資金フローグラフを生成して資金フローを追跡するグラフ分析ステップと、を含む、暗号通貨取引の分析方法。
【請求項2】
前記ブロックチェーン管理ステップが、
少なくとも1つの暗号通貨クライアントを実行してブロックチェーンの分散元帳情報を収集するブロックチェーンデータ収集ステップと、
前記分散元帳情報を用いて、同じ所有者であると推定されるアドレスをグループ化するブロックチェーンデータ分析ステップと、
前記分散元帳情報及びデータ分析モジュールから分析したグループ情報が含まれるブロックチェーンデータを予め設定された基準に基づいて定型化するブロックチェーンデータ定型化ステップと、を含む、請求項1に記載の暗号通貨取引の分析方法。
【請求項3】
前記ブロックチェーンデータ分析ステップが、
暗号通貨アドレスに対応する秘密鍵(private key)の所有有無を用いて、1つの取引に含まれる複数の入力アドレスをグループ化したり、あるいは同じアドレスを含む複数のグループを1つのグループにグループ化するマルチ入力ヒューリスティックステップと、
送金後の残高が返金されるアドレスを用いて、同じ所有者であると推定される複数のアドレスをグループ化するアドレス変更ヒューリスティックステップとのうちの少なくとも1つを含む、請求項2に記載の暗号通貨取引の分析方法。
【請求項4】
前記多機種データ管理ステップが、
ウェブ上で前記暗号通貨取引に関連する多機種データを収集する多機種データ収集ステップと、
前記多機種データを取引属性に基づいたカテゴリ別に分類する多機種データ分類ステップと、
前記多機種データから暗号通貨アドレス、取引情報、またはユーザ情報のうち少なくとも1つを抽出する多機種データ分析ステップと、
前記抽出した情報を、予め設定された基準に基づいて定型化する多機種データ定型化ステップと、を含む、請求項1に記載の暗号通貨取引の分析方法。
【請求項5】
前記グラフ生成ステップが、
前記定型化されたブロックチェーンデータから抽出した第1のオブジェクトまたは第1の属性で第1のノードを生成し、暗号通貨ネットワークグラフを構築するステップと、
前記定型化された多機種データから抽出した第2のオブジェクトまたは第2の属性で第2のノードを生成し、知識グラフを構築するステップと、
互いに対応する第1のノードと第2のノードをマッピングして取引分析知識グラフを生成するステップと、を含む、請求項1に記載の暗号通貨取引の分析方法。
【請求項6】
前記グラフ分析ステップが、
前記取引分析知識グラフにおいて、出力資金フローを追跡しようとする第1の暗号通貨アドレスを入力ノードとして指定し、前記入力ノードのアドレスを入力アドレスとする少なくとも1つの第1の取引情報を検索するステップaと、
前記第1の取引情報を用いて各取引に対する取引ノード(Tx)を生成し、前記入力ノードと前記取引ノードを入力エッジ(TxIn)で接続するステップbと、
前記第1の取引情報に含まれた出力アドレスに対応する出力ノード(Addr)を生成し、前記取引ノードと前記出力ノードを出力エッジ(TxOut)で接続するステップcと、
前記入力エッジ及び前記出力エッジに対して送付された金額をラベリングし、出力が消費されていない取引に対応する出力エッジにはUTXOタグをラベリングするステップdと、
前記UTXOタグがラベリングされた出力エッジが識別されるか、あるいは前記第1の取引情報に含まれる出力アドレスが既に識別されたアドレスであると判断されるまで、前記出力ノードを入力ノードとして指定し、前記ステップaないしdを繰り返し行って、出力資金フローグラフを生成するステップと、を含む、請求項1に記載の暗号通貨取引の分析方法。
【請求項7】
前記グラフ分析ステップが、
第1の取引ノードに接続されたすべての出力エッジにラベリングされた金額の合計に対して、第1の出力エッジにラベリングされた金額の割合を前記第1の出力エッジの汚染率として演算するステップと、
前記第1の取引ノードと入力エッジに接続された第1の入力ノードの汚染値と前記第1の出力エッジの汚染率とを用いて、前記第1の出力エッジに接続された第1の出力ノードの汚染値を算出するステップと、
前記第1の暗号通貨アドレスから受信された資金の割合で前記第1の出力ノードの汚染値を判断するステップを介して出力資金フローを追跡するステップと、を含む、請求項6に記載の暗号通貨取引の分析方法。
【請求項8】
前記グラフ分析ステップが、
前記取引分析知識グラフにおいて、入力資金フローを追跡しようとする第2の暗号通貨アドレスを出力ノードとして指定し、前記出力ノードのアドレスを出力アドレスとする少なくとも1つの第2の取引情報を検索するステップa´と、
前記第2の取引情報を用いて各取引に対する取引ノード(Tx)を生成し、前記出力ノードと前記取引ノードを出力エッジ(TxOut)で接続するステップb´と、
前記第2の取引情報に含まれた入力アドレスに対応する入力ノード(Addr´)を生成し、前記取引ノード(Tx)と前記入力ノードを入力エッジ(TxIn)で接続するステップc´と、
前記入力エッジ及び前記出力エッジに対して送付された金額をラベリングするステップd´と、
前記第2の取引情報に含まれる入力アドレスが既に識別されたアドレスであると判断されるまで、前記入力ノードを出力ノードとして指定し、前記ステップa´ないしd´を繰り返し行って、入力資金フローグラフを生成するステップと、を含む、請求項1に記載の暗号通貨取引の分析方法。
【請求項9】
前記グラフ分析ステップが、
第2の取引ノードに接続されたすべての入力エッジにラベリングされた金額の合計に対して、第2の入力エッジにラベリングされた金額の割合を前記第2の入力エッジの汚染率で演算するステップと、
前記第2の取引ノードと出力エッジに接続された第2の出力ノードの汚染値と前記第2の入力エッジの汚染率とを用いて、前記第2の入力エッジに接続された第2の入力ノードの汚染値を算出するステップと、
前記第2の暗号通貨アドレスに流入した資金の割合で前記第2の入力ノードの汚染値を判断するステップと、を介して入力資金フローを追跡する、請求項8に記載の暗号通貨取引の分析方法。
【請求項10】
前記グラフ分析ステップが、
任意の第2の出力ノードを生成する際に、前記第2の出力ノードの所有権情報をクエリして前記第2の出力ノードのアドレスの所有者を識別し、前記アドレスの所有者が既に保存されたサービスリストに含まれたサービスのうちのいずれかであると、前記第2の出力ノードに前記アドレスの所有者をラベリングし、取引情報の検索を中止するステップをさらに含む、請求項6に記載の暗号通貨取引の分析方法。
【請求項11】
暗号通貨取引を分析するシステムであって、
特定の暗号通貨に対応するブロックチェーンの分散元帳情報を収集し、前記分散元帳情報から抽出したブロックチェーンデータを定型化するブロックチェーン管理部と、
ウェブ上で前記暗号通貨取引に関連する多機種データを収集して定型化する多機種データ管理部と、
前記定型化されたブロックチェーンデータを用いて暗号通貨ネットワークグラフを構築し、前記定型化された多機種データを用いて知識グラフを構築し、前記暗号通貨ネットワークグラフと前記知識グラフを異なる層で構成し、それぞれの層において共通するノードを接続することによって、マッピングして多層ベースの取引分析知識グラフを生成するグラフ生成部と、
前記取引分析知識グラフにおいて、資金フローを追跡しようとする暗号通貨アドレスを入力アドレスとする取引情報を探索し、入力アドレスと出力アドレスをノードとする資金フローグラフを生成して資金フローを追跡し、前記知識グラフを用いて資金フローグラフに含まれた各ノードの属性を識別するグラフ分析部と、を含む、暗号通貨取引の分析システム。
【請求項12】
前記ブロックチェーン管理部が、
少なくとも1つの暗号通貨クライアントを実行してブロックチェーンの分散元帳情報を収集するブロックチェーンデータ収集モジュールと、
前記分散元帳情報に含まれる暗号通貨アドレスの所有者推定のために、前記暗号通貨アドレスをグループ化するブロックチェーンデータ分析モジュールと、
前記分散元帳情報及び前記ブロックチェーンデータ分析モジュールから分析した暗号通貨アドレスグループ情報が含まれるブロックチェーンデータを予め設定された基準に基づいて定型化するブロックチェーンデータ定型化モジュールと、を含む、請求項11に記載の暗号通貨取引の分析システム。
【請求項13】
前記ブロックチェーンデータ分析モジュールが、
暗号通貨アドレスに対応する秘密鍵(private key)の所有有無を用いて、1つの取引に含まれる複数の入力アドレスをグループ化したり、あるいは同じアドレスを含む複数のグループを1つのグループにグループ化するマルチ入力ヒューリスティックアルゴリズムと、送金後の残高が返金されるアドレスを用いて、同じ所有者であると推定される複数のアドレスをグループ化するアドレス変更ヒューリスティックアルゴリズムとのうちの少なくとも1つを用いて前記暗号通貨アドレスをグループ化する、請求項12に記載の暗号通貨取引の分析システム。
【請求項14】
前記多機種データ管理部が、
ウェブ上で前記暗号通貨取引に関連する多機種データを収集する多機種データ収集モジュールと、
前記多機種データを取引属性またはデータソースに基づいて分類する多機種データ分類モジュールと、
前記多機種データから暗号通貨アドレス、取引情報、コンテンツ類型、またはユーザ情報のうち少なくとも1つを抽出する多機種データ分析モジュールと、
前記抽出した情報を、予め設定された基準に基づいて定型化する多機種データ定型化モジュールと、を含む、請求項11に記載の暗号通貨取引の分析システム。
【請求項15】
前記グラフ生成部が、
前記定型化されたブロックチェーンデータから抽出した第1のオブジェクトまたは第1の属性で第1のノードを生成し、暗号通貨ネットワークグラフを構築するモジュールと、
前記定型化された多機種データから抽出した第2のオブジェクトまたは第2の属性で第2のノードを生成し、知識グラフを構築するモジュールと、
互いに対応する第1のノードと第2のノードをマッピングして取引分析知識グラフを生成するモジュールと、を含む、請求項11に記載の暗号通貨取引の分析システム。
【請求項16】
請求項1ないし10のうちいずれか一項に記載の方法を実行させるためにコンピュータ可読媒体に保存された、暗号通貨取引の分析アプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号通貨取引の分析方法及びシステムに関し、より詳しくは、暗号通貨の属性を利用して暗号通貨データを分析及び処理することで、従来では把握することが困難であった暗号通貨取引の流れを分析することができる方法及びシステムに関する。
【背景技術】
【0002】
暗号通貨(cryptocurrency)は、交換手段として機能するように設計されたデジタル資産であり、ブロックチェーン(blockchain)技術で暗号化され、分散発行され、一定のネットワーク上で通貨として使用できる電子情報である。暗号通貨は、中央銀行が発行するものではなく、ブロックチェーン技術に基づいて、金銭的価値がデジタル方式で表示された電子情報であって、インターネット上のP2P方式で分散保存されて運用・管理される。暗号通貨を発行して管理する重要な手法は、ブロックチェーン(blockchain)技術である。ブロックチェーンは、継続して増え続ける記録(ブロック)の一覧表であり、ブロックは、暗号化方法を用いて連結されるので、セキュリティが確保される。各ブロックは、典型的には、前のブロックの暗号ハッシュ、タイムスタンプと取引データを含んでいる。ブロックチェーンは、最初からデータの修正に対する抵抗力を有しており、両当事者間の取引を有効且つ永久的に証明できる公開された分散帳簿である。従って、暗号通貨は、不正操作防止を基に透明な運用が可能である。
【0003】
そのほか、暗号通貨は、従来の通貨とは異なり、匿名性を有しているので、送金した人と送金された人以外の第三者は、取引履歴を一切知ることができないという特徴がある。口座の匿名性のために取引の流れを追跡することが困難であり(Non-trackable)、送金記録、集金記録などの一切の記録はすべて公開されているものの、取引主体を知ることはできない(Pseudonymity)。
【0004】
暗号通貨は、前述したような自由性及び透明性のために、従来の基軸通貨を代替することのできる代案であると言われており、従来の通貨に比較して安価な手数料と簡単な送金手続きのために国際間取引などに効果的に用いられることができると考えられる。但し、その匿名性のために、暗号通貨は、違法な取引などに用いられるなど、犯罪の手段として悪用されることもある。
【0005】
従って、暗号通貨を犯罪の手段として用いたり、取引主体の把握が必要な場合、それを把握且つ分析することができる方法が求められている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、前記問題を解決するためになされたものであり、暗号通貨取引を分析し、取引主体を把握することのできる方法を提供することを一つの目的とする。
【0007】
また、本発明は、暗号通貨を用いて行われる違法な取引を検出し、取引パターンを学習することにより、暗号通貨が違法な活動を支援するためのツールとして使用されることを最低限に抑えることを他の目的とする。
【課題を解決するための手段】
【0008】
前記目的を達成するために、本発明は、電子装置が暗号通貨取引を分析する方法であって、特定の暗号通貨に対応するブロックチェーンの分散元帳情報を収集し、前記分散元帳情報から抽出したブロックチェーンデータを定型化するブロックチェーン管理ステップと、ウェブ上で前記暗号通貨取引に関連する多機種データを収集して定型化する多機種データ管理ステップと、前記定型化されたブロックチェーンデータを用いて暗号通貨ネットワークグラフを構築し、前記定型化された多機種データを用いて知識グラフを構築し、前記暗号通貨ネットワークグラフと前記知識グラフをマッピングして多層ベースの取引分析知識グラフを生成するグラフ生成ステップと、前記取引分析知識グラフにおいて、資金フローを追跡しようとする第1の暗号通貨アドレスを入力アドレスとする取引情報を探索し、入力アドレスと出力アドレスをノードとする資金フローグラフを生成して資金フローを追跡し、前記知識グラフを用いて資金フローグラフに含まれた各ノードの属性を識別するグラフ分析ステップと、を含むことを1つの特徴とする。
【0009】
また、本発明は、暗号通貨取引の分析システムにおいて、特定の暗号通貨に対応するブロックチェーンの分散元帳情報を収集し、前記分散元帳情報から抽出したブロックチェーンデータを定型化するブロックチェーン管理部と、ウェブ上で前記暗号通貨取引に関連する多機種データを収集して定型化する多機種データ管理部と、前記定型化されたブロックチェーンデータを用いて暗号通貨ネットワークグラフを構築し、前記定型化された多機種データを用いて知識グラフを構築し、前記暗号通貨ネットワークグラフと前記知識グラフをマッピングして多層ベースの取引分析知識グラフを生成するグラフ生成部と、前記取引分析知識グラフにおいて、資金フローを追跡しようとする第1の暗号通貨アドレスを入力アドレスとする取引情報を探索し、入力アドレスと出力アドレスをノードとする資金フローグラフを生成して資金フローを追跡し、前記知識グラフを用いて資金フローグラフに含まれた各ノードの属性を識別するグラフ分析部と、を含むことを1つの特徴とする。
【発明の効果】
【0010】
前述したように、本発明によれば、暗号通貨取引の流れを分析し、取引主体を把握することができる。
【0011】
また、本発明によれば、暗号通貨を用いて行われる違法な取引を検出し、取引パターンを学習することにより、暗号通貨が違法な活動を支援するためのツールとして使用されることを最低限に抑えることができる。
【図面の簡単な説明】
【0012】
図1】本発明の一実施形態に係る暗号通貨取引の分析システムの説明図である。
図2】本発明の一実施形態に係る暗号通貨取引の分析方法を説明するためのフローチャートである。
図3】本発明の一実施形態によるブロックチェーンの管理方法を説明するためのフローチャートである。
図4】本発明の一実施形態に係る多機種データの管理方法を説明するためのフローチャートである。
図5】本発明の一実施形態に係るグラフの生成方法を説明するためのフローチャートである。
図6】本発明の一実施形態に係る出力資金フローグラフを生成する方法を説明するためのフローチャートである。
図7】本発明の一実施形態に係る入力資金フローグラフを生成する方法を説明するためのフローチャートである。
図8】本発明の一実施形態に係る出力資金フローの分析方法を説明するためのフローチャートである。
図9】本発明の一実施形態に係る入力資金フローの分析方法を説明するためのフローチャートである。
図10】本発明の一実施形態に係る取引分析知識グラフの説明図である。
図11】本発明の一実施形態に係る資金フローグラフの説明図である。
図12】本発明の一実施形態に係る資金フローの分析方法の説明図である。
【発明を実施するための形態】
【0013】
前記目的、特徴及び利点については添付図面を参照して詳細に後述する。よって、本発明の属する技術分野における通常の知識を有する者であれば、本発明の技術的思想を容易に実施できるであろう。本発明について説明するにあたり、本発明に関連する公知技術についての具体的な説明が本発明の要旨を不明にすると判断される場合は詳細な説明を省略する。以下、添付図面を参照して、本発明の好ましい実施形態について詳細に説明する。図面における同一符号は同一または類似の構成要素に付すものであり、明細書及び請求の範囲に記載されている全ての組み合わせは任意の方法で組み合わせることができるものである。また、特に断らない限り、単数で言及したものが複数であってもよく、単数表現に複数表現が含まれるものと理解されるべきである。
【0014】
本明細書における「知識グラフ」は、グラフを用いて実装された知識ベースを意味するものである。知識ベースは、人間の脳をデータベース化し、大規模なデータから有意味な情報を導出する技術であって、知識は、規則、意味網、フレームを用いて表現されてもよく、論理またはグラフを用いて表現されてもよい。グラフを用いて知識ベースを実装する場合、グラフは、ノード(node)と辺(edge)で構成され、ノードには様々な主体の情報を有する「オブジェクト」が、辺には、オブジェクト間の相関関係が定義される。グラフベースの知識ベースを構築すると、人間が覚えることが困難である大規模なデータをデータベース化することができ、機械を介して隠された意味を見つけることができる。
【0015】
本明細書における「多機種データ」は、ダークウェブまたはサービスウェブ、SNSなどから収集されるデータであって、ウェブページから収集することのできるあらゆる種類のコンテンツを意味し、その方法には、ウェブクローリング、ウェブスクレイピングなどが含まれ、特定の方法によって制限されるものではない。本明細書において、多機種データは、前述したオブジェクト(これは人であってもよく、物であってもよい)に関連するすべての様々な種類のデータを意味する。例えば、オブジェクトが特定人Aである場合、Aについてウェブまたはアプリから収集したAの性別、年齢、ID、名前、趣味、いいね!を押したテキストやオブジェクトの種類、Aが属しているグループ、Aの友達リスト、Aの位置、Aの住所、居住地、Aがよく行く地域、Aが好きなお店または商品の情報、特定のサイトまたはSNSの会員登録日付、最近の活動内容、投稿時間などのユーザ情報や、Aが物Bを取引するために投稿した場合、取引物Bの種類、数量、内訳、AがBを取引しようとする時間、取引方法、Bの名称、画像、取引しようとする価格(言い値)、交渉可能かどうか、口座情報(暗号通貨アドレスを含む)、取引情報を問い合わせたユーザの情報なども多機種データに含まれる。多機種データは、知識グラフを構築するためのものであり、本発明において暗号通貨ネットワークグラフを構築するための「ブロックチェーンデータ」(ブロックチェーンの分散元帳情報から抽出したデータ)と区別される概念である。即ち、多機種データは、分散元帳や取引所の記録のみでは把握することが困難な情報を含んでいる。
【0016】
本明細書のブロックチェーンデータは、暗号通貨取引を識別することができるデータであり、分散元帳に記録される、前のブロックの情報、登記タイムスタンプ、以前のトランザクションのハッシュ値のような取引の特性が含まれてもよい。本発明によると、ブロックチェーンデータを用いて暗号通貨ネットワークグラフを生成することができ、暗号通貨ネットワークグラフを用いると、暗号通貨取引の経路追跡が可能である。
【0017】
多機種データを用いて生成された知識グラフと、ブロックチェーンデータを用いて生成された暗号通貨ネットワークグラフは、異なる層を構成してもよく、多層において共通するオブジェクト(ノード)が垂直に接続(マッピング)され、多層ベースの取引分析知識グラフが生成される。本発明に係る多層ベースの取引分析知識グラフを用いると、より迅速に取引主体を確認することができ、取引主体が属する組織の情報などを素早く把握することができる。また、取引情報を基に検索や照会、分析、追加情報を確認せずとも迅速に取引主体とオブジェクトに関する情報を把握することができることから、従来の技術とは差別化された効果を有する。
【0018】
図1は、本発明の一実施形態に係る暗号通貨取引の分析システムの説明図である。図1を参照すると、本発明の一実施形態に係る暗号通貨取引の分析システム100は、ユーザインタフェース部105、ブロックチェーン管理部110、多機種データ管理部130、グラフ生成部150、グラフ分析部170、及び保存部190を含んでいてもよい。
【0019】
ユーザインタフェース部105には、暗号通貨ネットワークグラフと多機種データをベースにした知識グラフに対する検索及び分析結果を提供するグラフィカルユーザインタフェース(GUI)、ユーザ定義アプリケーション、プログラミングインタフェース(API)が含まれてもよい。ブロックチェーンデータ及び多機種データから抽出したオブジェクトは、少なくとも1つの属性(property)を有し、グラフをベースにしたGUIは、オブジェクト間の関係及び属性を提供し、各オブジェクトに対して追加の分析メニュー及び分析方法を提供してもよい。
【0020】
ユーザインタフェース部105は、システム環境設定、グラフの構築及び強化、グラフ検索、グラフ分析、及びグラフの動的アラーム設定のためのAPIをユーザ定義アプリケーションに提供してもよく、前記APIを介してユーザ30から設定情報及び質問などを受信して取引の分析に適用し、取引の分析結果を提供してもよい。
【0021】
システム環境設定に関連して、ユーザインタフェース部105は、グラフの構築のために、データ収集モジュール113,131が収集するか、あるいは排除すべきリスト、及び/または範囲のような収集データ範囲の設定情報、動的データ分析モジュール115,135のリアルタイムデータ分析可否の設定情報のようなデータ分析活性の設定情報、ストレージに対するグローバル環境の設定、知識グラフを構築するための関係定義スキーマ、及びその他のシステム動作に必要な設定情報を受信するためのAPIをアプリケーションに提供してもよい。
【0022】
知識グラフの構築及び強化に関連して、ユーザインタフェース部105は、ドメインのようなデータ収集のシード情報、分析結果に対するタグ情報、知識グラフ構成の変更要求のような分析情報の入力やその他の知識グラフを補強できる情報をユーザ30から受信するためのAPIをアプリケーションに提供してもよい。
【0023】
知識グラフ検索に関連して、ユーザインタフェース部105は、全文(full-text)検索、類似度ベースの検索、部分集合検索など、知識グラフのオブジェクト(object)及び属性(property)に対する検索のためのAPIをアプリケーションに提供してもよい。
【0024】
知識グラフの分析に関連して、ユーザインタフェース部105は、資金フローの追跡、サブグラフの類似度分析など、グラフアルゴリズム及び内部アルゴリズムに基づく知識グラフの分析に関する情報を提供するAPIをアプリケーションに提供してもよい。
【0025】
知識グラフの動的アラームの設定に関連して、ユーザインタフェース部105は、知識グラフに対する特殊状況設定及びアラーム設定APIをアプリケーションに提供してもよい。
【0026】
ブロックチェーン管理部110は、特定の暗号通貨に対応するブロックチェーンの分散元帳情報を収集し、前記分散元帳情報から抽出したブロックチェーンデータを定型化する構成であり、ブロックチェーンデータ収集モジュール113、ブロックチェーンデータ分析モジュール115、及びブロックチェーンデータ定型化モジュール117を含んでいてもよい。
【0027】
ブロックチェーンデータ収集モジュール113は、少なくとも1つの暗号通貨クライアント50を実行してブロックチェーンの分散元帳情報を収集してもよい。暗号通貨クライアント50を実行するか否かは、ユーザの要求によって行われる。ブロックチェーンデータ収集モジュール113は、前記暗号通貨クライアント50がAPIを提供する場合、暗号通貨クライアント50のAPIに取引情報を要求し、要求に対応する分散元帳情報を収集してもよい。仮に暗号通貨クライアント50が外部APIを提供しない場合には、ブロックチェーンデータ収集モジュール113は、暗号通貨クライアント50が管理するブロックデータを解析(parsing)して、分散元帳情報を収集してもよい。
【0028】
ブロックチェーンデータ分析モジュール115は、分散元帳に含まれていない追加情報を取得するために分散元帳情報を分析するモジュールであり、前記分散元帳情報に含まれる暗号通貨アドレスの所有者を推定するために、前記暗号通貨アドレスをグループ化してもよい。
【0029】
暗号通貨アドレスのグループ化には、取引の送信アドレスとして用いられる仮想通貨アドレス(public key)に相当する秘密鍵(private key)の所有有無で送信アドレスの集合をグループ化するマルチ入力ヒューリスティックアルゴリズム、送金後の残高が返金されるアドレスを用いて、同じ所有者であると推定される複数のアドレスをグループ化するアドレス変更ヒューリスティックアルゴリズムとのうち少なくとも1つを用いてもよく、その他にも、ユーザが定義したヒューリスティックアルゴリズムが用いられてもよく、ユーザコマンドによってアドレスのフィルタリング及び/またはアドレスグループ化が行われてもよい。
【0030】
マルチ入力ヒューリスティックアルゴリズムは、1つの取引に複数の入力アドレスと複数の出力アドレス(または対象アドレス)が用いられ得る暗号通貨取引の属性を利用したものである。1つの取引に入力アドレス(public address)a、b、cが含まれている場合、a、b、cは、同じ所有者の口座である可能性が高い。従って、ブロックチェーンデータ分析モジュール115は、a、b、cを所有者Xのアドレスとしてグループ化(grouping)する。
【0031】
また、マルチ入力ヒューリスティックアルゴリズムを利用すると、入力アドレスa、b、cが含まれている取引1と、入力アドレスc、d、eが含まれている取引2が存在する場合、a、b、c、d、eの所有者が同一であると推定することができる。そして、ブロックチェーンデータ分析モジュール115は、アドレスa、b、c、d、eを所有者Xのアドレスとしてグループ化する。
【0032】
アドレス変更ヒューリスティックアルゴリズムは、暗号通貨取引が行われるたびに残高返金のためのアドレスが新たに生成される特徴を利用したものである。例えば、アドレスaに10ビットコインが含まれているUTXO(unspent transaction output)を所有したXが、Yに8ビットコインを送金するとき、Xには新しいアドレスa´が生成され、a´に残高の2ビットコインが入金される。従って、ブロックチェーンデータ分析モジュール115は、aとa´を同じ所有者のものと判断することができ、aとa´は、所有者Xのアドレスとしてグループ化される。
【0033】
ブロックチェーンデータ定型化モジュール117は、分散元帳情報及び前記データ分析モジュールから分析した暗号通貨アドレスのグループ情報が含まれるブロックチェーンデータを予め設定された基準に基づいて定型化してもよい。分散元帳情報には、ブロックの生成時間、入力/出力金額、取引手数料、前のブロック、次のブロックなどの暗号通貨ブロックデータ、取引量、手数料、入力/出力暗号通貨アドレスなどのブロック内の取引情報が含まれてもよい。故に、定型化されたブロックチェーンデータには、様々な暗号通貨の分散元帳情報に含まれた暗号通貨ブロックデータと、ブロック内の取引情報とが含まれてもよく、暗号通貨の種類とブロックチェーンデータ分析モジュール115で分析した暗号通貨アドレスのグループ情報が含まれてもよい。
【0034】
ブロックチェーンデータ定型化モジュール117は、保存部190で定型化されたブロックチェーンデータを管理し、外部からの要求を受信すると定型化されたブロックチェーンデータを伝達する機能を果たしてもよい。また、ユーザの要求に応じてブロックチェーンデータを更新してもよい。
【0035】
多機種データ管理部130は、ウェブ上で前記暗号通貨取引に関連する多機種データを収集して定型化する構成であり、多機種データ収集モジュール131、多機種データ分類モジュール133、多機種データ分析モジュール135、及び多機種データ定型化モジュール137を含んでいてもよい。
【0036】
多機種データ収集モジュール131は、ウェブ上で前記暗号通貨取引に関連する多機種データを収集してもよい。違法な資金のフロー(流れ)を追跡しようとする場合、多機種データ収集モジュール131は、ダークウェブ(Dark Web)または表層ウェブ(Surface Web)からデータを収集してもよい。ダークウェブは、匿名のルーティング技術(Tor)を用いてユーザの身元を隠すウェブであり、有害広告の送出、麻薬取引などの違法な取引、各種金融犯罪に利用されている。暗号通貨は、違法な取引に盛んに用いられているので、違法な資金のフローを追跡し、資金の所有者を識別するために、違法な取引が行われるダークウェブデータを収集することは意味がある。さらに、多機種データ収集モジュール131は、フォーラムやソーシャルネットワークサービス(SNS)のような深層ウェブ(DeepWeb)からデータを収集してもよい。多機種データ収集モジュール131は、ユーザからの入力を受けたデータを多機種データとして収集し、知識グラフの生成に用いてもよい。例えば、ユーザが「Aというビットコインアドレスは、チョルスのものである」という情報を入力すると、ビットコインアドレスAとチョルスは、暗号通貨アドレス-所有者の関係で知識データ生成に用いられる。
【0037】
多機種データ収集モジュール131は、クローラを用いてウェブページをクロールすることができるが、クロールされたウェブページにハイパーリンクが存在する場合は、ハイパーリンクを介してリンクされたウェブページをさらにクロールする方法で多機種データを収集することができる。ユーザがシード情報を提供すると、多機種データ収集モジュール131は、シード情報に対応するウェブページをクロールする。シード情報には、ドメイン、URL、ハッシュタグ、キーワードなどが含まれてもよい。例えば、ユーザが、違法な資金が用いられることが予想されるダークウェブの特定アドレスをシード情報として提供すると、多機種データ収集モジュール131は、前記アドレスに対応するウェブページをクロールし、クロールしたデータから他のウェブサイトに繋がるリンクを抽出して、データのコーパスを拡張する。
【0038】
多機種データ分類モジュール133は、取引属性またはデータソース(ドメイン、URL)に基づいて多機種データを分類してもよい。
【0039】
例えば、収集されたウェブページに寄附のお願い、知識共有、エスクロー確認、ユーザの識別、製品広告、法律サービスの提供などの内容が含まれている場合、同ウェブページに含まれたデータは、合法的なデータに分類する。他の実施形態として、多機種データ分類モジュール133は、機械学習を介してウェブページの構造を学習して分類を行ってもよい。例えば、多機種データ分類モジュール133は、HTMLのテーブルやXML構造などを用いてウェブページの構造情報を学習し、新しいウェブページの構造情報を比較して類似ページを分類する。
【0040】
多機種データ分析モジュール135は、ウェブページ内に存在する暗号通貨取引情報を抽出するモジュールであり、前記多機種データから暗号通貨アドレス、取引情報、コンテンツ類型、またはユーザ情報のうち少なくとも1つを抽出してもよい。ユーザ情報には、ユーザID、ユーザ名、投稿時間、友人リスト、会員登録日付、最近の活動内容などが含まれてもよい。その他、ユーザが特定のデータを定義すると、多機種データ分析モジュール135は、多機種データからユーザが定義したデータを抽出する。
【0041】
多機種データ定型化モジュール137は、多機種データ分析モジュール135から抽出された情報を、予め設定された基準に基づいて定型化してもよい。多機種データ分析モジュール135から抽出された情報は、ドメイン、URL、コンテンツ内容などが異なるので、多機種データ定型化モジュール137は、抽出したデータのカテゴリとは関係なくデータを活用させるために、抽出されたデータを定型化する作業を行ってもよい。例えば、分析モジュール135から抽出した情報と追加のメタ情報を入力して、[データソース、暗号通貨の種類、カテゴリ]の順に定型化する。
【0042】
グラフ生成部150は、前記定型化されたブロックチェーンデータを用いて暗号通貨ネットワークグラフを構築し、前記定型化された多機種データを用いて知識グラフを構築し、前記暗号通貨ネットワークグラフと前記知識グラフをマッピングして多層ベースの取引分析知識グラフを生成する構成であり、暗号通貨ネットワークグラフ生成モジュール151、知識グラフ生成モジュール153、及び取引分析知識グラフ生成モジュール155を含んでいてもよい。
【0043】
暗号通貨ネットワークグラフ生成モジュール151は、定型化されたブロックチェーンデータから抽出した第1のオブジェクトまたは第1の属性で第1のノードを生成し、各ノード間の関係(edge)を用いて暗号通貨ネットワークグラフを構築してもよい。例えば、暗号通貨入力アドレス(オブジェクトノード)-送付金額(エッジ)>取引ノード-送付金額(エッジ)>暗号通貨出力アドレス(オブジェクトノード)のようなネットワークグラフや、グループ情報が反映された所有者X(オブジェクトノード)-送付金額(エッジ)>取引ノード-送付金額(エッジ)>ランサムウェア(属性ノード)のようなネットワークグラフが生成される。前記説明における「>」は、方向性を示すものであり、本発明の一実施形態に係るエッジは、方向性を有する。
【0044】
暗号通貨ネットワークグラフは、分類されたカテゴリに応じて少なくとも1つの層(レイヤ)に表示されてもよい。図10を参照すると、暗号通貨の種類によって層が区分されている場合は、層#1(210a)にはビットコインデータが、層#n(210b)にはイーサリアムデータが表示される。その他にも、ユーザ定義による分類基準に基づき、暗号通貨ネットワークグラフは、多数の層に表示される。
【0045】
知識グラフ生成モジュール153は、定型化された多機種データから抽出した第2のオブジェクトまたは第2の属性で第2のノードを生成し、各ノード間の関係(edge)を用いて知識グラフを構築してもよい。例えば、知識グラフ生成モジュール153は、ウェブページから抽出したプロフィールデータを用いてユーザID(オブジェクトノード)-所有(エッジ)>暗号通貨アドレス(オブジェクトノード)のようなノード及びエッジを生成し、ウェブページから抽出した販売データを用いて暗号通貨アドレス(オブジェクトノード)-入金(エッジ)>製品(オブジェクトノード)のようなノード及びエッジを生成することで、知識グラフを構築する。知識グラフもまた、暗号通貨ネットワークグラフのように少なくとも1つの層に表示されてもよく(230a,230b)、多層構造を有してもよい。各層の知識グラフは、互いに異なるカテゴリに属してもよい。
【0046】
取引分析知識グラフ生成モジュール155は、互いに対応する第1のノードと第2のノードをマッピングして取引分析知識グラフを生成してもよい。例えば、暗号通貨ネットワークグラフ210の層#1(210a)に含まれているノード(A)がアドレスaに対応し、ノード(B)がアドレスbに対応し、2つのアドレスは、同じグループに属する関係であり、知識グラフの層#1(230a)に含まれているノード(C)が、暗号通貨アドレスbであると仮定しよう。ノード(B)とノード(C)は、同じ情報を含むため、相互マッピングされる(図8を参照)。即ち、取引分析知識グラフ200は、暗号通貨ネットワークグラフ210と知識グラフ230のノードが相互マッピングされた多層構造を有するので、取引分析知識グラフ200を用いると、暗号通貨ネットワークグラフ210の構成要素を知識グラフ230の構成要素を介して解析する作業が可能である。例えば、ノード(C)が、ユーザIDを表すノード(D)と所有者エッジで接続されている場合、アドレスaとbの所有者は、ノード(D)に対応するユーザIDを有する人であると判断する。
【0047】
グラフ分析部170には、取引分析知識グラフを分析するグラフ分析モジュール171と、金銭取引の類似度を分析する類似度分析モジュール173とが含まれてもよい。
【0048】
グラフ分析モジュール171は、暗号通貨取引の分析のために、取引分析知識グラフ200を分析してもよい。例えば、前記取引分析知識グラフにおいて、資金フローを追跡しようとする暗号通貨アドレスを入力アドレスとする取引情報を探索し、入力アドレスと出力アドレスをノードとする資金フローグラフを生成することで資金フローを追跡し、前記知識グラフを用いて資金フローグラフに含まれた各ノードの属性を識別する。
【0049】
さらに、グラフ分析モジュール171は、グラフアルゴリズムに基づいて取引分析知識グラフから暗号通貨取引の主なノードを追跡してもよい。例えば、中心性(Centrality)分析により、資金フローの中心ノードを抽出したり、特定の製品の資金フロー履歴に関するノードを抽出する。または、パス(path)分析により、オブジェクト間の金銭取引の相関関係を分析する。
【0050】
また、グラフ分析モジュール171は、汚染分析技術に基づいて暗号通貨の資金フローを追跡してもよいが、これについては図6ないし7、9ないし10を参照して後述する。
【0051】
類似度分析モジュール173は、知識グラフに基づいて金銭取引のパターンを導出してもよい。例えば、特定のユーザAによって、麻薬取引が暗号通貨取引サイトBで頻繁に行われる場合、知識グラフには、特定のユーザ-麻薬取引-暗号通貨取引サイトのノード及びエッジが複数存在するはずなので、類似度分析モジュール173は、知識グラフから前記内容を1つのパターンとして定義する。
【0052】
類似度分析モジュール173は、機械学習を用いて金銭取引パターンを学習してもよく、類似のパターンを導出してもよい。例えば、ノードに対する入力/出力レベル(degree)、関係(edge)に対するシーケンス、金額、その他のオブジェクト及びそのオブジェクトの属性(property)を学習することにより、パターンの学習を行う。また、類似度分析モジュール173は、動的にパターンを導出することにより、疑わしい金銭取引パターンが発生すると、アラームを生成してユーザに提供する。
【0053】
保存部190は、定型化されたブロックチェーンデータや定型化された多機種データ、グラフ生成部150で生成された暗号通貨ネットワークグラフ、知識グラフ、及び取引分析知識グラフなどを保存してもよい。保存部190は、暗号通貨取引の分析システム100に含まれてもよいが、暗号通貨取引の分析システム100の外部に構築されたデータベースであってもよい。
【0054】
以下では、図2ないし図10を参照し、本発明の一実施形態に係る暗号通貨取引の分析方法を説明する。
【0055】
図2は、本発明の一実施形態に係る暗号通貨取引の分析方法を説明するためのフローチャートである。図2を参照すると、電子装置は、特定の暗号通貨に対応するブロックチェーンの分散元帳情報を収集し、前記分散元帳情報から抽出したブロックチェーンデータを定型化する方法でブロックチェーンデータを管理する(S100)。次いで、電子装置は、ウェブ上で前記暗号通貨取引に関連する多機種データを収集して定型化する方法で、多機種データを管理する(S300)。電子装置は、前記定型化されたブロックチェーンデータを用いて暗号通貨ネットワークグラフを構築し、前記定型化された多機種データを用いて知識グラフを構築し、前記暗号通貨ネットワークグラフと前記知識グラフをマッピングして多層ベースの取引分析知識グラフを生成する(S500)。そして、電子装置は、前記取引分析知識グラフにおいて、資金フローを追跡しようとする第1の暗号通貨アドレスを入力アドレスとする取引情報を探索し、入力アドレスと出力アドレスをノードとする資金フローグラフを生成して資金フローを追跡し、前記知識グラフを用いて資金フローグラフに含まれた各ノードの属性を識別することにより、グラフ分析を行う(S700)。暗号通貨取引の分析方法を実行する電子装置は、コンピュータプロセッサ及び有線・無線通信モジュールを含む装置であって、ユーザ端末から設定情報、シード情報及び質問などを受信し、暗号通貨クライアント及びウェブから必要な情報を収集して、暗号通貨取引の分析方法の各ステップを実行する。
【0056】
図3を参照すると、ステップ100において、電子装置は、少なくとも1つの暗号通貨クライアントを実行し、ブロックチェーンの分散元帳情報を収集するブロックチェーンデータを収集し(S130)、前記分散元帳情報を用いて、同じ所有者であると推定されるアドレスをグループ化するなど、ブロックチェーンデータを分析する(S150)。電子装置は、ステップ150において取引の送信アドレスとして用いられる仮想通貨アドレスに相当する秘密鍵の所有有無で送信アドレスの集合をグループ化するマルチ入力ヒューリスティックアルゴリズムを用いて、1つの取引に含まれる複数の入力アドレスをグループ化したり、あるいは同じアドレスを含む複数のグループを1つのグループにグループ化する。さらに、アドレス変更ヒューリスティックアルゴリズムを用いて、送金後の残高が返金されるアドレスを用いて、同じ所有者であると推定される複数のアドレスをグループ化する。
【0057】
次いで、電子装置は、前記分散元帳情報及び前記データ分析モジュールから分析したグループ情報が含まれるブロックチェーンデータを予め設定された基準に基づいて定型化する(S170)。
【0058】
図4を参照すると、ステップ300において、電子装置は、ウェブ上で前記暗号通貨取引に関連する多機種データを収集し(S310)、前記多機種データを取引属性に基づいたカテゴリ別に分類し(S330)、前記多機種データから暗号通貨アドレス、取引情報、またはユーザ情報のうち少なくとも1つを抽出し、多機種データを分析する(S350)。そして、前記抽出した情報を、予め設定された基準に基づいて定型化する(S370)。
【0059】
図5を参照すると、ステップ500において、電子装置は、前記定型化されたブロックチェーンデータから抽出した第1のオブジェクトまたは第1の属性で第1のノードを生成し、ノード間の関係をエッジ(edge)で接続して、暗号通貨ネットワークグラフを構築し(S530)、前記定型化された多機種データから抽出した第2のオブジェクトまたは第2の属性で第2のノードを生成し、ノード間の関係をエッジで接続して、知識グラフを構築する(S550)。電子装置は、暗号通貨ネットワークグラフと知識グラフにおいて互いに対応する第1のノードと第2のノードをマッピングして取引分析知識グラフを生成する(S570)。
【0060】
図6ないし図8を参照し、ステップ700をより詳しく説明する。図6は、ステップ700において、資金フローグラフを生成するステップをより詳しく説明するためのフローチャートである。電子装置は、第1の暗号通貨アドレスから流れ出た資金フローを追跡しようとするとき、次のような方法で出力資金フローグラフを生成する。
【0061】
図6を参照すると、電子装置は、ステップaとして、まず、前記取引分析知識グラフにおいて、資金フローを追跡しようとする第1の暗号通貨アドレスを入力ノードとして指定し、前記入力ノードのアドレスを入力アドレスとする少なくとも1つの第1の取引情報を検索する(S713)。次いで、電子装置は、取引ノード、出力ノード及びエッジを生成する(S715)。ステップ715には、ステップb及びcが含まれる。ステップbは、前記第1の取引情報を用いて各取引に対する取引ノード(TX))を生成し、前記入力ノードと前記取引ノードを入力エッジ(TxIn)で接続するステップであり、ステップcは、前記第1の取引情報に含まれた出力アドレスに対応する出力ノード(Addr)を生成し、前記取引ノードと前記出力ノードを出力エッジ(TxOut)で接続するステップである。次いで、ステップdとして、電子装置は、前記入力エッジ及び前記出力エッジに対して送付された金額をラベリングし、出力が消費されていない取引に対応する出力エッジにはUTXOタグをラベリングする(S717)。送付金額及びタグのラベリングが完了すると、電子装置は、出力エッジにUTXOタグがラベリングされているか否かを確認し、UTXOタグがラベリングされていない出力エッジに対して、出力ノードを入力ノードとして指定することにより、ステップ713ないしステップ717を繰り返し行う。電子装置は、出力エッジにUTXOタグがラベリングされているか、あるいは第1の取引情報に含まれた出力アドレスが既に識別されたアドレスであると判断すると、そのエッジに接続されている出力ノードに対しては、グラフ生成を終了する。
【0062】
資金フローグラフを生成する方法の例としては、図11に示されている。図11は、違法なビットコインアドレス(illicit address)500から流れ出た資金フローを追跡するためのグラフであり、本発明の一実施形態に係る資金フローグラフは、資金フローを追跡しようとする第1の暗号通貨アドレスをルートノードとするルート有向グラフである。違法なビットコインアドレスから流れ出た資金フローを追跡しようとするときには、まず、違法なビットコインアドレスを入力ノード(ルートノード)として指定し、ルートノード500のアドレスを入力アドレスとする少なくとも1つの取引情報を検索する。それから、電子装置は、各取引に対する取引ノード(TX)を生成し、ルートノードにおいて取引ノード(TX)を入力エッジ(TxIn)に接続する。次いで、出力アドレスに対する出力ノード(Addr)を生成し、出力ノードを指す出力エッジ(TxOut)を用いて取引ノード(TX)と出力ノード(Addr)を接続する。生成された出力ノードのそれぞれに対応する出力アドレスを入力アドレスとする後続の取引を用いて、資金フローグラフを生成する。後続の取引は、現在の取引の出力(TxOut)が、次の取引の入力(TxIn)として消費される取引を意味する。図11に示すように、addr kを入力とする二つの取引(TX EとTX F)が存在しても、グラフ分析モジュール171は、TX Eを次の取引として追跡するため、入力エッジTxIn(e)のみが出力エッジTxOut(b)から消費されたものと分析する。取引TX Fで処理されたビットコインは、違法なビットコインアドレスではなくTxOut(c)から来ているため、本資金フローの追跡では捨てられる。電子装置のグラフ分析モジュール171は、違法なアドレス(ルートノード)から開始して、グラフに資金受信アドレスを追加し続けることにより、グラフを拡大する。グラフ分析モジュール171は、最後の出力ノードがUTXOタグ付きのTXOutエッジであると識別されるまで、グラフの取引ノード及び出力ノードを繰り返し追加する。また、グラフ分析モジュール171は、グラフに新しいアドレスノードを追加するとき、暗号通貨サービスプロバイダの暗号通貨アドレスを探し出し、その情報を該当するアドレスグループ(クラスタ)にタグ付けする。アドレスが周知のサービスプロバイダの所有であるときは、グラフ分析モジュール171は、ノードにサービス名をラベリングし、次の取引情報の探索を中止する。
【0063】
本発明の一実施形態に係る違法な資金の追跡の最終宛先となるサービスプロバイダの一例としては、暗号通貨の交換が行われる取引所やウォレットサービスプロバイダ、ポーカーやカジノのようなオンラインギャンブルサイト、違法な製品を販売または購入できる販売所、匿名性を高めるために暗号通貨を洗浄する業者などが挙げられる。
【0064】
ステップ700において、資金フローグラフの生成が完了すると、電子装置またはグラフ分析モジュール171は、資金フローを定量化することにより、資金フローを追跡する。資金フローの追跡は、あるアドレスから別のアドレスに送付された暗号通貨の量を定量化する方法を用いて行われる。
【0065】
出力資金フローを追跡するために、電子装置は、第1の取引ノードに接続されたすべての出力エッジにラベリングされた金額の合計に対して、第1の出力エッジにラベリングされた金額の割合を第1の出力エッジの汚染率として演算し(S731)、第1の取引ノードと入力エッジに接続された第1の入力ノードの汚染値と第1の出力エッジの汚染率を用いて、第1の出力エッジに接続された第1の出力ノードの汚染値を算出する(S733)。ルートノードの汚染値は1である。電子装置は、第1の出力ノードの汚染値を第1の暗号通貨アドレスから受信された資金の割合で判断することにより、資金フローを識別する(S735)。
【0066】
出力資金フローの追跡にあたって、汚染値は、資金フローを追跡しようとする第1の暗号通貨アドレス(最初の入力アドレス)から各宛先アドレス(出力アドレス)に送付された暗号通貨の割合を意味する。
【0067】
以下の数1(以下「数式1」という。)ないし数3(「数式3」という。)は、本発明の一実施形態に係る資金フロー計量化の方法を、数式で表したものである。
【0068】
【数1】
【0069】
入力ノードの汚染値
は、数式1に示されている。数式1において、
は、イグジット取引tと宛先暗号通貨アドレスbに到達する次の取引の集合を含むj番目の取引のセットであり、取引ptは、集合
に属する取引の1つである。さらに、
は、取引ptの出力エッジiの金額であり、
は、
に属する次の取引で消費された後続の出力エッジに対応する金額である。即ち、現在の取引において出力に属する値を、現在の取引に属するすべての出力値で割った割合を乗じていく。また、現在の取引において、出力が消費される次の取引(next transaction)を継続して追っていき、
に属するすべての取引で計算されるすべての出力金額に対する割合を乗ずる。最終的に、それぞれの取引集合jに対して乗じた値をすべて合算して入力ノードaから取引tを開始とし、出力ノードbに向かう汚染値を計算する。
【0070】
【数2】
【0071】
数式2は、入力アドレスaから各資金出金取引への資金フローの割合を反映するために、取引tにおける入力資金の一部を、入力資金の合計で割った値を示す正規関数で汚染率(
)を定義したものである。入力エッジのアドレスが入力(Input)ノードのアドレスaと同じであるすべての入力エッジに対して、
は、取引tにおける入力エッジiの金額であり、
は、すべての出金取引に対する取引kの入力エッジiの金額を示す。割合を計算するために、取引tの入力エッジに該当する金額の合計をすべての出力取引Tに属する入力エッジ金額の合計で割る。
【0072】
【数3】
【0073】
数式3は、最終汚染値
に対する数式である。最終汚染値
は、各取引tに対する汚染率と入力ノードの汚染値を乗算し、すべての出力取引Tに属する取引tに対して計算した値を合算して算出する。
【0074】
汚染値の算出方法を説明するために、資金フローを追跡しようとする違法なビットコインアドレス500をルートノードとする資金フローグラフを図12に示す。違法な資金の量が10BTCであるとき、取引ノードTX1を介して、二つの異なるビットコインアドレスであるBTC1とBTC2に資金が送付される。ここで、違法な資金の20%はBTC1に、80%はBTC2に送付される。取引ノードTX1における出力エッジにはUTXOタグがラベリングされているので、BTC1の最終汚染値が算出され、BTC1の最終汚染値は20%である。取引ノードTX2を横切って各出力アドレスに送付された総出力量の割合に基づいて、各出力ノードの最終汚染値を計算すると、BTC3の最終汚染値は16%(0.8*0.2=0.16)であり、BTC4とBTC5の最終汚染値は、それぞれ24%(0.8*0.3=0.24)及び40%(0.8*0.5=0.4)である。TX1及びTX2のBTC1とBTC3に対する出力は、未使用のままであり、BTC4及びBTC5は、周知のビットコインサービスプロバイダ(即ち、交換サービス)によって所有されるので、グラフ分析モジュール171は、更なる次の取引を追跡することができない。図10の実施形態では、10個の違法なビットコインのうち、36%のビットコインが未使用状態で残っており、64%のビットコインが取引所のような交換(exchange)カテゴリのアドレスに送金されたものと推定することができる。このように、本発明によれば、暗号通貨の匿名性にもかかわらず、如何に多額の違法な資金がどこに流入されたかを把握することができる。
【0075】
ステップ700の他の実施形態として、図7を参照すると、電子装置は、入力資金フローを追跡するための入力資金フローグラフを生成し、入力資金フローを追跡する。入力資金フローの追跡は、前述した出力資金フローグラフの生成及び出力資金フローの追跡を逆に行うことでなされる。例えば、入力資金フローグラフは、取引分析知識グラフにおいて、入力資金フローを追跡しようとする第2の暗号通貨アドレスを出力ノードに指定し、出力ノードのアドレスを出力アドレスとする少なくとも1つの第2の取引情報を検索するステップa´(S723)、第2の取引情報を用いて各取引に対する取引ノード(Tx)を生成し、出力ノードと取引ノードを出力エッジ(TxOut)で接続するステップb´及び第2の取引情報に含まれる入力アドレスに対応する入力ノード(Addr´)を生成し、取引ノード(Tx)と入力ノードを入力エッジ(TxIn)で接続するステップc´(S725)、入力エッジ及び出力エッジに対して送付された金額をラベリングするステップd´(S727)、及び第2の取引情報に含まれる入力アドレスが既に識別されたアドレスであると判断されるまで、入力ノードを出力ノードとして指定して、ステップa´ないしd´を繰り返し行う(S729)ことによって生成される。即ち、入力資金フローグラフの生成は、追跡対象となるノードを最下位ノードとして、そのノードに暗号通貨を送付した上位ノードを探索する過程である。
【0076】
ステップ719及び729の場合、特定の条件を設定し、その条件が満たされるまで資金フローグラフを生成することもできるが、ユーザがノード生成の深さ(depth)を設定し、所望の深さでグラフを生成してもよい。
【0077】
入力資金フローの追跡に当たって、図9を参照すると、電子装置は、第2の取引ノードに接続されたすべての入力エッジにラベリングされた金額の合計に対して、第2の入力エッジにラベリングされた金額の割合を前記第2の入力エッジの汚染率として演算し(S751)、前記第2の取引ノードと出力エッジに接続された第2の出力ノードの汚染値と前記第2の入力エッジの汚染率とを用いて、前記第2の入力エッジに接続された第2の入力ノードの汚染値を算出し(S753)、前記第2の暗号通貨アドレスに流入した資金の割合で、前記第2の入力ノードの汚染値を判断する(S755)。
【0078】
本発明の実施形態による装置及び方法は、様々なコンピュータ手段を介して実行することのできるプログラム命令形態で具現され、コンピュータ可読媒体に記録されてもよい。コンピュータ可読媒体には、プログラム命令、データファイル、データ構造などが単独でまたは組み合わせて含まれてもよい。コンピュータ可読媒体に記録されるプログラム命令は、本発明のために特別に設計且つ構成されたものであるか、あるいはコンピュータソフトウェア分野の当業者に公知となって使用可能なものであってもよい。コンピュータ可読記録媒体の例としては、ハードディスク、フロッピーディスク、及び磁気テープのような磁気媒体(magnetic media)、CD-ROM、DVDのような光記録媒体(optical media)、フロップティカルディスク(floptical disk)のような光磁気媒体(magneto-optical media)、及びロム(ROM)、ラム(RAM)、フラッシュメモリなどのようなプログラム命令を保存して実行できるように特別に構成されたハードウェア装置が挙げられる。また、前述の媒体には、プログラム命令、データ構造などを指定する信号を伝送する搬送波が含まれる光または金属線、導波管などの伝送媒体であってもよい。プログラム命令の例には、コンパイラによって生成されるような機械語コードのみならず、インタプリタなどを用いて、コンピュータによって実行され得る高級言語コードが含まれる。前述したハードウェア装置は、本発明の動作を実行するために、少なくとも1つのソフトウェアモジュールとして動作するように構成されてもよく、その逆もまた同様である。
【0079】
本明細書において省略された一部の実施形態は、その実施主体が同一であれば同様に適用することができる。また、前述した本発明は、本発明の属する技術分野における通常の知識を有する者であれば、本発明の技術的思想を逸脱しない範囲で様々な置換、変形及び変更が可能であるので、前述した実施形態及び添付図面に限定されるものではない。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12