Block header
Jump to navigation
Jump to search
According to JaxNet protocol, blocks consist of two parts: block header and block body. This design improves the throughput of information across the network. Typically the block header contains the most important information about the block. It includes the reference to the body of the block and the commitment of previous block headers in the chain. Block headers are often used to set the order of blocks in the chain and validate the block body data.
Usually, the data in block headers is called consensus data and data in the block body is called application data.
Beacon chain block header
BC header structure | |||
---|---|---|---|
Field | Description | Type | Size |
version | Version of the block. This is not the same as the protocol version. | BVersion / int32 | 4 bytes |
prevBlock | Commitment of the previous block headers in the Beacon chain. | Hash | 32 bytes |
merkleRoot | Reference to all transactions of the block in the form of Merkle tree root. | Hash | 32 bytes |
Bits | Difficulty target for the block | uint32 | 4 bytes |
mergeMiningRoot | Root of the Merge-mining Merkle tree (MMMT) | Hash | 32 bytes |
MMTshardCount | The count of shard slots in MMMT. It's used to set the size of MMMT. | uint32 | 4 bytes |
treeEncoding | Encoding of the Merge-mining tree | []uint8 | 0+ bytes |
K | It's inflation-fix coefficient K for current mining epoch | uint32 | 4 bytes |
voteK | It's a proposed inflation-fix coefficient K for mining epoch after the next one | uint32 | 4 bytes |
btc_Aux_header | Bitcoin auxiliary header used in merged mining | BTCBlockAux | 80+ bytes |
btc_Aux_coinbase | Coinbase transaction of the bitcoin auxiliary block-candidate | Tx | 32+ bytes |
btc_Aux_merkle_path | Merkle proof of the coinbase transaction of the bitcoin auxiliary block-candidate | []hash | 0+ bytes |
Total size | 200+ bytes |