status-im / nimbus-eth2

Nim implementation of the Ethereum Beacon Chain
https://nimbus.guide
Other
543 stars 233 forks source link

check blob versioned hashes when no EL is connected #6501

Closed etan-status closed 2 months ago

etan-status commented 2 months ago

When no EL is conencted, we have to at the very least ensure that the data in the beacon block is consistent with the execution payload. We already do this for the block hash, but also have to do it for the blob_kzg_commitments. To validate that they are linked with the execution payload, we have to RLP decode all EIP-4844 blob transactions and compare their blob versioned hashes with the hashed commitments.

etan-status commented 2 months ago

Manually tested with a log on successful verification on sepolia. Meaningful automated tests need a sufficiently mature EL implementation.

github-actions[bot] commented 2 months ago

Unit Test Results

         9 files  ±0    1 334 suites  ±0   29m 35s :stopwatch: - 1m 25s   5 064 tests ±0    4 716 :heavy_check_mark: ±0  348 :zzz: ±0  0 :x: ±0  20 991 runs  ±0  20 587 :heavy_check_mark: ±0  404 :zzz: ±0  0 :x: ±0 

Results for commit 50904d44. ± Comparison against base commit 2be7eba2.

:recycle: This comment has been updated with latest results.