Skip to content

Commit a9d454a

Browse files
committed
update based on comment
1 parent 0763aa8 commit a9d454a

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/engine/osaka.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The fields are encoded as follows:
3333
- `proofs`: `Array of DATA` - Array of `KZGProof` (48 bytes each, type defined in [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), semantics defined in [EIP-7594](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7594.md)).
3434
- `blobs`: `Array of DATA` - Array of blobs, each blob is `FIELD_ELEMENTS_PER_BLOB * BYTES_PER_FIELD_ELEMENT = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded `Blob` as defined in [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844)
3535

36-
`blobs` and `commitments` arrays **MUST** be of same length, `proofs` contains exactly `CELLS_PER_EXT_BLOB` * `len(blobs)` cell proofs.
36+
`blobs` and `commitments` arrays **MUST** be of same length and `proofs` **MUST** contain exactly `CELLS_PER_EXT_BLOB` * `len(blobs)` cell proofs.
3737

3838
### BlobAndProofV2
3939

@@ -42,7 +42,7 @@ The fields are encoded as follows:
4242
- `blob`: `DATA` - `FIELD_ELEMENTS_PER_BLOB * BYTES_PER_FIELD_ELEMENT = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded `Blob` as defined in [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844).
4343
- `proofs`: `Array of DATA` - Array of `KZGProof` as defined in [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), 48 bytes each (`DATA`).
4444

45-
`proofs` contains exactly `CELLS_PER_EXT_BLOB` cell proofs.
45+
`proofs` **MUST** contain exactly `CELLS_PER_EXT_BLOB` cell proofs.
4646

4747
## Methods
4848

@@ -77,16 +77,15 @@ This method follows the same specification as [`engine_getPayloadV4`](./prague.m
7777
1. `assert len(blobsBundle.commitments) == len(blobsBundle.blobs)` and
7878
2. `assert len(blobsBundle.proofs) == len(blobsBundle.blobs) * CELLS_PER_EXT_BLOB` and
7979
3. `assert verify_cell_kzg_proof_batch(commitments, cell_indices, cells, blobsBundle.proofs)` (see [EIP-7594 consensus-specs](https://github.com/ethereum/consensus-specs/blob/36d80adb44c21c66379c6207a9578f9b1dcc8a2d/specs/fulu/polynomial-commitments-sampling.md#verify_cell_kzg_proof_batch))
80-
1. `cell_indices` should be `[0, ..., CELLS_PER_EXT_BLOB, 0, ..., CELLS_PER_EXT_BLOB, ...]`. In python, `list(range(CELLS_PER_EXT_BLOB)) * len(blobsBundle.blobs)`
81-
2. `commitments` should list each commitment `CELLS_PER_EXT_BLOB` times, repeating it for every cell. In python, `[blobsBundle.commitments[i] for i in range(len(blobsBundle.blobs)) for _ in range(CELLS_PER_EXT_BLOB)]`
82-
3. All of the inputs to `verify_cell_kzg_proof_batch` have the same length, `CELLS_PER_EXT_BLOB * len(blobsBundle.blobs)`
80+
1. `commitments` should list each commitment `CELLS_PER_EXT_BLOB` times, repeating it for every cell. In python, `[blobsBundle.commitments[i] for i in range(len(blobsBundle.blobs)) for _ in range(CELLS_PER_EXT_BLOB)]`
81+
2. `cell_indices` should be `[0, ..., CELLS_PER_EXT_BLOB, 0, ..., CELLS_PER_EXT_BLOB, ...]`. In python, `list(range(CELLS_PER_EXT_BLOB)) * len(blobsBundle.blobs)`
82+
3. `cells` is the list of cells for an extended blob. In python, `[compute_cells(blob) for blob in blobsBundle.blobs]` (see [compute_cells](https://github.com/ethereum/consensus-specs/blob/v1.5.0-beta.3/specs/fulu/polynomial-commitments-sampling.md#compute_cells) in consensus-specs)
83+
4. All of the inputs to `verify_cell_kzg_proof_batch` have the same length, `CELLS_PER_EXT_BLOB * len(blobsBundle.blobs)`
8384

8485
### engine_getBlobsV2
8586

8687
Consensus layer clients **MAY** use this method to fetch blobs from the execution layer blob pool.
8788

88-
*Note*: This is a new optional method introduced after Pectra.
89-
9089
#### Request
9190

9291
* method: `engine_getBlobsV2`

0 commit comments

Comments
 (0)