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 ...
  • 7,578
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 ...
  • 16.7k
9 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 ...
  • 303
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: ...
  • 67.3k
6 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 ...
  • 303
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 ...
  • 65k
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 ...
5 votes

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 ...
  • 65k
5 votes

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) ...
  • 108
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 ...
  • 8,752
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
4 votes

How does the bitcoin client make the initial connection to the bitcoin network?

The connection method depends on the client. Bitcoin Core will spend up to 11 seconds trying to connect to a peer in its database. If that doesn't work, it will query a DNS server (known as a DNS ...
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: ...
  • 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, ...
  • 65k
4 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 ...
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....
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....
  • 65k
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:...
  • 9,969
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 ...
  • 65k
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.
3 votes
Accepted

How to trigger port for Bitcoin client (e.g. 8333)

Bitcoin Core doesn't seem to have an option to specify the source port for outgoing connections, so you probably can't assume anything about the source port. However, if possible, you could configure ...
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 ...
  • 67.3k
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 ...
  • 17.7k
3 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 ...
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 ...
2 votes
Accepted

no IPv6 peers connecting to my node

The issue was that bitcoind was discovering my wrong IPv6 address. (It mistook my link IPv6 address for my public one.) I set --discover=0 and set my IPv4 and IPv6 addresses manually with --externalip....
  • 4,429
2 votes

How peer discovery works after connecting to hardcoded nodes?

Did you add the hardcoded nodes with addnode or with connect? addnode=<ip> Add a node to connect to and attempt to keep the connection open connect=<ip> Connect only to ...
  • 67.3k
2 votes
Accepted

Persistency of Seed Nodes

I'm not familiar with the specific design of CryptoNote, but in general a cryptocurrency node must have a way of discovering its first node in the network. Once it discovers that first node, it can ...
  • 28.9k
2 votes

Unable to connect to peers nor synchronize the network

It looks like your college network does not allow bitcoin connections. Technically, it should be possible to get it to work using Tor, but I don't have experience with that. You write that Tor works ...

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