2022.06.23
Tech Trend

Tornado Cash (トルネード・キャッシュ) とは?仕組みと資金洗浄リスクをオフショア開発会社が解説

Tornado Cash (トルネード・キャッシュ) とは?仕組みと資金洗浄リスクをオフショア開発会社が解説

ブロックチェーン・DeFiプロジェクトを数多く手がける オフショア開発会社 である私たちは、イーサリアムにおける「スケーラビリティ」と並ぶ壁、すなわち「プライバシー問題」を常に注視してきました。分散型台帳の透明性は大きな利点ですが、一方でアカウント残高や取引履歴が誰にでも公開されるため、個人情報や企業機密が露出するリスクを抱えています。このジレンマを解消するソリューションとして登場したのが「Tornado Cash」です。

Tornado Cashは、取引を完全に匿名化できるDeFiミキサーとして登場し、プライバシーを重視するユーザーから高い評価を得てきました。しかし、その強力な秘匿性は、資金洗浄(マネーロンダリング)の問題をもたらすことになります。匿名性を悪用し、不正な資金の流れを隠蔽するケースが急増したのです。

本記事では、Tornado Cashの技術的な仕組みや動作原理、そしてなぜこれほどまでに資金洗浄に利用されるのか、その背景を深掘りします。開発現場の最前線に立つ実務家としての視点を交え、技術の利便性とリスクの表裏一体の実態に迫ります。

Tornado Cash とは?

Tornado Cash は、イーサリアムブロックチェーン上で動作するノンカストディアル(非管理型)のDeFiミキシングサービスです。ミキシングとは複数の取引を混ぜ合わせて個別の送受信者・金額を追跡不能にする技術ですが、このツールは従来のミキサーとは異なり、スマートコントラクトによる「アドレスリンクの完全切断」を実現します。これにより、誰が誰にいくら送金したかを第三者が知ることがほぼ不可能になります。 

イーサリアムブロックチェーン上の取引は、「Etherscan」といったブロックエクスプローラーを使えば、アドレスやトランザクション内容を追跡することが可能です。これにより透明性が確保されることは、大きなメリットである一方、取引内容がすべて公開されるため、競合企業や攻撃者に重要な情報を漏洩させる弱点でもあります。 

イーサリアムブロックチェーンのミキシングには、すでに「Ete Mixer」が存在しました。ただ、Ete Mixerは、カストディアル型ミキサー(中央集権的管理者あり)であるため、完全な匿名性を確保するのは困難でした。管理者を介することで、情報が漏えいしたり、ハッキングによる盗難が発生したりする可能性があるからです。  

以上の欠点やデメリットを補うべく開発されたのが、Tornado Cash です。ノンカストディアル(管理者なし)で、ミキシングの一部は、スマートコントラクトによって行われるため、上記の様なリスクを心配する必要がなくなりました。

Tornado Cash の仕組み

Tornado Cash の核心は、「zk-SNARK(ゼロ知識証明)」を活用したスマートコントラクトです。 暗号資産の送信者と受信者のアドレス間のブロックチェーン上のリンクを完全に切断することでプライバシーを保護します。そのため、ユーザーがトークンをプールに預けると、匿名化された証明が生成され、受信者はプールから資金を引き出す際に「正しい預け入れがあったこと」だけを証明します。第三者にはそれ以外の内容を一説確認できません。

ブロックチェーンの透明性は、全ノードがすべてのルールや取引を承認することで保たれます。よって、取引内容やその送受信者を秘匿するのは、このシステムに反するように見えるかもしれません。しかし、zk-SNARKはその透明性よりも機密性を優先しています。 

Tornado Cash はイーサリアムブロックチェーンが基盤で、ETHとERC-20トークンが対象です。ETHやERC-20トークンを Tornado Cash に預けると、独自トークンTORNがすべてのユーザーにエアドロップされます。エアドロップとは、無償でトークンが配布されるイベントのことです。 

TORNはガバナンストークンのため、これを所有することで Tornado Cash のルール変更等のガバナンスに関わる投票権が付与されます。加えてTORNは上場されたトークンなので、所有することでインカムゲインが、売ればキャピタルゲインが得られる点もインセンティブとなっています。 

つまり、大まかな動きとしては、ユーザーが、Tornado Cash にトークンを預けてTORNを受け取ります。送金など、依頼した取引は、スマートコントラクトに任せ、全ノードがその内容は分からないものの、zk-SNARKによって正しいと証明された事実を全ノードが承認すると取引が実行される、という流れになります。オフショア開発会社がDeFiプロジェクトを構築する際、このようなゼロ知識技術を組み込むことで、クライアントのプライバシー要件を満たしつつ規制対応も強化できるため、近年採用事例が急増しています。 

Tornado Cash を支えるzk-SNARK 

なぜzk-SNARK?

先に述べた、取引を機密化するのに活用される「ゼロ知識証明(ZKIP)」は、1985年に提唱された概念で決して最近の考え方ではありません。これは、「自分のもっている情報が何であるかを第三者に一切伝えることなく、その情報の真実性を証明する」ことを意味するプロトコルです。  

Tornado Cash が登場する以前より、イーサリアムブロックチェーンでもハッシュ値を使った取引の機密化は行われていました。ハッシュ値とは、入力されたデータをもとに決まった数式(ハッシュ関数)で計算し、規則性がなく逆算もできないデータとして出力された値のことです。データに改ざんなどの不正がないかを確認するにはうってつけです。  

しかし、これが活用できるのは単純な取引に限ったことで、イーサリム特有の複雑なスマートコントラクトに対応できるレベルではありませんでした。そこで昨今のイーサリアムを基盤とする分散型金融「DeFi」の多様化する取引に耐えうる、柔軟な秘匿技術として脚光を浴びたのが、ゼロ知識証明を応用化して作られた「zk-SNARK」です。  

