Skip to content

Commit 24b9ddb

Browse files
authored
Update rfcBBL203A.md
1 parent 7e20cc1 commit 24b9ddb

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

beyond-bitswap/rfc/rfcBBL203A.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ Some of the compression approaches to be explored in this RFC are:
7272
* Full message compression: In this compression strategy instead of only compressing blocks we compress every single message before sending it. It is the equivalent of compressing header+body in HTTP.
7373
* Stream compression: It uses compression at a stream level, so every byte that enters a stream from the node to other peers is compressed (i.e. using a compressed writer).
7474

75-
The preliminary results show how the full message and stream compression strategies lead to the most efficient compression rates compared to the block strategy. Initial tests show an overhead by the use of compression compared to Bitswap without compression. The approach that minimizes the computational footprint is the stream compression. [See a discussion here](https://github.com/protocol/ResNetLab/issues/5).
75+
* To drive the compression idea even further, we prototyped a `Compression` transport into libp2p (between the `Muxer` and the `Security` layer) so that every stream running over a libp2p node can potentially benefit from the use of compression. This is a non-breaking change as the `transport-upgrader` has also been updated to enable compression negotiation (so eventually anyone can come with their own compression and embed it into libp2p seamlessly). Some repos to get started with compression in libp2p:
76+
- Compression example: https://github.com/adlrocha/go-libp2p-compression-examples
77+
- Gzip compressor: https://github.com/adlrocha/go-libp2p-gzip
78+
- Testbed to test compression over IPFS: https://github.com/adlrocha/beyond-bitswap/tree/feat/compression
79+
80+
[See a discussion on the results here](https://github.com/protocol/ResNetLab/issues/5).
7681

7782

7883
# Impact

0 commit comments

Comments
 (0)