Hot answers tagged

25 votes
Accepted

Can someone please explain FIBRE to me like I'm 5 and why is it useful?

First the "why it matters": Fibre (Fast Internet Bitcoin Relay Engine) is a protocol which attempts to deliver Bitcoin blocks around the world with delays as close to the physical limits as ...
user avatar
  • 7,429
16 votes
Accepted

What is the tradeoff between privacy and implementation complexity of Dandelion (BIP156)

In my view, the main implementation detail to be worked out with Dandelion is ensuring that there are no new DoS vectors introduced. In the existing transaction relay model of Bitcoin Core, ...
user avatar
  • 371
15 votes
Accepted

Bitcoin protocol and Wireshark

Someone wrote a Bitcoin protocol decoder for Wireshark, several years ago. I assume it was included in the Wireshark distribution. Wireshark simply knows about the Bitcoin protocol. There is no magic ...
user avatar
11 votes
Accepted

How can I use Bitcoin Core with the anonymous network protocol I2P?

Jon Atack answered this on Twitter. Configuration and setup First install and start I2P (version 2.35 or above). $ apt install i2pd $ systemctl enable i2pd.service $ systemctl start i2pd.service In ...
user avatar
6 votes
Accepted

Where can I find a list of reliable Bitcoin full nodes?

Best place is https://getaddr.bitnodes.io/nodes/leaderboard/ Nodes are rank according to various parameters
user avatar
  • 1,892
6 votes

How to confirm how many peers a node has?

When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours. No it doesn't. It responds with list of nodes that its aware of being ...
user avatar
  • 7,429
6 votes
Accepted

To run a full node, should I get a static IP address from my ISP?

To run a Bitcoin full node you don't need to have a static IP address as when your IP address changes you should still be able to find peers and connect to them. However, if you want to maintain the ...
user avatar
6 votes
Accepted

Bitcoin Core uploads much more than it downloads

While nodes are set to be listening by default, the vast majority does not permit inbound connections either because listening has been disabled or their network setup doesn't make the necessary port ...
user avatar
  • 62.3k
6 votes
Accepted

Is the `mempool` message reliable?

Full nodes have absolutely no use for the mempool message, it is vestigial from bip35 and has had a history of causing privacy leaks due to its poor implementation. It has previously been used to ...
user avatar
  • 15k
6 votes

Can "Block" Message send multiple blocks?

It sends exactly one block. If you want to send multiple blocks, you need multiple messages.
user avatar
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) ...
user avatar
5 votes
Accepted

Since Bitcoin has no central system, where do network request go?

Bitcoin is a peer-to-peer gossip flood network. Whenever a Bitcoin participant creates a transaction, their wallet software submits it to its peer nodes. These peers then relay it to their peers in ...
user avatar
  • 62.3k
5 votes
Accepted

Is it possible to check which nodes banned my node?

No, you cannot know this. But in general, since you're a normal, honest, node presumably, the most likely answer is "none".
user avatar
4 votes

How to confirm how many peers a node has?

It returns some plausible peers, not all of its peers. You have no way of knowing any specific details about them, if they’re sybil, not operational, or not useful. The software tries to work out ...
user avatar
  • 15k
4 votes

Can someone please explain FIBRE to me like I'm 5 and why is it useful?

FIBRE is valuable as it allows for miners to extremely quickly propagate their blocks to other miners and to the rest of the network. The goal of FIBRE is to reduce latency in block transmission. ...
user avatar
  • 60.4k
4 votes

Possible better peer-to-peer protocols for Bitcoin?

The network used today isn't actually the same as the original design, which did not have an inventory system at all, every transaction and every block was sent to every peer indiscriminately. Compact ...
user avatar
  • 15k
4 votes

Did Bitcoin Core relay blocks sequentially or in parallel to peers before Compact Blocks?

It isn't as simple as "sending sequentially" or "sending in parallel". Each connection is its own socket and the kernel performs packet scheduling. The Bitcoin protocol doesn't have any ...
user avatar
  • 7,429
4 votes
Accepted

What is `ping` RPC used for?

The help text is your friend: Requests that a ping be sent to all other nodes, to measure ping time. Results provided in getpeerinfo, pingtime and pingwait fields are decimal seconds. Ping command is ...
user avatar
  • 60.4k
4 votes

What would happen to Bitcoin if GPS/Galileo timing ceased to be available?

Bitcoin needs approximately sundial time accuracy to operate. Computers have their own free running clocks which provide more than enough accuracy in the absence of other references, and NTP sources ...
user avatar
  • 15k
4 votes
Accepted

How Does A Node Get Infomation From The TxID - that is, isn't the TxID the SHA^2(256) of various transaction components?

Yes, all txids are calculated only from non-witness data. While many nodes have a complete copy of the blockchain (which does contain all transactions), most nodes do not have a full transaction index....
user avatar
  • 62.3k
3 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
user avatar
3 votes

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

First, let me clarify that the Erebus attack does not require rebooting the victim. It is only for speeding up the attack process. The attacker can patiently wait for the existing legitimate ...
user avatar
  • 387
3 votes
Accepted

Do full-nodes process all transactions before broadcasting the new block header?

Do full-nodes process all txs before broadcasting the new blockheader? It depends. For nodes having protocol version 70015 and higher, the peer will announce the compact block even before full ...
user avatar
  • 6,898
3 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....
user avatar
  • 60.4k
3 votes
Accepted

What is the proper way to handle reorgs when fetching headers

The getheaders message allows you to list multiple block hashes. So instead of just putting the current chain tip, you can insert multiple block hashes. Responding nodes will see if any of those ...
user avatar
  • 60.4k
3 votes
Accepted

In Bitcoin Core, are compact blocks pre-filled with more than just the coinbase?

Adding more advanced prediction of what transactions are useful to prefill was probably intended as a TODO when Compact Blocks were implemented, but to the best of my knowledge, nobody has worked on ...
user avatar
3 votes
Accepted

How do full nodes get the information about stale blocks?

A security assumption is that nodes are connected to at least one honest peer. If all of their peers are malicious, is is perfectly feasible for them to withhold information about certain blocks or ...
user avatar
2 votes

What are seeds in the source code of bitcoin?

Those hosts are DNSseeds. When your node starts if it find itself unable to successfully connect to the network within 11 seconds it will query those DNS names which are run by technical people in ...
user avatar
  • 7,429
2 votes
Accepted

What are seeds in the source code of bitcoin?

In order for a bitcoin node to start connections with other nodes, it first needs a seed node. A seed node can be any node (listening) connected to the bitcoin network. Once the node has connected to ...
user avatar
2 votes

Where can I find a list of reliable Bitcoin full nodes?

A list of reliable nodes is inherently a trusted list. Therefore a reasonably trustable place to get some node IPs would be by hitting the DNS seeds hardcoded in the reference client. The list is ...
user avatar

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