DNS seeders exist to be able to bootstrap new nodes to the community. Nodes keep a database of IP addresses for different nodes that they’ll hook up with which they construct by requesting IP addresses of different nodes from the nodes that they’ve already related to. Nonetheless new nodes have by no means related to the community, so that they use the DNS seeders to get this data.
New nodes will use DNS to request IP addresses for the hardcoded DNS seeder domains. These are speculated to be IP addresses of random nodes on the community which have additionally met some metric (outlined by the seeder operator) for being “good” (e.g. excessive uptime). Nonetheless these nodes should not used instantly. Slightly the brand new node will briefly hook up with the nodes returned by the seeders to ask for extra node IP addresses, after which attempt connecting to these IPs.
Because the DNS seeder operators can have an effect on which nodes new nodes will attempt to connect with, an attacker with management over a DNS seeder might use this to carry out an eclipse assault. To efficiently eclipse assault a node, that node must be solely related to nodes managed by the attacker. If they’ve a connection to only one sincere node, they are going to have the ability to obtain the principle chain and can subsequently not be eclipsed.
To extend the chance that there’s no less than one sincere connection, a number of DNS seeders shall be queried on the identical time. This makes it more durable for one DNS seeder to dominate the whole deal with database. So long as the node has obtained addresses from an sincere DNS seeder, it ought to have the ability to make an sincere connection to the community.
Moreover, there are different safeguards towards eclipse assaults normally. These embrace disconnecting nodes that publicize low work blockchains, disconnecting nodes that refuse to simply accept the next work chain provided by the node, and limiting the variety of outbound connections to every /16 or ASN. All of those enhance the price to an eclipse attacker as they might want to have nodes on many various networks and have carried out a whole lot of work to be able to mine a blockchain that will be accepted by the node.
General, compromise of a single DNS seeder will not be catastrophic as the one nodes affected are new ones, there are different seeders new nodes shall be querying, and there are safeguards in place to make eclipse assaults tough.
