Skip to content

本記事はBEAMの許可を得て翻訳・公開しています。

原文:About Dandelion and Mimblewimble – BEAM-MW – Medium

Dandelion(タンポポ)とMimblewimble

Image

暗号通貨においてプライバシーは、様々な記事で言及されており、複数のプロジェクトが重点を置く要素です。しかし、多くの場合、「プライバシー」という言葉は、様々な側面を表す包括的で便利な用語として使用されており、不正確に記述されていたり、誤解されたりすることがあります

ビットコインでのプライバシー

Image

たとえば、Bitcoinでは、トランザクションに参加しているユーザーのすべてのアドレスと取引額(=送信・受信された総量)はブロックチェーンに記録され、完全に公開されます。アドレス自体は匿名である(※取引所などの例外を除けば、本名などの個人情報とビットコインアドレスが紐付けられているわけではない)と想定されているため、あるアドレスから別のアドレスにビットコインを送信したという情報だけでは、ビットコインユーザーのプライバシーが深刻に侵害されているわけではないはずです。しかし実のところ、アドレスの匿名性を奪うのは比較的簡単です。匿名性を奪うとは、「ビットコインアドレスとそのアドレスの持ち主の個人情報を紐付ける」ということです。このような匿名性の侵害が一度でも発生すると、そのアドレスが関係するすべてのトランザクションは、ジェネシスブロックから最新ブロックにわたって可視化および追跡が可能になります。このようなことが起きればブロックチェーン利用者を取り巻く状況を大きく変えます。

ビットコインはもはや「匿名性がある」とは言えません。アドレスの匿名性が奪われると、取引履歴全体が完全にアクセス可能になります。

Mimblewimbleについて

Image
夜の闇横丁 Mimblewimbleの呪文 - ハリー・ポッター - ワーナー・ブラザーズ

Mimblewimbleは、スケーラビリティを犠牲にすることなくブロックチェーントランザクションの秘匿性を向上させることを目的とした、新しいエレガントなプロトコルです。 このプロトコルでは、ビットコインではお馴染みのアドレスは存在せず、すべての取引額は「 blinding factors (ブロックチェーン内の取引額を暗号化する秘密鍵)」を用いて秘匿化されます。個々の取引を見ると、インプットとアウトプットを表す一連の暗号コミットメントしか表示されません。ただし、このデータから意味のある情報を抽出することはできません

MimbleWimbleでは、高い秘匿性が保証されていますが、受信した各トランザクションについてそれぞれのコミットメントをすべて記録し、どのインプットがどのアウトプットに送られたかを追跡することで、トランザクショングラフを効率的に再構築できます。すべてのトランザクションはネットワークを介して伝播するので、(悪意のある)ノードをネットワークに追加し、全てのトランザクションを監視することで、簡単に実行できます。特定のUTXOの匿名性が奪われたとしてもビットコインとは異なり、特定のユーザーのトランザクション履歴全体の匿名性が奪われるわけではないため、悪意のあるノードがネットワークに投入されたとしても、これ自体は重大なプライバシー侵害とはなりません。

しかし、単純なゴシッププロトコル[3]では、かなりの確率(30%以上)で トランザクションのソースIPを計算することが可能である ことが研究によって示されており、その場合は、 特定IPの匿名性が奪われる ことになります。これは、システム(ネットワーク)内に十分な数の「攻撃者」ノード、または他のすべてのノードに接続された一つノードを持った上で、各トランザクションのIPの記録、各トランザクションイベントの時刻計測、拡散ダイナミクスの観察によって、特定IPの匿名性を奪うことが可能です。

解決策としてのタンポポ

Image

Dandelion ++ [4]は、ジュリア・ファンティらによって提案された軽量プロトコルで、上述のリスクを軽減し、トランザクションの出処を検出される可能性を大幅に減らすように設計されています 。彼女らの提案では、トランザクション伝播のプロセスは2つのフェーズに分割されています。

  1. Stem(=茎) phase 各ノードがランダムに選択された1つのピアにのみトランザクションを送信する

  2. Fluff(=綿毛) phase トランザクションがすべてのピアに送信され、事実上Gossipプロトコルと同様の動きをする

この仕組は図形として描いた場合に、長い茎とふわふわした頭を持つタンポポ(=Dandelion)の外観に似ているため、それにちなんで名付けられました。

Image

すべてのトランザクションはStem phaseで始まり、各ノードはStem phaseを継続するか、Fluff phaseに切り替えるかどうかを事前に定義された確率を持つサイコロを振ることによって個別に決定します。これにより、「攻撃者」ノードがStem phaseでトランザクションの最初のリレーを受信する可能性が大幅に減少するため、発信元IPの検出が非現実なほどに困難になります。

Image

Mimblewimbleでは、ビットコインとは異なるトランザクション構造を持っており、「トランザクションオフセット」と呼ばれる「いくつかのトランザクションを結合し、それらのインプットとアウトプットを不可逆的に混在させることができるトリック」を使用することで、さらにDandelionを改善しています。つまり、仮にStem phase過程にあるノードがトランザクションの出処であったことを暴かれたとしても、最初にどのインプットとアウトプットが含まれていたかを判断することは不可能です。

一般に、 Dandelionはあらゆる暗号通貨のP2Pレイヤーにおける秘匿性を大幅に改善します 。Mimblewimbleでは、プロトコル固有のトリックをいくつか使用することで、Dandelionを改良しており、潜在的な攻撃者に対する堅牢性を向上させています。

References:

[1] Alex Biryukov, Dmitry Khovratovich, and Ivan Pustogarov. 2014. Deanonymization of clients in Bitcoin P2P network.

In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. ACM, 15–29.

[2] Philip Koshy, Diana Koshy, and Patrick McDaniel. 2014. An analysis of anonymity in bitcoin using p2p network traffic.

In International Conference on Financial Cryptography and Data Security. Springer, 469–485.

[3] https://en.wikipedia.org/wiki/Gossip_protocol

[4] Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees (https://arxiv.org/abs/1805.11060)

参考

コメント