Eclipse 攻撃: イーサリアムに影響を与えた二重支出
二重支出の概念は、同じデジタル通貨が複数回支出される可能性があるという欠陥を指します。仮想通貨の偽造に最も近いものです (同じ請求書を 2 回使えるようなものです)。この攻撃の発見者の中には、2015 年にビットコイン ネットワークに対してこれらの攻撃の 1 つを最初に実行したイーサン ヘイルマンもいます。
この攻撃の本当に危険な点は、実行に大量のリソースを必要としないことです。 2015 年のビットコインでは、同じ IP アドレスの下にある数百台のマシンからなるボットネットが必要でした。しかし、イーサリアムに対する Eclipse 攻撃では、技術的には 1 台のコンピュータで無限のノードをホストできるため、同じ IP アドレスに接続された 2 台のコンピュータだけが必要でした。したがって、事実上誰でもそれを実行することができます。
イーサリアム ネットワークは約21,000 のノードで構成されており、各ノードには固有のパブリック アドレスがあります。これらのノードは、情報を相互に比較することによってネットワーク トランザクションを記録および検証します。各ノードは他の 13 ノードに接続して、この情報を検証します。どの 13 ノードが最も効率的かを選択するために、The Pirate Bay などで使用されているKademliaと呼ばれる分散型 DHT プロトコルが使用されます。 TPB では、これにより、ファイルを完全に見つける必要がなくても、ネットワーク上のファイルを見つけることができますが、部分を見つけるだけで十分です。
ネットワークは 2 月 14 日までこの攻撃に対して脆弱でした
ビットコインとは異なり、一部のイーサリアム ノードは他のノードよりも選択される可能性が高くなります。したがって、どのノードが使用されるかをかなりの確実性で予測することができます。使用される可能性が高いノード ID をいくつか生成し、ノードのすべての発信接続を独占して改ざんするだけです。
このおかげで、攻撃されたノードは、攻撃者が望んでいるイーサリアム ネットワークを認識し、ネットワーク全体の一部 (太陽に相当します) を「覆い隠します」 。これにより、二重支払い攻撃や取引情報の改ざんが可能となります。テストでは、研究者らはノードを数時間または数週間オンにしたままにするか、ノードを互いに遠ざけることで、トランザクションを偽装することに成功しました。事実上すべてのケースで攻撃は成功しました。
1月、研究者らはこの情報をイーサリアムネットワークの維持を担当するイーサリアム財団に公開した。数週間後の 2 月 14 日、新しいバージョンの geth (ノード インターフェイス) がリリースされました。これにより、研究者らが示唆したように、ノードあたりの受信接続数が制限されました。
このおかげで、この種の攻撃を実行するには、一意の IP アドレスを持つ何千ものコンピュータを使用する必要があり、そのため、今日のイーサリアム ネットワークはより安全になっています。さらに、イーサリアムの基本的なコードを変更する必要はありませんでした。

