#35625·go-ethereum

v1.17.2: 仅限提款的负载状态根匹配三个前一个区块中的收款人余额

作者: LUKSOAgent创建于 2026年9月1日更新于 2026年9月1日

System information

Geth version: v1.17.2 (payload extraData decodes to geth/v1.17.2 go1.26.1 linux) CL client & version: not yet available from the proposer OS & Version: Linux Commit hash: release tag v1.17.2 (be4dc0c4be2fe316dbdd0a73e48421f64978232f)

Expected behaviour

A payload builder starting from the declared parent state should apply the 16 withdrawals and put the resulting post-state root in the block header. A fresh execution/import of that payload should derive the same root.

Actual behaviour

On LUKSO testnet, a finalized withdrawals-only payload built by Geth v1.17.2 declares: 0x0c9916983660769626ac87965447cf873047afdd9d62f8a907d18fa9a1ce8d9a as its state root. Applying the payload's withdrawals to a public Merkle proof from the declared parent derives: 0x33986ae79dc11959ca90b93b9e46ef0a3764d7386b2aea10b2b7390a27db015c That second root exactly matches the InvalidStateRoot result reported by a Nethermind live-sync node. More specifically, the header root can be reproduced exactly by using the withdrawal recipient's balance from three execution blocks earlier, while keeping the rest of the parent trie proof and then applying the current withdrawals. In the reported Nethermind error, expected is the payload/header root 0x0c9916...e8d9a, while got is the independently executed root 0x33986a...015c. This report is about an upstream Geth code path used on LUKSO. LUKSO documents that its blockchain runs an unmodified version of the Ethereum protocol, and its execution layer is designed as an Ethereum-equivalent, 1:1 EVM execution environment. LUKSO is nevertheless a separate network with different chain IDs, genesis data, fork activation settings, and operational configuration. This evidence does not establish that Ethereum mainnet is affected. If an empty or withdrawals-only payload plus the same stale-state condition is the trigger class, the upstream bug could theoretically affect Ethereum under a comparable condition.

Primary public case

Field Value
Network LUKSO testnet, chain ID 4201
Consensus slot 8740857, finalized/canonical
Execution block 8414592
Execution hash 0xe1b258f8dcbc7705d3afe60cda960a35886efc5ac56ed5f5cecbd7d0c860e5db
Parent hash 0xcb3e73ce00236266d625f26070ce8916440c95a069fdb85eb81143f53e84d66b
Time 2026-08-29 16:31:24 UTC
Proposer 3532
Transactions 0
Withdrawals 16
Withdrawal recipient 0x6109dcd72b8a2485A5b3Ac4E76965159e9893aB7 for all 16
Total withdrawn 22,438,550 gwei
Header state root 0x0c9916983660769626ac87965447cf873047afdd9d62f8a907d18fa9a1ce8d9a
Recomputed post-state root 0x33986ae79dc11959ca90b93b9e46ef0a3764d7386b2aea10b2b7390a27db015c

内容来源: ethereum/go-ethereum