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
3
votes
2answers
711 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 ...
0
votes
2answers
96 views

What is the most optimal way to parse a raw bitcoin block with python?

Let's say one is connected to a zmq socket and listening for rawblock. How you'd parse the block header is as follows: block_header = raw[:80] version = block_header[:4] prev_merkle_root = ...
0
votes
1answer
647 views

Bitcoin Blockchain Parser to get all block headers

I am looking for on-line or off-line run Bitcoin Blockchain Parser to get all block headers only All I need is ########## Block Header ########## Version: 1 Previous Hash ...
4
votes
3answers
367 views

How hard is it to alter a block after it was found?

Once a miner has found a block, how easy it is for him to add or remove a tx included in that very block? Would he have to solve the modified block from the scratch or is there a point he can resume ...
9
votes
1answer
7k views

Is it chain of headers rather than a chain of blocks?

We know widely used explanation of the blockchain: "Every block contains a hash of the previous block". The sentence above implies that since every block contains a hash of the previous block, ...
0
votes
0answers
54 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: ...
0
votes
1answer
41 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 ...
2
votes
3answers
658 views

Are there any blockchain explorers that provide raw Tx data and block headers?

I've looked at some of the more popular blockchain explorers, but none of them seem to provide the feature I'm looking for. I'd like to find a blockchain explorer that allows you to see raw Tx data ...
4
votes
2answers
1k views

Mining Block header bit reversing

While trying to understand the mining process and checking in python..... i am puzzled with which info from/to pool are in Little Endian, which one needs reversing in building the block header + ...
6
votes
2answers
204 views

Can a full node provide a bogus block bloomfilter to a Neutrino node?

When a thin client using BIP157/BIP158 (Neutrino) requests the block filter for the latest block, would it be possible for the full node serving this request to attack the Neutrino node by providing a ...
25
votes
4answers
71k views

The bitcoin mining algorithm from a programmer's viewpoint

This page: Blocks said mining is actually to solve a mathematical problem, but reading Block hashing algorithm doesn't give much help. I also tried reading bitcoind source code, but reading code takes ...
4
votes
2answers
89 views

Why are block header bits necessary? (Valid difficulty is already implied by chain history)

Difficulty or target is implied by chain history, so why does it need to be explicit in the header? I suppose it exposes miner-intended-difficulty, but I don't see why that would be relevant without ...
1
vote
1answer
273 views

Do you know any download site for full blockchain header data (6) in CSV ASCII format?

do you know any download site for full blockchain header data (6 variables) in CSV ASCII format ? I would like to enter block header data for every block from No.0 to latest into mining simulator to ...
3
votes
1answer
481 views

Unusual Version Number in Blocks

I've noticed recently that some blocks contain version numbers that are not the traditional 0x10000000 or 0x20000000. For example, this block, has a version number of 0x3FFFE000 instead of 0x20000000 ...
2
votes
2answers
567 views

How does “headers first” affect BLKxxxx.dat structure?

