Skip to content

Commit 5ba0075

Browse files
committed
fix: omit proof messaging
1 parent e0bfa16 commit 5ba0075

File tree

1 file changed

+48
-24
lines changed

1 file changed

+48
-24
lines changed

caps/eth.md

Lines changed: 48 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,38 @@ of it (either because it was previously sent or because it was informed from thi
123123
originally). This is usually achieved by remembering a set of transaction hashes recently
124124
relayed by the peer.
125125

126+
### Blob Transaction
127+
128+
Blob transaction carries one or more large objects called blobs, in addition to the normal
129+
transaction payload. The transaction also includes metadata that allows peers to verify
130+
blob fragments (cells) they exchange over the network.
131+
132+
- `cell`: Cell is a fragment of a blob, computed by splitting the blob and applying
133+
the erasure-code defined in EIP-7594. In an extended blob, a cell can be identified by its index.
134+
135+
- Commitment: Commitment is a cryptographic value bound to a blob. It is used in inclusion
136+
verification to ensure that any given cell is part of the original blob.
137+
138+
- Proof: Proof is a cell-specific data used during the inclusion verification of associated cell.
139+
140+
- Versioned hash (`vhash`): Versioned hash is the identifier for a blob, which is calculated
141+
taking the hash of the blob's commitment, prefixed with a version byte. Peers can specify
142+
which blob's cells they want to request.
143+
144+
Note that cells are not sent with the transaction itself but are exchanged separately between peers.
145+
146+
### Cell Exchange
147+
148+
When a new cell is added to a peer's pool, it should be announced to the network using
149+
the [CellAvailability] message. All peers that receive the message can request
150+
the cell whose index is specified in the message using the [GetCells] message.
151+
Clients can selectively store cells according to their local parameters.
152+
153+
A node should never announce availability to a peer that it can infer to already
154+
have the associated cell. This can be achieved by remembering set of versioned hashes
155+
and cell indices announced by each peer.
156+
157+
126158
### Transaction Encoding and Validity
127159

128160
Transaction objects exchanged by peers have one of two encodings. In definitions across
@@ -513,44 +545,36 @@ received updates.
513545

514546
### CellAvailability (0x12)
515547

516-
`[request-id: P, [vhash₁: B_32, vhash₂: B_32, ...], custodyids: B]`
548+
`[[vhash₁: B_32, vhash₂: B_32, ...], cells: B_16]`
517549

518550
This message announces the cell availability of transaction payloads.
519-
The list of vhash values represents the commitment hashes of payloads for which cells are available.
520-
The custodyid element is a bitmap marking the IDs of cells in the transaction payload
521-
stored by the sending peer, with each stored cell’s index set to 1.
551+
The list of `vhash` values represents the commitment hashes of payloads for which cells are available.
552+
The `cells` element is a bitmap marking the indices of cells in the transaction payload
553+
stored by the sending peer. For each cell stored by the peer the corresponding bit is set.
522554

523-
### GetCellAndProofs (0x13)
555+
### GetCells (0x13)
524556

525-
`[request-id: P, [vhash₁: B_32, vhash₂: B_32, ...], requestids: B]`
557+
`[request-id: P, [vhash₁: B_32, vhash₂: B_32, ...], cells : B]`
526558

527-
This message request peer to return cells and proofs of the given versioned hash
528-
of the payload commitment.
529-
The requestids element is a bitmap representing IDs of cells required.
559+
This message requests the peer to return cells of the given vhashes.
560+
The `cells` element, a bitmap, specifies indices of the requested cells.
530561

531-
### CellAndProofs (0x14)
562+
### Cells (0x14)
532563

533-
`[request-id: P, [[vhash₁: B_32, [cellAndProof₁: B, cellAndProof₂: B, ...]], [vhash₂: B_32, [cellAndProof₁: B, cellAndProof₂: B, ...]], ...]]`
564+
`[request-id: P, [[vhash₁: B_32, [index₁: P, cell₁: B], [index₂: P, cell₂: B, ...]], [vhash₂: B_32, [index₁: P, cell₁: B], [index₂: P, cell₂: B, ...]], ...]]`
534565

535-
This is a response to GetCellAndProofs, which provides the requested cells and their proofs.
536-
Each list element contains the versioned hash of the payload commitment that includes
537-
the cell, the cell itself, and a proof to verify the cell’s inclusion.
538-
Each element must match the vhash specified in the request.
566+
This is the response to [GetCells].
567+
Each element must match the vhash and cells specified in the request.
539568
The sender can skip any cells that are not available, so the requester can fetch them
540-
from other peers.
541-
542-
The cellAndProof element contains the cell data along with the proof needed to verify
543-
that it belongs to the original payload.
544-
While its structure can vary depending on the verification method,
545-
it should allow the recipient to infer which cell IDs were skipped.
569+
from other peers.
546570

547571
## Change Log
548572

549573
### eth/70 ()
550574

551575
Version 70 added the [CellAvailability] message to exchange custody information
552576
which represents cell IDs sending peer has stored. New message types,
553-
[GetCellAndProofs] and [CellAndProofs] were introduced to support cell-level messaging.
577+
[GetCells] and [Cells] were introduced to support cell-level messaging.
554578

555579
### eth/69 ([EIP-7642], April 2025)
556580

@@ -666,8 +690,8 @@ Version numbers below 60 were used during the Ethereum PoC development phase.
666690
[Receipts]: #receipts-0x10
667691
[BlockRangeUpdate]: #blockrangeupdate-0x11
668692
[CellAvailability]: #cellavailability-0x12
669-
[GetCellAndProofs]: #getcellandproofs-0x13
670-
[CellAndProofs]: #cellandproofs-0x14
693+
[GetCells]: #getcells-0x13
694+
[Cells]: #cells-0x14
671695
[RLPx]: ../rlpx.md
672696
[EIP-155]: https://eips.ethereum.org/EIPS/eip-155
673697
[EIP-1559]: https://eips.ethereum.org/EIPS/eip-1559

0 commit comments

Comments
 (0)