Skip to main content

9 posts tagged with "devnet"

View All Tags

11 Glamsterdam contracts cleared themselves and left the ETH behind

· 7 min read
Aubury Essentian
Ethereum Research

Eleven successful Glamsterdam contract-creation transactions did something Mainnet still treats as an ETH burn. During initcode, each new address called SELFDESTRUCT with itself as beneficiary. The address finished with no code, nonce zero and empty storage, but its 45,959–61,659 wei balance survived.

That is EIP-8246 working as designed. The stranger part is what EIP-7928 kept: 16 storage keys from accounts whose storage ended empty, including eight SSTORE writes that were erased at transaction finalization.

After one empty Gloas payload, the next missed 47× as often

· 7 min read
Aubury Essentian
Ethereum Research

Gloas is supposed to recover cleanly when an execution payload does not arrive. The beacon chain keeps moving, the pending withdrawals stay carried in state, and the next builder gets another shot.

On Platåberget, that recovery path sometimes dug the hole deeper. Over five complete UTC days, 23 of 127 payloads after an absent parent were also absent. After a delivered parent, the same thing happened in 100 of 26,098 cases. That is 18.110% versus 0.383%, or 47.3× as often.

Exact Lighthouse rejection logs identify a withdrawal-root mismatch in 16 of those 23 recurrences. The longest empty run lasted six consecutive slots.

The PTC said present. Gloas still built as empty.

· 7 min read
Aubury Essentian
Ethereum Research

A Gloas Payload Timeliness Committee quorum sounds conclusive. It is not.

On Platåberget, I found 72 canonical child blocks that treated their beacon parent's execution payload as empty after more than 256 on-chain PTC votes said the payload was present. Raw payload events show that every one of those parent payloads had arrived at at least 14 observer nodes. The beacon parent stayed in the canonical chain. Its execution payload did not.

This was rare, 72 cases out of 31,320 matched children with a present parent, or 0.2299%. It was also real enough to happen three slots in a row. That distinction between beacon parent and execution parent is exactly where a Prysm bid-validation bug was hiding.

Prysm packed eight attestations where everyone else packed one

· 7 min read
Aubury Essentian
Ethereum Research

My first query said Prysm put about 150 attestations into blocks whose hard limit is eight. That was obviously a row-grain bug, not a consensus break. Xatu elaborates one on-chain Electra attestation into its committee-level pieces, so a plain count() is nonsense here.

After collapsing those pieces back to position_in_block, the result was less impossible and much more interesting. Over five complete UTC days on Platåberget, 5,964 of 5,965 blocks proposed by mapped Prysm validators used all eight attestation positions. Every other mapped consensus client had a median of one.