Skip to content

Commit

Permalink
cip: grammar and stylistic improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
Wondertan committed Feb 14, 2024
1 parent 732ae72 commit 6ce7f4f
Showing 1 changed file with 21 additions and 21 deletions.
42 changes: 21 additions & 21 deletions cips/cip-shwap_protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,32 @@ framework for exchanging and swapping of shared data for Celestia's Data Availab

## Motivation

Current Data Availability Sampling (DAS) network protocol is inefficient. A _single_ sample operation takes O(log2(N)) network
round-trips(where N is the square size). This is not practical and does not scale for theoretically unlimited data square
Celestia network enables. The main motive here is a protocol with O(1) round-trip for _multiple_ samples, preserving
the assumption of having a 1/N honest peers connected.

Initially, the Bitswap and IPLD were adopted as a base for the DA network protocols, including DAS,
block synchronization (BS) and blob/namespace data retrieval (ND). They gave battle tested protocols and tooling with
plugability to rapidly scaffold Celestia's DA network. However, it came with the price of scalability limits and
round-trips resulting in BS slower than block production. Before network launch, the transition
to the optimized [ShrEx protocol][shrex] for BS and integrating [CAR and DAGStore-based storage][storage] happened
optimizing BS and ND. However, DAS was left untouched preserving its weak scalability and roundtrip inefficiency. Shwap
specifically addresses these and additionally provides an extensible and flexible framework for BS, ND and beyond.
The current Data Availability Sampling (DAS) network protocol is inefficient. A _single_ sample operation takes log2(k) network
round-trips(where k is the square size). This is not practical and does not scale for the theoretically unlimited data
square that the Celestia network enables. The main motive here is a protocol with O(1) round-trip for _multiple_ samples, preserving
the assumption of having 1/n honest peers connected.

Initially, Bitswap and IPLD were adopted as the basis for the DA network protocols, including DAS,
block synchronization (BS), and blob/namespace data retrieval (ND). They gave battle-tested protocols and tooling with
pluggability to rapidly scaffold Celestia's DA network. However, it came with the price of scalability limits and
round-trips resulting in BS slower than block production. Before the network launch, the transition
to the optimized [ShrEx protocol][shrex] for BS and integrating [CAR and DAGStore-based storage][storage] happened
optimizing BS and ND. However, DAS was left untouched, preserving its weak scalability and roundtrip inefficiency. Shwap
addresses these and provides an extensible and flexible framework for BS, ND, and beyond.

## Specification

[Shwap Protocol Specification][spec]

## Backwards Compatibility

Shwap in incompatible with old sampling protocol.
Swap is incompatible with the old sampling protocol.

After rigorous investigation, celestia-node team decided against _implementing_ backwards compatibility with
the old protocol into the node client due to immense complications it brings. Instead, the simple and time efficient
strategy is to transiently deploy infrastructure for old and new versions, allowing network participants to gradually
migrate to the new version. Once, we know that majority has migrated, we will terminate old infrastructure and deprecate
old version.
After rigorous investigation, celestia-node team decided against _implementing_ backward compatibility with
the old protocol into the node client due to the immense complications it brings. Instead, the simple and time-efficient
strategy is transiently deploying infrastructure for old and new versions, allowing network participants to migrate
gradually to the latest version. We will first deprecate the old version, and once the majority has migrated, we will
terminate the old infrastructure.

## Reference Implementation

Expand All @@ -50,11 +50,11 @@ old version.

## Security Considerations

Shwap does not change the security model of Celestia's Data Availability network and changes the underlying
Shwap does not change the security model of Celestia's Data Availability network and changes the underlying
protocol for data retrieval.

Largely, the network and its codebase get simplified and requires less code and infrastructure to operate. This in turn
decreases amount of implementation vulnerabilities, DOS vectors, message amplification and resource exhaustion attacks.
Essentially, the network and its codebase get simplified and require less code and infrastructure to operate. This in turn
decreases the amount of implementation vulnerabilities, DOS vectors, message amplification, and resource exhaustion attacks.

## Copyright

Expand Down

0 comments on commit 6ce7f4f

Please sign in to comment.