HOPRベーシック:ミックスネット

ビニール(vinyl)
HOPR Japanese
Published in
Mar 11, 2022

HOPRの基本を解説するシリーズの第4話目です。過去のエピソードへのリンクは、記事の最後にあります。

前回は、オンライン上で誰にも追跡されず、送信者や受信者を特定することなく、個人的にデータを送信するための問題を初めて取り上げました。データをパケットに分割し、それぞれを異なるルートで中継ノードに送ることは良い最初のステップですが、強力な攻撃者がネットワークの匿名性を解除するのに十分な情報を集めることは可能です。

今回は、HOPRのようなミックスネットが、真のメタデータ・プライバシーを実現し始めるレベルまで、いかに複雑さを高めることができるかを見ていきます。

ネットワークの持つ力

前回の簡単な例では、1つのメッセージだけをネットワークに通し、さらにデータを番号付きのパケットに分割して保護することを見てきました。この例では、ルーティングの概念を簡単に理解しましたが、現実には多くの人が一度にネットワークを利用するという重要な事実が隠されていました。

つまり、何千、何十万というデータパケットが同時にネットワークを通過することになります。このデータの流れを利用して、攻撃者となる人物に余計な混乱を引き起こすことが可能です。

ミキシング・アップ

各ノードは、各パケットを個別に中継する代わりに、異なるメッセージの複数のパケットを組み合わせて、束にして別のノードに送信することができます。このノードはパケットを分離し、他のノードから受信した新しいパケットと再び結合します。このプロセス全体がミキシングと呼ばれるものです。

次の図は、1つのノードから見たミキシングの様子です。

ここでは、HOPRノードが、黄色、水色、紺色で表された3つの異なるデータ送信から来たパケットを受信しています。パケットがグループになってノードに入ってくると、それらは分割され、再結合され、新しい組み合わせのパケットが異なるノードに送信され、目的地に向かいます。

上のアニメーションでは個々のパケットは分離されているので、混合プロセスをより簡単に追うことができますが、実際には各接続ですべて一まとめにされていることを注意してください。外部の人間は、ノード内のどのパケットがどのような経路をたどっているのか追跡することができないのです。いくつかのパケットは、ノードに入るパケットと出るパケットのタイミングの関連性を崩すために、将来のミキシングサイクルまで一時的に保留されることもあります。

このメタデータをさらにわからないようにするため、HOPRミックスネットはSphinxというパケットフォーマットを使って、これらのパケットの束が簡単に混ざり、区別がつかないようにしているのです。Sphinx形式は、ネットワークを通過するすべてのパケットが同じバイト数であることを意味し、サイズに基づいてデータを追跡することは不可能です。

十分なデータトラフィックを持つ大規模なミックスネットを作ることで、オンラインコミュニケーションのための真のプライバシーは手の届くところにあるのです。

問題は解決したのか?

では、これが解決策なのでしょうか?残念ながらそうではありません。実は、問題の半分、それも簡単なほうの半分に過ぎないのです。ミックスネットは、見ての通り、非常に複雑なシステムです。この暗号化、ミキシング、リミックス、リレーは、単にデータを直接、オープンに送るのに比べて、非常に計算量が多いのです。ミックスネットは理論的には素晴らしいものですが、現実には、このような余分な努力の代償を誰かが支払わなければならないのです。

これはインセンティブと呼ばれるもので、ただノードにお金を送ればいいというような単純なものではありません。私たちは、これまでの設計で行ってきた強力なプライバシーの仕事をすべて台無しにしないような、データ転送に対する支払いを提供する方法を必要としています。また、不誠実なノードがmixnetの匿名性を利用して、実際にデータを中継することなく支払いを受けることができないようにする必要もあります。

この問題がなぜ厄介なのか、次回のエピソードで詳しく見ていきましょう。

Jose Aguinaga,
HOPR Head of Engineering

Website: https://www.hoprnet.org
Testnet: https://network.hoprnet.org
Twitter: https://twitter.com/hoprnet
Twitter(日本語):https://twitter.com/HOPR_Japan
Telegram: https://t.me/hoprnet
Telegram(日本語):https://t.me/HOPRJapanese
Discord: https://discord.gg/dEAWC4G
LinkedIn: https://www.linkedin.com/company/hoprnet
Forum: https://forum.hoprnet.org
Github: https://github.com/hoprnet

HOPRベーシック エピソード一覧:

Episode 1: HOPRについて
Episode 2: メタデータについて
Episode 3: 匿名ルーティング
Episode 4: ミックスネット
Episode 5: インセンティブ
Episode 6: Proof of Relay
Episode 7: チケットと支払いチャンネル
Episode 8: 確率的支払い
Episode 9: カバートラフィック
Episode 10: カバートラフィックノード
Episode 11: カバートラフィックのバランス
Episode 12: HOPR DAOの紹介

--

--