Questions tagged [p2p]

Peer-to-peer (p2p) network protocols are used to transmit messages between network nodes of identical status in the network. In a p2p network, all participants look the same to each other.

This is unlike network protocols with a hierarchy of controllers and agents and unlike network protocols with servers and clients with distinctly separate roles.

149 questions
3
votes
2 answers

Why don't nodes resume all existing outbound connections at restart?

The Erebus attack can, according to the authors, be accelerated by causing the victim node to reboot* at opportune moments. This is because the node will pick new outbound peers from a list that's been compromised by the attack. What's the reason…
Sjors Provoost
  • 962
  • 6
  • 16
3
votes
0 answers

No answer to my `getdata` message

I am trying to fetch blocks using P2P messages but at block 501500 I never received any block message. Here how I do it : I am connecting to a node version/verack happens smoothly. I instantly answer any ping message. I have been able to do the…
rllola
  • 151
  • 1
  • 7
1
vote
1 answer

Why are there no responses to signaling messages?

Why are there no responses to signaling messages (sendcmpct, sendheaders, wtxidrelay) that would indicate I offer a certain feature but do not want it applied to me? What if I don't want messages to be sent to me using wtxid (only txid), but I have…
Cosmos
  • 199
  • 7
1
vote
1 answer

Is Bitcoins' peer-to-peer network unstructured or structured?

I can't find information about if the p2p network of Bitcoin is unstructured (the nodes are not organized in any specific way), or if it is structured (the nodes do have a way to interact with each other). Thank you.
Julia
  • 11
  • 1
0
votes
1 answer

Does extra outbound connection when tip is stale disable feeler connection?

I run a Bitcoin node for about 1.5 months and I notice that there is no feeler connection is made in 25 days, hence the IPs in the tried table does not grow. I also notice in the debug.log during the same period of time, many potential stale tips…
Muoi Tran
  • 427
  • 2
  • 10
0
votes
0 answers

How does Bitcoin Core overcome the condition that chain work in pre-sync must be within one day of the current active chain tip when it is genesis?

Two conditions for the chain we got in the header pre-sync are: to have minimal chain work to be within 1 day worth of work from the active chain tip's work When we start Bitcoin core node for the first time, the active chain tip is on genesis…
Cosmos
  • 199
  • 7
0
votes
1 answer

At what point does a node start downloading blocks in IBD?

What I know so far is that when the node starts for the first time or after some time, the Initial Block Download (IBD) begins. The node chooses one peer (the header sync peer) from 8 outgoing connections. Initially, it sends a getheader message…
Cosmos
  • 199
  • 7
0
votes
1 answer

What should I do about incoming connections if my ISP uses CGNAT?

Unfortunately, my ISP uses CGNAT, so port forwarding doesn't work. What should I do? Can I have incoming connections (since I want to open them) and how? Would a VPN help?
Cosmos
  • 199
  • 7
0
votes
1 answer

Does hash_count field exists in getheaders/getblocks messages?

Ava Chow said it does not exist (link). If hash_count does not exist, how will the receiving peer know how many locators are in the message? I am not sure if he maybe thought that hash_count does not exist for hash_stop or it does not even exist for…
Cosmos
  • 199
  • 7
0
votes
1 answer

What happens when hash_stop in getblocks/getheaders messages has a wrong/nonexistent hash?

What happens when hash_stop contains a hash that the node that receives the getblocks/getheaders message doesn't have, or does, but that hash (that is, the block whose hash it is) is somewhere earlier in the chain (behind the hash in block locator)?…
Cosmos
  • 199
  • 7
0
votes
1 answer

Does the whole message become invalid when the invalid INV type occurs in the message?

If an INV type unknown to the node appears in an INV message, a GETDATA message or some other message where the INVETORY structure is used (e.g. MSG_WITNESS_TX for non-segWit nodes, MSG_WITNESS_TX in an INV message for segWit/non-segWit node, some…
Cosmos
  • 199
  • 7