zk-SNARKを使えば、Tornado Cash 内で実行されるスマートコントラクトによるトランザクションが、誰から誰へのもので、その金額がいくらか、またそれぞれの残高や過去の履歴も一切あきらかにすることなしに、正しいと証明できます。これが全ノードから承認されればトランザクションは実行されますが、これに万が一偽りがあれば、嘘と分かるので、全ノードから承認されることはありません。 

zk-SNARKの仕組み

まず「zk-SNARK」は、3つのアルゴリズムで構成されています。 

  1. 承認者が「証明鍵」と「承認鍵」を作成するアルゴリズム 
  1. 証明者が証明を行うアルゴリズム 
  1. 承認者が承認を行うアルゴリズム 

以上の3つです。それぞれを上から「アルゴリズム1」「アルゴリズム2」「アルゴリズム3」として説明していきます。 

送金者がA、受信者がBとし、両者はzk-SNARKを使用するうえでの「証明者となります。 

まず承認者がオフチェーン上の「アルゴリズム1」に、秘密の値Sと独自プログラムをインプットしたうえで「証明鍵」と「承認鍵」を作って公開します。秘密値Sは、絶対に証明者AとBに知られてはなりません。知れば、AもBも偽ったデータを使って正しいと証明することができてしまうからです。 

Aは、自分のアドレスを伏せて、この「証明鍵」と取引前のAとBのアカウント残高や取引額からなる機密情報T、さらにTのハッシュ値tをオフチェーン上で「アルゴリズム2」にインプットして証明Xを作成。このXを承認者に送ります。 

承認者は、自ら作成した冒頭の「承認鍵」とハッシュ値tおよび証明Xをオンチェーン上で「アルゴリズム3」にインプットして、Aの証明に間違いがないかを確かめ、間違いなければ承認します。誤っていれば承認はしません。これと同じことをBもzk-SNARKの「アルゴリズム2」を使って実行し、真であることを証明、「アルゴリズム3」で真偽が確認され、正しいと承認されれば、そこではじめて取引が実行されるわけです。 

大まかではありますが、以上の様な流れで Tornado Cash を経由して行われるトランザクションが、誰と誰の間で、いくらの取引が行われたのかが、過去の取引履歴も含めてすべて秘匿化されます。 

>>>関連記事:

DeFiとは?仕組みや注目されている理由を徹底解説! 

Tornado Cash が資金洗浄に多用される理由 

Tornado Cash は、イーサリアム上の取引を完全に匿名化することに成功したわけですが、残念ながら、その秘匿可能なメカニズムゆえに、資金洗浄に悪用される例が多発しました。  

代表例として、世界的な人気NFTゲームの「Axie Infinity」は、北朝鮮のハッカー集団に700億円超相当の暗号資産をハッキングされ、Tornado Cash が資金洗浄に利用されました。  

日本のLiquid取引所を運営するQUOINE社も、約100億円相当のハッキング被害に遭い、その資金が同じく Tornado Cash を使って資金洗浄されました。このツールを使えば、一度匿名化されると追跡が極めて困難になるため、サイバー犯罪集団にとって理想的なツールとなっています。 

ただし、Tornado Cash のサービス提供者も、この状況を見過ごすわけにはいかず、特定の怪しいユーザーをブロックする処置を講じています。2022年4月に上記の北朝鮮のハッカー集団「ラザルス」をはじめとする、米財務省・外国資産管理室から制裁対象に指定された暗号資産ウォレットのアドレスをスクリーニングできるChainalysis社のツールを導入したと発表しました。  

Chainalysis社は、ロシアとウクライナの紛争を機に暗号資産をめぐる不正取引が増加するのを阻止すべく、同年3月に上記サービスを開発のうえ無償提供を始めています。  

Tornado Cash は安全なのか?

ミキサー全体のトレンドとして、規制当局の圧力で閉鎖・停止に追い込まれるサービスが増えています。Tornado Cash も米財務省の制裁対象となり、開発者逮捕などの事態が発生しましたが、分散型・オープンソースであるためサービス自体は存続しています。 

Chainalysisツール導入により不正利用は一定程度抑制されていますが、完全解決には至っていないのが現状です。これが完全な問題解決につながるかどうかは、今後の動向を見て判断するしかないでしょう。オフショア開発会社がクライアントに提案する際は、こうしたリスクを明確に説明し、代替プライバシーソリューション(例:ZKロールアップなど)を組み合わせるアプローチが現実的です。 

まとめ 

Tornado Cash は、イーサリアムブロックチェーンの課題であった「プライバシー問題」対する画期的な回答でした。しかしその反面、その匿名性が資金洗浄の手段として悪用される皮肉な事態も招きました。ブロックチェーンの透明性と秘匿性のバランスは、今後も議論の中心であり続けます。 

銀行口座を活用した一般的な金融取引では、誰が誰にいくら送金したか、というのは決して漏えいしてはならない機密情報になります。もし外部に流出すれば、金融機関は重大な責任を負うことになるでしょう。それを考えると、ブロックチェーンで全取引が誰でも確認できるというのは、個人、法人にかかわらず、大きなリスクとなりえます。  

以上の意味で、秘匿性を確保しつつ、セキュリティの面でも安心して活用できるシステムのニーズがいかに高いかがわかるでしょう。  

レリパでは、こうした最先端技術を安全・合法的に活用したDeFi、DApps、NFT、IDOなどのプロジェクトを、経験豊富なエンジニアチームで全力サポートしています。オフショア開発会社をお探しの企業様、ブロックチェーンで先進的なビジネスを展開したい方は、ぜひお気軽にご相談ください。 

関連記事