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
2answers
81 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 ...
5
votes
2answers
2k views

Why the timestamp component of the block header?

What is the reason for the timestamp field in the block header? Surely the nonce should be the only property that changes? Should the nonce reset to 0 everytime the timestamp changes?
0
votes
2answers
140 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 = ...
1
vote
2answers
57 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 ...
0
votes
1answer
770 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
2answers
897 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 ...
4
votes
3answers
370 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
88 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
47 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
866 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
210 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
72k 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
103 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
284 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
565 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
588 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
32 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 ...
1
vote
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
203 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
140 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
359 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
47 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
55 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
22k 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
646 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
3k 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
1k 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
210 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
828 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
619 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 ...
3
votes
1answer
865 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
405 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
172 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
514 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
279 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
197 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 ...
6
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
319 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
344 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
161 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 ...
24
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 // ~...