← Latest papers
💻 computer science

Eclipse Attacks on Ethereum's Peer-to-Peer Network

This paper presents the first end-to-end implementation of an eclipse attack against Ethereum execution-layer nodes, demonstrating that a multi-stage strategy involving DNS list poisoning and idle connection slot hijacking can successfully isolate over 80% of public nodes, thereby highlighting a critical vulnerability in the post-Merge network.

Original authors: Ruisheng Shi, Yuxuan Liang, Zijun Guo, Qin Wang, Lina Lan, Chenfeng Wang, Zhuoyi Zheng

Published 2026-05-01
📖 5 min read🧠 Deep dive

Original authors: Ruisheng Shi, Yuxuan Liang, Zijun Guo, Qin Wang, Lina Lan, Chenfeng Wang, Zhuoyi Zheng

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine the Ethereum network as a massive, bustling digital city where every computer (node) is a resident trying to talk to its neighbors to share news and trade goods. To keep the city running smoothly, every resident maintains a "phone book" of neighbors they trust.

This paper describes a clever, multi-step trick an attacker could use to trick a specific resident into thinking their entire neighborhood has been replaced by a gang of impostors. In the security world, this is called an Eclipse Attack.

Here is the breakdown of how the researchers pulled this off, using simple analogies:

The Goal: The "Fake Neighborhood"

The attacker wants to isolate one specific Ethereum node (let's call him "Bob"). Once isolated, Bob can't see the real city. He only sees the attacker's fake version. The attacker can then feed Bob false information, tricking him into making bad decisions, like spending the same money twice or accepting fake rules.

The Three-Pronged Attack Strategy

The researchers found that the old ways of attacking Bitcoin didn't work perfectly on the new Ethereum system, so they built a new, three-stage plan:

1. Poisoning the Phone Book (Discovery Table)

The Analogy: Imagine Bob has a physical phone book in his drawer. When he wakes up, he looks at this book to call his first few friends.
The Attack: The researchers realized that before Bob even wakes up, his phone book is already partially filled with names from his past. The attackers "pre-filled" this book with their own fake names.

  • How they did it: They sent Bob a steady stream of "Hello" messages (Ping) while he was asleep or just starting up. Bob's system automatically added these "Hello" senders to his phone book. By doing this in waves, they replaced the good neighbors with bad ones in his long-term storage.
  • The Result: When Bob restarted, his phone book was mostly full of the attacker's fake numbers.

2. Corrupting the City Directory (DNS List)

The Analogy: Ethereum also has a public "City Directory" (a DNS list) that everyone consults to find new neighbors. It's supposed to be a trusted list maintained by the city officials.
The Attack: The researchers found a way to sneak their fake names into this official directory.

  • How they did it: They set up a bunch of their own computers and made them very visible to the "City Officials" (the automated crawlers that update the directory). They tricked the officials into thinking their fake computers were the most reliable neighbors in town.
  • The Result: The official directory started listing the attackers' fake computers as top-tier neighbors. When Bob looked up new friends, the directory pointed him to the attackers.

3. Filling the Parking Spots (Slot Hijacking)

The Analogy: Imagine every resident in the city has a driveway with a limited number of parking spots (connections). You can only park so many cars in your driveway at once.
The Attack: The researchers realized that even if they poisoned Bob's phone book and the directory, Bob might still try to call a real neighbor. But if that real neighbor's driveway is already full of other people's cars, Bob can't get in.

  • How they did it: The attackers sent their own fake cars to park in the driveways of thousands of real, honest neighbors across the whole network.
  • The Result: When Bob tried to call a real neighbor, the line was busy (the driveway was full). Bob was forced to call the attackers instead, because their "driveways" were empty and waiting for him.

The Final Trap

Once Bob restarts his computer:

  1. His phone book is full of fake names.
  2. The City Directory points him to fake names.
  3. The real neighbors are too busy to answer his calls.

Bob is now completely surrounded by the attacker's fake network. He thinks he is talking to the whole world, but he is actually in a "walled garden" controlled by the attacker.

How Much Effort Did It Take?

The researchers tested this on a practice network (Sepolia) and the real network (Mainnet).

  • On the practice network: They needed about 304 public IP addresses (think of these as unique phone numbers) to successfully trap a node 95% of the time.
  • On the real network: They found that over 80% of real nodes have very few empty parking spots available, making this attack even easier to pull off than expected.

The Solution

The researchers didn't just break the system; they told the Ethereum team how to fix it. They suggested:

  • Blacklisting: If a neighbor sends too many "Hello" messages too quickly, block them.
  • Directory Checks: Limit how many fake neighbors from the same "street" (IP address) can be on the official City Directory.

The Bottom Line

This paper proves that even in the modern, upgraded version of Ethereum, a determined attacker with a moderate amount of resources (a few hundred IP addresses) can completely isolate a user, tricking them into a fake reality. The researchers responsibly reported these flaws to Ethereum so they can patch the holes before bad actors use them.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →