Block
Block is a data structure that describes and authorizes the execution of a batch of transactions (state transitions) on the blockchain.
Elements inside a block include:
Hash
- the unique identifier for the blockHeight
- a number that represents the position of the block on the blockchainJustify
- a certificate that proves the block was authorized by the network
Chain ID
- a number that identifies a particular Parallelchain Mainnet-based blockchainProposer
- the public address of the block producerTimestamp
- the time the block was created, measured in seconds since 1970-01-01Base Fee Per Gas
- the minimum number of grays that a transaction must pay for every gas used to be included in the blockGas Used
- the amount of gas used in a block, which is the total sum of the gas used in executing the included transactionsTransactions Hash
- the root hash of the Merkle Tree that contains the transactions included in the blockReceipt Hash
- the root hash of the Merkle Tree that contains the execution results of the transactions included in the blockState Hash
- the root hash of the Merkle Tree that represents the current world stateLog Bloom
- a 256-byte block-level Bloom Filter that combines all the Bloom Filters of each Log topic from the block's receiptsTransactions
- the transactions that are included in the blockReceipts
- the execution results of the transactions that are included in the block
A block is a fundamental data structure in a blockchain system that serves as a container for a batch of transactions. It plays a critical role in maintaining the integrity and immutability of the blockchain.
Each block contains a unique identifier known as the block hash
, which is calculated based on the contents of the block. The block hash acts as a fingerprint for the block, making it tamper-evident. Any change to the block's contents would alter its hash, making it easily detectable by network participants.
The block header contains important metadata about the block, including the block's height
, timestamp
, and the address of the block producer
, among others. It also includes Merkle tree root hashes for transactions, receipts, and the current state of the blockchain.
Transactions contained within the block are executed by the blockchain system, with the results recorded in receipts
. These receipts contain information about the execution status of each transaction and are stored in a Merkle tree, with the root hash included in the block header.
In addition to transactions and receipts, the block also contains a Bloom filter, which is a probabilistic data structure used to efficiently query logs associated with the transactions contained in the block.
Overall, block is an essential component of a blockchain system, providing a secure and reliable means of recording and validating transactions while ensuring the immutability and integrity of the blockchain.