Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DNS seed "seed.bitcoinstats.com" doesn't support filtering while the comments says it does #29911

Open
1 task done
kcalvinalvin opened this issue Apr 19, 2024 · 9 comments
Open
1 task done

Comments

@kcalvinalvin
Copy link
Contributor

Is there an existing issue for this?

  • I have searched the existing issues

Current behaviour

It's stated in chainparams.cpp that "seed.bitcoinstats.com" supports filtering. However, this isn't true.

vSeeds.emplace_back("seed.bitcoinstats.com."); // Christian Decker, supports x1 - xf

Expected behaviour

Since "seed.bitcoinstats.com" supports filtering for NODE_NETWORK, when asked for NODE_NETWORK, it should return archival nodes. It doesn't.

Steps to reproduce

dig x1.seed.bitcoinstats.com.

[I] calvin@bitcoin ~> dig x1.seed.bitcoinstats.com

; <<>> DiG 9.18.21 <<>> x1.seed.bitcoinstats.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60119
;; flags: qr rd ra; QUERY: 1, ANSWER: 25, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;x1.seed.bitcoinstats.com.      IN      A

;; ANSWER SECTION:
x1.seed.bitcoinstats.com. 60    IN      A       13.112.109.34
x1.seed.bitcoinstats.com. 60    IN      A       3.211.51.136
x1.seed.bitcoinstats.com. 60    IN      A       3.8.38.104
x1.seed.bitcoinstats.com. 60    IN      A       64.227.26.97
x1.seed.bitcoinstats.com. 60    IN      A       69.55.55.188
x1.seed.bitcoinstats.com. 60    IN      A       34.241.94.237
x1.seed.bitcoinstats.com. 60    IN      A       3.124.65.19
x1.seed.bitcoinstats.com. 60    IN      A       3.81.243.143
x1.seed.bitcoinstats.com. 60    IN      A       51.195.28.51
x1.seed.bitcoinstats.com. 60    IN      A       46.137.123.109
x1.seed.bitcoinstats.com. 60    IN      A       138.68.173.152
x1.seed.bitcoinstats.com. 60    IN      A       69.4.94.226
x1.seed.bitcoinstats.com. 60    IN      A       142.93.200.9
x1.seed.bitcoinstats.com. 60    IN      A       54.68.82.186
x1.seed.bitcoinstats.com. 60    IN      A       18.202.91.9
x1.seed.bitcoinstats.com. 60    IN      A       52.30.154.84
x1.seed.bitcoinstats.com. 60    IN      A       116.203.99.217
x1.seed.bitcoinstats.com. 60    IN      A       13.112.109.34
x1.seed.bitcoinstats.com. 60    IN      A       3.211.51.136
x1.seed.bitcoinstats.com. 60    IN      A       3.8.38.104
x1.seed.bitcoinstats.com. 60    IN      A       64.227.26.97
x1.seed.bitcoinstats.com. 60    IN      A       69.55.55.188
x1.seed.bitcoinstats.com. 60    IN      A       34.241.94.237
x1.seed.bitcoinstats.com. 60    IN      A       3.124.65.19
x1.seed.bitcoinstats.com. 60    IN      A       3.81.243.143

;; Query time: 312 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Fri Apr 19 19:35:56 KST 2024
;; MSG SIZE  rcvd: 453

Of the returned addresses, these address do not support NODE_NETWORK

13.112.109.34
3.8.38.104
64.227.26.97
69.55.55.188
34.241.94.237
142.93.200.9
18.202.91.9
52.30.154.84
116.203.99.217
13.112.109.34
64.227.26.97
69.55.55.188
34.241.94.237

One can easily check bitnodes data: https://bitnodes.io/nodes/3.8.38.104-8333/

A handful of the nodes here were also unreachable at the time of this writing.

Relevant log output

No response

How did you obtain Bitcoin Core

Pre-built binaries

What version of Bitcoin Core are you using?

v23.0.0 but this doesn't matter here

Operating system and version

Also doesn't matter

Machine specifications

I don't think this matters for this issue

@stratospher
Copy link
Contributor

