So, if you query the said DNS seed, it will return a bunch of IP addresses where Nu nodes (version >=2.0.0) are reachable. The software is very (!) lightweight and demands next to no resources from the server.
Mh. I never did something like NS load balancing, if that’s what you’re thinking of.
What I can imagine though is, that users can chose their own seeds in NuDroid and Nu.
Any case, I think “the more, the merrier” suits well here
The number of nodes on NuNet is currently ~200 if I recall correctly. One server instance is able to crawl all those known nodes in about 1-2 minutes, so given our current network size, using more than one seeder shouldn’t have a real effect.
well, redundancy is never unreal
It’s not about ability to crawl fast(er) : if we only rely on one single machine and that machine goes down or becomes unreachable for whatever reason, nodes will be wandering in the dark
I’m currently re-evaluating the idea of offering crawled nodes via a DNS server.
My main concern is the vulnerability of DNS itself. DDOS and SYN flood are pretty easy and seem very costly to mitigate.
I’m going to explain my thoughts referring to an article for a Cloudflare (CF) product called virtual DNS.
This blog article is a good read to get an idea how vulnerable DNS is in general.
The main problem I’m seeing is that the DNS server’s IP-address is very easy to detect and thus vulnerable to DDOS attacks. Virtual DNS, as offered by CF, would hide that IP-address and the attacker would “only” be able to attack the CF DNS frontend. The nubits-seeder DNS server would be (nearly) hidden in the network.
I’ve contacted CF to get an offer for their virtual DNS package which would provide proper DNS protection. Sadly, I don’t think this is going to be cheap.
A cheaper, maybe intermediate, solution could be offering the IP-table as a JSON file via HTTP.
Creating a small script that queries a local (not publicly available) DNS server and saves the data into a JSON should be quite easy to create. That’s about the additional development that would be required.
-HTTP traffic is easily and cheaply (starting at 0$ / month) routable via CF-like services (CDN)
-IP of origin HTTPD is hidden by the CDN
-Easier to decentralize, due to low (lower) infrastructure costs
-Caching for the tables is available
NuDroid / Nud would need a routine that reads the JSON and then makes the connection attempts.
I’m currently discussing with @MatthewLM how hard that would be to implement into NuDroid.