Questions tagged [block-header]

The block header is a portion of each block in the block chain that identifies the basic parameters of that particular block such as the block version, the time it was generated, the hash of the previous block, and the hash of the transactions in that block.

Filter by
Sorted by
Tagged with
1 vote
1 answer
56 views

In what order is the blockheader hashed?

In what order are the hash of the previous block, the root of the merkle and the nonce hashed to produce the hash of the next bitcoin block?
zman's user avatar
  • 11
16 votes
1 answer
1k views

How does block synchronization work in Bitcoin Core today?

When a Bitcoin (full) node connects to the network, it has to synchronize its blockchain with its peers, i.e. learn about the best chain the network knows. There are many aspects to this (learning ...
Pieter Wuille's user avatar
2 votes
0 answers
60 views

Headers-first sync and malicious peers [duplicate]

Since headers-first syncing specifies that the entire header chain is downloaded from a single peer, how does the downloading node know that it is not being served a manufactured out-of-consensus ...
Brutus's user avatar
  • 21
1 vote
1 answer
45 views

What is pchCommand?

BIP152 and BIP130 are using this term. What does it mean? Command name in message header?
Qwerty M3's user avatar
0 votes
0 answers
63 views

What are all the consensus rules for the block version value? [duplicate]

I am interested in what are the all consensus rules for block version number in a block header? Found some answer here. Andrew Chow said that it can be whatever value we want except some specific ...
Cosmos's user avatar
  • 199
4 votes
2 answers
137 views

What if a miner just broadcasts the header and never gives the body? What will happen?

What if a miner just broadcasts the header and never broadcasts the body? For example: A miner, after having successfully mined some block, just broadcasts the header for all other miners and hide the ...
longyue li's user avatar
2 votes
1 answer
61 views

What are the exact degrees of freedom in finding a valid block?

I am working on an educational project for bitcoin mining. I searched as much as I could but still haven't understood the following questions: What are the "exact" degrees of freedom in ...
Marlex Blank's user avatar
1 vote
1 answer
130 views

How are the block header bytes treated when calculating the block size in weight?

In pre-segwit, block header bytes were counted as "1 byte" and participated equally in the block size up to 1MB. Since the header is 80 bytes, we would actually have 999,917 bytes (1,000,000 ...
user avatar
1 vote
3 answers
101 views

How does hash work in a block for many transactions?

I know that a block in a chain has prev.hash and hash. The prev.hash is the previous block's hash. The hash is the current block's hash which is calculated based on nonce. One block can also have up ...
Joey Yi Zhao's user avatar
2 votes
1 answer
161 views

What is the nBits field in the CBlockHeader class?

In the source code for the CBlockHeader class, there is a field called nBits. /** Nodes collect new transactions into a block, hash them into a hash tree, * and scan through nonce values to make the ...
Amir reza Riahi's user avatar
8 votes
1 answer
329 views

What restrictions does the version field in the block header have?

We are seeing a lot of funky values in the block version since blocks are getting mined using the version field for additional entropy. This made me wonder, what range of values are permitted in the ...
Murch's user avatar
  • 75.4k
1 vote
0 answers
96 views

How can I hash a block header using bitcoin-cli and terminal commands?

I would like to hash a block header using terminal commands and look at all the pretty leading 0s, but I can't figure out how to do this correctly using block header data from bitcoin-cli. Here is ...
vnprc's user avatar
  • 405
0 votes
1 answer
60 views

Trusting only the proof of work to receive payments

I understand that a pruned node needs to download all the blockchain in order to verify the blocks and construct the UTXO set. But wouldn't be possible to download the headers only? Let's say if the ...
leslie's user avatar
  • 52
1 vote
1 answer
671 views

Why is the block header version value different from the getblocktemplate version value in the bitcoin blockchain?

When looking at block header for block 746632 I see that the version is 1073676292 or 3fff0004 or when reversed 0400ff3f, but the version I received from a getblocktemplate request is 536870912 or ...
andrewz's user avatar
  • 257
2 votes
1 answer
645 views

What are the components of the raw block shown in this image?

I'm wondering what the portion between the block header and the transaction data (the un-annotated section) is. I can't seem to find any information on it.
Jamo's user avatar
  • 167
0 votes
0 answers
16 views

Mining against candidate block hash or previous block hash? [duplicate]

When mining...; a) Is the block header hash of the candidate block used b) OR the block header hash of the previous block + noonce used? If it is a), which I presume, is it then correct that the ...
BOH's user avatar
  • 1
1 vote
2 answers
96 views

How to calculate the version (eg. in Python)?

I'm working through this medium post that describes all header fields of a block. The explanation of the version field is a little unclear for me. For starters I'm trying to consider version = 1, as ...
n.r.'s user avatar
  • 113
0 votes
1 answer
254 views

What actual steps are required to calculate a block's header hash?

From my knowledge a header hash will be calculated like this: serialize all header fields, including "the nonce" hash the serialized header once hash the hashed serialized header again ...
n.r.'s user avatar
  • 113
3 votes
2 answers
557 views

Calculate/Verify the Hash of a Bitcoin Block Header

I want to calculate/verify the hash for block #722,460. Here is the JSON: "hash": "00000000000000000002b73f69e81b8b5e98dff0f2b7632fcb83c050c3b099a1", "confirmations": ...
Yuri's user avatar
  • 41
1 vote
1 answer
287 views

How to download just the blockheaders for the blockchain

I'd like to download all the blockheaders for the blockchain directly from the network (not an external API) ... what is the best way to do this? I don't actually care about the transaction data and ...
user491880's user avatar
1 vote
1 answer
649 views

If a lot of miners start at nonce 0, how are there no ties?

I understand what happens with ties (in the long term, the longest chain wins), however, if a majority of miners start with a nonce of zero, does it just matter who has the fastest hardware, or is ...
Kladskull's user avatar
  • 123
0 votes
1 answer
1k views

What is the correct way to calculate timestamp for a Block(125552)?

I am just learning mining process. Today I learned that we have to find nonce for given block header. And for block header we need timestamp in UTC I took the timestamp data from below link of 125552 ...
V01's user avatar
  • 3
0 votes
1 answer
178 views

What parts of a block, other than the nonce, can a miner vary

What are the list of all the variables whose values that the miner can cycle or modify to get a valid hash for this block (with very high probability) ? The only one I am aware of is: Nonce - 4 Bytes....
J.Doe's user avatar
  • 127
0 votes
1 answer
127 views

How to pad Bitcoin Header in the SHA Algorithm Passes?

For any bitcoin block we combine various Header fields to create a string which is an input to a 2 pass SHA algorithm. The resultant hash must match with the Hash in the Block header for the Block to ...
J.Doe's user avatar
  • 127
0 votes
2 answers
240 views

A query regarding Bitcoin Header Format

I am new to Bitcoins and still learning thus please bear with me. As I read Bitcoin Block header (on which the Block Hash is computed) is supposed to be: hash - 32 Bytes ver - 4 Bytes prev_block - ...
J.Doe's user avatar
  • 127
3 votes
2 answers
308 views

What data is hashed to produce the block hash?

Exactly which items from a block are included in the data that is hashed to produce the block hash?
RedGrittyBrick's user avatar
1 vote
2 answers
999 views

How strict are the Unix Epoch time validation rules?

According to bitcoin.org, full nodes have a strict requirement on the deviation of time within certain boundaries. The block time is a Unix epoch time when the miner started hashing the header (...
arshbot's user avatar
  • 1,778
1 vote
2 answers
182 views

Why does the Genesis block appear to have a lower hash than necessary?

The hash of the genesis block of bitcoin has two extra 0 as compared to other block hashes. According to the logic, it should have been the same as they all have the same difficulty. Why is it so? Was ...
Aman Gupta's user avatar
1 vote
1 answer
61 views

Do peers advertise their chain work?

If yes, is this how a node decides that the peer has the best chain for headers-first download?
paulo's user avatar
  • 31
1 vote
1 answer
37 views

What exactly happens to leaves when forming nodes?

If you hash TXIDs with sha256 twice, you get the leaves of the merkle tree. As far as I understand the two outputs of the TXIDs are concatenated / paired. What does that mean? Are they added together?
user avatar
0 votes
1 answer
400 views

how to hash block header in c++

I want to hash a block header in C++ but dont know how. Im just using a test block at the moment, so that I know what the expected outcome is. https://www.blockchain.com/btc/block/669892 I have a ...
Martin Bradley's user avatar
3 votes
1 answer
435 views

How do I hash header block with C++

So im trying to hash a header in C++ and I am having some trouble. I have tried different libraries (cryptopp, openssl) can't seem to hash the header correctly. This is the block which I am testing: ...
Martin Bradley's user avatar
0 votes
1 answer
856 views

How to get the list of blockheader

I know that i can use getheader 'hash' from bitcoin core, but i can't use it for all blocks, it's time consuming. Is there a site where i can find all bitcoin blockheader? Like a blockchain site but ...
Hamita's user avatar
  • 174
1 vote
1 answer
122 views

Does the Merkle Root get constantly updated inside the block or does it only get added once the block is completed?

So, pretty much just the title. I'm just wondering how the Merkle Root works exactly. I know it's the result of pairing transactions and then hashing them until the last transaction in the block, but ...
L M 's user avatar
  • 79
0 votes
1 answer
66 views

What is the difference between the two transaction headers on the Bitcoin Liquid sidechain network?

You can see transactions for this asset https://blockstream.info/liquid/address/H4UWQS836njW4QJ6WfkGAPjaYtK2twLnZE For the second transaction, it has a header of ...
Aman Saggu's user avatar
2 votes
1 answer
274 views

Is a timestamp in bitcoin different than just the "stamp of time"?

In the "References" section of Bitcoin's whitepaper, Satoshi Nakamoto points to three papers that serve as inspiration for digital timestamping. When you read those documents it is clear ...
Curious's user avatar
  • 21
3 votes
1 answer
141 views

What is the proper way to handle reorgs when fetching headers

I work on bitcoin-s, and we've found a problem where if a node is stopped with it's chain tip being a one that is later reorged out it will not be able to continue syncing headers. This happens ...
benthecarman's user avatar
2 votes
2 answers
340 views

Merkle root with one transaction

I am trying to build a merkle root which contains only the coinbase transaction from bitcoind. After creating the coinbase transaction, do I need to convert it to little endian, hash it twice and then ...
Hamita's user avatar
  • 174
0 votes
0 answers
85 views

Can I get all block header data like the SPV node?

It hasn't been long since I studied Blockchain. I only need header data, not all block data, for study purposes. As far as I know, the SPV node stores only the block's header information. Can i get ...
seonguk park's user avatar
1 vote
2 answers
354 views

What is the optimal way to increment extranonce?

I'm trying to learn how to block headers are created and an efficient way of doing so. Given a list .of transactions, can I change the extranonce without having to rehash the entire list? EDIT: To ...
Wil's user avatar
  • 13
2 votes
1 answer
372 views

How to build coinbase transaction from bitcoin core?

I am coding a program that connects to bitcoin-qt as local server. For building the blockheader i need the merkleroot, to build the merkle root, i need the coinbase transaction (which is not provided ...
Hamita's user avatar
  • 174
5 votes
1 answer
1k views

"New rules activated" warning after upgrading to 0.20.0

I've upgraded a node from the previous release. It's up and running but for some reasons I get this warning. How can it be related to the upgrade? $ bitcoin-cli -testnet getblockchaininfo | jq { "...
Claudio's user avatar
  • 53
1 vote
1 answer
91 views

A Bitcoin soft fork idea to help compress the blockchain

I've thought about a soft fork that can help storage costs. Why don't we force miners to embed the height of the TX Merkle tree in the first two bytes of the 4-byte block header version? It would ...
MCCCS's user avatar
  • 10.2k
0 votes
1 answer
78 views

Calculate BitcoinGold Block Header Hash [closed]

I am trying to calculate block hash # 632295 { 'version': 536870912, 'prev_block_hash': '000000017590609fd72cadc5fd05732cfa1760bd882213afbb7b788c42e115c8', 'merkle_root': '...
Джон Смит's user avatar
3 votes
0 answers
193 views

Block 620826 is 1 second before block 620825? [duplicate]

How does that happen? Obviously the miner of 826 built his block on top of 825, but why is the time 1 second earlier?
ooomid's user avatar
  • 354
1 vote
3 answers
3k views

Get transaction data from full node

Background Information I am building an application that requires the ability to query any bitcoin full node (from a python script using raw tcp sockets) in order to read the OP_Return value listed ...
Dimitree's user avatar
1 vote
2 answers
2k views

How to get block header hex?

I am trying to research hash functions and I want to be able to use bitcoin's mining outputs as hashes. I am curious about where the actual hex value of the data that generates that hash with a lot of ...
Sunflower's user avatar
4 votes
2 answers
1k views

Which block header fields are miners able to change in an effort to avoid having to recalculate the Merkle Root?

In addition to the nonce and the Merkle Root, there are 4 other fields in the header - version, previous header hash, time and nbits. Assuming a miner does not want to change the merkle root because ...
Bradley Thomas's user avatar
0 votes
0 answers
1k views

How to dissect or decode a BTC transaction?

I used a packet capture to capture the transaction of bitcoin, and I got the following: ...
Carol Ward's user avatar
0 votes
1 answer
102 views

bitcoin's PoW, real time of creating one block

i learn that bitcoin is created every 10 minutes and if block is created faster than 10 minutes, Difficulty will increase. and study deeper, mining process is finding nonce that start 0 to increase 1 ...
user10865941's user avatar