世界中で規制下に置かれている仮想通貨取引所はChainalysisなどのブロックチェーン解析企業と協力してAML対策を行っています。これらは基本的にはリスクベースアプローチを取っていて、全てのトランザクションについてリスクスコアを計算し、例えば取引所への入金トランザクションが不審な水準のスコアであれば追加の書類提出を求めたり、即時に口座を凍結するなどの対処が取られています。

これに関して、リスクスコアの計算方法について共有されている情報はかなり少ないですが、既知の犯罪関連アドレスやミキシングの利用が考慮されることは想像に難くありません。

しかし、ユーザー自身が自分のコインや、誰かから買おうとしているコインについてのリスクスコアやプライバシーの水準を測るツールが非常に少ないので、「やましいことをしていないのに取引所に入金したら凍結された」、「リスクの高いコインを掴まされた」、「(誤運用などにより)実はプライバシーが守れていなかった」といったケースも発生するでしょう。

そこで、誰でも任意のUTXOについてリスクスコアやプライバシーの度合いを測ることのできる、安全でオープンなツールの普及が期待されます。

今日のコラムは、オンチェーン取引の追跡可能性を可視化するKYCPというツールを紹介します。

KYCP (Know Your Coin Privacy)

銀行などが顧客の属性を把握するプロセスであるKYCをもじったネーミングのKYCPは、OXTというブロックチェーンエクスプローラーを活用してミキシングの有効度を測ることができるツールです。スマホだと見にくいので、PCからのアクセスをおすすめします。

検索する内容は暗号化されたままOXTに流れ、KYCPにログは残りません。OXTには記録は残りますので、その点で少しトラストが必要です(TorやVPNなどで対策しましょう)。KYCPのサイトの内容は全てGitHubで公開されています。

調べたいTXIDを入力して使います。まずはSamouraiが提供するWhirlpoolというCoinJoinの例を見ていきましょう。(KYCPはSamourai Wallet関係者が作ったようです)
https://www.kycp.org/#/323df21f0b0756f98336437aa3d2fb87e02b59f1946b714a7b09df04d429dec2



これは典型的なCoinJoinの途中段階で、画面上部を見ると
・No Address Reuse (入力・出力のアドレスともに1回限りの使用)
・No Input/Output Merge (ミキシング前後のトランザクションでUTXOがまとめられていない)
・1496 Interpretations, 100% Efficiency (1496通りの解釈があり、入力と出力を関連付けるのに総当たりと比較して100%の手間がかかる)
・25 Non-deterministic Links (Deterministic Linkとは確実に結び付けられるinputとoutputなので、この場合はありません)
・34% Max Linkability (ボルツマンスコアという、個々のinputとoutputを結び付けられる確率の最大値が34%)
と書いてあります。

他の例を見てみましょう。Wasabiを使ったミキシングの例です。


https://www.kycp.org/#/b3dcc5d68e7ba4946e8e7fec0207906fba89ccb4768112a25d6e6941f2e99d97

こちらはinputが59件、outputが120件とかなり大規模ですが、ちゃんとアドレスの再使用はありません。しかし、30 input, 62 output mergesとあるので、多くのUTXOを遡ると同じトランザクションにたどり着いたり、ミキシング後にまとめられてしまうことによって効果が減少しています。中央のオレンジ色のグラフが、inputとoutputすべてのうち同一人物と思われるものを結びつけています。このトランザクションでは、inputとoutputを繋ぐものはありませんが、入力前と出力後のmergingによってある程度参加者の様子が伺えます。

最後に、比較的スタンダードなトランザクションを見てみましょう。


https://www.kycp.org/#/722d83ae4183ee17704704bdf31d9e77e6964387f657bbc0e09810a84a7fbad2

スタンダードとは言っても大きいものなので、これを人力でブロックチェーンエクスプローラーを使って辿るのは大変です。しかし、KYCPを使うと、少なくともこのトランザクションにプライバシーがないことはわかります。

おわりに

トランザクションの追跡はブロックチェーン解析のごく一部に過ぎず、これだけではAMLに使用されるリスクスコアを計算することは難しいです。しかし、そのプロセスの一部であることに間違いはないので、将来的にKYCPの延長上のプロジェクトとしてユーザーが自身でAMLスコアを確認できるようなツールが登場してくれるといいなと思います。