Skip to main content

55 posts tagged with "xatu"

View All Tags

Sync committee rewards do not square MaxEB

· 4 min read
Aubury Essentian
Ethereum Research

I almost talked myself into a fake MaxEB panic: sync committee selection is stake-weighted, attestation rewards scale with effective balance, so maybe sync committee rewards accidentally scale like stake squared.

They don't. In the first usable canonical_beacon_sync_committee_reward window I checked, validators with 1024+ ETH effective balance were 0.67% of active validator indices, 26.45% of active effective stake, 26.20% of observed sync committee member-slots, and 26.36% of sync committee rewards. The scary stake-squared model would put them at 91.56%.

The four-byte table keeps the loudest selector

· 6 min read
Aubury Essentian
Ethereum Research

canonical_execution_four_byte_counts sounds like the table you reach for when you want to count function calls. That is exactly how to get lied to.

I expected a selector leaderboard. What I found was one row per transaction, with the noisiest selector inside that transaction winning the row. Useful, but only if you do not read the name too literally.

Erigon 3.5-dev did not win the builder payload race

· 4 min read
Aubury Essentian
Ethereum Research

Erigon 3.5.0 landed with a very good headline: parallel block execution is on by default. That should make Ethereum block validation feel less serial, at least where the workload and configuration let it pay off.

The builder-class telemetry I checked had the opposite shape. Two observed Erigon 3.5.0-dev-8b4c6990 nodes processed the same 7,174 mainnet payloads as the other eip7870 builder nodes. Giving every implementation its fastest observed node in each slot, Erigon's median was 283 ms. The fastest non-Erigon observation in each slot had a 24 ms median; Reth's own per-implementation median was 25 ms. Erigon won one fastest slot.

The validator block endpoint is not the block

· 5 min read
Aubury Essentian
Ethereum Research

The name is the trap. beacon_api_eth_v3_validator_block has a slot, an execution block number, gas used, transaction count, blob gas, and payload values. It looks like a block table.

It is not a block table in the canonical sense. Across two complete UTC days, I joined Xatu's raw /eth/v3/validator/blocks/{slot} rows to the eventual canonical block for the same slot. Only 82 of 195,448 joined rows matched the canonical execution payload shape. In 14,312 of 14,341 canonical slots, not one observed v3 row matched the payload that actually landed on chain.

Beacon API block/head events have a catch-up tail

· 4 min read
Aubury Essentian
Ethereum Research

block and head sound even cleaner than block_gossip. A block event says the beacon node saw a block. A head event says fork choice moved to it. If those rows show up hours after the slot started, the first question should not be "did Ethereum propagate blocks hours late?" It should be "what denominator did I just use?"

The denominator was the row.