調査ツールChainalysis Reactor、コンプライアンスツールChainalysis KYTにおいて、Dash及びZcashがサポートされるようになりました。これらはいわゆる「プライバシーコイン」と呼ばれるもので、プロトコルレベルでプライバシー機能が取り込まれている仮想通貨(暗号資産)です。現在これらの1日の取引額は、15億ドル相当となっています。
Chainalysisがどのようにプライバシーコインに対応するのか疑問に思う方もいるかもしれません。プライバシーコインはそもそも追跡を不可能にするために作られたのではないだろうかと。
実のところ、プライバシーコインだからといって追跡不能と言い切れるわけではありません。DashやZcashがどのような形でプライバシー機能を提供していて、それらが日々のトランザクションでどう使われているのかを考慮しないと、短絡的な見方になってしまいます。捜査官やコンプライアンス担当者は、利用者のプライバシーに関するニーズと業界のコンプライアンスに関するニーズのバランスをとりつつ、違法な活動について調査するわけですが、これがどのようにDashやZcashにも当てはめられるのかを本記事では解説します。
注: 通貨の種類としての名称を表す際には”Dash”や”Zcash”と表記しますが、実際に取引されるコイン(資金)そのものや通貨単位を指す場合には、それぞれ”DASH”、”ZEC”と表記します。
DashやZcashが提供するプライバシー
そもそもプライバシーコインが「プライバシーコイン」とみなされる理由は何なのでしょうか。
未だに多くの人がビットコインのトランザクションは非公開であると思っているようですが、これは誤解です。トランザクションやアドレス、残高の情報は全て公開されており、永続的な台帳に記録されます。Chainalysisは、コンプライアンスや捜査上の目的のために、トランザクションを分析し、オープンソースインテリジェンスを用いてアドレスと実世界のエンティティの紐付けを行っています。(ただし、Chainalysisはサービスの特定は行うものの、個人のウォレットのラベリングは行いません)
一般的に、プライバシーコインは上記のようなプロセスを困難にする機能をもっているものと言えます。ビットコインなどの既存のブロックチェーンの上にプライバシー機能を導入することもできますが、プライバシーコインはそれをプロトコルレベルで実装している新規のブロックチェーンで稼働します。ここからDashとZcashが実装しているプライバシー機能について詳しくみていきましょう。
Dashのプライバシー機能
Dashはビットコインのコードフォーク(分岐)として2014年に誕生しました。PrivateSendと呼ばれるプライバシー機能こそがビットコインからの最も大きな変更点です。PrivateSendは実際にはCoinJoinプロトコルのブランド上の実装です。CoinJoinは、ビットコインのWasabi Walletなどのミキサーにみられる、資金源を分かりづらくする手法の一つです。ただし留意すべきこととして、PrivateSendを使うかどうかは任意であり、デフォルトではDashのトランザクションでこの機能は使われません。
前述のようなミキシングサービスの一般的な原理は、複数の利用者が資金を一つのトランザクションにまとめて送り、各利用者が送ったの同じ金額を新規のアドレスで受け取るというものです。これによって、インプットとアウトプットを結びつけることが困難になります。
DashのPrivateSendによるミキシングトランザクションの例: 0.1DASHの8つのインプットと0.1DASHの8つのアウトプットが含まれている。インプットの各送金元は、アウトプットのどれかを受け取る。
DashのPrivateSendトランザクションでは、ユーザの資金は、10、1、0.01、0.001DASHと決められた単位に分割されます。分割された資金は、上記0.1DASHの例のように同じ単位のお金だけ集めたミキシングのトランザクションに送られます。ユーザには結局同じ額が返ってくるのですが、お金は他のPrivate Sendのユーザのものと混ぜられています。このようなミキシングトランザクションのアウトプットでは、自分だけでなく他のユーザに送金することもできます。
PrivateSendと同様のミキシングを使ったトランザクションは、他の仮想通貨でも実現できます。つまり技術的には、Dashのプライバシー機能はビットコインで実現できること以上のものではなく、
「プライバシーコイン」という名称はミスリードとも言えます。事実として、「プライバシーコイン」とされていないビットコインやビットコインキャッシュ、ライトコインといった主要な通貨で使われているウォレットの中には、より高度なCoinJoin機能を提供しているものもあります。
ただ、ほとんどのビットコインのミキサーとは異なり、PrivateSendのミキシングトランザクションでは手数料が一切かかりません。PrivateSendは他のミキシングサービスよりも高度というわけではないものの、ユーザにとっては安価かつ簡単に使える機能です。
Zcashのプライバシー機能
Zcashは高度な暗号技術を使ったプライバシーコインとして、2016年に始動しました。トランザクションのパターンを変えて資金を誰のものかわからなくするような手法を使う代わりに、シールディング(shielding)と呼ばれるプロセスによってブロックチェーン上の取引を秘匿する機能を持っています。
Zcashは、shielded poolによるプライバシー機能を提供しています。shielded poolは、秘匿されたアドレスの集まりで、そのプールの中では残高やトランザクションの内容が全て暗号化されます。そのプールに入ったり出たりするトランザクション、あるいは別々のプール間のトランザクションは確認可能ですが、プールに属する相手のアドレスは秘匿されます。ただし、DashのPrivateSendと同様に、ユーザが明示的に使おうとしない限りこの機能は有効になりません。デフォルトでは、shielded poolは使われず、ビットコインと同じように誰でも内容をみられる形でトランザクションが行われます。
では、いくらかのアドレスやトランザクションに関する全ての情報が暗号化されていて、そのアドレスの所有者のみがその情報を復号できるとしたら、どのようにZcashは共有の台帳を成立させているのでしょうか。暗号化されたアドレスのブロックが正当なものであることや、そこで取引が行われていることをどうやって承認すればよいのでしょうか。
Zcashはzk-SNARKsというゼロ知識証明を用いています。ゼロ知識証明では、詳細を明かさずしてYesかNoかの回答を提示することができます。これによって、残高の情報を明かすことなく、shielded poolにあるアドレスが実際にお金を持っていることを証明できるようになっています。
zk-SNARKによって、取引相手のみが詳細情報を知ることができる形で(しかも受取側は送金元アドレスすら分からない形で)、トランザクションを行うことができます。shielded poolを使うトランザクションには、固定の手数料として0.0001ZECがかかります。これには、トランザクションのパターンを解析するようなことを防ぐねらいがあります。
DashやZcashのプライバシー機能は実際にはどのように使われているのか
前述の通り、DashやZcashのプライバシー機能はオプションであって、実際に使うかどうかはユーザに委ねられています。したがって、現実世界におけるプライバシー機能の利用実態が、それらのコインのプライバシーの機能上のレベルに大きく影響を与えます。
Dashの利用実態
PrivateSendによるミキシングトランザクションは、Dash全体のトランザクションの約9%です。CoinJoinなどのミキシングを使ったビットコインのトランザクションに比べれば大きいものの、Dash全体としては小さい割合に過ぎません。
ユーザはPrivateSendで攪拌されたアウトプットのお金を必ずしも使う必要はなく、ミキシングされていないお金を任意に使うことができます。PrivateSendを使って実際に送金されたDashの割合は、たった0.7%未満です。
Dashのブロックチェーンにおけるミキシングトランザクションは、公開されており誰でも確認できる情報であるため、簡単に見つけることができます。この分析にあたっては、ビットコインのCoinJoinの分析と同様の手法が使えます。
PrivateSendなどのミキシングトランザクションの分析についてより詳しく知りたい方がいらっしゃいましたら、Chainalysis Reactor Certificationプログラムの受講をおすすめします。このトレーニングでは、他の高度な分析手法と共に、CoinJoinについての分析方法をカバーします。
資金を複数の単位のかたまりに分割するために多数のインプットを与える必要があるため、PrivateSendのトランザクションによっては、インプットとアウトプットを結びつけることができる場合もあります。例えば、73.4DASHをPrivateSendで送ろうとすると、このお金は14のインプットに分割されます(73.4 = 10 x 7 + 1 x 3 + 0.1 x 4)。プリンストン大学の研究によれば、組み合わせ論によって、PrivateSendのアウトプットからの単一のアドレスを一意に特定できる場合があるとのことです。つまり、PrivateSendはプライバシーを高めるものの、このトランザクションの調査を行う余地はあるということです。
Zcashの利用実態
Zcashのトランザクションのうち、shieded poolが関与するものは全体の14%を占めています。しかし、その14%の中でも、送金元や送金先、取引額が全て暗号化された完全に”shield”されたトランザクションは6%に過ぎません。つまり、このような全く内容が分からないトランザクションはZcash全体の0.9%(=14% x 6%)しかないのです。
そのため、zk-SNARKの暗号化のおかげでZcashのプライバシーはDashよりも強いとは言えるものの、全体の99%について、取引額や少なくとも1つのアドレスをChainalysisでも確認することができます。
アドレスの残高についていえば、Zcashの全体発行量の5%のみがshielded poolの中に保持されています。しかし、実際にはそれ以上の額が毎日shielded poolを介して流れています。この理由の一つは、Zcashのプロトコルの要件によるもので、マイニングされた資金は秘匿化されていないアドレスに送られる前に、まずshielded poolを通らないといけないことになっていることです。つまり、ZECの出自を追っていくと、必ずshielded poolに行き着きます。これは全ての秘匿化されていないZECの流れも大元はshieldedされたものになるよう意図されたことです。
Zcashのshielded poolは、ミキシングのトランザクションに比べ、より強力なプライバシーを提供しているものの、完璧ではありません。ユニヴァーシティ・カレッジ・ロンドンの研究では、shielded poolの利用パターンに基づいた単純なヒューリスティックを使うことで、匿名性が下げられることが示されています。また、ほとんどのZcashのユーザはこのプライバシー機能を全く使っていないことや、shielded poolへの送金を行うユーザについても、送ったのと同じ額を短時間に引き出すといったように、特定できてしまうような単純なトランザクションを大抵は行ってしまっていることも、研究者は指摘しています。
プライバシーとコンプライアンスのバランス
DashとZcashでは、プライバシーを高めた形でトランザクションを行えるようになっているものの、完全な匿名性が提供されているわけではありません。これら2つの通貨にプライバシー機能があるとは言え、実質の仕組みや現実での利用実態を踏まえると、捜査官やコンプライアンス担当者にも、疑わしい取引を調査し、コンプライアンスを維持していく余地はあります。Chainalysisの製品対応によって、暗号資産事業者は、これからDashやZcashをコンプライアンスのオペレーションの中で取り扱えるようになります。
これらの2つの通貨の大部分は、プライバシーに関係のない使われ方をしています。Zcashの提供元から委託されたランド研究所の研究によれば、ダークウェブで使われている暗号資産アドレスのうち、DashやZcashはたったの0.2%未満に過ぎないとのことです。Chainalysisの技術やそのユーザによる監視があれば、これらのコインを引き続き真っ当な人々やビジネスの間で支障なく使えるようにできるでしょう。
DashやZcashについて調査を行ったり、コンプライアンスに従った形で取り扱ったりするにあたり、Chainalysisがどのように役立てるのかについてご興味があれば、是非こちらからお問い合わせください。