Block

From JaxNetwork Wiki
Jump to navigation Jump to search

Transaction data is permanently recorded in files called blocks. They can be thought of as the individual pages of a city recorder's recordbook (where changes to title to real estate are recorded) or a stock transaction ledger. Blocks are organized into a linear sequence over time (also known as the block chain). New transactions are constantly being processed by miners into new blocks which are added to the end of the chain. As blocks are buried deeper and deeper into the blockchain they become harder and harder to change or remove.

Formal definitions

Blocks in Jax.Network

Block types

In JaxNet there are two types of chains: shard chains and the Beacon Chain. As a result, there are two types of blocks: beacon chain blocks (BC blocks) and shard blocks (SC blocks).

Block structure

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 data. It includes the reference to the body of the block and the commitment of previous block headers in the chain.

Beacon сhain blocks

Beacon Chain Block structure
Container Field Description Size
Magic no value always 0x 4 bytes
Blocksize number of bytes following up to the end of the block 4 bytes
Block Header Encoding size number of bytes occupied by the Merge-mining Tree encoding 4 bytes
Blockheader consists of 8 items 120-165 bytes
Block Body Transaction counter positive integer VI = VarInt 1 - 9 bytes
transactions the (non empty) list of transactions <Transaction counter>-many transactions
BitcoinAux Bitcoin header header of the associated Bitcoin block-candidate 80 bytes
Coinbase Tx Bitcoin block-candidate coinbase transaction ?
Coinbase MP Merkle Proof of the coinbase transaction 0 - 384 bytes
Edit

Shard chain blocks

Shard chain block structure
Container Field Description Size
Magic no value always 0x 4 bytes
Blocksize number of bytes following up to end of block 4 bytes
Block header Blockheader consists of 4 items 72 bytes
Block body Transaction counter positive integer VI = VarInt 1 - 9 bytes
transactions the (non empty) list of transactions <Transaction counter>-many transactions
BeaconAux BC Aux header size size in bytes of BC Aux header 1 byte
BC Aux header beacon block-candidate header associated with this shard block 120-160 bytes
Shard Merkle Proof size number of hashes in the Shard Merkle Proof 1 byte
Shard Merkle Proof tuple of hashes that constitute the Shard Merkle Proof 0-640 bytes
Bitcoin Aux header, coinbase transaction and its Merkle Proof ?
MMP Merged Mining Proof size number of hashes in the Merged Mining Proof 1 byte
Merged Mining Proof tuple of hashes that constitute Merged Mining Proof 0-3840 bytes
Edit

Common Questions about Blocks

Where can I find the source code?

Where can I find more technical detail?

See Also