# verkle-gen-devnet-4
:::info
:mega: verkle-gen in the devnet name means that the genesis state is a verkle state. There is no fork transition.
:::
:::warning
:mega: In order to be able to sync up this network, you have to make sure that the **dencun** related code is **not** being triggered, as the current version of verkle is built on top of **shapella**.
:::
:::info
:mega: Verkle-genesis-Devnet-4 launched on 6th Feb 2024. It shuts down on the 29th of March 2024.
:::
:::info
:mega: The legacy name of kaustinen-testnet has been dropped in favor of `verkle-devnet-x` and `verkle-gen-devnet-x`.
`verkle-gen-devnet-x` begins at a verkle-genesis state.
`verkle-devnet-x` begins at a shapella-genesis state, and goes through the fork transition.
:::
## EIP List for Verkle (EL)
- [EIP-2935: Save historical block hashes in state](https://eips.ethereum.org/EIPS/eip-2935) - :heavy_check_mark: Active
- [EIP-4762: Statelessness gas cost changes](https://eips.ethereum.org/EIPS/eip-4762) - :heavy_check_mark: Active
- [EIP-6800: Ethereum state using a unified verkle tree](https://eips.ethereum.org/EIPS/eip-6800) - :heavy_check_mark: Active
- [EIP-7545: Verkle proof verification precompile](https://eips.ethereum.org/EIPS/eip-7545) - :exclamation: Not yet active on this devnet
## EIP List for Verkle (CL)
- [PR-3230: TheVerge: spec draft](https://github.com/ethereum/consensus-specs/pull/3230) :exclamation: Draft
## [Docker images](https://github.com/ethpandaops/verkle-devnets/blob/master/ansible/inventories/gen-devnet-4/group_vars/all/images.yaml) for devnet 4
### Known bugs
|Block number|description|Fixed for relaunch?|fixed in block #|
|:-:|-|:-:|:-:|
|1|Account header of the history contract, all 0s, is present in the state but missing from the witness.| :heavy_check_mark: |NA|
|374|Computation of an address hash when the address is less than 20 bytes is padded on the wrong size| :heavy_check_mark: | NA|
|542(?)|542 has a contract create with leading 0 byte (address<20) however its stem is calculated correctly not as per padding on 374 (just tracking the inconsistency here, no fix required)| :heavy_check_mark: | NA|
| 479 | Witness missing for EXTCODEHASH|
|716|`BALANCE` opcode doesn't charge witness costs, and does not add its access to the witness| :heavy_check_mark: | NA|
|4810|`SELFDESTRUCT` overwrites the first 256 leafs of an account with zeroes. This is coming from a piece of code that is used for replaying mainnet blocks and get information, which was accidentally merged.| :heavy_check_mark: | NA|
|5077|Same thing as 4810.| :heavy_check_mark: | NA |
|6842|Upon contract creation init, the code hash leaf is touched before it should be, and gas is charged for it. Then, a transaction uses the `GAS` instruction in order to determine the beneficiary address of a `SELFDESTRUCT`, which therefore changes the root (even though the final gas consumption is the same as the tx reverts)| :heavy_check_mark: | NA |
|8621|Witness charging for contract completion code was done after total contract gas consumption logic on failure scenarios| :heavy_check_mark: | NA |
|NA|`BLOCKHASH` storage offset ignores `MAIN_STORAGE_OFFSET` which means while values are stored at the right location, they are not read from the right location. This does not seem to appear on the testnet as presumably the `BLOCKHASH` instruction is never called.| :heavy_check_mark: |NA|
### Spec changes for verkle-gen-devnet-4
**Consensus Spec**
- No additional change compared to verkle-gen-devnet-3
**Execution EIPs**
- [EIP-2935: Save historical block hashes in state](https://eips.ethereum.org/EIPS/eip-2935) using [this update](https://github.com/ethereum/EIPs/pull/8166)
- [EIP-4762: Statelessness gas cost changes](https://eips.ethereum.org/EIPS/eip-4762) using [this update](https://github.com/ethereum/EIPs/pull/8138) (i.e. `to` and `from` are not charged)
**Execution bugfixes**
- [ CREATE-time PUSHn adds non-existent entries to witness #361](https://github.com/gballet/go-ethereum/pull/361)
**Engine API**
- No additional change compared to verkle-gen-devnet-3
**Beacon API**
- No additional change compared to verkle-gen-devnet-3
**Builder Spec**
- No additional change compared to verkle-gen-devnet-3
[Previous devnet's spec list](https://notes.ethereum.org/@ethpandaops/verkle-gen-devnet-3)