Hot answers tagged

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 ...
  • 291
7 votes
Accepted

How does bitcoin prevent DDoS amplification via the `addr` p2p message type?

For a long time, there was a restriction to strongly prefer connecting to addresses with port 8333. This restriction was recently removed in PR 23542 and PR 23306, although a list of "bad ports&...
  • 420
7 votes
Accepted

What is the difference between blocksonly and block-relay-only in Bitcoin Core?

While both of these disable transaction relay, they are conceptually used for different purposes: Block-relay-only connections (see this post for more details) are hard-to-detect connections with the ...
  • 420
6 votes

Can "Block" Message send multiple blocks?

It sends exactly one block. If you want to send multiple blocks, you need multiple messages.
6 votes
Accepted

What is the maximum, realistic P2P message payload size?

Since Bitcoin Core pull request 5843, incoming messages larger than MAX_PROTOCOL_MESSAGE_LENGTH are rejected. This constant was initially set to 2 MiB, but later (as part of the segwit changes) ...
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 ...
  • 291
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: ...
  • 65.3k
4 votes

Bitcoin Core stalled peer logic during initial block download

During IBD, there is a "moving window" of 1024 blocks ahead from the current height, from which blocks can be requested from peers for parallel download. When a peer has an open slot for a ...
  • 420
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 ...
3 votes

Unable to use I2P on Ubuntu 20.04 / 21.04

Can you reach anything over I2P? For example, can you browse http://git.idk.i2p/ using the router's http proxy?
  • 31
3 votes
Accepted

Is it okay to send witness transactions in response to `MSG_TX` get data messages?

Given that the vast majority of nodes are Bitcoin Core and segwit capable, this is probably okay, but technically does not follow the protocol. Bitcoin Core itself does not check whether a transaction ...
  • 63.2k
2 votes
Accepted

Unable to use I2P on Ubuntu 20.04 / 21.04

I was able to fix this issue by going to http://127.0.0.1:7657/configclients in the browser and enabling "SAM application bridge". This was disabled by default.
  • 51
2 votes

A question about transaction broadcasting and block creation

A transaction itself doesn't have a storage structure for timestamp. So the transactions don't know when they're created. But, after bundling the transactions into a block and while solving the hash ...
2 votes

How would one test the impact on the Lightning Network of a network split on the base layer?

Christian Decker answered this on Twitter. pyln-testing which is used for testing in c-lightning uses a proxy in front of bitcoind allowing you to mock responses. This allows you to get any node stuck ...
2 votes

How do the various bitcoin roles interact?

The role that you call "chain maintainers" are actually referred to as nodes. A node receives blocks and transactions, verifies them, and forwards them onto other nodes. An important thing ...
  • 63.2k
2 votes

Does running a node benefit the network?

I don't think I'm qualified to give a full answer, but I do think a full node which doesn't actually have an "economically active user" behind it could still be a benefit to the network. The ...
  • 97
2 votes
Accepted

How to get IPs of 8 peers my node propagates transactions and blocks to?

Bitcoin Core nodes propagate blocks and transactions to all their peers, not just outbound ones. And if you have 16 peers that getpeerinfo reports "inbound": false for, then all 16 are ...
1 vote

How does bitcoin prevent DDoS amplification via the `addr` p2p message type?

This specific DDoS vulnerability was exploited in 2021, which lead to an emergency patch. PR #22387 is how Bitcoin prevents DDoS, clients running a version older than v22 may still be used to amplify ...
  • 323
1 vote

51% attack on a small network of nodes?

For practical purposes, all the mining nodes should be connected. Anyone who is running a mining node has an interest in staying connected: Otherwise they don't have access to the most recent chain ...
  • 81
1 vote

What does "Network Unroutable" means?

From the Wasabi docs: There are two ways to confirm that your Wasabi client is connected to your own full node. First, in the Wasabi logs. Once you receive a transaction Wasabi downloads the block ...
  • 133
1 vote
Accepted

if the lower bound of a blocks timestamps is the median of the previous blocks, how can the network difficulty ever decrease?

The lower bound for block timestamps is simply a measure against miners setting block timestamps too far back into the past – in an idealized scenario of one block every 10 minutes, the median of past ...
1 vote

Trust in bitcoin networking

The nodes run software which contains the best-for-everybody rules about how the network should operate. One of those rules is that nodes should forward new transactions to other nodes. There is no ...
1 vote

Trust in bitcoin networking

There is a distinction between miners and nodes though miners will (or at least should) run a full node to check that the blocks they are attempting to mine are valid blocks. I think you are using the ...

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