『マスタリング・イーサリアム』の翻訳に参加しました。

匿名通貨とFungibility(代替性)

プロジェクト紹介

暗号通貨にはMoneroやZcash, DASHのような匿名通貨と呼ばれる銘柄があります。いずれもその名の通りトランザクションの一部、もしくは全てを秘匿した状態でトランザクションを生成することを目指しています。またそれぞれRingCT, zk-SNARKs, CoinJoinなど異なる技術が使われており、アルゴリズムも異なります。匿名性という同じ目標を掲げながら使用されている技術もアルゴリズムも異なるのが興味深いですね。

匿名通貨というと「ダークマーケットで利用されている」「マネーロンダリングに使われている」「犯罪者御用達」などのネガティブなイメージは拭えません。また政府からの規制があった際にホワイトリストに含まれるか不明であるというリスクがあるため投資ポートフォリオに含める際にはこれらのリスクを理解しておく必要があるのですが、技術として面白く、本記事の主題であるFungibilityにも本質的に関わってきます。

Fungibilityとは?

Fungibilityというのは代替性とか代替可能性と訳されます。現金を例にすると「ある1万円札と他のどの一万円札も同じ価値を持つ」ということです。物理的に破れていたり、何らかの理由でプレミアムが付いているなどの例外は除きます。Fungibilityが保証されているからこそ、我々は財布にある一万円札を使って一万円分の買物をすることができます。「この1万円札は受け取れません」と言われることはほぼありません。故に現金は一般にFungibleであるといわれます。

もちろん現金にも例外はあります。例えば西アフリカでは250フランを使うことが難しかったりするようです。
※参考【悲報】250フラン硬貨は通じません(後編)〜集中講義「フランCFAのお話」番外編 – ぶらぶら★アフリック

また新札と旧札が併存する場合には、「両替の際に不便だから」、「銀行が旧札を受け取らないから」等の理由で旧札の受け取りを拒否されるケースもあります。

ビットコインはFungibleか?

ビットコイン自体もマネーロンダリング等の犯罪に悪用されることが懸念されていますが、ビットコインはパブリックブロックチェーンにその取引内容が全て記録されており、しかもそれが公開されているので、どのアドレスからどのアドレスにビットコインの送金が行われたかを追跡することは可能です。故に、例えば警察が、取引所の協力の下、アドレスと名前を紐付けることができれば、その人のトランザクションをある程度までは追えることになります。ビットコインのアドレスは使用する度に新しいアドレスが生成される仕様になっていることが多く、我々の個人情報とアドレスが常に紐付けられているわけではありませんが、KYC(Know Your Customer)規制等の影響で、個人情報とアドレスを紐付けられる場所が存在していることは事実です。

また仮にビットコインを犯罪行為に使い、且つどのアドレスがその犯罪に関わったかが判明した場合、そのアドレスから他のアドレスに送金されたビットコインを追跡することは容易です。故に「自分は犯罪行為には関わっていないが、自分が所有するビットコインは過去に犯罪行為に関わっていた」という状況が発生し得ます。

その際に、「当店におけるビットコインペイメントは、アンチマネーロンダリングの観点から、犯罪に使われたアドレスとの関連性がないと認められるビットコインでのみ可能です」のような状況も発生し得るわけです。これではビットコインが決済手段として機能するのは難しいですよね。

秘匿性は貨幣をFungibleにする…?

ここで登場するのが匿名通貨です。上述の例は「手元のビットコイン」と「そのビットコインが自分の手元に届くまでにどのような使われ方をしたか」の2つが紐付けられることによって発生するので、トランザクションを秘匿化することによって、この2つを結び付けられないようにするわけです。

つまりトランザクションの秘匿化は、単にプライバシーを守るためだけではなく、通貨として成立させるために必要なFungibilityを与える役割も果たすわけです。

ただ匿名通貨は以下のような課題があります。

  • 秘匿トランザクションを生成するためのコストが高い
  • 全てのトランザクションが秘匿化されているわけではなく、秘匿化するかどうかはオプションなので、秘匿化トランザクションの数が少ない場合、秘匿性が下がる(Moneroは全てのトランザクションが秘匿化されます)
  • 新技術なので今後検証が必要

匿名通貨には本記事で上げたMonero, Zcash, DASH以外にも多数あるのですが、匿名通貨は昔から仲が悪いことが多く、RedditやTwitterなどでお互いを(基本的には健全に)ディスりあうのが恒例となっており、それらを眺めるのもなかなか面白く勉強にもなります。

冒頭でも書いたようにMonero, Zcash, DASHは異なる技術を採用しているのですが、技術だけでなくコミュニティやプロジェクトとしての方向性もそれぞれに色があります。故にこの3つを一通り眺めてみれば、自分好みの匿名通貨プロジェクトが見つかるかもしれません。

※関連は不明ですが、現在(2017年12月5日)、これらの匿名通貨を扱うCoincheckとKrakenの金融庁仮想通貨交換業リスト入りが他の取引所に比べて遅れています。匿名通貨が理由でリスト入りを拒否された場合、これらの銘柄の価格下落が予想されるので注意しましょう。

本記事ではFungibleではない例としてビットコインを挙げましたが、これに対してビットコイン開発者が無策というわけではなく、一定の秘匿性を持たせる仕組みも存在しています。また、ビットコインの開発者会合の議事録を見れば分かりますが、例えば2016年7月にカリフォルニアで開かれたビットコインの開発者とマイナーの集会では、Fungibilityが1つのトピックとして議論されています。

Ethereumがzk-SNARKsを導入したように、ビットコインにもいずれ秘匿化技術が導入されるでしょう。