A message from our CEO about the future of Stack Overflow and Stack Exchange. Read now.
13

This will not work, because a block's content includes the previous block's hash which means that a valid block can only be mined after the previous block is known. The dummy transactions would not yield a reward to the miner, because the transaction fees are just going from the miner's left pocket to the miner's right pocket. The miner will only gain the ...


4

What prevents this is the requirement to have the hash of the previous block's header in the new block header which is then put through Proof-of-Work. The hash of the previous block's header cannot be known until it is created, making it impossible to compute the work ahead of time. The miner cannot just pick any old block header to base his new block on as ...


3

The wallet itself is still downloading the block and is 3 years and 29 months behind. Does this mean I must wait until this finishes before it shows up? Yes, in order to understand the current state of the network (which includes the transaction that you received funds in), your node will need to work through the blockchain history. Otherwise, your node ...


3

Blocks include more than just those 3 variables. One of the most important ones is the merkle root. This is the hash of all of the transactions in the block, in a particular order. If different transactions are included or they are included in a different order, that merkle root is going to be different. So if each miner has a different merkle root, then ...


2

"SPV mining" refers to a bad practice where a miner starts hashing a new block on top of an unverified parent block. If the parent block turns out to be invalid due to a double spend or newly activated soft fork, the new block will also be invalid. The term SPV in this case is used because the miner only verifies the headers of the incoming block and then ...


1

(2) Based on the previous block hash, I calculate the possible block header combinations of the nonce, the version number, the timestamp* and the Merkle root. The goal is to simply find a valid block header which has a lower hash value than the current target. The block header is 80 bytes size: version: 4 bytes. previous hash: 32 bytes. merkle root: ...


1

Python 3 parser available here https://github.com/alecalve/python-bitcoin-blockchain-parser


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