Why Need Block
To ensure that all participants on the AxiomLedger network maintain a synchronized state and reach consensus on the exact history of transactions, we divide transactions into multiple blocks. This means that there are simultaneously dozens (or even hundreds) of transactions being submitted, agreed upon, and synchronized.How Block Works
To preserve the transaction history, blocks are strictly ordered meaning that each newly created block includes a reference to its previous block, and the transactions within the block are also strictly ordered. With few exceptions. At any given moment, all participants on the network reach a consensus on the exact number and history of blocks and are actively working to batch the current pending transaction requests into the next block. Once randomly selected validators construct a block on the network, the block is propagated throughout the network. Other nodes append the block to the end of their blockchains and then select new validators to create the next block. Currently, the exact block construction process and submission & consensus process are governed by dBFT protocol.What a Block Contains
A block contains a lot of information. Among them, the block header includes the following fields:| Fields | Introduction |
|---|---|
| Number | Block height |
| StateRoot | Root hash of the state object |
| TxRoot | Root hash of the transactions |
| ReceiptRoot | Root hash of the receipts |
| ParentHash | Hash of the parent block |
| Timestamp | Timestamp of the block |
| Epoch | Epoch number |
| Bloom | Data structure containing event logs |
| GasPrice | Block gas price |
| GasUsed | Total gas block used |
| ProposerAccount | Account that proposer the block |