Assuming a full node running Bitcoincore v0.10 (with txindex=1), how exactly does the new "headers first" functionality affect the structure of the blockchain data? (Specifically, the blkxxxx.dat data,...
1
vote
1answer
30 views

Significance of the “hash” field reported by the 'bitcoin-cli getblock' command

It is stated that the header of a block does not contain a 'hash' field ( see https://en.bitcoin.it/wiki/Block_hashing_algorithm or Antonopolous' Mastering Bitcoin 2nd Ed. ) This makes sense since ...
0
votes
1answer
5k views

To create a blockchain using MySQL database

I want to create local blockchain for my application. New blocks should be created while giving reference to previous block. But I am not getting exactly how will I do it in MySQL? I got some idea ...
1
vote
2answers
177 views

Merkle root Vs transaction hashes

It is not clear to me, why not we can simply store transaction hashes in a block header instead of storing the Merkle root. I understand that storing transactions' hashes will slightly increase size ...
2
votes
0answers
125 views

Is my understanding of Blockhain Endianness correct?

I know questions on this topic have been asked to death in a number of different ways. I also know that what endian order refers to specifically is dependent on context. What I want are some ...
2
votes
1answer
307 views

Why there is no block index or block height included in the block header?

Why block index or block height is not included in the block header? Do we have to go through the whole chain if we want to know how many blocks are there in a chain? On the other hand, if some blocks ...
1
vote
1answer
44 views

What should be less than the target?

When I go to BlockExplorer and observe the hash of block 514441's header I see it to be: 0000000000000000004ec916884d8b2cd3dc0e80ab199cc23e528e7dc10fafc6 However when I obtain the header of block ...
0
votes
1answer
52 views

When computing the hash, do you need anything after the number of difficulty bits?

I'm going to screw up a lot of the terminology here. I'm trying to understand the Bitcoin algortihm and wanted to use this JS miner -- https://github.com/howardchung/jsminer . Specifically, I'm ...
13
votes
1answer
21k views

What is a nonce?

When I see the block info on blockchain, I see that there is a field named "nonce", I could not find any relevant information on web regarding what a nonce is. Please explain what a nonce is what is ...
3
votes
2answers
1k views

What is the difference between Root Hash and Block Hash?

I was reading about how Bitcoin works from Satoshi's original paper. I had a query while going through the 7th paragraph. What is the difference between Root Hash and Block Hash? Isn't the block hash ...
4
votes
1answer
598 views

bitcoin protocol: transaction encoding

I am writing a program (in golang) to mine bitcoins. Supposing I have this dummy transaction, how may I encode it so it can be used in the block im trying to mine? Also, supposing I have a block ...
5
votes
3answers
2k views

At which point do blocks get validated in the mining process?

I'm trying to understand how mining works and I'm stuck on the part about validating blocks and adding them to the blockchain. When a miner finds a solution to a block, he shares it with the network,...
8
votes
1answer
2k views

Calculate hash of block header

I'm trying to calculate the hash of block #502871. This is the block: { "result": { "hash": "00000000000000000020cf2bdc6563fb25c424af588d5fb7223461e72715e4a9", "confirmations": 35, "...
0
votes
1answer
965 views

How to generate a block header?

good afternoon I set myself a task to understand the work of the miner, but as you understand it is difficult for a beginner. Constantly there are questions. Without conditionally, I turn to Google ...
1
vote
1answer
200 views

Why do block explorer APIs say the nonce in the block header is 0?

Several block explorers are reporting that the nonce value in many block headers is 0. For example, blockcypher, Why does this happen? Where can I get the actual block headers?
1
vote
1answer
775 views

how to convert blockchain to new version?

I have altcoin bassed on old Litecoin sources, end i try to convert it for latest available sources. How i can do this ? What need for this ? I try simple download it on old wallet, then run new. But ...
2
votes
0answers
184 views

Help in understanding block header input data for scrypt

I am an computer engineering student trying to understand how the Litecoin scrypt algorithm works. I downloaded the Github cp-uminer. Can someone give me some examples what the input data look like ...
3
votes
1answer
587 views

How is mining difficulty defined (formula)?

The result of sha256(s) that miners attempt is a 256 bits long number (64-digits hexadecimal number). I understand that this 256bits number should be lower than the target threshold, the target ...
2
votes
1answer
831 views

Given a block, is there a list of all hashes for all possible 2^32 nonce values?

I am working in a computational research lab, and we're taking a look at Bitcoin. I'm trying to develop a simulation of Bitcoin mining for a nonexistent computer architecture. I want to simulate the ...
1
vote
1answer
392 views

Merkle Root for 1-transaction block!

I know that merkle hash for one transaction tx is: sha256(sha256(tx)) In this block: https://blockchain.info/block/000000000000000001291219dde8ed705903e8c101f416c68a439e5171ede5bc there is only one ...
1
vote
1answer
166 views

Hash that defines previous block in Blockchain vs mathematical solution

Is the hash that defines the previous block (block A) in a new block (block B), the same as the hash the miner calculated to submit block A? As far as I know, you need to find a nonce so that the ...
1
vote
1answer
483 views

merkle root 2 codes

While trying to calculate the merkle root in python from the data i got from the mining pool.... i found there are 2 different codes. code 1: def build_merkle_root(coinbase_hash_bin, merkle_branch):...
2
votes
1answer
267 views

SPV clients - how much does occupy the full blockchain headers?

Does a spv client need to download the full blockchain headers? how much does it occupy? is it better for security? I saw a blockchain-headers file in my android wallet that only occupies -30MB.
0
votes
0answers
183 views

How generate a hex string for a block

I have written this code to create and submit a new minned block to the bitcoin network: unsigned long magic_number = 0xD9B4BEF9; unsigned long block_size = 89 + (strlen(coinbase_transaction)-1) +...
1
vote
1answer
1k views

Creating a P2P network like Block Chain

Posting this in Bitcoin community because I believe that you guys would be the best to answer the question since my question is related with the blockchain. I am wondering how to create a P2P ...
5
votes
3answers
8k views

Full example data for scrypt Stratum-client

I'm trying to write a Mining client for Scrypt-based mining using Stratum Communication. As of now, I have some trouble verifying all my bit orders and sequences. Hashes I'm generating get always ...
1
vote
1answer
1k views

Is the hash of the previous block included in the block header?

What the title says above, but for more clarification I am asking whether the hash of the previous block header is part of what is hashed to create the header of the new block? Like what are all the ...
5
votes
1answer
2k views

How does Segwit prevent ASICBOOST?

I know that ASIC BOOST exploits the fact that the blockheaders are not a multiple of 64 bytes, but what is the change in Segwit that prevents this? Are they always a multiple of 64 bytes now for ...
0
votes
1answer
307 views

How can miners alter timestamps to prevent or delay BIP09 feature activation?

In bitcoin mailing list , a proposal had the following concern. BIP 09 is vulnerable to miners fiddling with timestamps in a way that could prevent or delay activation - for example by only ...
1
vote
1answer
98 views

Does the 1 MB block size limit include the header?

I was able to follow the code to validation.cpp: // Size limits if (block.vtx.empty() || block.vtx.size() > MAX_BLOCK_BASE_SIZE || ::GetSerializeSize(block, SER_NETWORK, PROTOCOL_VERSION | ...
2
votes
1answer
336 views

Why is the target stored in compact form in the block header?

Why is the target converted to "Bits" and not stored in full in the block header? For example, why: { "hash" : "000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506", "height" : 100000, "...
3
votes
1answer
160 views

What was the intended benefit of truncating the Target?

I'm thinking about how the Target value is truncated to and later compared to the SHA-256hash of the Block Header. Given that The maximum target (lowest possible difficulty) is ...
23
votes
4answers
4k views

Why don't the timestamps in the block chain always increase?

The timestamps starting at block 145044 are: 145044: 2011-09-12 15:46:39 145045: 2011-09-12 16:05:07 145046: 2011-09-12 16:00:05 // ~5 minutes before prior block 145047: 2011-09-12 15:53:36 // ~...
0
votes
3answers
537 views

Bitcoin-qt taking forever to acquire the blockchain

I thought that this was the old days when it took forever for bitcoin core to acquire the bootstrap but it looks like it's still the case. I basically ran the program for 2 hours and I'm still under ...
0
votes
1answer
174 views

How a Light Node can get a block?

I'd like to better understand how a light node can retrieve a complete node. If I understood correctly, I can consider a light node a node which is part of the peer-to-peer network that receives and ...
-1
votes
1answer
306 views

Is the miners address part of the block or the block header? [closed]

Should the following be sufficient merkle root, block number, previous block hash, timestamp and nonce?