Skip to content

Commit

Permalink
Move status to Review and adapt CIP with updated specification
Browse files Browse the repository at this point in the history
  • Loading branch information
nashqueue committed Jul 24, 2024
1 parent 0301c23 commit 7d69e17
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions cips/cip-22.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
| cip | 22 |
| - | - |
| title | Removing the blobStartIndex |
| title | Removing the IndexWrapper |
| author | NashQueue (@Nashqueue) |
| discussions-to | <https://forum.celestia.org/t/achieving-trust-minimized-light-clients-through-zk-proofs-instead-of-fraud-proofs/1759> |
| status | Draft |
| status | Review |
| type | Standards Track |
| category | Core |
| created | 2024-06-26 |
Expand All @@ -14,30 +14,30 @@ A reserved namespace exists to store all PayForBlobs (PFB) transactions. These t

## Specification

Remove the blobStartIndex from the ['WrappedTransaction'](https://celestiaorg.github.io/celestia-app/specs/data_structures.html#wrappedtransaction).
Remove the `share_indexes` from the ['IndexWrapper'](https://celestiaorg.github.io/celestia-app/specs/data_structures.html#indexwrapper). With the removal of the `share_indexes`, the `IndexWrapper` will no longer be needed and should be removed as a data structure.

## Rationale

The blobStartIndex had two initial purposes:
The index where the blob starts had two initial purposes:

1. It was needed to create compact fraud proofs for blob inclusion proofs.
2. It was needed to create the square out of the transactions alone in the absence of any constraints on blob placement.

We are solving the first by committing to proving the correctness of the square layout in the future using a ZK proof, thereby removing the need for the blobStartIndex for fraud proofs.
We are solving the first by committing to proving the correctness of the square layout in the future using a ZK proof, thereby removing the need for the index for fraud proofs.

The second initial purpose was removed when we moved to a [deterministic square construction](https://github.com/celestiaorg/celestia-app/blob/main/docs/architecture/adr-020-deterministic-square-construction.md). With that the blobStartIndex was no longer needed for blob placements as it can be deterministically derived from the list of transactions. Each blob has to follow the [blob share commitment rules](https://celestiaorg.github.io/celestia-app/specs/data_square_layout.html#blob-share-commitment-rules) and cannot be placed at an index that does not respect the rules.
The second initial purpose was removed when we moved to a [deterministic square construction](https://github.com/celestiaorg/celestia-app/blob/main/docs/architecture/adr-020-deterministic-square-construction.md). With that the index was no longer needed for blob placements as it can be deterministically derived from the list of transactions. Each blob has to follow the [blob share commitment rules](https://celestiaorg.github.io/celestia-app/specs/data_square_layout.html#blob-share-commitment-rules) and cannot be placed at an index that does not respect the rules.

## Backwards Compatibility

Removing the index is a breaking consensus change but should not affect anybody upstream of this change.

celestia-node does not consume this index. Although they have their own way of creating the same information, this proposal is not applicable to them.

None of the rollup teams are influenced by this change except Sovereign SDK. The circuit parsing the PFB reserved namespace would break and must be adapted. The circuit does not use the information from the blobStartIndex. If this change is accepted, the live rollup teams will have to upgrade their circuits when Celestia upgrades to the new version. Currently, no rollups are live on mainnet using Celestia, so a breaking change would not affect anyone directly.
None of the rollup teams are influenced by this change except Sovereign SDK. The circuit parsing the PFB reserved namespace would break and must be adapted. The circuit does not use the information from the index. If this change is accepted, the live rollup teams will have to upgrade their circuits when Celestia upgrades to the new version. Currently, no rollups using Sovereign SDK are live on mainnet using Celestia, so a breaking change would not affect anyone directly.

## Security Considerations

No Celestia light nodes rely on the blobStartIndex to verify the square's correctness. No fraud proofs rely on the blobStartIndex, so removing it does not affect the network's security. Without the blobStartIndex, we won't be able to create compact fraud proofs anymore. This means that accepting this proposal is also a commitment to ZK prove the validity of the square layout.
No Celestia light nodes rely on the index to verify the square's correctness. No fraud proofs rely on the index, so removing it does not affect the network's security. Without the index, we won't be able to create compact fraud proofs anymore. This means that accepting this proposal is also a commitment to ZK prove the validity of the square layout.

## Copyright

Expand Down

0 comments on commit 7d69e17

Please sign in to comment.