erigontech / erigontech/erigon

EIP-8297 PBT: tracking

Open
#23,389 2 comments 0 reactions 1 assignee Claimed by @awskii View on GitHub
ErigonDB
Dominant language
Go
Stars
3.6k
Forks
1.5k
Avg merge
1d 16h
Merged PRs (30d)
455

Description

Tracking issue for the EIP-8297 partitioned binary tree in Erigon — work items and external context in one place. Design mandate is #22292.

## Erigon

- #22942 — `PBinPatriciaHashed` commitment engine
- #23384 — join the PBT devnet
- Mainnet PBT state conversion — in progress

## Consensus layer

PBT needs no Caplin change. `ExecutionPayload.state_root` is opaque to the beacon chain (EIP-8347: "the consensus-layer change is fork scheduling alone"), and neither geth's `IsPBT()` nor Besu's `BINARY_TRIE` hardfork id reaches the engine API, the header, or block-hash computation.

The tasks below are Gloas-at-genesis readiness, which the devnet needs because PBT requires Amsterdam, which forces Gloas at slot 0.

- #23385 — start from a Gloas-at-genesis beacon state
- #23386 — Gloas against an external execution client
- #23387 — Caplin as an ethereum-package `cl_type` on Gloas
- #23388 — pick a side on the Gloas-at-genesis state shape

Related open Gloas work by @domiwei: #23249, #23152, #23151, #22683.

## Devnet

- CPerezz/pbt-devnet#5 — geth + Besu + Lighthouse under ethereum-package
- CPerezz/pbt-devnet#6 — Lighthouse and Teku need mutually exclusive Gloas-at-genesis states
- CPerezz/pbt-devnet#7 — Besu computes the correct root but cannot set it as head

Clients: geth `CPerezz/go-ethereum@pbt`, Besu `matkt/besu@glamsterdam-devnet-8-pbt` + matkt/besu#31, library `besu-eth/besu-stateless@feat/partitioned-binary-trie`. Both take `binaryTrieTime` in genesis; Besu also needs `--data-storage-format=BINARY`.

## Spec

- EIP-8297 — the tree
- EIP-8347 — activation and migration
- EIP-8037 / EIP-8038 — Amsterdam state gas, which PBT rides on

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.