Skip to content

Commit

Permalink
Update EIP-4844: Ban Zero Blob Txs
Browse files Browse the repository at this point in the history
Merged by EIP-Bot.
  • Loading branch information
adietrichs authored Apr 11, 2023
1 parent 332654b commit 193c6b5
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions EIPS/eip-4844.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ When a blob transaction is passed through the network (see the [Networking](#net
the `TransactionNetworkPayload` version of the transaction also includes `blobs` and `kzgs` (commitments list).
The execution layer verifies the wrapper validity against the inner `TransactionPayload` after signature verification as:

- `blob_versioned_hashes` must not be empty
- All hashes in `blob_versioned_hashes` must start with the byte `BLOB_COMMITMENT_VERSION_KZG`
- There may be at most `MAX_DATA_GAS_PER_BLOCK // DATA_GAS_PER_BLOB` total blob commitments in a valid block.
- There is an equal amount of versioned hashes, kzg commitments and blobs.
Expand Down Expand Up @@ -181,6 +182,8 @@ def signed_tx_hash(tx: SignedBlobTransaction) -> Bytes32:
return keccak256(BLOB_TX_TYPE + ssz.serialize(tx))
```

Blob transactions with empty `blob_versioned_hashes` are also considered invalid during execution block verification, and must not be included in a valid block.

### Header extension

The current header encoding is extended with a new 256-bit unsigned integer field `excess_data_gas`. This is the running
Expand Down Expand Up @@ -354,6 +357,7 @@ def validate_blob_transaction_wrapper(wrapper: BlobTransactionNetworkWrapper):
blobs = wrapper.blobs
# note: assert blobs are not malformatted
assert len(versioned_hashes) == len(commitments) == len(blobs)
assert len(versioned_hashes) > 0

# Verify that commitments match the blobs by checking the KZG proof
assert verify_aggregate_kzg_proof(blobs, commitments, wrapper.kzg_aggregated_proof)
Expand Down

0 comments on commit 193c6b5

Please sign in to comment.