oh interesting! there's some discussion in #29809 about how to update the comments for DNS seed filtering. also cc @naiyoma

@kcalvinalvin
Copy link
Contributor Author

I guess I should add that I don't think the nodes returned by "seed.bitcoinstats.com" are good.

My assumptions is that it's just caching all the nodes it's previously seen and not checking if they're still providing all the services it previously has.

@achow101
Copy link
Member

cc @cdecker

@cdecker
Copy link
Contributor

cdecker commented Apr 19, 2024

I guess I should add that I don't think the nodes returned by "seed.bitcoinstats.com" are good.

My assumptions is that it's just caching all the nodes it's previously seen and not checking if they're still providing all the services it previously has.

Indeed, I am checking the infrastructure now. And it.look like the crawler died. I'll see if I can get it back with reasonable effort.

@1440000bytes
Copy link

I guess I should add that I don't think the nodes returned by "seed.bitcoinstats.com" are good.

My assumptions is that it's just caching all the nodes it's previously seen and not checking if they're still providing all the services it previously has.

I have stopped using these DNS seeds. I found only 2 useful when I last tested:

seed.bitcoin.sipa.be
seed.bitcoin.wiz.biz

kcalvinalvin added a commit to kcalvinalvin/btcd that referenced this issue Apr 22, 2024
seed.bitcoinstats.com doesn't respect filter requests even though it's
advertised as it does. Plus it often returns nodes that are unreachable.
In my testing over the past week, it's been the most unreliable dns seed
and since we have plenty of mainnet seeds, it's better to do away with
this.

I documented my findings for this in a Bitcoin Core issue:
bitcoin/bitcoin#29911
jcvernaleo pushed a commit to btcsuite/btcd that referenced this issue Apr 23, 2024
* chaincfg: remove unresponsive dnsseed on testnet

testnet-seed.bitcoin.schildbach.de is unresponsive and doesn't return
any ips.  Bitcoin Core has already removed it and we don't also be
getting rid of it as well.

* chaincfg: add dnsseeds from Sjors Provoost

His seeds work well and we don't have any for signet and it's good to
replace the lost dns seed on testnet.

* chaincfg: remove bad dnsseed (seed.bitcoinstats.com)

seed.bitcoinstats.com doesn't respect filter requests even though it's
advertised as it does. Plus it often returns nodes that are unreachable.
In my testing over the past week, it's been the most unreliable dns seed
and since we have plenty of mainnet seeds, it's better to do away with
this.

I documented my findings for this in a Bitcoin Core issue:
bitcoin/bitcoin#29911

* chaincfg: add dnsseed from wiz

It's the same infrastructure that mempool . space runs on and has been
reliable.  The same seed is also included in Bitcoin Core as well.
@besoeasy
Copy link

yea seeds resolve to nothing, almost 80% nodes are down

@1440000bytes
Copy link

1440000bytes commented Apr 30, 2024

almost 80% nodes are down

Seeds are up but the results are down? Can't do anything they are hardcoded forever.

Do not use them. dnsseed=0 and fixedseeds=0

@virtu
Copy link
Contributor

virtu commented May 3, 2024

I have stopped using these DNS seeds. I found only 2 useful when I last tested:

seed.bitcoin.sipa.be seed.bitcoin.wiz.biz

I'm not sure the overall situation is that bad. It looks like at all times, at least two thirds of DNS seeds are returning ~70-99% reachable nodes.

Individual seeds/seeders have issues on occasion, but that's not really a problem if they're fixed eventually.

Since I'm monitoring the seeds anyway, I can set up some sort of alerting if that helps.

@Emzy
Copy link
Contributor

Emzy commented May 4, 2024

I have stopped using these DNS seeds. I found only 2 useful when I last tested:

seed.bitcoin.sipa.be seed.bitcoin.wiz.biz

These have a very low TTL set, which is fine.

The DNS seeds using the DNSSEC setup sipa/bitcoin-seeder#85 will renew the DNS zone every hour and have a TTL of 1h set.

The DNS seeder https://github.com/sipa/bitcoin-seeder is only providing long running Bitcoin nodes. So caching for one hour is not an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants