Hot answers tagged

15

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 involved.


5

The oldest version that can sync is 0.8.6. This is the version that first used LevelDB instead of BDB. Both the IRC node discovery and the protocol message changes occurred several versions prior.


3

No, due to different reasons. First, the network is always in flux, nodes are appearing and disappearing, and connections are even more dynamic, so even if there were an API you could use to ask a node for its connections, that information would be outdated quickly. Second, privacy is part of the reason why crypto currencies exist. Divulging the list of ...


2

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 would stop working. The blockchain would be 'frozen', each node would retain its local copy, but be unable to communicate with other nodes, and miners would be ...


2

Bitcoin is a gossip network and relays transaction or blocks on a best effort basis. Hence you cannot determine the probability of one transaction being seen by the network versus the other. Now in terms of mining the transactions in a block there are a couple of cases that needs to be considered. For assumption sake let us assume that we are considering a ...


2

As difficulty adjusts automatically, it is indeed possible to run a mostly functional network with the bare minimum hardware required for storage and networking. Naturally, this network will have next to no protection against a 51% attack, as anyone with a faster computer (or computers) will easily be able to outdo your bare minimum hardware. Running it ...


2

From my understanding, the difficulty of the network will still keep increasing when the "target" block is mined, regardless of the number of miners (yes?) No. The difficulty readjusts every 2016 blocks, based on the average time taken to mine the previous 2016 blocks. If the average is less than 10 minutes, the difficulty goes up. If greater than 10 ...


2

does it mean HD wallets support multi networks? No. A Bitcoin wallet can implement BIP-0044 without supporting any cryptocurrency other than Bitcoin.


2

In theory, this attacker owns enough computing power that they could execute a "double spend" attack. They could spend coins in one place, allow the coins to enter the block chain as normal until the required confirmations are met, then fire up their 51% of the miners to craft a fraudulent fork of the block chain in which those coins were never spent, ...


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

It looks like the magic bytes you are using isn't the Bitcoin magic bytes. You have e3e1f3e8 but Bitcoin's network magic is f9beb4d9.


1

how do we ascertain that the bitcoin network [...] is one connected graph Problems paying people. The senders and recipients in transactions are people who make contact using non-bitcoin protocols - for example HTTP websites, SMTP email, chat, in-person, by phone. Therefore if the Bitcoin network were fragmented we should expect that pretty soon a person ...


1

An attack can only be launched when the attacker have more than 51% computational power.


1

Being doing my own diagnosis on this issue. I have bitcoind and lnd running on the same raspberry pi, as per the excellent Raspibolt guide by Staticus. I wrote the following script to log both daemons' cpu usage, mem usage and total number of bitcoind peers: #!/bin/bash echo \ "$(date +%D,%T),"\ "$(ps -U satoshi -o comm= -o %cpu= | grep ...


1

Scripts are not parsed. From the protocol perspective they are byte arrays, and their contents is irrelevant for transaction deserialization. Scripts are executed however, at the time they participate in spending. For outputs, that is when they are (attempted to be) spent. For non-coinbase inputs, that is immediately. Coinbases never participate in spending,...


1

You can’t. Nodes don’t respond to messages about stale blocks because this would be a fingerprinting vector.


1

Yes you can and the node will still sync and push transaction data. Most of the nodes are behind NAT and not reachable anyway from the internet. These nodes are initiating connection against random nodes and then the communication become bidirectional, allowing to receive blocks. Nodes that are exposed to the internet are important, to bootstrap nodes ...


1

When your client start the connection with another peer it is outbound, otherwise it is inbound. If you want to be sure that your tor node is properly setup and that other peer can connect to you, check: https://en.bitcoin.it/wiki/Setting_up_a_Tor_hidden_service


1

Nodes that participate in the Bitcoin network run a computer program such as this one: https://github.com/bitcoin/bitcoin, which dictates how everything works. To answer your more specific questions: Yes, bitcoin once used UPnP, here are some more details: https://dirkmittler.homeip.net/blog/archives/3340 but in modern versions it does not (thanks for ...


1

I havent seen a proper answer on the internet so I did the test myself using bitcoin-0.18.1 with the -testnet flag and after downloading the chain ~2 GB I monitored the traffic of the bitcoind process with nethogs for 24 hours. I got 40MB download and 20MB uploads so 60*30 = 1800MB You can expect 1.8GB of traffic from the bitcoin testnet compared to the ...


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