Author

Topic: What are seed nodes? (Read 398 times)

newbie
Activity: 65
Merit: 0
August 03, 2018, 09:28:32 AM
#8
There are two types of seeds of DNS seeds and seed nodes, as you have determined. DNS segments are stored in chainparams.cpp all "seed nodes" refer to known clients (or suspects) bitcoins, which can be more or less constant. The DNS seed nodes are those that were obtained through a DNS lookup; others through their IP address. A more thorough answer (including other initial methods of connecting the "initial boot" than these hard-coded seeds) was given to another question.
staff
Activity: 3458
Merit: 6793
Just writing some code
July 24, 2018, 08:22:00 AM
#7
From what I understood DNS seeders act as a watch tower constantly looking and recording the nodes that run Bitcoin client that has highup time and lots of connections.

So once a new node joins the network, it requests latest node list from the DNS nodes.

And if the DNS nodes failed to deliver the node list, there is a fallback seed node list hard-coded into Bitcoin Client.

I am just trying to put it into simpler terms  Grin

So the fallback seed nodes are there for emergency use only. And they have to be updated regularly over time. right?
Yes

AFAIK they aren't acting as a watch tower, they are just domains with A records updated manually, that provides IP addresses of well-connected, but arbitrary chosen nodes.
There is a server that allows the DNS records to change. In order to get nodes to provide as the A records, the DNS seeder also runs a crawler which searches for nodes and checks their uptimes, etc.
newbie
Activity: 70
Merit: 0
July 21, 2018, 04:09:07 PM
#6
From what I understood DNS seeders act as a watch tower constantly looking and recording the nodes that run Bitcoin client that has highup time and lots of connections.


AFAIK they aren't acting as a watch tower, they are just domains with A records updated manually, that provides IP addresses of well-connected, but arbitrary chosen nodes.

Ah makes sense, I also took a quick look into the hard-coded DNS domains
https://github.com/bitcoin/bitcoin/blob/07ce278455757fb46dab95fb9b97a3f6b1b84faf/src/chainparams.cpp#L132

from the comments I see each domain is maintained by a Bitcoin developer.
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
July 21, 2018, 03:07:14 PM
#5
From what I understood DNS seeders act as a watch tower constantly looking and recording the nodes that run Bitcoin client that has highup time and lots of connections.


AFAIK they aren't acting as a watch tower, they are just domains with A records updated manually, that provides IP addresses of well-connected, but arbitrary chosen nodes.
newbie
Activity: 70
Merit: 0
July 21, 2018, 02:45:02 PM
#4
Seed nodes are nodes that generally have a high uptime and have had many connections to many other nodes. They are used by nodes that are first joining the network to get a list of other nodes to connect to. The DNS Seeders give out lists of seed nodes and there are also some hard coded fallback seed nodes in Bitcoin Core to be used if the DNS Seeders are unavailable.

It is important to note that nodes do not connect to seed nodes as a normal node. Rather they connect, request IP addresses of other nodes (using the getaddr message) and then disconnect. Nodes then connect to the nodes that were given in the addr message (the response to getaddr).

From what I understood DNS seeders act as a watch tower constantly looking and recording the nodes that run Bitcoin client that has highup time and lots of connections.

So once a new node joins the network, it requests latest node list from the DNS nodes.

And if the DNS nodes failed to deliver the node list, there is a fallback seed node list hard-coded into Bitcoin Client.

I am just trying to put it into simpler terms  Grin

So the fallback seed nodes are there for emergency use only. And they have to be updated regularly over time. right?
jr. member
Activity: 73
Merit: 8
July 21, 2018, 02:32:59 PM
#3
I have red in some forum discussions but I haven't exactly understood it.

Can someone explain seednodes technically?

I have a good knowledge on how Blockchain works, what are nodes, consensus algorithm etc etc...

There are two types of seed DNS seeds and seed nodes as you have defined. DNS segments are stored in chainparams.cpp. To date, this file lists the following nodes.

seed.bitcoin.sipa.be
dnsseed.blue meat.me
dnsseed.bitcoin.dashjr.org
seed.bitcoinstats.com
seed.bitcoin.jonasschnelli.ch
seed.btc.petertodd.org
I ran nslookup on these DNS names and they return a list of IP addresses (14-26) that seemed to run bitcoin nodes.

There is also the concept of seed nodes, which are hard-coded IP addresses in case someone encounters a DNS failure or other problem. These nodes are connected only if the other discovery mechanism does not work.
staff
Activity: 3458
Merit: 6793
Just writing some code
July 21, 2018, 01:38:34 PM
#2
Seed nodes are nodes that generally have a high uptime and have had many connections to many other nodes. They are used by nodes that are first joining the network to get a list of other nodes to connect to. The DNS Seeders give out lists of seed nodes and there are also some hard coded fallback seed nodes in Bitcoin Core to be used if the DNS Seeders are unavailable.

It is important to note that nodes do not connect to seed nodes as a normal node. Rather they connect, request IP addresses of other nodes (using the getaddr message) and then disconnect. Nodes then connect to the nodes that were given in the addr message (the response to getaddr).
newbie
Activity: 70
Merit: 0
July 21, 2018, 11:46:22 AM
#1
I have red in some forum discussions but I haven't exactly understood it.

Can someone explain seednodes technically?

I have a good knowledge on how Blockchain works, what are nodes, consensus algorithm etc etc...
Jump to: