Invalid block header error
When adding a new node, if a `TimeStampMoreRecentThanParent | Invalid block header` error occurs, the genesis file of the new node specifies a higher `blockperiodseconds` than the imported chain. The imported chain makes new blocks faster than the genesis file allows and Besu rejects them with this error. This error most often occurs when importing chains from older versions of Besu.
Decrease the `blockperiodseconds` in the new QBFT genesis file to a lower value that satisfies the block header validation.
If the error reads `| TimestampMoreRecentThanParent | Invalid block header: timestamp 1619660141 is only 3 seconds newer than parent timestamp 1619660138. Minimum 4 seconds`, decrease the `blockperiodseconds` from 4 seconds to 3 seconds to match the imported chain.
After you update the new genesis file, if the imported chain has a `blockperiodseconds` value set lower than you prefer, you can adjust it by [configuring the block time on an existing QBFT network](#configure-block-time-on-an-existing-network).
The properties with specific values in the QBFT genesis files are:
- `difficulty` - `0x1`
- `mixHash` - `0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365` for Istanbul block identification
To start a node on a QBFT private network, use the [`--genesis-file`](../../../../public-networks/reference/options.md#genesis-file) option to specify the custom genesis file.
### Extra data
The `extraData` property is an RLP encoding of:
- 32 bytes of vanity data.
- If using:
- [Block header validator selection](#add-and-remove-validators-using-block-headers), a list of validator addresses.
- [Contract validator selection](#add-and-remove-validators-using-a-smart-contract), no validators.
- Any validator votes. No vote is included in the genesis block.
- The round the block was created on. The round in the genesis block is 0.
- A list of seals of the validators (signed block hashes). No seals are included in the genesis block.
When using block header validator selection, the important information in the genesis block extra data is the list of validators. All other details have empty values in the genesis block.
:::info
When using contract validator selection to manage validators, the list of validators is configured
in the `alloc` property's `storage` section.
View the [example smart contract](https://github.com/ConsenSys/validator-smart-contracts) for more
information on how to generate the `storage` section.
:::
Formally, `extraData` in the genesis block contains:
- If using block header validator selection: `RLP([32 bytes Vanity, List