Hot answers tagged

6

I have no idea what a "network" really is. I googled and read about LAN/WAN. Are these the types of network we're talking about? No. A network is really just "a group of connected things". One example is indeed a LAN network through which multiple computers that are physically close to each other (a home, an office, ...) are connected to ...


5

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 same peers getting a static IP address is a good idea. Your connection to existing peers will drop if your IP address changes and you will either reconnect to ...


5

It appears that btcwire is the Bitcoin p2p module of btcd and neutrino is Lightning Labs's implementation of BIP157/158 (compact client-side block filters (CBF)). I suspect that the agent identifier btcwire 0.5.0/neutrino indicates LND (Lightning Network Daemon) instances which are configured to allow or prefer CBF for synchronization. Given your experience ...


4

Computers are not connected to the blockchain. Computers running Bitcoin software connect to a few other computers that are running Bitcoin software. Each of these computers keeps its own copy of the blockchain if they are what is known as a full-node. For example any computer running the "Bitcoin core" wallet software is a full node. So even if ...


4

Your points 1 & 2 are both correct. The good news is the only time those old blocks get requested is by new nodes that are still bootstrapping and downloading the blockchain for the first time. As long as those old blocks are available and accessible somewhere, those new nodes will sync up just fine. Another fact about pruned nodes is they are required ...


4

want to capture all the transactions propagated over the main network and detect if a new block mined. I don't want to become a full-node or spv-node. Technically, I know this is exactly the way all the full/spv nodes do every now and then. However, I could not found a good reference to teach me how. Clearly, full nodes and SPV nodes must get their ...


3

We need more than one miner because ... We must avoid centralisation as a goal of Bitcoin is to avoid the need for trusted third parties. We need miners to invest sufficient work to make the Blockchain effectively immutable. Otherwise we lose any agreement about who has money. This requires a competitive set of participants who undertake mining. It requires ...


3

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 it since. It is worth pointing out that Compact Blocks in practice (and in non-adverserial situations) works extremely well. On my own long-running node, as of ...


3

Banning peer to peer networks is very difficult in general. Assuming a node is starting for the first time, I believe it uses DNS seeds to find peers. If those DNS seeds are blocked, is it possible to prevent bitcoin node discovery ? This is possible but all you need in order to bypass it is one IP address of one peer and then you can connect to it ...


3

External host is the IP of the host connecting to you. If you want to allow anyone to connect, you can just put 0.0.0.0.


3

There's distinction of "bitcoin" and "bitcoin segwit". It's just Bitcoin.


2

onlynet only affects outbound connections. If you only want inbound IPv4 connections (why?), you'll need to either: Patch Bitcoin Core to bind to IPv6 addresses in IPV6_V6ONLY mode (see CConnman::BindListenPort in src/net.cpp) Use some firewall rule on your system to prevent incoming IPv4 connections to it Make sure you only have a publicly-reachable IPv6 ...


2

They will exchange chainwork. The one that claims a lower chainwork will query the other to confirm that its claim for a higher chainwork is legitimate. If it can confirm the claim, then it will switch to the chain with the higher total work.


2

I want to be able to control how the different nodes are interconnected to each other in this network. Is there a way to do this on Bitcoind? As per bitcoin.conf I suggest setting up the connect = X.X.X.X flag on your nodes. It will enforce connecting only to the peers specified by you. Not sure if this is the answer you are looking for though?


2

Is Fibre protocol deserved for rare temporary forking? If blocks are propagate that fast, there are less chances for temporary fork to happen and even if it do, they are short (small length)? Miner can fast continue to work on (what it seems to him) block head of the chain? Well the point is that a miner can more quickly switch to a new block that has been ...


2

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. This filter checks what services the nodes offer, what network they are on (e.g. IPv4, IPv6, TOR), and the time that they were reported to last be seen. Your ...


2

The IP-addesses of Bitcoin nodes are not a secret. See addr Nodes don't explicitly tell other nodes their Bitcoin addresses. Since nodes pass on details of other nodes transactions, working out which nodes originated a transaction isn't straightforward. Since the set of Bitcoin nodes is constantly changing, and nodes go offline temporarily (or permanently), ...


2

Each bitcoin node connects to a number of other nodes on the bitcoin network (peers). Think of it like friends you share information with. You can ask them for information, and they can ask you too. So new bitcoin nodes, when they first start, find other peers on the network, and then the new node will start asking for bitcoin blocks from the blockchain that ...


2

One way to think about bitcoin mining is to phrase it in terms of a lottery. The bitcoin network essentially hosts a sequence of lotteries, and the protocol is designed (and enforced by nodes) such that, on average, the time between one lottery and the next is ten minutes. Those who are interested in buying tickets for these lotteries (miners or prospective ...


2

Neutrino is light client and improved version of SPV node : https://bitcoin-s.org/docs/getting-setup#neutrino-node There are other ways to get information about transactions and blocks but you will have to trust others: Use API for one or more block explorers. Example: https://mempool.space/api Ask few people who run nodes to broadcast this information. ...


1

Yes you can specify -externalip multiple times. The config option -externalip allows you to specify your own public reachable address. This can also be an onion address. From the Bitcoin Core Tor documentation: The one that will be rumoured to a particular peer is the most compatible one and also using heuristics, e.g. the address with the most incoming ...


1

What would happen to Bitcoin if the internet or power would be shut down for a moment It depends how long that moment is. Generally there would be no long-term harmful effect on Bitcoin for any outage of a few minutes or even several hours. Longer outages of many days or weeks would skew the next recalculation of mining difficulty and result in blocks being ...


1

Yes, they download blocks from other nodes they connect to. In Bitcoin Core you have the choice between being a pruned node or not. In both cases all blocks are downloaded and fully verified, but in pruned mode old blocks are deleted after a while after being verified. This has a number of implications, but one of them is that a pruned node does not help new ...


1

Easiest way to understand the response of other nodes IMO is using Wireshark and follow the below steps: Install Wireshark Capture packets according to the network you will be using on this system when Bitcoin full node connects with the network. Launch Bitcoin Core Stop capturing packets once the node is connected to few peers Filter captured data in ...


1

Blockstream have multiple satellite circling around the earth and broadcasting the blockchain or receiving and sending transaction without interruption. https://blockstream.com/satellite/ They have their own kit to use the service: https://store.blockstream.com/product/blockstream-satellite-basic-kit/


1

There has been some discussion today before the Bitcoin Core PR review club session on the subject of Tor v3 support. I haven't been through the above answers to comment on whether any of it needs updating. But Jon Atack pointed out on IRC some good additional resources on getting started with Tor. There is the Bitcoin wiki and the Bitcoin Core documentation....


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