先週はブロックチェーンスマホについて書きましたが、その中でARMのTrustZoneという技術が登場しました。(おさらい:CPUの中にOSから直接アクセスできない独立した領域があり、そこで秘密鍵の保管や署名などをしているという話でした。)

ビットコイン関連の過去の論文を漁っていると、TEE(Trusted Execution Environment; いわばパソコンにおけるTrustZoneのような技術)上で動作するObscuroというビットコインミキサーの提案を発見したので、今回の記事はミキサーが抱える課題とObscuroについて書きたいと思います。

ソース:https://www.semanticscholar.org/paper/Obscuro%3A-A-Bitcoin-Mixer-using-Trusted-Execution-Tran-Luu/e498f38dcfe7e8a4c141ad52cfddaef65eb8601c
PDF:https://eprint.iacr.org/2017/974.pdf

ミキサーのセキュリティリスク・課題

※ミキサーとは、複数の送金元から複数の送金先への送金の際、途中で同一の大きさの送金処理を行いコインを混ぜることによってブロックチェーン解析を困難にするサービスです。

他にもあると思いますが、代表的なリスクを箇条書きで。

・中央集権的なミキサーを使うと、匿名性が目的なのに送金の内容やアクセス時のIPアドレスなどの利用履歴を取られているかもしれない (裏でこの情報を売るハニーポットかもしれない)例えばSPVウォレットを使っていてIPとアドレス1つを渡すと、ブロックチェーン解析をかけてそのIPアドレスの持ち主が利用してきたアドレスの7割もがバレるという人がいます。

・中央集権的なミキサーでは、ユーザーの送金をどう組み合わせるか最終的な決定権は運営者にあるので、偽のユーザーばかりを参加させて匿名性を下げたりすることができる
(極端な話、20人いたはずが実は自分一人だった場合、効果ありませんね)

・カストディを取るミキサーを使うと、運営者が持ち逃げするリスクがある (例: Bitcoin fog)

・非中央集権的なミキサーは、スケーラビリティが限られていることや、他の参加者を募るのに時間がかかること、正直な参加者(匿名性を下げる悪意のない参加者)が一定割合を占める必要があることなどが課題

評判のいいWasabi Walletなどは上記のリスクはだいたいクリアしてますね。正直な参加者の割合という部分だけは担保するのが少し難しいかもしれないです。

Wasabiを利用したプライバシーについての記事: https://medium.com/@molnardavid84/wasabi-wallet-unfairly-private-fdae78bb8cdd

Obscuroの特徴

ミキサーを動かしているパソコンのOSが不正アクセスされた、もしくは権限を持つ使用者本人に悪意があり、さらにマイナーの中の一定割合の協力を得られるという場合でも、ミキシング中のコインの盗難やユーザーの取引の非匿名化、Anonymity set (1回あたり参加者数 = 匿名性に貢献する量)の減少を防ぐ目的で開発されました。

そのためにIntel SGXという、改ざんされたくないプログラムをセキュア領域に格納して実行する機能を使っています。また、Obscuroでも利用していますが、Intel SGXにはIntel経由でTEE内のプログラムが正常であることを検証する機能があります。

なお、Obscuroは中央集権的なミキサーを運営する前提で開発されたようなので、ある意味で時代の流れに逆らっているかもしれません。(ミキサー初心者なので、もし間違ってたら教えて下さい。)

利用時の動きとしては、
Obscuroが新しい公開鍵とアドレスを生成する
→メタデータとともにネット上の掲示板に投稿する
→メタデータをIntelのサーバーに問い合わせることでObscuroのマシンがTEE上に正常な関数をロードしていることを確かめる(※Intelをトラストする必要あり) (また、掲示板が改ざんされていれば誰も使えずDoS攻撃になる)
→ビットコインアドレスにデポジットする(ミキサーのマシンに直接接続しない!)
→Obscuroがブロックチェーンを読み込む
→ミキシングを実行する、というものになっています。

課題

・Intel SGXが有効なコンピューターである必要がある

・OSの機能をトラストしていない設計は素晴らしいが、代わりにIntel SGX attestation service(Intelのサーバー)へのトラストが発生する

・そもそも非中央集権的なミキサーやWasabi Walletでよいのではないか (一応、Obscuroは長所として大量の参加者のミキシングが早くできると謳ってはいますが、そもそも誰も使っていない)

おわりに

Obscuro自体はそもそも中央集権的だからかほぼ注目されておらず、発表時から特に更新されていませんが、ミキサーが動作するマシンに対するハックの対策として一部機能をTEE上で動作させるというアイデアが面白くて目に止まりました。しかし、全体像を見ると、Wasabiなどに対するユーザーにとっての優位性がいまいちピンときませんでした。

ミキサーのバックエンドについて知ったのは初めてだったので興味深かったです。他のミキサーのバックエンドも気になってきました。

また、今年に入ってミキサーがいくつか廃業してしまいました。なるべく閉鎖させようとする圧力に屈しない形のミキサーが普及するといいなと思います。