近年、USDTやUSDCといったステイブルコインの決済利用が増加しています。国境を越えた送金やDeFi(分散型金融)での運用など、その利便性は高いですが、システムを監視しているエンジニアやコンプライアンス担当者にとっては、課題も多いのではないでしょうか。
「アラートが多すぎて、本当に危険な取引を見逃してしまう」
「新しい手口の不正送金に対応するためのルール追加が追いつかない」
このような課題に対し、秒間数千トランザクションにも及ぶ高速なデータの流れの中で、従来の「ルールベース」のアプローチだけで不正を食い止めるのは、限界に達しつつあります。
この記事では、大規模な暗号資産プラットフォームにおいて、ディープラーニングを用いた異常検知システムを構築し、現場が抱える「誤検知の嵐」と「未知の脅威」という二重苦を解決するアプローチを紹介します。技術的な詳細を交えながら、その開発の要点を解説します。
特に、AI導入において課題となる「なぜAIがそれを異常と判断したのか(説明可能性)」という問題に対し、どのように向き合い、解決策を実装するのか。この部分は、これからAI導入を検討されている方にとって参考になるはずです。
1. プロジェクト背景:秒間数千トランザクションの壁と「ルールベースの限界」
月間数億ドル規模のステイブルコイン取引を処理するプラットフォームの事例では、ビジネスの拡大に伴い、セキュリティチームとコンプライアンスチームは多くの課題を抱える傾向にあります。
急増するUSDT/USDC取引と比例するリスク
ステイブルコインは、その性質上、法定通貨と同様に頻繁に送金が行われます。ビットコインのような「価値の保存」としての側面よりも、「交換媒体」としての利用が主だからです。そのため、トランザクション数は膨大になります。
大規模なシステムでは、1日あたり数十万件のトランザクションが発生しており、ピーク時には秒間数千件に達することもあります。これだけの量があると、わずか0.1%の不正取引が混ざり込むだけで、無視できない被害額になります。さらに、ステイブルコインはマネーロンダリング(資金洗浄)の温床になりやすく、規制当局からの監視も厳しくなっています。
従来型ルールベース検知が抱えていた「イタチごっこ」の構造的欠陥
従来運用されてきたのは、典型的なルールベースの監視システムです。
- 「1万ドル以上の送金があったらアラート」
- 「ブラックリストにあるアドレスからの入金はブロック」
- 「短時間に5回以上の送金があれば警告」
こうした静的なルール(閾値)は、導入当初こそ機能しますが、攻撃者はすぐにこれに適応します。たとえば、「1万ドル以上」というルールがあれば、9,900ドルに分割して送金する「スマーフィング」という手法を使います。これに対抗して「9,000ドル以上」に閾値を下げれば、今度は一般ユーザーの正常な取引までアラートに引っかかってしまいます。
ルールを追加すればするほどシステムは複雑化し、メンテナンスコストは肥大化します。攻撃者はさらにその裏をかく新しい手口を編み出すため、まさに終わりのない「イタチごっこ」に陥りがちです。
誤検知(False Positive)によるオペレーションコストの肥大化
最も深刻なのは、誤検知(False Positive)の多さです。安全のために閾値を厳しく設定せざるを得ないため、アラートの95%以上が実際には問題のない取引となるケースも珍しくありません。
コンプライアンス担当者は、毎日何百件ものアラートを目視で確認し、「これは誤検知、これも誤検知…」と処理していく作業に追われることになります。これでは、本当に危険な1件のアラートが埋もれてしまい、見逃すリスクが高まります。いわゆる「オオカミ少年」状態です。
こうした背景から、AIによるアプローチへの転換を検討する企業が増えています。静的なルールではなく、データから動的に「異常」を学習するシステムへの移行が求められています。
2. 技術選定の岐路:なぜ「教師なし学習」と「グラフニューラルネットワーク」だったのか
AIを実業務に導入するにあたり、利用可能な手法は無数に存在します。どのモデルアーキテクチャを採用すべきか、システムの要件に合わせて慎重に評価しなければなりません。暗号資産やステイブルコインの異常検知において直面する最大の壁は、「確定した不正データが極端に少ないこと」と「取引関係が非常に複雑であること」の2点です。
検討された3つのモデル候補
一般的に、こうした不正検知システムの初期段階では、以下の3つのアプローチが有力な候補として比較検討されます。
決定木・勾配ブースティング(XGBoost等):
テーブルデータ(行と列で構成される構造化データ)に対して極めて強力な性能を発揮します。処理速度が速く、どの特徴量が予測に寄与したのかというモデルの解釈性も高いのが特徴です。しかし、各取引を独立した行として扱うため、取引間の「つながり」や資金の流れを考慮するには、非常に複雑な特徴量エンジニアリングを人手で設計する必要があります。LSTM(Long Short-Term Memory)と系列モデル:
時系列データ(取引の順序や時間的な変化)を扱うアプローチです。LSTMは、機械学習の基礎アーキテクチャであるRNN(リカレントニューラルネットワーク)の課題であった勾配消失問題を克服する手法として、時系列処理の標準的な選択肢となってきました。近年では、逐次処理の限界を突破し並列処理を可能にしたTransformer(Attention機構)が台頭し、処理速度と精度が飛躍的に向上しています。
しかし、LSTMやTransformerのような系列データを前提としたモデルであっても、アドレス間の複雑なネットワーク構造(グラフ)を直接学習することは構造的に困難です。資金洗浄のように、多数のアドレスを複雑に経由して資金が移動する場合、単なる時系列の前後関係だけでは、背後にあるネットワーク全体のパターンを捉えきれないという限界があります。GNN(Graph Neural Networks):
アドレスを「ノード」、取引を「エッジ」として、データ間の関係性(ネットワーク構造)そのものを直接学習できるアプローチです。PyTorch GeometricやDGL(Deep Graph Library)といった専用ライブラリを用いて構築されることが多く、複雑な相互作用を自然な形でモデル化できます。そのため、近年では高度な不正検知や精緻なレコメンデーションの分野で急速に採用が進んでいます。
一般的な金融機関のクレジットカード不正検知などでは、XGBoostのような勾配ブースティング木が主力として活躍しています。しかし、ブロックチェーン上の取引データは、単独の行データではなく、「誰から誰へ、どのような経路で送られたか」というネットワーク構造自体に決定的な情報が含まれています。たとえば、出所を隠すために多数のアドレスを経由して最終的に一つのアドレスに資金を集約する「ファン・イン(Fan-in)」のような手口は、個々の取引を切り取って監視するだけでは到底見抜くことができません。
ラベル付きデータ不足を補うアプローチ
さらにシステム構築を困難にするのが、「過去の確定した不正データ(正解ラベル)」が圧倒的に不足しているという現実です。日々膨大に発生する全取引のうち、明確に「不正(黒)」と断定・ラベル付けできるデータはごくわずかしか存在しません。
この極端に不均衡なデータセットに対して一般的な「教師あり学習(Supervised Learning)」を適用すると、深刻な問題が発生します。モデルが「すべての取引は正常である」と予測するだけで、見かけ上の精度が99%を超えてしまうのです。これでは、実際の不正取引を一切検知できない無意味なシステムになってしまいます。
そこで有効なのが、「教師なし学習(Unsupervised Learning)」をベースにした異常検知のアプローチです。具体的には、圧倒的多数を占める「正常な取引パターン」の構造をAIに徹底的に学習させます。そして、入力された新しい取引が、学習済みの正常なパターンから統計的、あるいは構造的にどれほど逸脱しているかを計算し、その度合いを「異常スコア」として出力します。この手法を採用することで、過去に例のない未知の攻撃手法(ゼロデイ攻撃)であっても、通常の振る舞いと異なっていれば高い確率で検知できる基盤が整います。
オンチェーンデータの「関係性」に着目した理由
これらの技術的要件を総合的に評価した結果、GNN(Graph Neural Networks)とAutoencoder(自己符号化器)を組み合わせた教師なし学習モデルが、オンチェーンの不正検知における最適解の一つとして導き出されます。
そもそもブロックチェーンのデータは、構造的にグラフ(Graph)そのものです。GNNを活用すれば、ある特定のアドレスがどのような性質を持つ隣接アドレスと繋がっているのか、さらにはそのアドレスが属するコミュニティ全体がどのような振る舞いをしているのかという「文脈」を、高次元の埋め込みベクトル(Embedding)として表現・学習できます。
例えば、普段は個人の少額決済しか行っていないアドレス群の中に、突如として巨大な資金洗浄ネットワークの一部と密接に繋がるアドレスが現れたとします。GNNであれば、取引金額自体は小さくても、その背後で起きた「構造的な変化」を即座に検知できます。単一の取引データしか評価できない従来のツリー型モデルや、時間的な順序のみを追跡するLSTMやTransformerでは見逃してしまうような、「関係性の異常」を的確に捉え、被害を未然に防ぐことが可能になるのです。
3. 実装とチューニング:リアルタイム推論への挑戦
理論的なモデル選定が終わっても、それを実運用に耐えうるシステムとして実装するのは容易ではありません。特にブロックチェーンのスピードに追いつくためのパイプライン構築には工夫が必要です。
オンチェーンデータの抽出と特徴量エンジニアリングの苦労
まず、イーサリアムやトロンといったブロックチェーンノードからリアルタイムにデータを吸い上げ、加工するETL(Extract, Transform, Load)パイプラインが必要です。生のアドレスデータやハッシュ値だけではAIは学習できません。
以下のような特徴量(Feature)が設計されます。
- ノード特徴量: アドレスの残高、過去の取引回数、アカウント作成からの経過時間。
- エッジ特徴量: 送金額、ガス代(手数料)、タイムスタンプ。
- グラフ特徴量: 次数中心性(どれだけ多くのアドレスと繋がっているか)、クラスタリング係数。
特に効果的なのは、「ガス代」の異常値への着目です。攻撃者は、ネットワークが混雑している時でも急いで資金を移動させようとするため、相場よりも極端に高いガス代を支払う傾向があると考えられます。こうしたドメイン知識を特徴量に落とし込むことが重要です。
推論レイテンシを100ms以内に抑えるアーキテクチャ
取引が発生してから承認されるまでのわずかな時間、あるいは承認直後の数秒以内に異常を検知し、出金を保留にするなどのアクションを取る必要があります。推論レイテンシを可能な限り低く抑えることが重要です。
しかし、GNNは計算コストが高いモデルです。全トランザクションに対して巨大なグラフ全体の再計算を行うと、間に合わない可能性があります。そこで、「サブグラフ・サンプリング」という手法を採用し、対象となるアドレス周辺の局所的なネットワーク(k-hop近傍)だけを切り出して推論を行うことで、計算量を削減します。
コールドウォレットとホットウォレットの挙動学習
また、取引所特有の事情として、顧客資産を管理する「コールドウォレット」や、入出金用の「ホットウォレット」の存在があります。これらは一般ユーザーとは異なる巨額の資金移動を定期的に行います。これを異常と判定しないよう、既知の内部アドレスの挙動パターンを個別に学習させ、ホワイトリスト的な扱いとモデルによる学習を組み合わせる調整が行われることが一般的です。
4. 最大の障壁:「なぜ検知したか」を人間が理解できない
技術的な課題をクリアし、いざプロトタイプを現場に導入したとき、予想外の課題に直面することがあります。それは、AIの判断根拠を人間が理解できないという問題です。
コンプライアンス担当者からの課題
「この取引、AIが『異常スコア0.98』と判定していますが、具体的に何がおかしいんですか?」
「ディープラーニングモデルが、多次元の特徴量空間における逸脱を検知しました」と説明しても、納得してもらえないことがあります。顧客の口座を凍結するかどうかという重大な判断をしなければならない担当者にとって、「AIがそう言ったから」という理由だけで顧客に説明することはできないからです。
金融領域において、「説明可能性(Explainability)」のないAIは、実務に組み込みにくいという現実があります。いわゆる「ブラックボックス問題」です。
XAI(説明可能なAI)ライブラリの導入とSHAP値の活用
この問題を解決するために、SHAP (SHapley Additive exPlanations) という手法が導入されることが多くあります。これはゲーム理論に基づき、「その予測結果に対して、各特徴量がどれだけ寄与したか」を算出するものです。
これにより、単に「異常です」という結果だけでなく、「なぜ異常なのか」を分解して提示できるようになります。
- 送金額の大きさ:+0.2
- 送金先の新規性:+0.5
- 送金頻度の急増:+0.2
- 合計スコア:0.9
このように、判断の根拠を数値化することで、AIの思考プロセスを人間に翻訳することができます。
アラート画面への「判断根拠」可視化の実装
オペレーターが見る管理画面(ダッシュボード)を刷新し、アラートをクリックすると、取引詳細の横に「AI判断根拠」というパネルが表示されるように設計します。
そこには、「このアドレスは、過去24時間以内に作成されたばかりの10個の新規アドレスから、短時間に連続して資金を受け取っています(寄与度:高)」といった自然言語風の解説や、特徴量の寄与度を示す棒グラフが表示されます。
これにより、AIは「得体の知れない判定者」から、業務をサポートする「分析アシスタント」へと変わります。
5. 導入効果検証:誤検知率の改善と見逃し防止
システムを本番環境に段階的に導入していくと、その効果は数字として表れてきます。
誤検知率(False Positive Rate)の削減
最も期待されるのは、誤検知率の低下です。従来のルールベースでは、1日100件のアラートのうち95件が誤検知だった場合、新システムではアラート総数が減少し、実際に調査に値する疑わしい取引の割合が増加します。
これにより、コンプライアンスチームの工数は削減され、高度な調査や規制当局へのレポート作成など、人間にしかできない業務に集中できるようになります。
未知の資金洗浄パターンの早期発見事例
また、ルールベースでは検知できなかった新しい手口が発見されることもあります。AIが高い異常スコアを出した取引を調査した結果、複数の分散型取引所(DEX)とブリッジプロトコルを複雑に経由して資金を洗浄する、これまで見たことのないパターンが見つかるケースがあります。
これは特定の金額閾値には引っかからない巧妙なものですが、GNNが「資金の流れの不自然なループ構造」を検知することで明らかになります。この発見により、不正流出を未然に防ぐことが期待できます。
6. 担当者が語る「これから導入する企業」へのアドバイス
ステイブルコインや暗号資産の監視システムにAI導入を検討している企業に向けて、実務の観点からいくつかのアドバイスをまとめます。
AIは魔法ではない:データ品質管理(Data Quality)の重要性
まず、「AIを入れればすべて解決する」という認識は避けるべきです。AIの性能は、入力するデータの品質に大きく依存します。ブロックチェーンデータは一見きれいに見えますが、実際にはノイズが含まれています。スマートコントラクトの失敗トランザクション、テスト用の送金、エアドロップなど、学習を阻害するデータを適切に除去・加工する「データクレンジング」が極めて重要な工程となります。
モデルの劣化(Concept Drift)を防ぐ再学習パイプライン
次に、MLOps(Machine Learning Operations)の視点です。不正の手口は日々進化します。今日最適だったモデルも、時間が経つと陳腐化してしまう可能性があります(これをコンセプトドリフトと呼びます)。
一度作って終わりではなく、最新のデータを継続的に学習させ、モデルをアップデートし続けるパイプラインを設計段階から組み込む必要があります。定期的なモデル再学習と、パフォーマンス監視を自動化することが推奨されます。
段階的導入のすすめ:ハイブリッド運用から始める
最後に、いきなりAIに全権を委ねないことが重要です。最初は既存のルールベースシステムと並行稼働させ、AIのアラートは「参考情報」として表示する期間を設けるのが現実的です。
「Human-in-the-loop(人間がループの中にいる状態)」を維持し、AIの判断を人間が評価・フィードバックすることで、モデルはより賢くなり、現場の信頼も醸成されます。完全自動化を目指すのは、その信頼が十分に確立されてからでも遅くはありません。
まとめ
ステイブルコインの異常検知におけるAI活用は、単なる技術的なアップデートではありません。それは、増え続けるトランザクションと巧妙化する不正に対して、人間が主導権を取り戻すための手段です。
GNNによる複雑な関係性の学習と、XAIによる説明可能性の担保。この2つを組み合わせることで、セキュリティと運用効率は大きく向上します。
しかし、それぞれの企業のトランザクション特性やリスク許容度によって、最適なモデル設計は異なります。「自社のデータで本当に検知できるのか?」「どの程度コストがかかるのか?」といった疑問をお持ちの方もいるのではないでしょうか。
コメント