25 votes
Accepted

Why doesn’t Bitcoin use UDP to do Blockpropagation?

The Bitcoin system doesn't have just one network protocol: Any way of obtaining the blocks is equally valid-- blocks over freenet, over satellite broadcast, over the P2P network, all work just as ...
G. Maxwell's user avatar
  • 7,727
16 votes
Accepted

How did peer discovery work in Bitcoin v0.1?

The first seed mechanism was IRC-based. There was a hardcoded IRC server and IRC channel (#bitcoin on Freenode), and the Bitcoin client would connect to the server, and join the channel with a ...
Pieter Wuille's user avatar
12 votes
Accepted

Sync with bitcoin-qt very slow (0,01%)

Bitcoin Core sync very slow Bitcoin Core is capable of full sync in a relatively short period of time depending mainly on the hardware. Most of the work done is not actually downloading the blocks, ...
11 votes

What exactly does the scary option "Allow incoming connections" do in Bitcoin Core?

There are two ways by which bitcoind connects to peers. The default is purely outbound connections - the node will use DNS seeds, as well as its own database of previously seen peers, and attempt to ...
Raghav Sood's user avatar
11 votes

What is a Feeler Connection? When is it used?

A feeler connection is a short-lived outbound connection that only starts up after your node has established the required 8 outbound connections and 2 block-relay-only outbound connections. The ...
vnprc's user avatar
  • 405
8 votes

What is a block-relay-only connection? What is it used for?

Block relay connections were added to bitcoin core in v0.19.0.1 in November 2019. Their purpose is to harden the peer-to-peer network against partition attacks. They do this through a clever ...
vnprc's user avatar
  • 405
8 votes
Accepted

How does one become a DNS seed for Bitcoin Core?

DNS seeds are hardcoded in the code, you can see the actual DNS seed available in Bitcoin Core at this link. The requirements are: run a bitcoin seeder, which is a specialized software (like this) ...
Paro's user avatar
  • 185
6 votes
Accepted

How is network conflict avoided between chains?

The protocol messages on Bitcoin include a magic number to identify the network they belong to. Bitcoin's magic values are described for example on the Protocol Documentation page in the Bitcoin wiki: ...
Murch's user avatar
  • 75.3k
6 votes
Accepted

What can an attacker do if they compromise a DNS seeder?

DNS seeders exist in order to bootstrap new nodes to the network. Nodes maintain a database of IP addresses for other nodes that they can connect to which they build by requesting IP addresses of ...
Ava Chow's user avatar
  • 70.4k
6 votes

How does node discovery and miner discovery work?

I am wondering how nodes discover other nodes Nodes learn about other nodes through: DNS seeds (which run crawlers that maintain databases of network nodes) From their peers (nodes gossip IP ...
Pieter Wuille's user avatar
5 votes
Accepted

How Do Peers Choose Which Peer To Trust?

either I broke some rule, or the other person did; In this case, how does my client find a trusted peer Your client does not trust any peer. It fully validates the blockchain. In the event of ...
Ava Chow's user avatar
  • 70.4k
5 votes
Accepted

How do hard forks avoid peering with each other?

Ports One way that forks can deliberately separate themselves is by using a different TCP port number for network communications. Currency Port Bitcoin 8333 Litecoin 9333 Handshake When two ...
RedGrittyBrick's user avatar
5 votes

What is the prior work or inspiration for the new/tried table design?

Were the new and tried tables included in bitcoin from the beginning or added at a later date? new/tried table were introduced in #787. Counter measure 6 in the paper suggested more buckets and was ...
stratospher's user avatar
5 votes
Accepted

IP's in the new and tried table for bitcoin nodes

Bitcoin Core's addrman (and its network stack in general) treats onion addresses as a type of IP addresses. So the (data part of) the onion addresses are stored directly. In older versions this was ...
Pieter Wuille's user avatar
5 votes

How did peer discovery work in Bitcoin v0.1?

Quoting from the wiki: In addition to learning and sharing its own address, the node learned about other node addresses via an IRC channel. See irc.cpp. After learning its own address, a node encoded ...
Antoine Poinsot's user avatar
4 votes

What happens when a node goes offline for a while?

Full nodes are always in a perpetual state of "catching up to the network". This is true if they are just booting up for the first time, have been down for a month, or have been running since the ...
Jestin's user avatar
  • 8,812
4 votes

What is a DNS seed node vs a Seed Node?

2017 values are: seed.bitcoin.sipa.be dnsseed.bluematt.me dnsseed.bitcoin.dashjr.org seed.bitcoinstats.com seed.bitcoin.jonasschnelli.ch seed.btc.petertodd.org
Tearo Dactyl's user avatar
4 votes
Accepted

Does bitcoin-core software/client connects with only same version number nodes?

You can see from the Debug Window ("Peers" tab) that the Bitcoin Core client connects with multiple clients not only with different versions but different implementations. So to answer your question: ...
mishmash's user avatar
  • 152
4 votes
Accepted

Why was my full node knocked off the network last night?

As Nate Eldredge said, the block that you received is a Bitcoin Cash block which is invalid to Bitcoin Core. Because of this, your node banned the Bitcoin Cash node that sent you the block. However, ...
Ava Chow's user avatar
  • 70.4k
4 votes

Why doesn't Lightning have DNS bootstrapping?

It does! There is even a BOLT for it (check out: https://github.com/lightningnetwork/lightning-rfc/blob/master/10-dns-bootstrap.md ) from there you have the following example: dig lseed....
Rene Pickhardt's user avatar
4 votes
Accepted

How does a full node decide which outbound peers to have?

Addresses for outbound connections are largely chosen at random. The filtering of addresses comes at the time the addresses are first received by the node before they are added to the address database....
Ava Chow's user avatar
  • 70.4k
3 votes
Accepted

How does a node find the active chain?

When a new node joins the network, it will look up nodes from the DNS seeds. It'll reach out to multiple nodes it hears about and ask them for more peers in turn. The new node asks each of their peers ...
Murch's user avatar
  • 75.3k
3 votes

addnode vs seednode

A node is a machine that is connected to other nodes on the Bitcoin network which sends and receives blocks and transactions with other nodes. A peer is a node which your node is connected to. Peer ...
Ava Chow's user avatar
  • 70.4k
3 votes

Why is my Electron Cash not detecting any servers?

I had a similar issue. The solution is easy. Choose the "Server" tab, then randomly right click on a server and choose "Use this as server" To make sure it works properly, please choose one of these:...
MCCCS's user avatar
  • 10.2k
3 votes

How does blockchain ensure that a closed loop in network is not formed?

Nodes have more than 8 connection slots, by default they have 125 maximum connections. There are 8 outbound connections, but can still have incoming connections from other nodes when all 8 outbound ...
Ava Chow's user avatar
  • 70.4k
3 votes
Accepted

How to load a peer list file?

This feature is no longer present in Bitcoin Core. It was removed in 2011. You can get the same effect by adding multiple addnode= lines to your bitcoin.conf.
Nate Eldredge's user avatar
3 votes
Accepted

Can we shutdown the Bitcoin blockchain?

So can a blockchain can be shutdown by shutting down power supply across the globe? What would happen in such a case? If the world's power supply was suddenly cut off, then everything electronic ...
chytrik's user avatar
  • 18.3k
3 votes
Accepted

How to clear peer list?

You can stop bitcoind, and delete the peers.dat file in the data directory. On next startup, bitcoind will start a new one, by seeding from DNS seeds and other means. Why, though? Generally the peers ...
Pieter Wuille's user avatar
3 votes

How many lightweight nodes vs full nodes are there on the network?

It isn't easy to tell for a number of reasons. The network protocols don't explicitly distinguish between full-nodes, SPV wallets or other types of software that communicate with full nodes. Many ...
RedGrittyBrick's user avatar
3 votes

How does sipa's bitcoin-seeder determine which IPs to return out of all the ones it knows to be available for P2P connection?

The answer is simple: it returns as many as fit in a DNS UDP packet (512 bytes).
Pieter Wuille's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible